Spaces:
Sleeping
Sleeping
| /* SOS Care Now — Custom styles layered on top of Tailwind */ | |
| :root { | |
| --brand-50: #eff6ff; | |
| --brand-100: #dbeafe; | |
| --brand-500: #3b82f6; | |
| --brand-600: #2563eb; | |
| --brand-700: #1d4ed8; | |
| --brand-900: #1e3a8a; | |
| } | |
| html, body { | |
| height: 100%; | |
| background-color: #f8fafc; | |
| font-family: 'Inter', system-ui, -apple-system, sans-serif; | |
| color: #0f172a; | |
| } | |
| /* Sidebar */ | |
| .sidebar { | |
| background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%); | |
| } | |
| .sidebar-link { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| padding: 0.625rem 1rem; | |
| border-radius: 0.5rem; | |
| color: #cbd5e1; | |
| font-weight: 500; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| } | |
| .sidebar-link:hover { | |
| background-color: rgba(255, 255, 255, 0.06); | |
| color: #fff; | |
| } | |
| .sidebar-link.active { | |
| background-color: var(--brand-600); | |
| color: #fff; | |
| box-shadow: 0 4px 14px -2px rgba(37, 99, 235, 0.6); | |
| } | |
| /* Cards */ | |
| .card { | |
| background: #fff; | |
| border: 1px solid #e2e8f0; | |
| border-radius: 1rem; | |
| box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); | |
| } | |
| /* Inputs */ | |
| .input, .select, textarea.input { | |
| width: 100%; | |
| padding: 0.5rem 0.75rem; | |
| border: 1px solid #cbd5e1; | |
| border-radius: 0.5rem; | |
| background-color: #fff; | |
| font-size: 0.875rem; | |
| transition: border-color 0.15s ease, box-shadow 0.15s ease; | |
| } | |
| .input:focus, .select:focus, textarea.input:focus { | |
| outline: none; | |
| border-color: var(--brand-500); | |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); | |
| } | |
| /* Buttons */ | |
| .btn { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| padding: 0.5rem 1rem; | |
| border-radius: 0.5rem; | |
| font-weight: 500; | |
| font-size: 0.875rem; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| border: 1px solid transparent; | |
| white-space: nowrap; | |
| } | |
| .btn-primary { | |
| background-color: var(--brand-600); | |
| color: #fff; | |
| box-shadow: 0 1px 2px rgba(15, 23, 42, 0.1); | |
| } | |
| .btn-primary:hover { background-color: var(--brand-700); } | |
| .btn-primary:disabled { background-color: #cbd5e1; cursor: not-allowed; } | |
| .btn-secondary { | |
| background-color: #fff; | |
| color: #0f172a; | |
| border-color: #cbd5e1; | |
| } | |
| .btn-secondary:hover { background-color: #f1f5f9; } | |
| .btn-danger { | |
| background-color: #dc2626; | |
| color: #fff; | |
| } | |
| .btn-danger:hover { background-color: #b91c1c; } | |
| .btn-ghost { | |
| background-color: transparent; | |
| color: #64748b; | |
| } | |
| .btn-ghost:hover { background-color: #f1f5f9; color: #0f172a; } | |
| .btn-sm { padding: 0.25rem 0.625rem; font-size: 0.8125rem; } | |
| /* Tables */ | |
| .table-wrap { | |
| overflow-x: auto; | |
| border-radius: 0.75rem; | |
| } | |
| .table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| } | |
| .table th { | |
| text-align: left; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| color: #64748b; | |
| padding: 0.75rem 1rem; | |
| background-color: #f8fafc; | |
| border-bottom: 1px solid #e2e8f0; | |
| } | |
| .table td { | |
| padding: 0.75rem 1rem; | |
| font-size: 0.875rem; | |
| border-bottom: 1px solid #f1f5f9; | |
| } | |
| .table tr:last-child td { border-bottom: none; } | |
| .table tbody tr:hover { background-color: #fafbfc; } | |
| /* Badges */ | |
| .badge { | |
| display: inline-flex; | |
| align-items: center; | |
| padding: 0.125rem 0.625rem; | |
| border-radius: 9999px; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| } | |
| .badge-green { background-color: #dcfce7; color: #166534; } | |
| .badge-blue { background-color: #dbeafe; color: #1d4ed8; } | |
| .badge-red { background-color: #fee2e2; color: #991b1b; } | |
| .badge-amber { background-color: #fef3c7; color: #92400e; } | |
| .badge-slate { background-color: #e2e8f0; color: #334155; } | |
| .badge-emerald { background-color: #d1fae5; color: #065f46; } | |
| /* Toggle (on-call switch) */ | |
| .toggle { | |
| position: relative; | |
| width: 44px; | |
| height: 24px; | |
| background-color: #cbd5e1; | |
| border-radius: 9999px; | |
| cursor: pointer; | |
| transition: background-color 0.2s ease; | |
| flex-shrink: 0; | |
| } | |
| .toggle::after { | |
| content: ""; | |
| position: absolute; | |
| top: 2px; | |
| left: 2px; | |
| width: 20px; | |
| height: 20px; | |
| background-color: #fff; | |
| border-radius: 9999px; | |
| box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); | |
| transition: transform 0.2s ease; | |
| } | |
| .toggle.on { | |
| background-color: #10b981; | |
| } | |
| .toggle.on::after { | |
| transform: translateX(20px); | |
| } | |
| /* Modal */ | |
| .modal-backdrop { | |
| position: fixed; | |
| inset: 0; | |
| background-color: rgba(15, 23, 42, 0.5); | |
| backdrop-filter: blur(2px); | |
| z-index: 50; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 1rem; | |
| } | |
| .modal { | |
| background-color: #fff; | |
| border-radius: 1rem; | |
| max-width: 720px; | |
| width: 100%; | |
| max-height: 90vh; | |
| overflow-y: auto; | |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
| } | |
| /* Stat tile */ | |
| .stat { | |
| padding: 1.25rem; | |
| background: #fff; | |
| border: 1px solid #e2e8f0; | |
| border-radius: 1rem; | |
| } | |
| .stat-label { font-size: 0.75rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; } | |
| .stat-value { font-size: 1.875rem; font-weight: 700; color: #0f172a; margin-top: 0.25rem; } | |
| /* Calendar custom event styles */ | |
| .fc-event { cursor: pointer; } | |
| .event-travel { opacity: 0.55; } | |
| .event-completed { opacity: 0.65; } | |
| .event-completed .fc-event-title { text-decoration: line-through; } | |
| /* Match card */ | |
| .match-card { | |
| border: 1px solid #e2e8f0; | |
| border-radius: 0.75rem; | |
| padding: 1rem; | |
| background: #fff; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| } | |
| .match-card:hover { | |
| border-color: var(--brand-500); | |
| box-shadow: 0 4px 12px -2px rgba(59, 130, 246, 0.15); | |
| } | |
| .match-card.selected { | |
| border-color: var(--brand-600); | |
| background: linear-gradient(180deg, #eff6ff 0%, #fff 30%); | |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); | |
| } | |
| /* Toast */ | |
| .toast { | |
| position: fixed; | |
| bottom: 1.5rem; | |
| right: 1.5rem; | |
| z-index: 100; | |
| padding: 0.875rem 1.25rem; | |
| border-radius: 0.75rem; | |
| color: #fff; | |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); | |
| font-weight: 500; | |
| font-size: 0.875rem; | |
| max-width: 420px; | |
| } | |
| .toast-success { background-color: #16a34a; } | |
| .toast-error { background-color: #dc2626; } | |
| .toast-info { background-color: #0f172a; } | |
| /* Loader */ | |
| .spinner { | |
| width: 1.25rem; | |
| height: 1.25rem; | |
| border: 2px solid #e2e8f0; | |
| border-top-color: var(--brand-600); | |
| border-radius: 50%; | |
| animation: spin 0.6s linear infinite; | |
| display: inline-block; | |
| } | |
| @keyframes spin { to { transform: rotate(360deg); } } | |
| [x-cloak] { display: none ; } | |
| /* Login */ | |
| .login-bg { | |
| background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 50%, #06b6d4 100%); | |
| } | |