:root{--bg: #0f1419;--surface: #1a2332;--surface2: #243044;--text: #e8eef5;--muted: #8b9cb3;--accent: #3d8bfd;--accent-dim: #2a5fbf;--accent-soft: rgba(61, 139, 253, .12);--success: #34c759;--warning: #ff9f0a;--danger: #ff453a;--radius: 12px;--font: "DM Sans", system-ui, sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:600}.page{max-width:1100px;margin:0 auto;padding:1.5rem}.card{display:block;background:var(--surface);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--surface2);box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .15s ease}.card:not(a):not([role=link]):not(.no-hover):hover{box-shadow:var(--shadow-md)}a.card,a.card:hover{color:var(--text);text-decoration:none}a.card h3{color:var(--text)}a.card p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;border-radius:10px;border:none;font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s,transform .08s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dim) 100%);color:#fff;box-shadow:0 2px 8px #3d8bfd4d}.btn-primary:hover{background:linear-gradient(135deg,#5a9dff 0%,var(--accent) 100%);box-shadow:0 4px 16px #3d8bfd73;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--surface2)}.btn-ghost:hover{background:var(--surface2);border-color:var(--muted)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#e03030;box-shadow:0 2px 8px #ff453a59}.btn-sm{padding:.35rem .65rem;font-size:.85rem}input,select,textarea{font-family:inherit;font-size:1rem;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--surface2);background:var(--bg);color:var(--text);width:100%}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.field{margin-bottom:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-pending{background:#3d3a1f;color:#ffd60a}.badge-confirmed{background:#1f3d2a;color:var(--success)}.badge-rejected{background:#3d1f1f;color:#ff6b6b}.badge-cancelled{background:#2a2a2a;color:var(--muted)}.badge-completed{background:#1f3d2a;color:var(--success)}.badge-no_show{background:#3d3319;color:#fcd34d}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem}.alert-error{background:#3d1f24;color:#ffb4ab;border:1px solid #8b3a44}.alert-success{background:#1a3a28;color:#6ee7a0;border:1px solid #2a6644}.alert-warning{background:#3a2e14;color:#fcd34d;border:1px solid #6b4f1a}.alert-info{background:#1a2a45;color:#93c5fd;border:1px solid #2a4a80}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1.5rem;text-align:center;color:var(--muted)}.empty-state svg{opacity:.45}.empty-state p{margin:0;font-size:.95rem;line-height:1.5}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--surface2)}th{color:var(--muted);font-weight:600}tbody tr:hover td{background:#ffffff08}.admin-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.admin-page-head h1{margin:0;font-size:1.5rem}.admin-page-head .admin-page-lead{width:100%;margin:.35rem 0 0;font-size:.9rem;color:var(--muted);max-width:42rem;line-height:1.45}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:1.25rem;overflow-y:auto}.app-modal{width:100%;max-width:480px;margin:2rem auto;background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);box-shadow:0 24px 48px #0006;max-height:calc(100vh - 4rem);display:flex;flex-direction:column}.app-modal--lg{max-width:560px}.app-modal--xl{max-width:720px}.app-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.15rem;border-bottom:1px solid var(--surface2);flex-shrink:0}.app-modal-head h2{margin:0;font-size:1.1rem;font-weight:700}.app-modal-close{font-size:1.35rem;line-height:1;padding:.25rem .5rem;min-width:auto}.app-modal-body{padding:1.15rem 1.25rem;overflow-y:auto;flex:1;min-height:0}.app-modal-foot{padding:.9rem 1.15rem;border-top:1px solid var(--surface2);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;flex-shrink:0}.admin-theme h1,.admin-theme h2,.admin-theme h3{color:var(--text)}.admin-theme{--bg: #f1f5f9;--surface: #ffffff;--surface2: #e2e8f0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-dim: #1d4ed8;--accent-soft: rgba(37, 99, 235, .1);--success: #059669;--warning: #d97706;--danger: #dc2626;--radius: 12px;--font: "Inter", "DM Sans", system-ui, sans-serif;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 14px rgba(15, 23, 42, .07);--shadow-lg: 0 18px 50px rgba(15, 23, 42, .1);font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body.admin-light-active{background:#f1f5f9;color:#0f172a}.admin-theme .card{background:var(--surface);border:1px solid var(--surface2);box-shadow:var(--shadow-md);transition:box-shadow .18s ease,transform .15s ease,border-color .15s}.admin-theme a.card{color:var(--text)}.admin-theme a.card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.admin-theme .stat-card{position:relative;overflow:hidden;border-top:3px solid var(--accent)}.admin-theme .stat-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;background:var(--accent-soft);transform:translate(25px,-25px);pointer-events:none}.stat-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:.85rem}.progress-usage{margin-top:.5rem}.progress-usage-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:.3rem}.progress-usage-track{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden}.progress-usage-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-dim));transition:width .4s ease}.progress-usage-fill--warn{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-usage-fill--danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.admin-theme .btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dim) 100%);box-shadow:0 2px 8px #2563eb47}.admin-theme .btn-primary:hover{background:linear-gradient(135deg,#3b82f6 0%,var(--accent) 100%);box-shadow:0 4px 16px #2563eb66;transform:translateY(-1px)}.admin-theme .btn-ghost{border-color:var(--surface2);color:var(--text);background:var(--surface)}.admin-theme .btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1}.admin-theme .badge-pending{background:#fef3c7;color:#92400e}.admin-theme .badge-confirmed{background:#dbeafe;color:#1e40af}.admin-theme .badge-rejected{background:#fee2e2;color:#991b1b}.admin-theme .badge-cancelled{background:#f1f5f9;color:#64748b}.admin-theme .badge-completed{background:#d1fae5;color:#065f46}.admin-theme .badge-no_show{background:#ffedd5;color:#9a3412}.admin-theme .alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.admin-theme .alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.admin-theme .alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.admin-theme .alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.admin-theme table th{background:#f8fafc;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--surface2)}.admin-theme table td{border-bottom:1px solid #f1f5f9}.admin-theme tbody tr:hover td{background:#fafbfc}.admin-theme .admin-page-head .admin-page-lead{color:var(--muted)}.admin-theme input,.admin-theme select,.admin-theme textarea{background:#fff;border-color:var(--surface2);color:var(--text)}.admin-theme input:focus,.admin-theme select:focus,.admin-theme textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}body.admin-light-active .app-modal-backdrop{background:#0f172a73}body.admin-light-active .app-modal{background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 50px #0f172a1f}body.admin-light-active .app-modal-head,body.admin-light-active .app-modal-foot{border-color:#e2e8f0}body.admin-light-active .app-modal-head h2{color:#0f172a}body.admin-light-active .app-modal .btn-ghost{border-color:#e2e8f0;color:#0f172a;background:#fff}body.admin-light-active .app-modal .btn-primary{background:var(--modal-accent, #2563eb)!important;color:#fff!important}body.admin-light-active .app-modal .btn-primary:hover{background:var(--modal-accent-dim, #1d4ed8)!important}body.admin-light-active .app-modal{color-scheme:light}body.admin-light-active .app-modal input,body.admin-light-active .app-modal select,body.admin-light-active .app-modal textarea{background:#fff!important;color:#0f172a!important;border:1px solid #e2e8f0!important}body.admin-light-active .app-modal input::placeholder,body.admin-light-active .app-modal textarea::placeholder{color:#94a3b8}body.admin-light-active .app-modal input:focus,body.admin-light-active .app-modal select:focus,body.admin-light-active .app-modal textarea:focus{outline:none;border-color:var(--modal-accent, #2563eb)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--modal-accent, #2563eb) 20%,transparent)}body.admin-light-active .app-modal label{color:#475569}
