:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}@font-face{font-family:Europa Nuova;src:url(/fonts/europanuovabold.woff2)format("woff2");font-weight:100 900;font-style:normal}*{box-sizing:border-box}:root{--bg:#f3f4f6;--header-bg:#262e40;--left-bg:#e5e7eb;--right-bg:#f9fafb;--card-bg:#fff;--text:#32363e;--header-text:#fff;--secondary:#6b7280;--border:#d1d5db;--input-bg:#fff;--button-bg:#2463eb;--button-text:#fff;--accent:#2463eb}body.dark{--bg:#0f1729;--header-bg:#0c1017;--left-bg:#121a2b;--right-bg:#111827;--card-bg:#1d283a;--text:#f8fafc;--header-text:#f8fafc;--secondary:#cbd5e1;--border:#344256;--input-bg:#0f1729;--button-bg:#3c83f6;--button-text:#fff;--accent:#3c83f6}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}body,button,input,textarea,select{font-family:Europa Nuova,Arial,sans-serif}button:hover{filter:brightness(1.12)}.app{width:100%;min-height:100vh;padding:0}.app-header{background:var(--header-bg);width:100%;color:var(--header-text);justify-content:space-between;align-items:center;gap:24px;padding:28px 56px;display:flex}.layout{grid-template-columns:1fr;gap:0;min-height:calc(100vh - 81px);padding:0;display:grid}.layout.admin{grid-template-columns:1fr 75vw}.booking-column{background:var(--left-bg);flex-direction:column;align-items:center;padding:40px;display:flex}.appointments-column{background:var(--right-bg);padding:40px}h1{margin:0;font-size:34px;font-weight:700}h2{letter-spacing:-.02em;margin:0 0 24px;font-size:22px;font-weight:700}.form{gap:18px;display:grid}.form-field{gap:7px;display:grid}.form-field span{color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.form label{gap:7px;display:grid}.form label span{color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}input{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;padding:12px 11px;font-size:16px}input::placeholder{color:var(--secondary);opacity:.8}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.form-submit-button,.secondary-button,.card-actions button,.slot-button{cursor:pointer;border-radius:6px;font-weight:700}.step-actions{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}input[type=date]{cursor:pointer;appearance:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;filter:invert(0)}body.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}.form-submit-button{background:var(--accent);color:#fff;border:0;width:100%;padding:11px 18px;font-size:18px}.form-submit-button:disabled{background:var(--border);color:var(--secondary);cursor:default;filter:none}.form-submit-button:disabled:hover{filter:none}.secondary-button{background:var(--border);width:100%;color:var(--text);cursor:pointer;border:0;border-radius:6px;padding:11px 18px;font-size:18px;font-weight:700}.card-actions button{color:#fff;border:0;width:100%;padding:9px 13px;font-size:18px;box-shadow:0 1px 4px #11111114}.slot-button{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--border);text-align:center;padding:12px;font-size:16px}.slot-button:hover{color:var(--text);border-color:var(--accent);background:var(--input-bg);box-shadow:0 0 0 3px #2563eb1f}.slot-button.selected:hover{color:#fff;background:var(--accent)}.message{border-left:3px solid var(--border);width:100%;max-width:400px;color:var(--secondary);margin:22px 0 0;padding:10px 0 10px 14px}.booking{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:18px;box-shadow:0 4px 12px #0f172a0f}.appointments-title-row{align-items:center;gap:8px;margin-bottom:24px;display:flex}.appointments-title-row h2{margin:0}.counter{color:var(--secondary);font-weight:700}.appointments{grid-template-columns:1fr 1fr 1fr;gap:32px;display:grid}.empty-state{text-align:left;color:var(--secondary);margin:0;font-weight:100}.appointment-row{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:22px;display:grid;box-shadow:0 8px 24px #0f172a14}.appointment-name-row{align-items:center;gap:12px;display:flex}.appointment-row h3{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.appointment-row p{text-align:left;color:var(--secondary);margin:7px 0 0;font-size:medium;line-height:1.35}.appointment-main{flex-direction:column;display:flex}.appointment-contact{margin-top:auto}.status-badge{text-transform:lowercase;border-radius:999px;padding:1px 10px;font-size:15px;font-weight:900;box-shadow:0 1px 4px #11111114}.status-badge.pending{color:#2b2612;background:#facc14}.status-badge.confirmed{color:#122b1b;background:#21c45d}.status-badge.cancelled{color:#2b1212;background:#ee3a3a}.card-actions{flex-flow:column wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.card-actions button{color:#fff;width:100%;box-shadow:0 1px 4px #11111114}.card-actions button:first-child{background:#16a34a}.card-actions button:nth-child(2){background:#f59e0b}.card-actions button:nth-child(3){background:#ef4444}.theme-control{color:var(--header-text);align-items:center;gap:10px;font-weight:700;display:flex}.switch{flex-shrink:0;width:38px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.slider{cursor:pointer;background:#6b7280;border-radius:999px;transition:all .2s;position:absolute;inset:0}.slider:before{content:"";aspect-ratio:1;background:#fff;border-radius:50%;height:calc(100% - 6px);transition:all .2s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{left:calc(100% - 3px);transform:translate(-100%,-50%)}.slot-list{gap:10px;display:grid}.slot-button{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:12px;font-size:16px;font-weight:600;transition:all .15s}.slot-button:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--input-bg))}.slot-button.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.empty-slots{color:var(--secondary);text-align:center;border:1px dashed var(--border);border-radius:6px;margin:0;padding:12px}.modal-overlay{z-index:100;background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirmation-modal{background:var(--card-bg);width:min(420px,100%);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:24px 38px;box-shadow:0 18px 50px #0f172a4d}.confirmation-modal h2{margin:0 0 18px}.confirmation-details{gap:8px;display:grid}.confirmation-details p{text-align:left;color:var(--text);margin:0}.confirmation-details span{color:var(--secondary);font-weight:700}.modal-actions{justify-content:center;gap:18px;margin-top:24px;display:flex}.modal-cancel-button,.modal-confirm-button{cursor:pointer;border:0;border-radius:6px;width:42%;padding:10px 14px;font-size:16px;font-weight:700}.modal-cancel-button{background:var(--border);color:var(--text)}.modal-confirm-button{background:var(--accent);color:#fff}.header-controls{align-items:center;gap:42px;display:flex}.login-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:9px 14px;font-size:16px;font-weight:700}.login-button.logged-in{background:#ef4444}.login-form{gap:16px;display:grid}.login-form label{gap:7px;display:grid}.login-form label span{color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.admin-date-filter{margin-left:14px;padding:8px 10px;font-size:15px}.clear-filter-button{background:var(--border);color:var(--text);cursor:pointer;border:0;border-radius:6px;padding:8px 12px;font-size:15px;font-weight:700}.step-indicator{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.step-indicator span{text-align:center;color:var(--secondary);background:var(--input-bg);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:700}.step-indicator span.active{color:#fff;background:var(--accent);border-color:var(--accent)}.booking-step{gap:18px;display:grid}.notification{z-index:200;color:#fff;text-align:center;opacity:0;border-radius:10px;min-width:320px;max-width:500px;padding:14px 20px;font-size:16px;font-weight:700;animation:.25s forwards notification-in,.35s 4.65s forwards notification-out;position:fixed;top:24px;left:50%;transform:translate(-50%)}.notification-success{background:#15803d;border:1px solid #4ade80}.notification-error{background:#b91c1c;border:1px solid #f87171}@keyframes notification-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@keyframes notification-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-12px)}}@media (width<=850px){.app-header{flex-direction:column;align-items:flex-start;padding:28px 24px 18px}.layout{grid-template-columns:1fr;min-height:auto}.booking-column,.appointments-column{padding:32px 24px}.appointments,.appointment-row{grid-template-columns:1fr}.card-actions{align-items:stretch}}
