:root{--bg: #0f1419;--surface: #1a2332;--surface2: #243044;--text: #e8eef5;--muted: #8b9cb3;--accent: #3d8bfd;--accent-dim: #2a5fbf;--success: #34c759;--warning: #ff9f0a;--danger: #ff453a;--radius: 12px;--font: "DM Sans", system-ui, sans-serif}*,*: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)}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 .05s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--surface2)}.btn-danger{background:var(--danger);color:#fff}.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}.alert-error{background:#3d1f24;color:#ffb4ab;border:1px solid #8b3a44}.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}.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-sm)}.admin-theme a.card{color:var(--text);transition:box-shadow .15s,border-color .15s}.admin-theme a.card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.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 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}
