:root{--gutter:clamp(18px, 4.5vw, 64px);--section:clamp(64px, 9vw, 128px);--ease:cubic-bezier(.16, 1, .3, 1);--surface:var(--ground-2);--surface-2:var(--raise);--tab-h:64px;--top-h:56px;--tap:44px}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.02em;font-weight:560}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-2)}.faint{color:var(--text-3);font-size:14px}.num{font-variant-numeric:tabular-nums}small,code{font-size:14px}.a-shell{min-height:100dvh;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.a-top{z-index:20;min-height:var(--top-h);background:color-mix(in srgb, var(--ground) 92%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex;position:sticky;top:0}.a-top h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:18px;overflow:hidden}.a-main{min-width:0;max-width:1180px;margin:0 auto;padding:14px 14px 32px}.a-tabs{z-index:30;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--ground-3);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.a-tabs a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;text-decoration:none;display:flex}.a-tabs a svg{width:22px;height:22px}.a-tabs a .ico-fb{font-size:22px}.a-tabs a[aria-current=page]{color:var(--accent)}.a-tabs a.a-tab-new span.plus{background:var(--accent);width:48px;height:48px;color:var(--on-accent);border-radius:50%;place-items:center;margin-top:-10px;display:grid;box-shadow:0 6px 18px #0006}.a-side{display:none}@media (width>=960px){.a-shell{grid-template-columns:232px minmax(0,1fr);padding-bottom:0;display:grid}.a-tabs{display:none}.a-side{border-right:1px solid var(--line);background:var(--ground-3);flex-direction:column;gap:2px;height:100dvh;padding:18px 12px;display:flex;position:sticky;top:0}.a-side .brand{letter-spacing:-.05em;padding:6px 10px 18px;font-size:19px;font-weight:680}.a-side a{border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:10px;padding:9px 10px;font-size:14.5px;text-decoration:none;display:flex}.a-side a svg{width:18px;height:18px}.a-side a:hover{background:var(--surface);color:var(--text)}.a-side a[aria-current=page]{background:var(--surface-2);color:var(--text)}.a-side .a-side-foot{color:var(--text-3);margin-top:auto;padding:10px;font-size:14px}.a-main{max-width:none;padding:22px 28px 48px}}.btn{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14.5px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--text-3)}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ok{border-color:color-mix(in srgb, var(--ok) 55%, transparent);color:var(--ok)}.btn-bad{border-color:color-mix(in srgb, var(--bad) 55%, transparent);color:var(--bad)}.btn-sm{min-height:var(--tap);border-radius:var(--radius-sm);padding:6px 14px;font-size:14px}.btn-icon{min-width:var(--tap);min-height:var(--tap);border-radius:var(--radius-sm);padding:0}.btn[disabled]{opacity:.45;pointer-events:none}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.input,select.input,textarea.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:46px;padding:10px 12px;font-size:16px}textarea.input{resize:vertical;min-height:84px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.field{gap:5px;margin-bottom:12px;display:grid}.field>label,.label{color:var(--text-2);font-size:14px;font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=420px){.grid-2{grid-template-columns:1fr}}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;font-size:14.5px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.tick{width:var(--tap);height:var(--tap);cursor:pointer;place-items:center;display:inline-grid}.tick input{width:24px;height:24px;accent-color:var(--accent);margin:0}.switch{cursor:pointer;min-height:var(--tap);align-items:center;gap:12px;display:inline-flex;position:relative}.switch input{appearance:none;border-radius:var(--radius-pill);background:var(--raise);border:1px solid var(--line-strong);cursor:pointer;flex:none;width:50px;height:30px;transition:background .15s;position:relative}.switch input:after{content:"";background:var(--text-2);border-radius:50%;width:22px;height:22px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:after{background:var(--on-accent);transform:translate(20px)}.seg{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);gap:2px;display:inline-flex}.seg button{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--text-2);background:0 0;border:0;padding:4px 14px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:var(--tap);border-radius:var(--radius-pill);border:1px solid var(--line-strong);white-space:nowrap;color:var(--text-2);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 14px;font-size:14px;text-decoration:none;display:inline-flex}.chip input{width:20px;height:20px;accent-color:var(--accent);margin:0}.chip[aria-pressed=true]{background:var(--text);color:var(--ground);border-color:var(--text)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.card+.card{margin-top:10px}.card h2{margin-bottom:10px;font-size:16px}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:22px 2px 8px;font-size:14px;font-weight:650}.stack{gap:10px;display:grid}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.spacer{flex:1}.list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.list-item{min-height:var(--tap);text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.list-item>svg{width:18px;height:18px;color:var(--text-3);flex:none}.list>*+*{border-top:1px solid var(--line)}button.list-item:hover,a.list-item:hover{background:var(--surface-2)}.reorder{flex-direction:column;gap:2px;display:flex}.reorder .btn{font-size:14px}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:14.5px;display:grid}.kv dt{color:var(--text-3)}.kv dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:550}.kv dd a{min-height:var(--tap);align-items:center;margin:-11px 0;display:inline-flex}.empty{text-align:center;color:var(--text-3);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px 16px}.banner{border-radius:var(--radius);border:1px solid;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:14px;display:flex}.banner-warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.banner-bad{border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 10%, transparent)}.banner-ok{border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent)}.banner .btn{margin-left:auto}.hint{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);align-items:center;gap:10px;margin-bottom:10px;padding:4px 4px 4px 14px;font-size:14.5px;display:flex}.hint span{flex:1}.hint .btn{background:0 0;border:0}.status{border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--text-2);white-space:nowrap;align-items:center;gap:5px;padding:2px 9px;font-size:14px;font-weight:650;display:inline-flex}.status-confirmed{color:var(--text)}.status-completed{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.status-no_show{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.status-cancelled{color:var(--text-3);text-decoration:line-through}.appt{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);grid-template-columns:58px 1fr;gap:12px;padding:12px 14px;display:grid;position:relative}.appt+.appt{margin-top:8px}.appt-time{font-variant-numeric:tabular-nums;font-size:15px;font-weight:650;line-height:1.2}.appt-time small{color:var(--text-3);font-size:14px;font-weight:500;display:block}.appt-main{min-width:0}.appt-name{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:650;display:flex}.appt-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:2px;font-size:14px;display:flex}.appt-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.appt[data-status=completed],.appt[data-status=cancelled]{opacity:.62}.appt-open{border-radius:var(--radius);background:0 0;border:0;position:absolute;inset:0}.appt-actions,.appt-name a{z-index:1;position:relative}.now-line{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin:12px 0;font-size:14px;font-weight:700;display:flex}.now-line:after{content:"";background:var(--accent);flex:1;height:1px}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.stat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);min-width:0;padding:12px}.stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:620;display:block}.stat span{color:var(--text-3);font-size:14px}.cal-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-bar .date-label{min-width:0;font-size:16px;font-weight:650}.cal-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:calc(100dvh - var(--top-h) - var(--tab-h) - 150px);overflow:auto}@media (width>=960px){.cal-scroll{max-height:calc(100dvh - var(--top-h) - 150px)}}.cal{min-width:max-content;display:grid;position:relative}.cal.fit{min-width:0}.cal-head{z-index:4;display:contents;position:sticky;top:0}.cal-corner,.cal-colhead{z-index:5;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;align-items:center;gap:8px;min-width:0;height:44px;padding:0 10px;font-size:14px;font-weight:650;display:flex;position:sticky;top:0;overflow:hidden}.cal-corner{z-index:6;left:0}.cal-colhead small{color:var(--text-3);font-size:14px;font-weight:500}.cal-times{z-index:3;background:var(--surface);border-right:1px solid var(--line);position:sticky;left:0}.cal-times div{height:var(--slot-h);color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;padding:0 6px;font-size:14px;transform:translateY(-9px)}.cal-col{border-right:1px solid var(--line);min-width:0;position:relative}.cal-col:last-child{border-right:0}.cal-slot{width:100%;height:var(--slot-h);border:0;border-top:1px solid color-mix(in srgb, var(--text) 5%, transparent);background:0 0;padding:0;display:block}.cal-slot.hour{border-top-color:var(--line)}.cal-slot:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.cal-slot.off{background:repeating-linear-gradient(135deg,#0000 0 6px,#0000002e 6px 12px)}.cal-ev{z-index:2;border-radius:var(--radius-sm);text-align:left;border:0;border-left:4px solid var(--c,var(--accent));background:color-mix(in srgb, var(--c,var(--accent)) 22%, var(--surface-2));box-shadow:0 0 0 2px var(--surface);padding:4px 8px;font-size:14px;line-height:1.25;position:absolute;left:4px;right:4px;overflow:hidden}.cal-ev b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.cal-ev span{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cal-ev[data-status=completed]{opacity:.6}.cal-ev[data-status=no_show]{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--warn) 18%, var(--surface-2)) 0 6px, var(--surface-2) 6px 12px)}.cal-ev[data-status=cancelled]{opacity:.45;text-decoration:line-through}.cal-block{z-index:1;border-radius:var(--radius-sm);color:var(--text-2);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--text) 8%, transparent) 0 6px, transparent 6px 12px);border:1px dashed var(--line-strong);padding:5px 8px;font-size:14px;position:absolute;left:4px;right:4px;overflow:hidden}.cal-now{background:var(--accent);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.week{gap:10px;display:grid}@media (width>=960px){.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}}.week-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:6px 10px 10px}.week-day header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.week-day header button{min-height:var(--tap);min-width:var(--tap);text-align:left;background:0 0;border:0;padding:0 8px 0 0;font-size:15px;font-weight:650}.week-day[data-today=true]{border-color:var(--accent)}.week-ev{width:100%;min-height:var(--tap);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:8px;padding:6px 4px;font-size:14px;display:flex}.week-ev:hover{background:var(--surface-2)}.week-ev .t{font-variant-numeric:tabular-nums;color:var(--text-2);flex:none;width:44px}.week-ev .n{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.week-ev[data-status=cancelled]{opacity:.5;text-decoration:line-through}dialog.sheet{border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:var(--ground-2);width:100%;max-width:640px;max-height:92dvh;color:var(--text);border-bottom:0;margin:auto auto 0;padding:0;overflow:hidden}dialog.sheet[open]{animation:sheet-in .26s var(--ease) both;flex-direction:column;display:flex}dialog.sheet::backdrop{background:var(--scrim)}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 10px 10px 16px;display:flex}.sheet-head h2{flex:1;min-width:0;font-size:18px}.sheet-body{padding:16px;overflow-y:auto}@media (width>=700px){dialog.sheet{border-radius:var(--radius);border-bottom:1px solid var(--line);margin:auto}}.toasts{left:50%;bottom:calc(var(--tab-h) + 16px + env(safe-area-inset-bottom));z-index:100;pointer-events:none;gap:8px;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}@media (width>=960px){.toasts{bottom:24px}}.toast{border-radius:var(--radius);background:var(--text);color:var(--ground);animation:sheet-in .22s var(--ease) both;padding:12px 16px;font-size:14px;font-weight:600;box-shadow:0 10px 30px #0006}.toast.bad{background:var(--bad);color:var(--ground-3)}.login{place-items:center;min-height:100dvh;padding:24px;display:grid}.login form{width:min(100%,380px)}.login h1{letter-spacing:-.04em;margin-bottom:4px;font-size:30px}.login .ed{font-family:var(--font-editorial);color:var(--accent);font-style:italic;font-weight:500}.login p.faint{font-size:14px}.times{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}@media (width>=700px){.times{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}}.time{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.time[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:14px}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}table.t th{color:var(--text-3);background:var(--surface-2);font-size:14px;font-weight:650}table.t td.r,table.t th.r{text-align:right;font-variant-numeric:tabular-nums}table.t tr:last-child td{border-bottom:0}table.t tbody tr[data-id]:hover{background:var(--surface-2);cursor:pointer}table.t td .input{min-height:var(--tap);padding:6px 8px}@media (width<=699px){.table-wrap{overflow-x:visible}table.t-stack,table.t-stack tbody,table.t-stack tr,table.t-stack td{display:block}table.t-stack thead{display:none}table.t-stack tr{border-bottom:1px solid var(--line);padding:8px 12px}table.t-stack tr:last-child{border-bottom:0}table.t-stack td{white-space:normal;text-align:left;border:0;justify-content:space-between;align-items:center;gap:12px;min-height:32px;padding:5px 0;display:flex}table.t-stack td.r{text-align:right}table.t-stack td:before{content:attr(data-l);color:var(--text-3);flex:none;font-size:14px}table.t-stack td:first-child{font-size:15px}table.t-stack td:first-child:before{content:none}}.kpis{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=760px){.kpis{grid-template-columns:repeat(5,1fr)}}.kpi{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);min-width:0;padding:14px}.kpi span{color:var(--text-2);font-size:14px}.kpi b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(22px,5vw,28px);font-weight:600;display:block}.kpi small{color:var(--text-3);font-size:14px}.charts{gap:10px;margin-top:10px;display:grid}@media (width>=960px){.charts{grid-template-columns:1fr 1fr}.charts .wide{grid-column:1/-1}}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:14px}.chart-card h3{margin-bottom:2px;font-size:15px}.chart-card p.sub{color:var(--text-3);margin-bottom:10px;font-size:14px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .axis text,.chart text.lbl{fill:var(--text-3);font-size:11px;font-family:var(--font-body)}.chart .grid line{stroke:color-mix(in srgb, var(--text) 7%, transparent)}.chart .hit{fill:#0000}.tip{z-index:10;pointer-events:none;border-radius:var(--radius-sm);background:var(--text);color:var(--ground);white-space:nowrap;padding:8px 10px;font-size:14px;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 24px #0006}.tip b{font-weight:700}.hbar{grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:10px;padding:5px 0;font-size:14px;display:grid}.hbar .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbar .track{border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:color-mix(in srgb, var(--text) 5%, transparent);height:12px}.hbar .fill{border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:var(--accent);min-width:2px;height:100%}.hbar .val{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:14px}.split{border-radius:var(--radius-xs);gap:2px;height:14px;margin:8px 0;display:flex;overflow:hidden}.split span{height:100%;display:block}.legend{color:var(--text-2);flex-wrap:wrap;gap:6px 14px;font-size:14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.heat{gap:2px;font-size:14px;display:grid}.heat .cell{border-radius:var(--radius-xs);min-width:0;height:24px}@media (width<=600px){.heat .cell{height:18px}}.heat .hl{color:var(--text-3);align-items:center;display:flex}.heat .hh{color:var(--text-3);text-align:left;white-space:nowrap;overflow:visible}details.table-toggle{margin-top:10px;font-size:14px}details.table-toggle summary{cursor:pointer;color:var(--text-2);min-height:var(--tap);align-items:center;display:flex}.photo-edit{align-items:center;gap:14px;display:flex}.photo-edit img,.photo-edit .ph{border-radius:var(--radius-sm);object-fit:cover;background:var(--raise);width:72px;height:90px;font:600 italic 28px var(--font-editorial);color:var(--accent);place-items:center;display:grid}.hours-grid{gap:6px;display:grid}.hours-row{grid-template-columns:44px var(--tap) 1fr 1fr;align-items:center;gap:8px;display:grid}.hours-row select{min-height:var(--tap);padding:6px 8px}.link-copy{gap:8px;display:flex}.link-copy input{font-size:16px}.demo-chip{vertical-align:3px;border:1px solid var(--accent);border-radius:var(--radius-pill);color:var(--accent);font:700 14px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;padding:2px 7px;display:inline-block}svg.ico{flex:none;display:block}.btn svg.ico{width:20px;height:20px}.ico-fb{font:600 20px/1 var(--font-body);display:none}html.no-svg svg.ico{display:none}html.no-svg .ico-fb{display:inline-block}:root{color-scheme:dark;--ground:#141414;--ground-2:#1f1f1f;--ground-3:#0a0a0a;--raise:#292929;--text:#ededed;--text-2:#bdbdbd;--text-3:#a3a3a3;--accent:#d9c47e;--accent-hover:#e8d9a4;--on-accent:#131209;--ok:#8fd6a8;--warn:#f2c47a;--bad:#ef9999;--line:#363636;--line-strong:#555;--scrim:#000000b8;--radius:12px;--radius-sm:8px;--radius-pill:999px;--font-body:system-ui,sans-serif}.admin-main{max-width:1180px;margin:auto;padding:20px 16px 160px}.admin-panel>h2{margin:12px 0;font-size:28px}button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;padding:10px 16px;font-weight:600}button:hover{background:var(--raise)}button:disabled{opacity:.5;cursor:default}label{color:var(--text-2);gap:6px;min-width:0;margin:12px 0;display:grid}input,select,textarea{background:var(--ground);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:46px;padding:10px;font-size:16px}input[type=checkbox]{width:22px;min-height:22px}.choice{align-items:center;min-height:44px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .form-grid{grid-template-columns:1fr}#login,#change-password{max-width:460px;margin:32px auto}#admin-status:not(:empty){border-left:3px solid var(--accent);margin:12px 0;padding:12px}.rox-tabs{z-index:30;min-height:72px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--ground-3);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.rox-tabs button{color:var(--text-3);background:0 0;border:0;padding:8px 2px}.rox-tabs button[aria-current=page]{background:var(--raise);color:var(--accent)}.more-menu{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.booking-row{border-bottom:1px solid var(--line);padding:14px 0}.booking-row button{margin:8px 8px 0 0}.settings-panel h3{margin:20px 0 10px}.fab{background:var(--accent);width:56px;height:56px;color:var(--on-accent);border-radius:50%;padding:0;font-size:30px;position:fixed;bottom:100px;right:24px;box-shadow:0 8px 24px #0008}.agenda-week{gap:12px;display:grid}.agenda-day{min-width:0}.agenda-day h3{margin-bottom:12px}.appt{text-align:left;grid-template-columns:70px minmax(0,1fr);width:100%}.appt span{overflow-wrap:anywhere}#today-date{margin-bottom:18px}#today-bookings{margin-top:12px}.cal-bar{flex-wrap:wrap}.cal-bar label{flex:1;max-width:240px}#sheet-status:not(:empty){color:var(--bad);padding:12px 16px}.sheet-body .btn-row{margin-top:18px}.sheet-body p{margin:12px 0}.kv{grid-template-columns:75px minmax(0,1fr)}.kv dd{white-space:pre-wrap}#mail-list{overflow-wrap:anywhere}@media (width>=960px){.admin-main{padding-top:32px}.rox-tabs{border:1px solid var(--line);border-radius:16px 16px 0 0;max-width:700px;left:50%;transform:translate(-50%)}.agenda-week{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=420px){.form-grid{grid-template-columns:1fr}.a-top{flex-wrap:wrap}.sheet-body{padding:14px}}@media (prefers-reduced-motion:reduce){dialog.sheet[open]{animation:none}}#admin-status:empty{display:none}
