:root { --primary: #3b82f6; --primary-hover: #2563eb; --secondary: #64748b; --success: #10b981; --danger: #ef4444; --warning: #f59e0b; --background: #f8fafc; --surface: #ffffff; --border: #e2e8f0; --text-main: #0f172a; --text-muted: #64748b; --shadow: 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); } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: var(--text-main); background-color: var(--background); } /* Scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Login Components */ .login-card { background: var(--surface); border-radius: 16px; border: 1px solid var(--border); box-shadow: var(--shadow-lg); } .hospital-logo { display: flex; align-items: center; color: var(--primary); } .logo-icon { background: rgba(59, 130, 246, 0.1); color: var(--primary); padding: 10px; border-radius: 12px; } .form-control { border-radius: 10px; border: 1px solid var(--border); padding: 10px 14px; font-size: 14px; transition: all 0.2s; } .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1); } .btn-primary { background-color: var(--primary); border-color: var(--primary); border-radius: 10px; padding: 10px 20px; transition: all 0.2s; } .btn-primary:hover { background-color: var(--primary-hover); border-color: var(--primary-hover); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2); } /* Dashboard Layout */ .dashboard-layout { display: flex; height: 100vh; overflow: hidden; } .sidebar { width: 280px; background: #f1f5f9; border-right: 1px solid var(--border); flex-shrink: 0; } .main-content { flex-grow: 1; background: var(--surface); } .main-header { height: 72px; } .sidebar-header { height: 72px; } .list-group-item { border: none; background: transparent; color: var(--text-muted); font-size: 14px; margin-bottom: 2px; } .list-group-item:hover { background: rgba(0, 0, 0, 0.03); color: var(--text-main); } .list-group-item.active { background: var(--primary) !important; color: white !important; } /* Roles */ .role-badge { padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600; text-transform: uppercase; } .role-doctor { background: #e0f2fe; color: #0369a1; } .role-nurse { background: #f0fdf4; color: #15803d; } .role-admin_staff { background: #fef2f2; color: #b91c1c; } /* Utilities */ .no-caret::after { display: none; } .demo-btn { font-size: 12px !important; font-weight: 500; border-radius: 8px; } .demo-btn:hover { background-color: #f8fafc !important; border-color: #cbd5e1 !important; } .uppercase { text-transform: uppercase; } @media (max-width: 768px) { .sidebar { display: none; } }