:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f8;--surface:#fff;--surface-2:#eef1f3;--border:#d8dee2;--text:#182024;--muted:#5b6970;--accent:#1d6b6b;--accent-hover:#175656;--accent-contrast:#fff;--accent-soft:#1d6b6b1f;--danger:#c0392b;--danger-soft:#c0392b1a;--success:#2e7d32;--success-soft:#2e7d321a;--warning:#b26a00;--warning-soft:#b26a001f;--focus-ring:0 0 0 3px #1d6b6b59;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--shadow-lg:0 12px 40px #0000002e;--backdrop:#0a0f1273;--theme-color:var(--bg);--radius:10px;--radius-sm:6px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1315;--surface:#171c1f;--surface-2:#1f2529;--border:#2d3539;--text:#e5eaec;--muted:#94a2a8;--accent:#3fb5b5;--accent-hover:#5ec8c8;--accent-contrast:#081313;--accent-soft:#3fb5b529;--danger:#ef6b5e;--danger-soft:#ef6b5e24;--success:#6cc070;--success-soft:#6cc07024;--warning:#f0a83c;--warning-soft:#f0a83c24;--focus-ring:0 0 0 3px #3fb5b566;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-lg:0 12px 40px #0009;--backdrop:#0009}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.5;transition:background-color .2s,color .2s}:where(h1,h2,h3){margin:0 0 .5em;line-height:1.25}:where(h1){font-size:1.5rem}:where(h2){font-size:1.2rem}:where(p){margin:0 0 1em}:where(a){color:var(--accent)}:where(a:hover){color:var(--accent-hover)}code,pre{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent-soft)}.container{max-width:640px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));margin:0 auto}.muted{color:var(--muted)}.small{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}:where(button,.btn){font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);min-height:40px;padding:.55em 1em;transition:background-color .15s,border-color .15s,opacity .15s}:where(button,.btn):where(:hover:not(:disabled)){background:var(--surface-2)}:where(button:disabled){opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08);background:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}:focus-visible{box-shadow:var(--focus-ring);outline:none}:where(label){color:var(--muted);margin:12px 0 4px;font-size:.85rem;display:block}:where(input,select,textarea){font:inherit;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6em .75em}:where(input,textarea)::placeholder{color:var(--muted);opacity:.7}:where(input,select,textarea):where(:focus){border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}:where(input[type=checkbox],input[type=radio]){width:auto;accent-color:var(--accent)}.error-msg,.success-msg,.warning-msg{border-radius:var(--radius-sm);margin:12px 0;padding:10px 12px;font-size:.9rem}.error-msg{background:var(--danger-soft);color:var(--danger)}.success-msg{background:var(--success-soft);color:var(--success)}.warning-msg{background:var(--warning-soft);color:var(--warning)}.loading{color:var(--muted);text-align:center;padding:24px}.modal-backdrop{background:var(--backdrop);z-index:100;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);color:var(--text);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:480px;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:.2s slide-up}@media (width>=600px){.modal-backdrop{align-items:center}.modal{border-radius:var(--radius)}}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}}.theme-toggle{place-items:center;width:38px;height:38px;min-height:0;padding:0;display:inline-grid}.theme-toggle theme-toggle{border-radius:10px}.theme-toggle{font-size:1.1rem;line-height:1}.theme-toggle-fixed{top:calc(12px + env(safe-area-inset-top));z-index:50;position:fixed;right:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--bg:#f2e6d5;--surface:#fafaf8;--surface-2:#eadcc8;--border:#d9ccba;--text:#2e2e2c;--muted:#7a7067;--accent:#1d6b6b;--accent-hover:#134a4a;--accent-contrast:#fafaf8;--accent-soft:#1d6b6b14;--heading:#134a4a;--danger:#e25c45;--danger-soft:#e25c451f;--backdrop:#2e2e2c73;--focus-ring:0 0 0 3px #1d6b6b4d;--theme-color:#1d6b6b;--slot-booked-bg:#1d6b6b;--slot-booked-text:#fafaf8;--slot-booked-time:#f2e6d5;--font-display:"Poppins", system-ui, sans-serif;--font:"Inter", system-ui, sans-serif}:root[data-theme=dark]{--bg:#0e1616;--surface:#162121;--surface-2:#1f2c2c;--border:#2a3a3a;--text:#e8ecea;--muted:#94a39f;--accent:#3fb5b5;--accent-hover:#63c9c9;--accent-contrast:#082020;--accent-soft:#3fb5b51f;--heading:#7fd3d3;--danger:#f07a66;--danger-soft:#f07a6624;--backdrop:#0009;--focus-ring:0 0 0 3px #3fb5b566;--theme-color:#0e1616;--slot-booked-bg:#1a4747;--slot-booked-text:#e8ecea;--slot-booked-time:#f2e6d5}.app{max-width:480px;min-height:100vh;margin:0 auto;padding:1.25rem 1rem 3rem}header.app-header{text-align:center;margin-bottom:1.5rem;padding:0 44px}header.app-header h1{font-family:var(--font-display);color:var(--heading);margin:.25rem 0 .1rem;font-size:1.6rem;font-weight:700}header.app-header p{color:var(--muted);margin:0;font-size:.9rem}.date-nav{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.date-nav button{background:var(--surface);border:1px solid var(--border);font-size:1.1rem;font-family:var(--font-display);color:var(--heading);border-radius:10px;padding:.6rem .9rem}.date-nav button:active{transform:scale(.97)}.date-nav .current-date{font-family:var(--font-display);text-align:center;flex:1;font-size:1.05rem;font-weight:600}.slot-list{flex-direction:column;gap:.6rem;display:flex}.slot{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:space-between;align-items:center;min-height:64px;margin:0;padding:.85rem 1rem;font-size:1rem;transition:background-color .15s,border-color .15s;display:flex}.slot.booked{background:var(--slot-booked-bg);border-color:var(--slot-booked-bg);color:var(--slot-booked-text)}.slot .time{font-family:var(--font-display);letter-spacing:.02em;min-width:70px;font-size:1.15rem;font-weight:700}.slot.booked .time{color:var(--slot-booked-time)}.slot .booking-info{text-align:right;flex:1;font-size:.92rem}.slot .booking-info .name{font-weight:600;font-family:var(--font-display)}.slot .booking-info .phone{opacity:.75;font-size:.78rem;display:block}.free-label{color:var(--muted);font-size:.85rem}.slot.selected:not(.booked){border-color:var(--accent);background:var(--accent-soft)}.slot.selected.booked{border-color:var(--danger)}.slot-checkbox{appearance:none;border:2px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:6px;width:22px;min-width:22px;height:22px;margin:0 .75rem 0 0;padding:0;transition:background .15s,border-color .15s;position:relative}.slot-checkbox:checked{background:var(--accent);border-color:var(--accent)}.slot-checkbox:checked:after{content:"✓";color:var(--accent-contrast);font-size:13px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slot.booked .slot-checkbox{background:0 0;border-color:#ffffff80}.slot.booked .slot-checkbox:checked{background:var(--danger);border-color:var(--danger)}.slot.booked .slot-checkbox:checked:after{color:#fff}.action-bar{bottom:calc(1rem + env(safe-area-inset-bottom));gap:.6rem;margin-top:1rem;display:flex;position:sticky}.action-bar-btn{font-family:var(--font-display);box-shadow:var(--shadow-lg);border:none;border-radius:12px;flex:1;padding:.85rem;font-size:.95rem;font-weight:700}.action-bar-btn.book{background:var(--accent);color:var(--accent-contrast)}.action-bar-btn.book:hover{background:var(--accent-hover)}.action-bar-btn.cancel{background:var(--danger);color:#fff}.action-bar-btn.cancel:hover{filter:brightness(1.06)}.modal h2{font-family:var(--font-display);color:var(--heading);margin-top:0}.modal label{color:var(--text);font-weight:600}.modal .modal-actions button{font-family:var(--font-display);border:none;border-radius:10px;flex:1;padding:.7rem;font-weight:600}.modal .submit{background:var(--accent);color:var(--accent-contrast)}.modal .submit:hover:not(:disabled){background:var(--accent-hover)}.modal .close{background:var(--surface-2);color:var(--text)}.empty-state{text-align:center;color:var(--muted);padding:2rem 0}
