@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); :root { /* Color Palette */ --primary: #4f46e5; /* Modern Indigo */ --primary-hover: #4338ca; --primary-light: #e0e7ff; --secondary: #0ea5e9; /* Ocean sky blue */ --secondary-hover: #0284c7; /* Backgrounds */ --bg-page: #f8fafc; --bg-card: #ffffff; --bg-glass: rgba(255, 255, 255, 0.85); /* Borders */ --border: #e2e8f0; --border-glass: rgba(255, 255, 255, 0.4); --border-focus: #a5b4fc; /* Text */ --text-main: #0f172a; /* Deep slate */ --text-muted: #64748b; /* Light slate */ --text-on-primary: #ffffff; /* Shadows */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); --shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, 0.08); /* Font */ --font-sans: 'Inter', system-ui, -apple-system, sans-serif; /* Radii */ --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-full: 9999px; /* Transitions */ --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } /* Reset and Base Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } body, html { height: 100%; width: 100%; font-family: var(--font-sans); color: var(--text-main); background-color: var(--bg-page); overflow: hidden; } body.page-body { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; background: radial-gradient(circle at 50% 50%, #f1f5f9 0%, #e2e8f0 100%); overflow-y: auto; } /* Scrollbar styling */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--text-muted); border-radius: var(--radius-full); opacity: 0.6; } ::-webkit-scrollbar-thumb:hover { background: var(--text-main); } /* Generic Components */ .btn { width: 100%; padding: 0.75rem 1.5rem; color: var(--text-on-primary); border: 1px solid transparent; border-radius: var(--radius-md); cursor: pointer; font-family: var(--font-sans); font-weight: 500; font-size: 0.95rem; transition: var(--transition); min-height: 44px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; box-shadow: var(--shadow-sm); } .btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); } .btn:active { transform: translateY(0); } .btn-primary { background: var(--primary); } .btn-primary:hover { background: var(--primary-hover); } .btn-success { background: #10b981; /* Emerald green */ } .btn-success:hover { background: #059669; } .btn-secondary { background: var(--bg-card); color: var(--text-main); border-color: var(--border); margin-top: 10px; } .btn-secondary:hover { background: var(--border); } .hidden { display: none !important; } /* Global Forms & Input Elements styling */ .form-group { margin-bottom: 1.25rem; width: 100%; } .form-group label { display: block; margin-bottom: 0.5rem; font-size: 0.85rem; font-weight: 600; color: var(--text-muted); } .form-group input[type="text"], .form-group input[type="email"], .form-group input[type="password"], .form-group select, .form-group textarea, input.admin-search { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-md); outline: none; font-family: var(--font-sans); font-size: 0.95rem; color: var(--text-main); background-color: var(--bg-page); transition: var(--transition); min-height: 42px; } .form-group input[type="text"]:focus, .form-group input[type="email"]:focus, .form-group input[type="password"]:focus, .form-group select:focus, .form-group textarea:focus, input.admin-search:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); background-color: var(--bg-card); }