:root{--paper:#f5f5f3;--surface:#fff;--ink:#141414;--ink-2:#3b3b39;--muted:#6b6b67;--faint:#a3a39e;--line:#e5e5e1;--line-2:#d4d4cf;--hover:#14141209;--accent:#1c6a4b;--accent-soft:#1c6a4b17;--danger:#9e3a2b;--radius:10px;--radius-sm:7px;--shadow-1:0 1px 2px #1818120d;--shadow-2:0 1px 2px #1818120d, 0 12px 32px -14px #18181238;--shadow-3:0 24px 64px -20px #18181259;--sans:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--mono:"SF Mono", ui-monospace, "Fira Code", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--pad-x:28px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.app{grid-template-rows:auto auto 1fr;height:100dvh;display:grid;overflow:hidden}.top{padding:22px var(--pad-x) 18px;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.brand{flex-direction:column;gap:6px;min-width:0;display:flex}.brand h1{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:500;line-height:1.1}.top-right{align-items:center;gap:22px;display:flex}.stats{gap:22px;display:flex}.stat{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.stat .num{color:var(--ink);font-size:15px}.stat.signed .num{color:var(--accent)}.search{align-items:center;display:flex;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;left:10px}.search input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:200px;height:36px;transition:border-color .15s var(--ease), width .2s var(--ease);padding:0 12px 0 32px}.search input::placeholder{color:var(--muted)}.search input:focus{border-color:var(--ink);outline:none}.btn{border-radius:var(--radius-sm);white-space:nowrap;height:36px;transition:background .15s var(--ease), border-color .15s var(--ease), transform .1s var(--ease);justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--ink);color:#fafaf8}.btn-primary:hover:not(:disabled){background:#2a2a28}.btn-ghost{border:1px solid var(--line-2);background:var(--surface)}.btn-ghost:hover:not(:disabled){border-color:var(--ink)}.btn-danger{color:var(--danger);border:1px solid #0000}.btn-danger:hover:not(:disabled){border-color:#9e3a2b59}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--ink-2);transition:background .15s var(--ease);place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover)}.scrim{animation:fade .18s var(--ease);z-index:20;background:#14141233;position:fixed;inset:0}.panel{background:var(--surface);border-left:1px solid var(--line);width:min(580px,100vw);box-shadow:var(--shadow-3);z-index:30;animation:slide-in .24s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.panel-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 0 28px;display:flex}.panel-scroll{overscroll-behavior:contain;flex:1;padding:6px 28px 64px;overflow-y:auto}.section{border-bottom:1px solid var(--line);padding:22px 0 6px}.section:last-child{border-bottom:0}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-head h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10.5px;font-weight:400}.hint{color:var(--muted);font-size:12.5px}.fields{grid-template-columns:112px 1fr;align-items:center;row-gap:2px;margin-bottom:14px;display:grid}.fields>.k{color:var(--muted);padding:7px 0;font-size:13px}.fields>.v{align-items:center;gap:4px;min-width:0;display:flex}.field{border-radius:var(--radius-sm);width:100%;min-width:0;transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;border:1px solid #0000;margin-left:-8px;padding:6px 8px}.field:hover{background:var(--hover)}.field:focus{background:var(--surface);border-color:var(--ink);outline:none}.field::placeholder{color:var(--faint)}.mono-val{font-family:var(--mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:7px 0;font-size:12px;overflow:hidden}.missing{color:var(--faint);padding:7px 0;font-size:13px}.dialog-wrap{z-index:40;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--line);width:min(460px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-3);animation:pop .2s var(--ease);border-radius:14px;padding:22px 22px 20px;position:relative;overflow-y:auto}.dialog h2{letter-spacing:-.02em;margin:0 0 4px;font-size:18px;font-weight:500}.dialog .sub{color:var(--muted);margin:0 0 18px}.form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form .full{grid-column:1/-1}.form label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.input,.form select,.form textarea{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);height:38px;transition:border-color .15s var(--ease);padding:0 11px;font-size:14px}.form textarea{resize:vertical;height:auto;min-height:84px;padding:10px 11px}.input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);outline:none}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.form-error{color:var(--danger);grid-column:1/-1;font-size:13px}.reasons{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.reason{border:1px solid var(--line-2);transition:border-color .15s var(--ease), background .15s var(--ease);border-radius:999px;padding:6px 11px;font-size:13px}.reason:hover{border-color:var(--ink-2)}.reason.on{background:var(--ink);border-color:var(--ink);color:#fafaf8}.sheet-list{margin:0;padding:0;list-style:none}.sheet-list button{border-top:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 4px;font-size:15px;display:flex}.sheet-list li:first-child button{border-top:0}.sheet-list button[aria-current=true]{font-weight:500}.drawer-list{margin:0;padding:0;list-style:none}.drawer-list button{text-align:left;border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;width:100%;padding:12px 0;display:grid}.drawer-list li:first-child button{border-top:0}.drawer-list .why{color:var(--muted);grid-column:1/-1;font-size:13px}.toast{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));background:var(--ink);color:#fafaf8;z-index:60;box-shadow:var(--shadow-3);animation:rise .2s var(--ease);border-radius:999px;max-width:calc(100vw - 40px);padding:10px 16px;font-size:13px;position:fixed;transform:translate(-50%)}.toast.error{background:var(--danger)}.loading{height:50vh;color:var(--muted);place-items:center;display:grid}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.985)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.muted{color:var(--muted)}.book-page{place-items:start center;min-height:100dvh;padding:56px 20px 64px;display:grid}.book-page.embed{background:0 0;min-height:0;padding:0}body.embedded{background:0 0}.book{background:var(--surface);border:1px solid var(--line);width:min(980px,100%);box-shadow:var(--shadow-2);border-radius:16px;grid-template-columns:320px 1fr;display:grid;overflow:hidden}.book-info{border-right:1px solid var(--line);flex-direction:column;gap:14px;padding:30px 28px;display:flex}.book-info h1{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:500;line-height:1.15}.meta-line{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex}.meta-line svg{color:var(--muted);flex:none}.book-desc{color:var(--ink-2);white-space:pre-wrap;margin:4px 0 0;line-height:1.55}.picked{border:1px solid var(--line-2);border-radius:var(--radius);margin-top:6px;padding:12px 14px;font-weight:500}.book-main{min-height:480px;padding:26px 28px 28px}.book-main h2{letter-spacing:-.01em;margin:0 0 18px;font-size:17px;font-weight:500}.picker{grid-template-columns:1fr 200px;gap:28px;display:grid}.picker.no-day{grid-template-columns:1fr}.month-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.month-head strong{font-size:15px;font-weight:500}.cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal .dow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px 0;font-size:10px}.day{aspect-ratio:1;color:var(--faint);border-radius:50%;place-items:center;font-size:14px;display:grid;position:relative}.day.open{color:var(--ink);transition:background .15s var(--ease);background:#1414120d;font-weight:500}.day.open:hover{background:#1414121a}.day.sel{background:var(--ink);color:#fafaf8}.day.today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.tz-row{color:var(--muted);align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.tz-row select{color:var(--ink-2);text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:1;width:100%;min-width:0;font-size:13px}.picker>*,.book-main,.book>*{min-width:0}.times{flex-direction:column;gap:8px;max-height:400px;padding-right:2px;display:flex;overflow-y:auto}.times .day-title{margin-bottom:4px;font-size:14px;font-weight:500}.slot{border:1px solid var(--line-2);border-radius:var(--radius-sm);height:44px;font-family:var(--mono);transition:border-color .15s var(--ease), background .15s var(--ease);flex:none;font-size:13.5px}.slot:hover{border-color:var(--ink)}.slot.sel{background:var(--ink);color:#fafaf8;border-color:var(--ink)}.empty-note{color:var(--muted);padding:18px 0;font-size:14px}.bform{flex-direction:column;gap:16px;max-width:520px;display:flex}.bform label,.bform fieldset{color:var(--ink-2);border:0;flex-direction:column;gap:6px;margin:0;padding:0;font-size:13.5px;display:flex}.bform legend{margin-bottom:6px;padding:0}.req{color:var(--muted);margin-left:2px}.bform textarea.input{resize:vertical;height:auto;min-height:96px;padding:10px 11px;line-height:1.5}.bform .choice{border:1px solid var(--line-2);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);transition:border-color .15s var(--ease), background .15s var(--ease);flex-direction:row;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:inline-flex}.bform .choice:hover{border-color:var(--ink-2)}.bform .choice.on{border-color:var(--ink);background:var(--hover)}.bform .choice input{accent-color:#141414;margin:0}.choices{flex-direction:column;align-items:stretch;gap:6px;display:flex}.choices.inline{flex-flow:wrap;align-items:center}.choices.inline .choice{justify-content:center;min-width:64px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.form-error{color:var(--danger);font-size:13.5px}.done{flex-direction:column;gap:12px;max-width:460px;padding-top:20px;display:flex}.done h2{letter-spacing:-.02em;font-size:22px!important}.tiny-back{color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:13px;display:inline-flex}.tiny-back:hover{color:var(--ink)}.powered{text-align:center;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:18px;font-size:10px}.admin{flex-direction:column;min-height:100dvh;display:flex}.admin .top{padding-bottom:14px}.seg{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--ink-2);border-radius:999px;padding:0 14px;font-size:13.5px}.seg button[aria-selected=true]{background:var(--ink);color:#fafaf8}.admin-body{padding:4px var(--pad-x) 60px;width:100%;max-width:1100px}.rows{border-top:1px solid var(--ink)}.row{border-bottom:1px solid var(--line);text-align:left;width:100%;transition:background .15s var(--ease);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 4px;display:grid}.row:hover{background:var(--hover)}.row-title{letter-spacing:-.01em;font-size:15.5px;font-weight:500}.row-sub{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:3px;font-size:13px;display:flex}.row-right{align-items:center;gap:8px;display:flex}.row.off .row-title{color:var(--muted)}.pill-off,.pill-on{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:10px}.pill-on{color:var(--accent);border-color:#1c6a4b59}.date-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:22px 4px 8px;font-size:10.5px}.editor-head h2{letter-spacing:-.02em;margin:6px 0 0;font-size:22px;font-weight:500}.ed-grid{grid-template-columns:130px 1fr;align-items:center;gap:10px 14px;margin-bottom:16px;display:grid}.ed-grid>span{color:var(--muted);font-size:13px}.ed-grid .input,.ed-grid select,.ed-grid textarea{width:100%}.input.sm{height:34px;font-size:13.5px}select.input{padding-right:6px}textarea.input{resize:vertical;height:auto;min-height:90px;padding:10px 11px;line-height:1.5}.prefix{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);align-items:center;display:flex;overflow:hidden}.prefix span{color:var(--muted);white-space:nowrap;padding:0 4px 0 11px;font-size:13.5px}.prefix input{flex:1;min-width:0;border:0!important;padding-left:0!important}.prefix:focus-within{border-color:var(--ink)}.hours{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.hour-row{border-bottom:1px solid var(--line);grid-template-columns:116px 1fr;align-items:start;gap:10px;padding:6px 0;display:grid}.hour-row:last-child{border-bottom:0}.hour-row label.chk{align-items:center;gap:8px;height:34px;font-size:14px;display:flex}.hour-row input[type=checkbox],.toggle input{accent-color:#141414}.windows{flex-direction:column;gap:6px;display:flex}.win{align-items:center;gap:6px;display:flex}.win input[type=time]{width:118px}.hour-row.date-row{grid-template-columns:190px 1fr}.date-pick{align-items:center;gap:6px;display:flex}.date-pick input[type=date]{width:150px}.q-card{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;display:flex}.q-top{align-items:center;gap:6px;display:flex}.q-top .input{flex:1}.q-opts{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.save-bar{background:var(--surface);border-top:1px solid var(--line);padding:14px 28px calc(20px + env(safe-area-inset-bottom));align-items:center;gap:8px;margin:18px -28px -64px;display:flex;position:sticky;bottom:-64px}.status-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;padding:16px 18px}.status-card h3{align-items:center;gap:8px;margin:0 0 6px;font-size:15px;font-weight:500;display:flex}.dot{background:var(--faint);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--accent)}.dot.warn{background:#b8862b}.help{color:var(--muted);font-size:12.5px;line-height:1.5}.code-chips{flex-wrap:wrap;gap:6px;margin:6px 0 12px;display:flex}.code-chips code{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;padding:2px 6px;font-size:11.5px}@media (max-width:860px){.book{grid-template-columns:1fr}.book-info{border-right:0;border-bottom:1px solid var(--line);padding:24px 22px 20px}.book-main{min-height:0;padding:22px}.picker{grid-template-columns:1fr}.times{max-height:none}.book-page{padding:16px 12px 40px}}@media (max-width:760px){:root{--pad-x:18px}.top{flex-wrap:wrap}.ed-grid{grid-template-columns:1fr;gap:6px}.ed-grid>span{margin-top:8px}.hour-row,.hour-row.date-row{grid-template-columns:1fr}.panel{border-left:0;width:100vw}.panel-scroll{padding:4px 18px 64px}.panel-head{padding:10px 12px 0 18px}.input,.bform .input,select.input{font-size:16px}.dialog-wrap{align-items:end;padding:0}.dialog{border-radius:16px 16px 0 0;width:100%}}.qa{margin:0 0 16px}.qa dt{color:var(--muted);margin-top:12px;font-size:13px}.qa dd{white-space:pre-wrap;margin:3px 0 0}.danger-zone{justify-content:flex-start;padding:26px 0 0;display:flex}
