.dsl{--_accent: var(--dsl-accent, #8a6d3b);--_on-accent: var(--dsl-on-accent, #fff);--_text: var(--dsl-text, #1d1a17);--_muted: var(--dsl-muted, #6b6259);--_bg: var(--dsl-bg, #fff);--_surface: var(--dsl-surface, #f6f2ec);--_line: var(--dsl-line, #e3dacd);--_error: var(--dsl-error, #a3261b);--_ok: var(--dsl-ok, #2f6b3f);--_radius: var(--dsl-radius, 2px);--_font: var(--dsl-font, inherit);--_display: var(--dsl-font-display, inherit);--_focus: var(--dsl-focus, var(--_accent));font-family:var(--_font);color:var(--_text);line-height:1.5}.dsl *,.dsl *:before,.dsl *:after{box-sizing:border-box}.dsl [hidden]{display:none!important}.dsl-form{display:grid;gap:clamp(28px,4vw,44px);margin:0}.dsl-step{margin:0;padding:0;border:0;min-width:0}.dsl-legend{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:0;font-family:var(--_display);font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:500;line-height:1.2}.dsl-num{display:inline-grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border:1px solid var(--_accent);border-radius:50%;color:var(--_accent);font-family:var(--_font);font-size:.85rem;font-weight:500;letter-spacing:.02em}.dsl-step.is-done .dsl-num{background:var(--_accent);color:var(--_on-accent)}.dsl-group+.dsl-group{margin-top:20px}.dsl-group__title{margin:0 0 10px;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--_muted)}.dsl-options{display:grid;gap:10px}.dsl-options--services{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.dsl-options--staff{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}.dsl-card,.dsl-person{position:relative;display:grid;gap:3px;align-content:start;padding:16px 18px;border:1px solid var(--_line);border-radius:var(--_radius);background:var(--_bg);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.dsl-card:hover,.dsl-person:hover{border-color:color-mix(in srgb,var(--_accent) 55%,var(--_line))}.dsl-card input,.dsl-person input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.dsl-card:has(input:checked),.dsl-person:has(input:checked){border-color:var(--_accent);background:color-mix(in srgb,var(--_accent) 7%,var(--_bg));box-shadow:inset 0 0 0 1px var(--_accent)}.dsl-card:has(input:focus-visible),.dsl-person:has(input:focus-visible){outline:2px solid var(--_focus);outline-offset:3px}.dsl-card__name{font-weight:500;padding-right:22px}.dsl-card__meta{font-size:.88rem;color:var(--_accent);font-variant-numeric:tabular-nums}.dsl-card__note{font-size:.84rem;color:var(--_muted)}.dsl-card:after{content:"";position:absolute;top:17px;right:16px;width:14px;height:14px;border:1px solid var(--_line);border-radius:50%;transition:background-color .2s,border-color .2s}.dsl-card:has(input:checked):after{border-color:var(--_accent);background:radial-gradient(circle,var(--_accent) 0 3.5px,transparent 4px)}.dsl-field--duration{align-self:center}.dsl-person{justify-items:center;text-align:center;padding:18px 12px 16px}.dsl-person__img{display:grid;place-items:center;width:64px;height:64px;margin-bottom:8px;border-radius:50%;object-fit:cover;background:var(--c, var(--_surface));color:#fff;font-family:var(--_display);font-size:1.35rem;letter-spacing:.04em}.dsl-person__img--any{background:var(--_surface);color:var(--_accent);border:1px dashed var(--_accent)}.dsl-person__name{font-weight:500;line-height:1.25}.dsl-person__role{font-size:.8rem;color:var(--_muted);line-height:1.3}.dsl-person.is-off{opacity:.45}.dsl-hint{margin:12px 0 0;font-size:.9rem;color:var(--_error)}.dsl-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 18px;scroll-snap-type:x proximity;scrollbar-width:thin}.dsl-day{flex:none;display:grid;justify-items:center;gap:1px;width:74px;padding:10px 4px 9px;border:1px solid var(--_line);border-radius:var(--_radius);background:var(--_bg);color:var(--_text);font:inherit;cursor:pointer;scroll-snap-align:start;transition:border-color .2s,background-color .2s}.dsl-day__wd{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--_muted)}.dsl-day__num{font-family:var(--_display);font-size:1.6rem;line-height:1.05}.dsl-day__mon{font-size:.74rem;color:var(--_muted)}.dsl-day__free{margin-top:3px;font-size:.68rem;color:var(--_accent);white-space:nowrap}.dsl-day:hover:not(:disabled){border-color:var(--_accent)}.dsl-day[aria-pressed=true]{background:var(--_text);border-color:var(--_text);color:var(--_bg)}.dsl-day[aria-pressed=true] .dsl-day__wd,.dsl-day[aria-pressed=true] .dsl-day__mon{color:inherit;opacity:.75}.dsl-day[aria-pressed=true] .dsl-day__free{color:inherit}.dsl-day:disabled{cursor:not-allowed;background:var(--_surface);opacity:.55}.dsl-day:disabled .dsl-day__free{color:var(--_muted)}.dsl-day:focus-visible,.dsl-slot:focus-visible,.dsl-submit:focus-visible,.dsl-btn:focus-visible{outline:2px solid var(--_focus);outline-offset:3px}.dsl-slots{margin-top:16px}.dsl-slots__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.dsl-slots__label{margin:0 0 10px;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--_muted)}.dsl-slots__msg{margin:0;color:var(--_muted);font-size:.95rem}.dsl-slot{padding:10px 6px;border:1px solid var(--_line);border-radius:var(--_radius);background:var(--_bg);color:var(--_text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .2s,background-color .2s}.dsl-slot:hover{border-color:var(--_accent)}.dsl-slot[aria-pressed=true]{background:var(--_accent);border-color:var(--_accent);color:var(--_on-accent)}.dsl-skeleton{height:42px;border-radius:var(--_radius);background:linear-gradient(90deg,var(--_surface),color-mix(in srgb,var(--_surface) 40%,var(--_bg)),var(--_surface));background-size:200% 100%;animation:dsl-shine 1.2s linear infinite}@keyframes dsl-shine{to{background-position:-200% 0}}.dsl-row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.dsl-field{display:grid;gap:6px;margin-bottom:16px}.dsl-row .dsl-field{margin-bottom:0}.dsl-row+.dsl-field,.dsl-row+.dsl-row{margin-top:16px}.dsl-field label{font-size:.9rem;font-weight:500}.dsl-opt{font-weight:400;color:var(--_muted)}.dsl input[type=text],.dsl input[type=tel],.dsl input[type=email],.dsl input[type=date],.dsl input[type=time],.dsl select,.dsl textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--_line);border-radius:var(--_radius);background:var(--_bg);color:var(--_text);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.dsl textarea{min-height:84px;resize:vertical}.dsl input:focus-visible,.dsl select:focus-visible,.dsl textarea:focus-visible{outline:none;border-color:var(--_accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--_accent) 25%,transparent)}.dsl [aria-invalid=true]{border-color:var(--_error)!important}.dsl-error{margin:2px 0 0;font-size:.86rem;color:var(--_error)}.dsl-error:before{content:"! ";font-weight:700}.dsl-check{position:relative;display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--_muted);cursor:pointer}.dsl-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--_accent)}.dsl-check a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.dsl-summary{padding:18px 20px;border-left:2px solid var(--_accent);background:var(--_surface);font-family:var(--_display);font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.4}.dsl-summary small{display:block;margin-bottom:2px;font-family:var(--_font);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--_muted)}.dsl-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}.dsl-submit,.dsl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border:1px solid var(--_text);border-radius:var(--_radius);background:var(--_text);color:var(--_bg);font:inherit;font-size:.9rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}.dsl-submit:hover,.dsl-btn:hover{background:var(--_accent);border-color:var(--_accent);color:var(--_on-accent)}.dsl-submit[aria-busy=true]{opacity:.7;cursor:progress}.dsl-btn--ghost{background:transparent;color:var(--_text)}.dsl-small{margin:0;font-size:.86rem;color:var(--_muted)}.dsl-status:empty{display:none}.dsl-status{padding:14px 16px;border-left:2px solid var(--_muted);background:var(--_surface);font-size:.95rem}.dsl-status.is-error,.dsl-alert{border-left:2px solid var(--_error);background:color-mix(in srgb,var(--_error) 7%,var(--_bg));color:var(--_text);padding:14px 16px}.dsl-status.is-ok{border-left-color:var(--_ok)}.dsl-done{display:grid;justify-items:center;gap:8px;padding:clamp(28px,5vw,56px) 20px;text-align:center;border:1px solid var(--_line);background:var(--_bg)}.dsl-done:focus{outline:none}.dsl-done__mark{display:grid;place-items:center;width:64px;height:64px;margin:0 0 8px;border:1px solid var(--_accent);border-radius:50%;color:var(--_accent);font-size:1.6rem}.dsl-done__title{margin:0;font-family:var(--_display);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.dsl-done p{max-width:46ch;margin:0}.dsl-done .dsl-btn{margin-top:14px}.dsl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.dsl-manage-wrap{padding:clamp(100px,14vw,160px) 20px clamp(60px,8vw,100px)}.dsl-manage{max-width:640px;margin:0 auto;display:grid;gap:18px}.dsl-manage__eyebrow{margin:0;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--_accent)}.dsl-manage__title{margin:0;font-family:var(--_display);font-weight:400;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.dsl-manage__list{display:grid;grid-template-columns:minmax(90px,max-content) 1fr;gap:0;margin:0;border-top:1px solid var(--_line)}.dsl-manage__list dt,.dsl-manage__list dd{margin:0;padding:12px 16px 12px 0;border-bottom:1px solid var(--_line)}.dsl-manage__list dt{color:var(--_muted);font-size:.9rem}.dsl-manage__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.dsl-manage__cancel{margin:0}@media(prefers-reduced-motion:reduce){.dsl *,.dsl *:before,.dsl *:after{transition:none!important;animation:none!important}}
