/* assets/css/custom.css */ /* * MODERN, YOUTHFUL & INVITING AESTHETIC * * - Light, neutral base theme with vibrant accent colors. * - Clear, large typography for a strong visual hierarchy. * - Comfortably large, prominent interactive elements. * - Tasteful soft gradients and subtle shadows. * - Optional glassmorphism for a liquid-glass effect. */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Playfair+Display:wght@700&display=swap'); :root { /* Color Palette */ --primary-color: #4f46e5; /* Vibrant Indigo */ --secondary-color: #10b981; /* Bright Emerald */ --accent-color: #ec4899; /* Hot Pink */ --bg-color: #f9fafb; /* Very Light Gray */ --surface-color: #ffffff; /* White */ --text-color: #1f2937; /* Dark Gray */ --text-muted: #6b7280; /* Medium Gray */ --border-color: #e5e7eb; /* Light Gray */ /* Typography */ --font-primary: 'Poppins', sans-serif; --font-display: 'Playfair Display', serif; /* Effects */ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --border-radius: 0.75rem; /* 12px */ } /* Base & Typography */ body { font-family: var(--font-primary); background-color: var(--bg-color); color: var(--text-color); line-height: 1.6; } h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); color: var(--primary-color); font-weight: 700; } h1 { font-size: 3rem; } h2 { font-size: 2.25rem; } h3 { font-size: 1.875rem; } a { color: var(--primary-color); text-decoration: none; transition: color 0.3s ease; } a:hover { color: var(--accent-color); } /* Layout & Containers */ .container { max-width: 1200px; } .section-padding { padding: 6rem 0; } /* Navbar */ .navbar { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-color); box-shadow: var(--shadow-sm); padding: 1rem 0; } .navbar-brand { font-family: var(--font-display); font-weight: 700; font-size: 1.75rem; color: var(--primary-color) !important; } .nav-link { font-weight: 600; color: var(--text-muted) !important; padding: 0.5rem 1rem !important; border-radius: var(--border-radius); transition: all 0.3s ease; } .nav-link:hover, .nav-link.active { color: var(--accent-color) !important; background-color: rgba(236, 72, 153, 0.1); } /* Buttons */ .btn { font-weight: 600; padding: 0.8rem 2rem; border-radius: var(--border-radius); border: none; transition: all 0.3s ease; box-shadow: var(--shadow-md); } .btn-primary { background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); color: white; } .btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); } .btn-secondary { background-color: var(--surface-color); color: var(--primary-color); border: 1px solid var(--border-color); } .btn-secondary:hover { background-color: var(--bg-color); } /* Forms & Inputs */ .form-control, .form-select { padding: 1rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); background-color: var(--surface-color); transition: all 0.3s ease; font-size: 1rem; } .form-control:focus, .form-select:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2); } .form-label { font-weight: 600; margin-bottom: 0.5rem; } /* Cards */ .card { background-color: var(--surface-color); border: none; border-radius: var(--border-radius); box-shadow: var(--shadow-md); overflow: hidden; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); height: 100%; } .card:hover { transform: translateY(-10px); box-shadow: var(--shadow-lg); } .card-img-top { height: 250px; object-fit: cover; } .card-body { padding: 1.75rem; } .card-title { font-family: var(--font-primary); font-weight: 600; font-size: 1.25rem; } /* Login/Register Form */ .form-container { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: linear-gradient(-45deg, #e0c3fc, #8ec5fc); } .auth-card { width: 100%; max-width: 450px; padding: 3rem; } /* Admin Dashboard */ .admin-wrapper { display: flex; } .admin-sidebar { width: 260px; background: var(--primary-color); color: white; min-height: 100vh; padding: 2rem 1rem; position: fixed; height: 100%; } .admin-sidebar .navbar-brand { color: white !important; } .admin-sidebar .nav-link { color: rgba(255, 255, 255, 0.7) !important; font-weight: 500; } .admin-sidebar .nav-link:hover, .admin-sidebar .nav-link.active { color: white !important; background-color: rgba(255, 255, 255, 0.1); } .admin-main-content { margin-left: 260px; padding: 2rem; width: calc(100% - 260px); } .stat-card { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; padding: 2rem; border-radius: var(--border-radius); margin-bottom: 1.5rem; } .stat-card h4 { color: white; } /* Footer */ .footer { background-color: var(--text-color); color: var(--bg-color); padding: 4rem 0 2rem; margin-top: 4rem; } .footer a { color: var(--secondary-color); } .footer a:hover { color: var(--accent-color); }