@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Next:ital,wght@0,200..800;1,200..800&display=swap";:root{--bg:#f8f9fa;--surface:#fff;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--accent:#4f46e5;--hover:#f3f4f6;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Atkinson Hyperlegible Next,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#app{min-height:100vh}h1,h2,h3,h4{color:var(--text);margin:0 0 .5rem;line-height:1.25}p{margin:0 0 .75rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:Atkinson Hyperlegible Next,sans-serif}.calendar-root.svelte-kym0nd{-webkit-user-select:none;user-select:none}.week-nav.svelte-kym0nd{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.week-label.svelte-kym0nd{color:var(--text);font-size:.9rem;font-weight:600}.nav-btn.svelte-kym0nd{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:5px;padding:.15rem .65rem;font-size:1.2rem;line-height:1.4}.nav-btn.svelte-kym0nd:hover{background:var(--hover)}.calendar-hint.svelte-kym0nd{color:var(--muted);margin:0 0 .6rem;font-size:.78rem}.grid-wrap.svelte-kym0nd{border:1px solid var(--border);border-radius:8px;align-items:flex-start;max-height:500px;display:flex;overflow:hidden auto}.time-axis.svelte-kym0nd{border-right:1px solid var(--border);background:var(--bg);flex-shrink:0;width:46px}.axis-header.svelte-kym0nd{border-bottom:2px solid var(--border);z-index:10;background:var(--bg);height:40px;position:sticky;top:0}.time-label.svelte-kym0nd{color:var(--muted);justify-content:flex-end;align-items:flex-start;padding-right:5px;font-size:.65rem;display:flex;transform:translateY(-.45em)}.day-col.svelte-kym0nd{border-right:1px solid var(--border);flex:1;min-width:0}.day-col.svelte-kym0nd:last-child{border-right:none}.day-header.svelte-kym0nd{border-bottom:2px solid var(--border);background:var(--bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:40px;display:flex;position:sticky;top:0}.day-name.svelte-kym0nd{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-size:.65rem;font-weight:700}.day-num.svelte-kym0nd{color:var(--text);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:600;line-height:1;display:flex}.today.svelte-kym0nd .day-num:where(.svelte-kym0nd){background:var(--accent);color:#fff}.day-body.svelte-kym0nd{cursor:crosshair;position:relative}.grid-line.svelte-kym0nd{border-bottom:1px solid #e5e7eb55;height:0;position:absolute;left:0;right:0}.grid-line.hour.svelte-kym0nd{border-bottom-color:var(--border)}.avail-block.svelte-kym0nd{background:color-mix(in srgb, var(--accent) 20%, transparent);border:1.5px solid var(--accent);cursor:default;z-index:2;border-radius:4px;justify-content:space-between;align-items:flex-start;padding:1px 3px;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.block-time.svelte-kym0nd{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:.62rem;font-weight:600;overflow:hidden}.block-remove.svelte-kym0nd{color:var(--accent);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.62rem;line-height:1}.block-remove.svelte-kym0nd:hover{opacity:1}.day-body.readonly.svelte-kym0nd{cursor:default}.event-block.svelte-kym0nd{background:color-mix(in srgb, #f59e0b 82%, var(--bg));z-index:3;pointer-events:auto;border:1.5px solid #d97706;border-radius:4px;padding:1px 4px;position:absolute;left:2px;right:2px;overflow:hidden}.event-block.clickable.svelte-kym0nd{cursor:pointer}.event-block.clickable.svelte-kym0nd:hover{background:color-mix(in srgb, #f59e0b 95%, var(--bg));border-color:#b45309}.event-block.clickable.svelte-kym0nd:hover .event-label:where(.svelte-kym0nd){color:#451a03}.event-label.svelte-kym0nd{color:#451a03;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:.62rem;font-weight:600;display:block;overflow:hidden}.drag-preview.svelte-kym0nd{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1.5px dashed color-mix(in srgb, var(--accent) 70%, transparent);pointer-events:none;z-index:1;border-radius:4px;position:absolute;left:2px;right:2px}.day-body.hover-select.svelte-kym0nd{cursor:crosshair}.avail-block.zone-mode.svelte-kym0nd{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);cursor:crosshair;pointer-events:none}.hover-ghost.svelte-kym0nd{pointer-events:none;z-index:4;border-radius:4px;align-items:flex-start;padding:2px 4px;transition:top 40ms linear;display:flex;position:absolute;left:3px;right:3px}.hover-ghost.ghost-available.svelte-kym0nd{background:color-mix(in srgb, var(--accent) 55%, transparent);border:1.5px solid var(--accent)}.hover-ghost.ghost-unavailable.svelte-kym0nd{cursor:not-allowed;background:#9ca3af66;border:1.5px solid #9ca3af}.ghost-label.svelte-kym0nd{color:var(--text);white-space:nowrap;pointer-events:none;font-size:.6rem;font-weight:700}.page-center.svelte-up4a5i{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.page.svelte-up4a5i{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.topbar.svelte-up4a5i{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.brand.svelte-up4a5i{color:var(--text);font-size:1rem;font-weight:600}.content.svelte-up4a5i{width:100%;max-width:800px;margin:2rem auto;padding:0 1.5rem}.section-header.svelte-up4a5i{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header.svelte-up4a5i h2:where(.svelte-up4a5i),.section-header.svelte-up4a5i h3:where(.svelte-up4a5i){margin:0}.card.svelte-up4a5i{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:2rem}.login-card.svelte-up4a5i{width:100%;max-width:380px}.login-card.svelte-up4a5i h1:where(.svelte-up4a5i){margin:0 0 .25rem;font-size:1.5rem}.subtitle.svelte-up4a5i{color:var(--muted);margin:0 0 1.5rem;font-size:.9rem}.form-group.svelte-up4a5i{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}fieldset.meta-group.svelte-up4a5i{border:1px solid var(--border);border-radius:7px;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem;display:flex}fieldset.meta-group.svelte-up4a5i legend:where(.svelte-up4a5i){text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 .3rem;font-size:.78rem;font-weight:600}label.svelte-up4a5i{color:var(--text);flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:500;display:flex}input.svelte-up4a5i,textarea.svelte-up4a5i{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.55rem .75rem;font-size:.9rem;transition:border-color .15s}input.svelte-up4a5i:focus,textarea.svelte-up4a5i:focus{border-color:var(--accent);outline:none}textarea.svelte-up4a5i{resize:vertical}.required.svelte-up4a5i{color:#ef4444}.form-actions.svelte-up4a5i{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.btn-primary.svelte-up4a5i{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn-primary.svelte-up4a5i:hover:not(:disabled){opacity:.9}.btn-primary.svelte-up4a5i:disabled{opacity:.6;cursor:not-allowed}.btn-ghost.svelte-up4a5i{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .9rem;font-size:.875rem;transition:background .15s}.btn-ghost.svelte-up4a5i:hover{background:var(--hover)}.btn-sm.svelte-up4a5i{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:5px;padding:.35rem .75rem;font-size:.8rem;transition:background .15s}.btn-sm.svelte-up4a5i:hover{background:var(--hover)}.btn-danger.svelte-up4a5i{color:#ef4444;border-color:#fca5a5}.btn-danger.svelte-up4a5i:hover{background:#fef2f2}.schedule-list.svelte-up4a5i{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.schedule-item.svelte-up4a5i{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.schedule-info.svelte-up4a5i{flex-direction:column;gap:.2rem;min-width:0;display:flex}.schedule-info.svelte-up4a5i strong:where(.svelte-up4a5i){color:var(--text);font-size:1rem}.desc.svelte-up4a5i{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.85rem;overflow:hidden}.meta.svelte-up4a5i{color:var(--muted);font-size:.78rem}.schedule-actions.svelte-up4a5i{flex-shrink:0;gap:.5rem;display:flex}.slots-section.svelte-up4a5i{margin-top:.5rem}.duration-group.svelte-up4a5i{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.dur-btn.svelte-up4a5i{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;padding:.35rem .8rem;font-size:.85rem;transition:border-color .12s,background .12s}.dur-btn.svelte-up4a5i:hover{background:var(--hover)}.dur-btn.active.svelte-up4a5i{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--accent);font-weight:600}.res-calendar.svelte-up4a5i{margin-bottom:1.5rem}.res-table.svelte-up4a5i{border-collapse:collapse;width:100%;font-size:.875rem}.res-table.svelte-up4a5i th:where(.svelte-up4a5i){text-align:left;border-bottom:2px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:.6rem .75rem;font-size:.78rem;font-weight:600}.res-table.svelte-up4a5i td:where(.svelte-up4a5i){border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:.7rem .75rem}.actions-cell.svelte-up4a5i{align-items:center;gap:.4rem;display:flex}.ical-actions.svelte-up4a5i{align-items:center;gap:.5rem;display:flex}.error-msg.svelte-up4a5i{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:1rem;padding:.6rem .9rem;font-size:.875rem}.empty-state.svelte-up4a5i{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:2.5rem}.hint.svelte-up4a5i{color:var(--muted);margin:.5rem 0;font-size:.85rem}.page.svelte-qih9j{background:var(--bg);min-height:100vh}.center.svelte-qih9j{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.muted.svelte-qih9j{color:var(--muted)}.header.svelte-qih9j{max-width:680px;margin:0 auto;padding:2.5rem 1.5rem 1rem}.header.svelte-qih9j h1:where(.svelte-qih9j){color:var(--text);margin:0 0 .5rem;font-size:1.75rem}.description.svelte-qih9j{color:var(--muted);margin:0 0 .4rem;font-size:.95rem}.duration-label.svelte-qih9j{color:var(--muted);margin:0;font-size:.82rem}.location-label.svelte-qih9j{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.content.svelte-qih9j{max-width:900px;margin:0 auto;padding:0 1.5rem 3rem}.btn-back.svelte-qih9j{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:1.25rem;padding:0;font-size:.875rem}.btn-back.svelte-qih9j:hover{text-decoration:underline}.selected-slot-info.svelte-qih9j{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.3rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.selected-slot-info.svelte-qih9j strong:where(.svelte-qih9j){text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem}.slot-label-lg.svelte-qih9j{color:var(--text);font-size:1.1rem;font-weight:600}.slot-time-lg.svelte-qih9j{color:var(--muted);font-size:.9rem}.booking-form.svelte-qih9j{flex-direction:column;gap:1rem;display:flex}label.svelte-qih9j{color:var(--text);flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:500;display:flex}input.svelte-qih9j{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}input.svelte-qih9j:focus{border-color:var(--accent);outline:none}.required.svelte-qih9j{color:#ef4444}.btn-primary.svelte-qih9j{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-self:flex-start;margin-top:.5rem;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;transition:opacity .15s}.btn-primary.svelte-qih9j:hover:not(:disabled){opacity:.9}.btn-primary.svelte-qih9j:disabled{opacity:.6;cursor:not-allowed}.error-msg.svelte-qih9j{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:.5rem;padding:.6rem .9rem;font-size:.875rem}.card.svelte-qih9j{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:2rem 2.5rem}.error-card.svelte-qih9j{text-align:center;color:var(--muted)}.error-icon.svelte-qih9j{margin-bottom:.5rem;font-size:2rem}.confirm-card.svelte-qih9j{text-align:center}.check-icon.svelte-qih9j{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin:0 auto 1rem;font-size:1.4rem;font-weight:700;display:flex}.confirm-card.svelte-qih9j h2:where(.svelte-qih9j){margin:0 0 .25rem;font-size:1.4rem}.confirm-name.svelte-qih9j{color:var(--muted);margin:0 0 1.5rem}.confirm-details.svelte-qih9j{background:var(--bg);border:1px solid var(--border);text-align:left;border-radius:7px;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.detail-row.svelte-qih9j{justify-content:space-between;gap:1rem;display:flex}.detail-label.svelte-qih9j{color:var(--muted);font-weight:500}.btn-ical.svelte-qih9j{background:var(--surface);border:1px solid var(--accent);color:var(--accent);border-radius:6px;margin-bottom:1rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.btn-ical.svelte-qih9j:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.confirm-note.svelte-qih9j{color:var(--muted);margin:0;font-size:.8rem}.empty-state.svelte-qih9j{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:2rem}
