:root{color-scheme:light;--rub-red:#ed1c24;--rub-blue:#235789;--rub-yellow:#ffd302;--rub-powder:#fdfffc;--rub-black:#020100;--bg:#f4f5f7;--surface:var(--rub-powder);--surface-2:#f7f8fa;--inset:#eef0f4;--border:#e5e8ec;--border-strong:#d2d6dc;--text:#1b2430;--text-muted:#5a6472;--text-faint:#8a93a1;--accent:var(--rub-blue);--accent-hover:#1c4670;--accent-contrast:#fdfffc;--accent-soft:rgba(35,87,137,0.12);--accent-2:var(--rub-red);--ok:#15803d;--ok-bg:#d9f2e3;--warn:#7a6200;--warn-bg:rgba(255,211,2,0.28);--danger:#b3121a;--danger-bg:rgba(237,28,36,0.12);--info:var(--rub-blue);--info-bg:rgba(35,87,137,0.1);--chip:#e8eaee;--chip-ink:#454f5c;--danger-solid:#d81e26;--danger-solid-hover:#b3151b;--nav-bg:#0c0d10;--nav-border:#23262c;--nav-ink:#c6cedb;--nav-ink-dim:#8fa0b5;--nav-hover:#1a2233;--shadow-sm:0 1px 2px rgba(15,23,42,0.06);--shadow-md:0 1px 2px rgba(15,23,42,0.05),0 10px 28px -14px rgba(15,23,42,0.2);--ring:rgba(35,87,137,0.32);--radius:10px}.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--page-bg,#f4f6f8)}.error-card{width:min(100%,460px);padding:30px;border:1px solid #d7dce5;border-radius:16px;background:var(--card-bg,#fff);text-align:center;box-shadow:0 10px 30px rgba(15,23,42,.08)}.error-card p{margin:12px 0 22px;color:#64748b;line-height:1.5}:root[data-theme=dark]{color-scheme:dark;--bg:#07070a;--surface:#14151c;--surface-2:#1a1c25;--inset:#21242f;--border:#292d3a;--border-strong:#3b4152;--text:#eceef2;--text-muted:#99a3b1;--text-faint:#6e7887;--accent:#5d8fc7;--accent-hover:#7ba6d8;--accent-contrast:#06101c;--accent-soft:rgba(93,143,199,0.16);--accent-2:#ff464d;--ok:#7ce3a6;--ok-bg:rgba(46,160,103,0.16);--warn:#ffd302;--warn-bg:rgba(255,211,2,0.14);--danger:#ff8a90;--danger-bg:rgba(237,28,36,0.18);--info:#a3c2e8;--info-bg:rgba(35,87,137,0.24);--chip:#242837;--chip-ink:#aab4c2;--danger-solid:#ed1c24;--danger-solid-hover:#ff464d;--nav-bg:#050507;--nav-border:#1e222c;--nav-ink:#b6c0cf;--nav-ink-dim:#8593a6;--nav-hover:#161b26;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 1px 2px rgba(0,0,0,0.35),0 12px 30px -16px rgba(0,0,0,0.6);--ring:rgba(93,143,199,0.45)}*{box-sizing:border-box}body{margin:0;font-family:Commissioner,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface)}h1,h2,h3{letter-spacing:-.01em;font-family:Days One,Commissioner,-apple-system,Segoe UI,sans-serif;font-weight:400}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.theme-toggle:hover{background:var(--inset);color:var(--text)}.theme-toggle-corner{position:fixed;top:14px;right:14px;z-index:50;background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:360px;box-shadow:var(--shadow-md)}.auth-card h1{margin:0 0 24px;font-size:22px}.field{margin-bottom:16px}.field label{display:block;font-size:14px;margin-bottom:6px;color:var(--text-muted)}.field input{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.btn{display:inline-block;width:100%;padding:10px 16px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.form-error{background:var(--danger-bg);border:1px solid transparent;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:16px}.auth-alt{margin-top:16px;font-size:14px;text-align:center;color:var(--text-muted)}.admin-shell{display:flex;min-height:100vh}.admin-nav{width:220px;background:var(--nav-bg);color:var(--nav-ink);padding:20px 0;display:flex;flex-direction:column}.admin-nav .brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 20px 20px;border-bottom:1px solid var(--nav-border);margin-bottom:12px}.admin-nav .brand{color:#fff;font-weight:600;font-size:16px;min-width:0;display:flex;align-items:center;gap:8px;font-family:Days One,Commissioner,sans-serif;letter-spacing:.04em}.admin-nav .theme-toggle{color:var(--nav-ink-dim);flex:none}.admin-nav .theme-toggle:hover{background:var(--nav-hover);color:#fff}.admin-nav a{color:var(--nav-ink);padding:10px 20px;font-size:14px;transition:background .15s ease,color .15s ease}.admin-nav a:hover{background:var(--nav-hover);text-decoration:none;color:#fff}.admin-nav form{margin-top:auto;padding:12px 20px 0}.admin-nav .copy-booking{margin:12px 20px 0;padding:8px 12px;border:1px solid var(--nav-border);border-radius:8px;background:var(--nav-hover);color:var(--nav-ink);font-size:13.5px;text-align:center;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.admin-nav .copy-booking:hover{border-color:var(--accent);color:#fff}.admin-nav button[type=submit]{background:none;border:none;color:var(--nav-ink-dim);font-size:14px;cursor:pointer;padding:0}.admin-nav button[type=submit]:hover{color:#fff}.admin-main{flex:1 1;padding:32px;min-width:0}.admin-main h1{margin-top:0}.placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:48px;text-align:center;color:var(--text-muted)}.card,.placeholder{background:var(--surface)}.card{border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.card h2{margin:0 0 16px;font-size:18px}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td,.table th{padding:10px 14px;text-align:left;font-size:14px;border-bottom:1px solid var(--border)}.table th{background:var(--surface-2);color:var(--text-muted);font-weight:600}.table tr:last-child td{border-bottom:none}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.form-row .field{margin-bottom:0;flex:1 1;min-width:160px}.form-row .field-narrow{flex:0 0 120px;min-width:100px}.btn-inline{width:auto;padding:8px 16px;font-size:14px;white-space:nowrap}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--inset)}@media (max-width:760px){.admin-shell{flex-direction:column}.admin-nav{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px;padding:8px}.admin-nav .brand-row{width:100%;padding:4px 12px 8px}.admin-nav a{padding:10px 12px;font-size:14px}.admin-nav form{margin-top:0;padding:6px 12px}.admin-nav .copy-booking{margin:4px 12px}.admin-main{padding:16px 12px;min-width:0}.card{overflow-x:auto}}.grid-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.grid-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2);color:var(--text-muted);font-weight:600;padding:6px 4px;border-bottom:1px solid var(--border);text-align:center}.grid-table .grid-zone-col{width:170px;min-width:150px;text-align:left;padding:8px}.grid-cell{padding:1px;border-left:1px solid var(--border);height:34px}.grid-free{width:100%;height:100%;min-height:28px;border:none;background:transparent;color:var(--accent);cursor:pointer;font-size:14px;border-radius:6px}.grid-free:hover{background:var(--accent-soft)}.grid-busy{height:100%;min-height:28px;border-radius:6px;padding:4px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#020100;font-weight:500}.grid-form{margin-top:16px}.geo-page{max-width:640px;margin:0 auto;padding:24px 12px}.brand-title{text-align:center}.geo-city-head{width:100%;justify-content:space-between;background:transparent;border:none;font:inherit;font-weight:600;font-size:16px;cursor:pointer;padding:8px 4px;border-bottom:1px solid var(--border)}.geo-branch,.geo-city-head{display:flex;align-items:center;color:var(--text)}.geo-branch{gap:10px;padding:10px 8px;border-radius:8px}.geo-branch:hover{background:var(--accent-soft);text-decoration:none}.geo-search{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;margin-bottom:12px}.geo-chips{display:flex;flex-wrap:wrap;gap:8px}.geo-chip{border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;padding:7px 16px;border-radius:999px;cursor:pointer}.geo-chip:hover{background:var(--accent-soft)}.geo-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.geo-change{background:transparent;border:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.alert-popup{position:fixed;top:16px;right:16px;z-index:100;background:var(--surface);border:1px solid var(--accent);border-left:4px solid var(--rub-red);border-radius:10px;box-shadow:var(--shadow-md);padding:12px 16px;max-width:340px}.alert-popup-title{font-weight:700;color:var(--rub-red);margin-bottom:6px}.alert-popup-row{padding:6px 0;border-top:1px solid var(--border);font-size:14px}.table-scroll{overflow-x:auto}.btn-danger{background:var(--danger-solid)}.btn-danger:hover{background:var(--danger-solid-hover)}.row-actions{display:flex;gap:8px}.color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;margin-right:6px}.schedule-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.schedule-row:last-of-type{border-bottom:none}.schedule-row .day{width:130px;font-size:14px}.schedule-row input[type=time]{padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;font-size:14px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label,.muted{font-size:14px;color:var(--text-muted)}.form-ok{background:var(--ok-bg);border:1px solid transparent;color:var(--ok);border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:16px}.checklist{margin:0 0 16px;padding-left:0;list-style:none}.checklist li{margin-bottom:8px;font-size:14px}