:root{--font:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ink-900:#1f2328;--ink-700:#3c3f47;--ink-500:#6b6e78;--ink-400:#8b8d98;--ink-300:#b9bbc4;--ink-200:#d9d9de;--ink-150:#e6e6e9;--ink-100:#eeeef1;--ink-50:#f7f7f8;--canvas:#fbfbfc;--surface:#fff;--rail:#f7f7f8;--on-dark:#fff;--accent:#5e6ad2;--accent-strong:#4a55b8;--accent-soft:#eef0fb;--accent-line:#c7cbef;--accent-ink:#3b45a8;--accent-ring:#5e6ad240;--warn:#b45309;--warn-soft:#fff4e5;--ok:#1b7a3f;--ok-soft:#e3f5ea;--danger:#c1342a;--danger-strong:#a92d24;--danger-soft:#fdecea;--danger-line:#efc2bd;--mark:#0f2340;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-muted:#b9bbc4;--cat-1:#3d5bb8;--cat-1-soft:#ebeffa;--cat-1-line:#c5d0f0;--cat-2:#0f7069;--cat-2-soft:#e3f4f2;--cat-2-line:#b5ded9;--cat-3:#7046b8;--cat-3-soft:#f1ecfa;--cat-3-line:#d6c9f0;--cat-4:#a8366f;--cat-4-soft:#fbebf3;--cat-4-line:#efc3d8;--cat-5:#6b6a12;--cat-5-soft:#f2f2dc;--cat-5-line:#d9d8a6;--cat-6:#0b6a96;--cat-6-soft:#e3f2f9;--cat-6-line:#b4d9ea;--cat-7:#96502a;--cat-7-soft:#f9ede6;--cat-7-line:#e8c8b5;--cat-8:#2e6b45;--cat-8-soft:#e5f2ea;--cat-8-line:#b9dbc6;--cat-wh:#4f5d73;--cat-wh-line:#b8c1cf;--scrim:#14192266;--fs-label:11px;--fs-body:15px;--fs-heading:14px;--fs-title:17px;--fs-number:22px;--fs-input:16px;--lh-label:1.3;--lh-body:1.45;--lh-heading:1.35;--lh-title:1.3;--lh-number:1.1;--r-2xs:2px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:16px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--shadow-float:0 8px 24px #14192224;--shadow-sheet:0 -8px 32px #1419222e;--ctl:44px;--ctl-sm:44px;--chip-h:36px;--row:56px;--check:18px;--icon:20px;--tap:44px;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.15s;--rail-w:220px;--toolbar-h:44px;--tabbar-h:56px;--bottombar-h:56px;--panel-w:400px;--page-pad-x:16px;--page-pad-top:12px;--page-pad-bottom:16px;--gap-section:12px;--gap-field:12px}@media (width>=900px){:root{--fs-body:13px;--fs-input:13px;--ctl:32px;--ctl-sm:28px;--chip-h:24px;--row:34px;--check:16px;--icon:15px;--tabbar-h:0px;--bottombar-h:0px;--page-pad-x:16px;--page-pad-top:16px;--page-pad-bottom:32px;--gap-section:16px;--gap-field:12px}}*,:after,:before{box-sizing:border-box}html{font-size:100%}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--canvas);color:var(--ink-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (width<=899.98px){body{overscroll-behavior:none}}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:600}h1{font-size:var(--fs-title);line-height:var(--lh-title);letter-spacing:-.01em}h2,h3,h4{font-size:var(--fs-heading);line-height:var(--lh-heading)}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.title{font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title);letter-spacing:-.01em}.heading{font-size:var(--fs-heading);font-weight:600;line-height:var(--lh-heading)}.body{font-size:var(--fs-body);font-weight:400;line-height:var(--lh-body)}.label{font-size:var(--fs-label);font-weight:500;line-height:var(--lh-label);letter-spacing:.02em;color:var(--ink-500)}.label--caps{text-transform:uppercase;letter-spacing:.04em}.number{font-size:var(--fs-number);font-weight:600;line-height:var(--lh-number);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.code{font-family:var(--mono);color:var(--ink-500);white-space:nowrap}.code--strong{color:var(--ink-900)}.num{text-align:right;white-space:nowrap}.num,.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--ink-500)}.strong{color:var(--ink-900);font-weight:600}.booked{color:var(--warn);font-variant-numeric:tabular-nums}.text-danger{color:var(--danger)}.text-ok{color:var(--ok)}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;min-width:0}.sr-only,.truncate{white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.page{width:100%;max-width:1120px;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom);margin:0}.page--full{max-width:none}.page--narrow{max-width:520px;margin-inline:auto}@media (width>=900px){.page--flow{width:calc(100% - var(--page-pad-x)*2);max-width:640px;margin:var(--sp-6) auto var(--page-pad-bottom);padding:var(--sp-6);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.page--flow .bottom-bar{padding-top:var(--sp-4);border-top:1px solid var(--ink-150);justify-content:flex-end}.page--flow .bottom-bar>.bottom-bar-main,.page--flow .bottom-bar>.btn--danger-solid,.page--flow .bottom-bar>.btn--primary{flex:none;width:auto;min-width:160px}.page--flow .bottom-bar>.bottom-bar-info{margin-right:auto}}.toolbar{align-items:center;gap:var(--sp-2);min-height:var(--toolbar-h);padding:var(--sp-3) var(--page-pad-x) var(--sp-2);display:flex}.toolbar__title{min-width:0;font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toolbar__count{color:var(--ink-500);font-variant-numeric:tabular-nums;white-space:nowrap}.toolbar__spacer{flex:auto}.toolbar__actions{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}@media (width>=900px){.toolbar{min-height:var(--toolbar-h);padding:6px var(--sp-4);background:var(--surface);border-bottom:1px solid var(--ink-150)}}.page-head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--tap);margin-bottom:var(--gap-section);display:flex}.page-head>:first-child{min-width:0}@media (width<=899.98px){.page-head{flex-wrap:wrap}}.page-head h1{font-size:var(--fs-title);line-height:var(--lh-title);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.page-head .lede{margin-top:var(--sp-1);color:var(--ink-500);display:none}.stack{gap:var(--gap-section)}.stack,.stack--tight{flex-direction:column;display:flex}.stack--tight{gap:var(--gap-field)}.row-gap{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.scroll-row{gap:var(--sp-1);scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;display:flex;overflow-x:auto}.scroll-row::-webkit-scrollbar{display:none}.brand{align-items:center;gap:var(--sp-2);color:var(--ink-900);text-decoration:none;display:flex}.brand__mark{width:18px;height:18px;font-size:var(--fs-label);color:var(--on-dark);background:var(--mark);border-radius:var(--r-xs);flex:none;place-items:center;font-weight:600;line-height:1;display:grid}.brand__mark--img{-o-object-fit:contain;object-fit:contain;background:0 0}.brand__name{font-size:var(--fs-heading);font-weight:600;line-height:var(--lh-heading);letter-spacing:-.01em}@media (width<=899.98px){.desktop-only{display:none!important}}@media (width>=900px){.page-head{align-items:center;gap:var(--sp-4);min-height:var(--toolbar-h);margin:calc(var(--page-pad-top)*-1) calc(var(--page-pad-x)*-1) var(--gap-section);padding:6px var(--sp-4);background:var(--surface);border-bottom:1px solid var(--ink-150)}.page-head>:first-child{align-items:baseline;gap:var(--sp-2);display:flex}.page-head h1{flex:none}.page-head .lede{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-top:0;display:block;overflow:hidden}.phone-only{display:none!important}}.panel{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.panel--pad{padding:var(--sp-4)}.panel__head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--ctl);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--ink-150);display:flex}.panel__title{font-size:var(--fs-heading);font-weight:600;line-height:var(--lh-heading)}.panel__body{padding:var(--sp-4)}.section-title{margin-bottom:var(--sp-2);font-size:var(--fs-heading);font-weight:600;line-height:var(--lh-heading);color:var(--ink-900)}.section-title+.hint{margin-top:calc(var(--sp-1)*-1);margin-bottom:var(--sp-3)}.hint{color:var(--ink-500);font-size:var(--fs-body)}.divider{background:var(--ink-150);border:0;height:1px;margin:0}.code-block{padding:var(--sp-2) var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);line-height:var(--lh-body);color:var(--ink-700);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--ink-150);border-radius:var(--r-sm);margin:0;overflow:auto}.btn,.code-block{background:var(--surface)}.btn{height:var(--ctl);min-height:var(--ctl);padding:0 var(--sp-3);font-size:var(--fs-body);color:var(--ink-900);border:1px solid var(--ink-200);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);justify-content:center;align-items:center;gap:6px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn svg{width:var(--icon);height:var(--icon);flex:none}.btn:hover{background:var(--ink-50)}.btn:active{background:var(--ink-100)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:has(>.sr-only:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.4}.btn--secondary,.btn:disabled:hover,.btn[aria-disabled=true]:hover{background:var(--surface)}.btn--secondary{color:var(--ink-900);border-color:var(--ink-200)}.btn--primary{color:var(--on-dark);background:var(--accent);border-color:var(--accent)}.btn--primary:active,.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--ghost{color:var(--ink-700);background:0 0;border-color:#0000;padding:0 10px}.btn--ghost:hover{background:var(--ink-100)}.btn--ghost:active{background:var(--ink-150)}.btn--danger{color:var(--danger);background:var(--surface);border-color:var(--ink-200)}.btn--danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn--danger:active{background:var(--danger-soft);border-color:var(--danger-strong)}.btn--ghost.btn--danger{color:var(--ink-700);background:0 0;border-color:#0000}.btn--ghost.btn--danger:active,.btn--ghost.btn--danger:hover{color:var(--danger);background:var(--danger-soft);border-color:#0000}.btn--danger-solid{color:var(--on-dark);background:var(--danger);border-color:var(--danger)}.btn--danger-solid:active,.btn--danger-solid:hover{background:var(--danger-strong);border-color:var(--danger-strong)}.btn--icon{width:var(--ctl);min-width:var(--ctl);padding:0}.btn--icon:not(.btn--secondary,.btn--primary,.btn--danger,.btn--danger-solid){color:var(--ink-700);background:0 0;border-color:#0000}.btn--icon:not(.btn--secondary,.btn--primary,.btn--danger,.btn--danger-solid):hover{background:var(--ink-100)}.btn--icon:not(.btn--secondary,.btn--primary,.btn--danger,.btn--danger-solid):active{background:var(--ink-150)}.btn--block{width:100%}.btn--primary:disabled:hover,.btn--primary[aria-disabled=true]:hover{background:var(--accent);border-color:var(--accent)}.btn--danger-solid:disabled:hover,.btn--danger-solid[aria-disabled=true]:hover{background:var(--danger);border-color:var(--danger)}.btn--ghost:disabled:hover,.btn--ghost[aria-disabled=true]:hover,.btn--icon:not(.btn--secondary,.btn--primary,.btn--danger,.btn--danger-solid):disabled:hover{background:0 0}.btn--danger:disabled:hover{border-color:var(--ink-200)}.btn[aria-busy=true]{cursor:progress}.btn--link{height:auto;min-height:0;color:var(--ink-900);text-decoration:underline;-webkit-text-decoration-color:var(--ink-300);text-decoration-color:var(--ink-300);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:500}.btn--link:active,.btn--link:hover{background:0 0;text-decoration-color:currentColor}.btn--sm{height:var(--ctl-sm);min-height:var(--ctl-sm);padding:0 10px}.btn--icon.btn--sm{width:var(--ctl-sm);min-width:var(--ctl-sm);padding:0}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label,.field>label,.field__label{font-size:var(--fs-body);font-weight:500;line-height:var(--lh-label);color:var(--ink-700)}.field .sub,.field__hint{color:var(--ink-500)}.field .sub,.field__error,.field__hint{font-size:var(--fs-label);line-height:var(--lh-label)}.field__error{color:var(--danger)}.input,.select,.textarea{width:100%;height:var(--ctl);min-height:var(--ctl);font-size:var(--fs-input);line-height:var(--lh-body);color:var(--ink-900);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);padding:0 10px}.input::-moz-placeholder{color:var(--ink-500)}.textarea::-moz-placeholder{color:var(--ink-500)}.input::placeholder,.textarea::placeholder{color:var(--ink-500)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-300)}.input:focus,.input:focus-visible,.select:focus,.select:focus-visible,.textarea:focus,.textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.input:disabled,.input[readonly],.select:disabled,.textarea:disabled{color:var(--ink-300);background:var(--ink-50);border-color:var(--ink-150);cursor:not-allowed}.input[readonly]{color:var(--ink-700);cursor:default}.field--error .input,.field--error .select,.field--error .textarea,.input--invalid,.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.field--error .input:focus,.input--invalid:focus,.input[aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.textarea,textarea.input{height:auto;min-height:88px;padding:var(--sp-2) 10px;resize:vertical}.select,select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6e78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:30px}.input--number{font-size:var(--fs-number);font-weight:600;line-height:var(--lh-number);letter-spacing:-.01em;text-align:center;font-variant-numeric:tabular-nums}.input--sm{height:var(--ctl-sm);min-height:var(--ctl-sm);padding:0 var(--sp-2)}select.input--sm{padding-right:26px}.input-group{align-items:center;min-width:0;display:flex;position:relative}.input-group>.input{padding-left:32px}.input-group--no-icon>.input{padding-left:10px}.input-group:has(.input-group__kbd)>.input{padding-right:32px}.input-group__icon{width:var(--icon);height:var(--icon);color:var(--ink-400);left:10px}.input-group__icon,.input-group__kbd{pointer-events:none;position:absolute}.input-group__kbd{right:8px}.checkbox{appearance:none;width:var(--check);height:var(--check);background:var(--surface);border:1px solid var(--ink-300);border-radius:var(--r-xs);cursor:pointer;vertical-align:middle;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);flex:none;place-content:center;margin:0;display:inline-grid}.checkbox:hover{border-color:var(--ink-500)}.checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox:checked,.checkbox:indeterminate{background-color:var(--accent);border-color:var(--accent);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.checkbox:checked{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m4 8.5 2.5 2.5L12 5.5'/></svg>")}.checkbox:indeterminate{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'><path d='M4.5 8h7'/></svg>")}.checkbox:disabled{background-color:var(--ink-50);border-color:var(--ink-150);cursor:not-allowed}.check{gap:var(--sp-2);min-height:var(--ctl);cursor:pointer;-webkit-user-select:none;user-select:none}.check,.kbd{align-items:center;display:inline-flex}.kbd{min-width:18px;height:18px;padding:0 var(--sp-1);font-family:var(--mono);font-size:var(--fs-label);color:var(--ink-500);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-xs);justify-content:center;line-height:1}.chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}@media (width<=899.98px){.chips--scroll{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.chips--scroll::-webkit-scrollbar{display:none}}.chip{min-height:var(--chip-h);padding:0 var(--sp-2);font-size:var(--fs-body);color:var(--ink-700);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-xs);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);flex:none;align-items:center;gap:6px;font-weight:500;line-height:1;display:inline-flex;position:relative}@media (width<=899.98px){.chip:after{content:"";inset:calc((var(--chip-h) - var(--tap))/2) 0;position:absolute}}.chip:hover{background:var(--ink-50);border-color:var(--ink-300)}.chip:active{background:var(--ink-100)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip--on,.chip[aria-checked=true],.chip[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}.chip--on:hover,.chip[aria-checked=true]:hover,.chip[aria-pressed=true]:hover{background:var(--accent-soft);border-color:var(--accent)}.chip:disabled,.chip[aria-disabled=true]{opacity:.4;cursor:not-allowed}.chip__count{color:var(--ink-500);font-variant-numeric:tabular-nums;font-weight:500}.chip--on .chip__count{color:var(--accent-ink)}.chip__count.text-danger{color:var(--danger)}.chip .code{color:inherit;opacity:.75}.chip--lg{height:auto;min-height:var(--ctl);padding:6px var(--sp-3);line-height:var(--lh-label);text-align:left}.chip--group{min-height:var(--ctl);padding:0 var(--sp-3);font-weight:600}.chip--group.chip--on,.chip--group.chip--on:hover{color:var(--on-dark);background:var(--accent);border-color:var(--accent)}.chips--scroll .chip,.scroll-row .chip,.tag{white-space:nowrap}.tag{align-items:center;gap:var(--sp-1);font-size:var(--fs-label);font-weight:500;line-height:var(--lh-label);letter-spacing:.02em;color:var(--ink-700);background:var(--ink-100);border-radius:var(--r-xs);vertical-align:middle;padding:1px 6px;display:inline-flex}.tag--code{font-family:var(--mono);letter-spacing:0;font-weight:400}.tag--ok{color:var(--ok);background:var(--ok-soft)}.tag--muted{color:var(--ink-500);background:var(--ink-100)}.tag--danger{color:var(--danger);background:var(--danger-soft)}.tag--warn{color:var(--warn);background:var(--warn-soft)}.tag--secret{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-heading);font-weight:500;line-height:var(--lh-heading);letter-spacing:0;color:var(--ink-900);white-space:normal;overflow-wrap:anywhere;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm)}[data-cat="1"]{--c:var(--cat-1);--c-soft:var(--cat-1-soft);--c-line:var(--cat-1-line)}[data-cat="2"]{--c:var(--cat-2);--c-soft:var(--cat-2-soft);--c-line:var(--cat-2-line)}[data-cat="3"]{--c:var(--cat-3);--c-soft:var(--cat-3-soft);--c-line:var(--cat-3-line)}[data-cat="4"]{--c:var(--cat-4);--c-soft:var(--cat-4-soft);--c-line:var(--cat-4-line)}[data-cat="5"]{--c:var(--cat-5);--c-soft:var(--cat-5-soft);--c-line:var(--cat-5-line)}[data-cat="6"]{--c:var(--cat-6);--c-soft:var(--cat-6-soft);--c-line:var(--cat-6-line)}[data-cat="7"]{--c:var(--cat-7);--c-soft:var(--cat-7-soft);--c-line:var(--cat-7-line)}[data-cat="8"]{--c:var(--cat-8);--c-soft:var(--cat-8-soft);--c-line:var(--cat-8-line)}.tag--owner{border-radius:var(--r-pill)}.tag--owner[data-cat]{color:var(--c);background:var(--c-soft)}.tag--wh{color:var(--cat-wh);border:1px solid var(--cat-wh-line);background:0 0;padding:0 5px}.tag--cat[data-cat]{color:var(--c);background:var(--c-soft)}.cat-dot{background:var(--c,var(--ink-300));border-radius:var(--r-pill);flex:none;width:8px;height:8px}.chip--group.chip--on[data-cat],.chip--group.chip--on[data-cat]:hover{color:var(--on-dark);background:var(--c);border-color:var(--c)}.chip--group.chip--on .cat-dot{background:var(--on-dark)}.chip--group[data-cat]:not(.chip--on):hover{border-color:var(--c-line)}.tags{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.alert{align-items:flex-start;gap:var(--sp-2);padding:10px var(--sp-3);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm);display:flex}.alert svg{flex:none;margin-top:2px}.alert--danger,.alert--error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.alert--warn{color:var(--warn);background:var(--warn-soft)}.alert--ok,.alert--warn{border-color:#0000}.alert--ok{color:var(--ok);background:var(--ok-soft)}.alert--info{color:var(--ink-700);background:var(--ink-50);border-color:var(--ink-150)}.table-wrap{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums}.table td,.table th{height:var(--row);padding:0 var(--sp-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--ink-100)}.table thead th{z-index:1;height:32px;font-size:var(--fs-label);font-weight:500;line-height:var(--lh-label);letter-spacing:.02em;color:var(--ink-500);white-space:nowrap;background:var(--surface);border-bottom:1px solid var(--ink-150);position:sticky;top:0}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--ink-50)}.table tbody tr.is-selected td,.table tbody tr.row--checked td,.table tbody tr.row--selected td,.table tbody tr[aria-selected=true] td{background:var(--accent-soft)}.table tbody tr.is-off td,.table tbody tr.row--off td{color:var(--ink-500)}.table--rows tbody tr{cursor:pointer}.table .num,.table th.num{text-align:right}.table .code{font-family:var(--mono);color:var(--ink-500)}.table .name{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;color:var(--ink-900);overflow:hidden}.table .col-check{width:36px;padding:0 0 0 var(--sp-3)}.table .col-actions{text-align:right;white-space:nowrap;width:1%}.table--grid td{height:auto;padding:var(--sp-1) 6px;vertical-align:top}.table--grid th{padding:0 6px}.table--grid tbody tr:hover td{background:0 0}.list{background:var(--surface);margin:0;padding:0;list-style:none}.list--panel{border:1px solid var(--ink-150);border-radius:var(--r-md);overflow:hidden}.list__row{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--row);padding:var(--sp-2) var(--sp-4);color:var(--ink-900);text-align:left;border:0;border-bottom:1px solid var(--ink-100);-webkit-tap-highlight-color:transparent;background:0 0;text-decoration:none;display:flex}.list>.list__row:last-child,.list>:last-child>.list__row{border-bottom:none}.list__row--link,a.list__row,button.list__row{cursor:pointer}.list__row--link:active,a.list__row:active,button.list__row:active{background:var(--ink-50)}@media (hover:hover){.list__row--link:hover,a.list__row:hover,button.list__row:hover{background:var(--ink-50)}}.list__row.is-selected,.list__row.row--checked,.list__row[aria-selected=true]{background:var(--accent-soft)}.list__main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.list__title{font-size:var(--fs-body);line-height:var(--lh-heading);color:var(--ink-900);overflow-wrap:anywhere}.list__meta,.list__title{min-width:0;font-weight:400}.list__meta{font-size:var(--fs-heading);line-height:var(--lh-label);color:var(--ink-500);white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}@media (width>=900px){.list__meta{font-size:var(--fs-label)}}.list__qty{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.list__free{color:var(--ink-900);font-weight:600}.list__booked{font-size:var(--fs-label);font-weight:500;line-height:var(--lh-label);color:var(--warn);white-space:nowrap}.summary{align-items:baseline;gap:var(--sp-1) var(--sp-5);flex-wrap:wrap;display:flex}.summary__item{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.summary__label{font-size:var(--fs-label);letter-spacing:.02em;color:var(--ink-500);font-weight:500}.summary__value{color:var(--ink-900);font-variant-numeric:tabular-nums;font-weight:500}.summary__value--booked{color:var(--warn)}.tiles{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.tile{gap:var(--sp-1);min-width:0;padding:var(--sp-3);background:var(--ink-50);border-radius:var(--r-md);flex-direction:column;display:flex}.tile__label{font-size:var(--fs-label);font-weight:500;line-height:var(--lh-label);letter-spacing:.02em;color:var(--ink-500)}.tile__value{font-size:var(--fs-number);font-weight:600;line-height:var(--lh-number);letter-spacing:-.01em;color:var(--ink-900);font-variant-numeric:tabular-nums}.tile__value--booked{color:var(--warn)}.tile__value--danger{color:var(--danger)}.kv{gap:6px var(--sp-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.kv dt{color:var(--ink-500)}.kv dd{overflow-wrap:anywhere;margin:0;font-weight:500}.empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--ink-500)}.empty strong{margin-bottom:var(--sp-1);font-size:var(--fs-heading);color:var(--ink-900);font-weight:600;display:block}.modal-backdrop{z-index:80;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal,.sheet{width:100%;max-height:85dvh;color:var(--ink-900);background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-sheet);flex-direction:column;display:flex;overflow:hidden}.sheet__handle{width:36px;height:4px;margin:var(--sp-2) auto 0;background:var(--ink-200);border-radius:var(--r-xs);flex:none}.modal-head,.sheet__head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2) var(--sp-2) var(--sp-4);display:flex}.modal-head h2,.sheet__title{font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title);letter-spacing:-.01em}.modal-body,.sheet__body{gap:var(--gap-field);min-height:0;padding:var(--sp-2) var(--sp-4) var(--sp-4);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.modal-body>*,.sheet__body>*{flex-shrink:0}.modal-actions,.sheet__foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--ink-150);flex-wrap:wrap;flex:none;display:flex}@media (width>=700px){.modal-backdrop{padding:var(--sp-4);align-items:center}.modal{border-radius:var(--r-lg);width:min(560px,100%);max-height:92vh}.modal--wide{width:min(760px,100%)}.modal-actions{padding-bottom:var(--sp-3)}}.modal-enter-active,.modal-leave-active{transition:opacity .18s var(--ease)}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform .22s var(--ease)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{transform:translateY(16px)}.toast{align-items:center;gap:var(--sp-2);max-width:min(92vw,420px);padding:10px var(--sp-3) 10px var(--sp-3);font-size:var(--fs-body);font-weight:500;line-height:var(--lh-body);color:var(--ink-900);background:var(--surface);border:1px solid var(--ink-150);border-left:3px solid var(--ink-500);border-radius:var(--r-md);box-shadow:var(--shadow-float);pointer-events:auto;cursor:pointer;display:flex}.toast--ok{border-left-color:var(--ok)}.toast--ok svg{color:var(--ok)}.toast--warn{border-left-color:var(--warn)}.toast--warn svg{color:var(--warn)}.toast--danger,.toast--error{border-left-color:var(--danger)}.toast--danger svg,.toast--error svg{color:var(--danger)}.selection-bar{left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--tabbar-h) + var(--sp-3) + env(safe-area-inset-bottom));z-index:45;align-items:center;gap:var(--sp-2);height:48px;padding:0 6px 0 var(--sp-3);color:var(--on-dark);background:var(--ink-900);border-radius:var(--r-lg);box-shadow:var(--shadow-float);display:flex;position:fixed}.selection-bar__count{font-variant-numeric:tabular-nums;white-space:nowrap;flex:auto;min-width:0;font-weight:500}.selection-bar .btn{height:36px;min-height:36px}@media (width<=379px){.selection-bar__word{display:none}}.selection-bar .btn--ghost,.selection-bar .btn--link{color:var(--ink-200)}.selection-bar .btn--ghost:hover{background:var(--ink-700)}.action-bar{bottom:var(--sp-3);z-index:30;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);color:var(--on-dark);background:var(--ink-900);border-radius:var(--r-lg);box-shadow:var(--shadow-float);display:flex;position:sticky}.action-bar .muted{color:var(--ink-200)}.action-bar strong{color:var(--on-dark)}.action-bar .btn--ghost,.action-bar .btn--link{color:var(--ink-200)}.action-bar .btn--ghost:hover{background:var(--ink-700)}.bottom-bar{left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:40;align-items:center;gap:var(--sp-2);height:var(--bottombar-h);padding:0 var(--page-pad-x);background:var(--surface);border-top:1px solid var(--ink-150);display:flex;position:fixed}.bottom-bar>.bottom-bar-main,.bottom-bar>.btn--danger-solid,.bottom-bar>.btn--primary{flex:auto;min-width:0}.bottom-bar>.btn--ghost,.bottom-bar>.btn:not(.btn--primary,.btn--danger-solid){flex:none}.bottom-bar-info{min-width:0;font-weight:500;line-height:var(--lh-label);color:var(--ink-700);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.bottom-bar-info strong{color:var(--ink-900);font-variant-numeric:tabular-nums}.content:has(.bottom-bar){padding-bottom:calc(var(--bottombar-h) + 8px)}@media (width>=900px){.content:has(.bottom-bar){padding-bottom:0}.bottom-bar{z-index:auto;height:auto;margin-top:var(--sp-4);background:0 0;border-top:none;padding:0;position:static}.selection-bar{display:none}}.skeleton{background:var(--ink-100);border-radius:var(--r-xs);height:1em;animation:1.2s ease-in-out infinite pulse;display:block}@keyframes pulse{50%{opacity:.55}}.fade-enter-active,.fade-leave-active{transition:opacity .16s var(--ease),transform .16s var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(4px)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=899.98px){body:has(.bottom-bar) .toast-host{bottom:calc(var(--tabbar-h) + var(--bottombar-h) + 8px + env(safe-area-inset-bottom))}.table--grid,.table--grid tbody,.table--grid thead{display:block}.table--grid tr{align-items:center;gap:var(--sp-1) 0;padding:var(--sp-1) 0;flex-wrap:wrap;display:flex}.table--grid tbody tr+tr{border-top:1px solid var(--ink-100)}.table--grid td,.table--grid th{border:0;height:auto;display:block}.table--grid th.col-actions,.table--grid th:first-child,.table--grid th:nth-child(2){display:none}.table--grid thead th{height:auto;padding-block:var(--sp-1) 0;position:static}.table--grid td:first-child{width:28px;line-height:var(--tap);flex:0 0 28px}.table--grid td:nth-child(2){flex:1 0 calc(100% - 40px - var(--tap));min-width:0}.table--grid td.col-actions{flex:none;order:1;width:auto}.table--grid td:nth-child(n+3):not(.col-actions),.table--grid th:nth-child(n+3):not(.col-actions){flex:1 1 0;order:2;width:auto;min-width:0}.table--grid thead th:nth-child(n+3){text-align:left}.table--grid tbody tr:first-child{padding-top:0}.action-bar .truncate{white-space:normal}}.bento{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);max-width:1280px;display:grid}.bento__tile{gap:var(--sp-3);min-width:0;padding:var(--sp-4);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;display:flex}.bento__wide{grid-column:1/-1;align-items:center}.bento__head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--ctl-sm);display:flex}.bento__label,.bento__legend{color:var(--ink-500)}.bento__legend{align-items:center;gap:var(--sp-1);white-space:nowrap;display:inline-flex}.bento__greet{gap:var(--sp-4)}.bento__title{font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title);letter-spacing:-.01em;color:var(--ink-900)}.bento__hello .muted{margin-top:var(--sp-1)}.bento__action-list{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.bento__action{align-items:center;gap:var(--sp-3);min-height:var(--tap);height:100%;padding:var(--sp-2) var(--sp-3);color:var(--ink-900);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm);-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);text-decoration:none;display:flex}.bento__action svg{color:var(--ink-500);flex:none}.bento__action:hover{background:var(--ink-100);border-color:var(--ink-200)}.bento__action:focus-visible,.bento__kpi--link:focus-visible,.bento__meter-row--link:focus-visible,.bento__row--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bento__action-text{flex-direction:column;min-width:0;display:flex}.bento__action-text .muted{font-size:var(--fs-label);line-height:var(--lh-label)}.bento__kpis{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bento__kpi{gap:var(--sp-2)}.bento__kpi--link{color:inherit;transition:border-color var(--dur) var(--ease);text-decoration:none}.bento__kpi--link:hover{border-color:var(--ink-200)}.bento__rows{margin:0 calc(var(--sp-4)*-1);flex-direction:column;padding:0;list-style:none;display:flex}.bento__row{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-4);color:var(--ink-900);border-top:1px solid var(--ink-100);text-decoration:none;display:flex}.bento__row--link{-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease)}.bento__row--link:hover{background:var(--ink-50)}.bento__row-main{flex-direction:column;flex:auto;min-width:0;display:flex}.bento__row-qty{text-align:right;flex-direction:column;flex:none;align-items:flex-end;display:flex}.bento__row-qty .label{color:var(--warn)}.bento__row-sub,.bento__row-title{overflow-wrap:anywhere;min-width:0}.bento__overdue{color:var(--warn)}.bento__note{align-items:center;gap:var(--sp-2);color:var(--ink-700);display:flex}.bento__empty{padding:var(--sp-4) 0;color:var(--ink-500);text-align:center}.bento__meter-row{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--ink-100);flex-direction:column;gap:6px;display:flex}.bento__meter-row--link{color:inherit;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease);text-decoration:none}.bento__meter-row--link:hover{background:var(--ink-50)}.bento__meter-top{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.bento__meter-name{min-width:0;color:var(--ink-700);flex:auto}.bento__meter-num{font-variant-numeric:tabular-nums;flex:none}.meter{background:var(--ink-50);border-radius:var(--r-xs);height:6px;overflow:hidden}.meter__total{background:var(--ink-200)}.meter__free,.meter__total{border-radius:var(--r-xs);height:100%;display:block}.meter__free{background:var(--ink-700)}.meter__key{width:8px;height:8px;margin-left:var(--sp-1);background:var(--ink-200);border-radius:var(--r-xs);display:inline-block}.meter__key--free{background:var(--ink-700);margin-left:0}.bento__sk-label{width:40%;height:11px}.bento__sk-number{width:60%;height:22px}.bento__sk-line{width:100%;height:13px}.bento__meter-row--empty .bento__meter-name,.bento__meter-row--empty .bento__meter-num,.bento__meter-row--empty .bento__meter-num .strong{color:var(--ink-400)}@media (width<=899px){.bento__kpis>.bento__kpi:last-child:nth-child(odd){grid-column:1/-1}.bento__action{gap:var(--sp-2);padding:var(--sp-2)}}@media (width>=900px){.bento{gap:var(--sp-4);padding:var(--sp-6);grid-template-columns:repeat(12,minmax(0,1fr))}.bento__greet{order:1;grid-column:span 7;justify-content:space-between}.bento__wide{order:0}.bento__actions{order:3;grid-column:span 5}.bento__kpis{gap:var(--sp-4);order:4;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bento__wh{order:5;grid-column:span 6}.bento__co{order:6;grid-column:span 6}.bento__res{order:7;grid-column:span 7}.bento__act{order:8;grid-column:span 5}.bento__scan{max-width:480px}.bento__action,.bento__row{min-height:var(--row)}}.analytics__kpis{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.analytics__kpi{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;display:flex}.analytics__kpi-num{font-size:var(--fs-number);line-height:var(--lh-number);color:var(--ink-900);font-weight:600}.analytics__panel{gap:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;display:flex}.analytics__panel-head{justify-content:space-between}.analytics__filters,.analytics__panel-actions,.analytics__panel-head{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.analytics__filters .select{width:auto;min-width:220px}.legend{gap:var(--sp-3);color:var(--ink-700);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.legend__item{align-items:center;gap:6px;display:inline-flex}.legend__swatch{border-radius:var(--r-2xs);width:10px;height:10px}.chart{touch-action:pan-y;width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart__grid{stroke:var(--ink-100);stroke-width:1px}.chart__axis-text{fill:var(--ink-500);font-size:var(--fs-label);font-family:var(--font)}.chart__crosshair{stroke:var(--ink-300);stroke-width:1px}.chart__line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__area{stroke:none;opacity:.16}.chart__dot{stroke:var(--surface);stroke-width:2px}.chart__bar-hit{fill:#0000}.chart__col--hover{fill:var(--ink-50)}.chart__tooltip{z-index:2;min-width:160px;padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-float);pointer-events:none;font-size:var(--fs-label);color:var(--ink-700);position:absolute;top:0}.chart__tooltip-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.chart__tooltip-row .tnum{color:var(--ink-900)}.series-1{--c:var(--series-1)}.series-2{--c:var(--series-2)}.series-3{--c:var(--series-3)}.series-4{--c:var(--series-4)}.series-5{--c:var(--series-5)}.series-muted{--c:var(--series-muted)}.chart__swatch,.legend__swatch{background:var(--c)}.chart__line{stroke:var(--c)}.chart__area,.chart__bar,.chart__dot{fill:var(--c)}.chart__swatch{border-radius:var(--r-2xs);flex:none;width:8px;height:8px}@media (width<=899px){.analytics__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics__filters .select{width:100%}}.login-cap{--cap-background:var(--surface);--cap-border-color:var(--ink-150);--cap-border-radius:var(--r-sm);--cap-widget-width:100%;--cap-widget-height:44px;--cap-widget-padding:var(--sp-3);--cap-gap:var(--sp-3);--cap-color:var(--ink-900);--cap-checkbox-size:22px;--cap-checkbox-border:1px solid var(--ink-300);--cap-checkbox-border-radius:var(--r-xs);--cap-checkbox-background:var(--ink-50);--cap-font:var(--font);--cap-spinner-color:var(--accent);--cap-spinner-background-color:var(--ink-150);--cap-spinner-thickness:3px;min-height:44px;display:block}.lock[data-v-b4a65406]{z-index:90;padding:var(--sp-4);background:var(--canvas);place-items:center;display:grid;position:fixed;inset:0}.lock__card[data-v-b4a65406]{align-items:flex-start;gap:var(--sp-2);width:100%;max-width:420px;padding:var(--sp-6);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;display:flex}.lock__icon[data-v-b4a65406]{color:var(--warn)}.lock__title[data-v-b4a65406]{margin:var(--sp-2) 0 0;font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title)}.lock__text[data-v-b4a65406]{color:var(--ink-900);overflow-wrap:anywhere;margin:0}.lock__meta[data-v-b4a65406]{margin:0 0 var(--sp-2);color:var(--ink-500)}.down[data-v-5e78b7fb]{z-index:100;padding:var(--sp-4);background:var(--canvas);place-items:center;display:grid;position:fixed;inset:0}.down__card[data-v-5e78b7fb]{align-items:flex-start;gap:var(--sp-2);width:100%;max-width:420px;padding:var(--sp-6);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;display:flex}.down__icon[data-v-5e78b7fb]{color:var(--accent)}.down__title[data-v-5e78b7fb]{margin:var(--sp-2) 0 0;font-size:var(--fs-title);font-weight:600;line-height:var(--lh-title)}.down__text[data-v-5e78b7fb]{margin:0 0 var(--sp-2);color:var(--ink-500)}
