@layer tokens,base,layout,components,calendar,pages;@layer tokens{@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-latin.2ee17598a9.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-latin-ext.c4fcfea41f.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-800-latin.3e1b5f0a56.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-800-latin-ext.e101adfee2.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Spline Sans Mono";src:url(/assets/fonts/spline-sans-mono-latin.46b7dcafe3.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Spline Sans Mono";src:url(/assets/fonts/spline-sans-mono-latin-ext.0ca9a39890.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light dark;--ink:light-dark(#f6efe3,#0b1322);--ink-2:light-dark(#efe5d3,#070d18);--surface:light-dark(#fffdf8,#111c30);--surface-2:light-dark(#f4ebdb,#17253e);--line:light-dark(#e4d5bd,#23334f);--fg:light-dark(#2e2517,#eeebdf);--muted:light-dark(#837052,#bec9dc);--faint:light-dark(#756342,#aab8d0);--brand:light-dark(#c25e35,#efa94e);--brand-solid:light-dark(#963e1e,#efa94e);--brand-ink:light-dark(#fffdf8,#0b1322);--brand-soft:color-mix(in srgb,var(--brand) 13%,transparent);--accent:light-dark(#77894f,#6c96d8);--pos:light-dark(#3e8e5f,#54b98c);--warn:light-dark(#825400,#e3c25c);--neg:light-dark(#bc4529,#e0654e);--info:light-dark(#5b21b6,#c4a6ff);--pos-soft:color-mix(in srgb,var(--pos) 12%,transparent);--warn-soft:color-mix(in srgb,var(--warn) 14%,transparent);--neg-soft:color-mix(in srgb,var(--neg) 12%,transparent);--info-soft:color-mix(in srgb,var(--info) 12%,transparent);--teal:light-dark(#2c7e6b,#37a88e);--t0:light-dark(#94a78d,#50708e);--t1:light-dark(#a9b36a,#63a38c);--t2:light-dark(#d9a13f,#e3c25c);--t3:light-dark(#cc763b,#efa94e);--t4:light-dark(#b84a2e,#d9604a);--header:light-dark(rgb(255 251 243 / 0.88),rgb(11 19 34 / 0.85));--sidebar:light-dark(rgb(255 251 243 / 0.88),rgb(7 13 24 / 0.6));--hover:light-dark(rgb(46 37 23 / 0.05),rgb(238 235 223 / 0.045));--track:light-dark(rgb(46 37 23 / 0.08),rgb(255 255 255 / 0.07));--backdrop:light-dark(rgb(46 37 23 / 0.45),rgb(0 0 0 / 0.6));--shadow-hi:light-dark(rgb(255 255 255 / 0.7),rgb(255 255 255 / 0.03));--shadow-lo:light-dark(rgb(46 37 23 / 0.09),rgb(0 0 0 / 0.42));--shadow-panel:0 1px 0 var(--shadow-hi) inset,0 10px 28px var(--shadow-lo);--shadow-pop:0 18px 45px light-dark(rgb(46 37 23 / 0.2),rgb(0 0 0 / 0.5));--font-sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:"Bricolage Grotesque",var(--font-sans);--font-mono:"Spline Sans Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-2xs:0.6875rem;--fs-xs:0.75rem;--fs-sm:0.8125rem;--fs-base:0.875rem;--fs-lg:0.9375rem;--fs-xl:1.125rem;--fs-2xl:1.3125rem;--fs-3xl:1.625rem;--radius:13px;--radius-sm:9px;--pad-x:18px;--pad-y:12px;--gap:10px;--section-gap:14px;--header-h:54px;--side-w:236px;--tabbar-h:58px;--measure:1240px;--ease:cubic-bezier(0.2,0.7,0.2,1)}:root[data-theme="dark"]{color-scheme:dark}:root[data-theme="light"]{color-scheme:light}}@layer base{*,*::before,*::after{box-sizing:border-box;border-color:var(--line)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 14px);scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--ink);color:var(--fg);font:400 var(--fs-base) / 1.55 var(--font-sans);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1000px 480px at 12% 108%,light-dark(rgb(217 161 63 / 0.16),rgb(239 169 78 / 0.1)),transparent 60%),radial-gradient(900px 500px at 88% -8%,light-dark(rgb(119 137 79 / 0.1),rgb(108 150 216 / 0.08)),transparent 55%)}::selection{background:color-mix(in srgb,var(--brand) 28%,transparent)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul[role="list"],ol[role="list"],.plain{list-style:none;padding:0}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none !important}table{border-collapse:collapse}code,kbd,samp{font-family:var(--font-mono);font-size:0.92em}.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;z-index:100;padding:8px 14px;border-radius:var(--radius-sm);background:var(--brand-solid);color:var(--brand-ink);font-weight:600;transform:translateY(-200%);transition:transform 0.15s var(--ease)}.skip:focus{transform:none;text-decoration:none}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:0.14s}.topbar{view-transition-name:topbar}.side{view-transition-name:side}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}@view-transition{navigation:none}}}@layer layout{.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);grid-template-rows:var(--header-h) minmax(0,1fr);grid-template-areas:"top top" "side main";min-height:100dvh}.topbar{grid-area:top;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;height:var(--header-h);padding-inline:var(--pad-x);background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.2)}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--fg);font:800 1.0625rem / 1 var(--font-display);letter-spacing:-0.022em}.brand:hover{text-decoration:none}.brand svg{width:28px;height:28px}.brand b{font-weight:inherit;color:var(--teal)}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:8px}.tenant-chip{display:none;align-items:center;gap:8px;max-width:260px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side{grid-area:side;position:sticky;top:var(--header-h);align-self:start;height:calc(100dvh - var(--header-h));overflow-y:auto;padding:18px 12px 24px;background:var(--sidebar);border-right:1px solid var(--line);backdrop-filter:blur(10px)}.side-label{padding:0 10px 8px;color:var(--faint);font:600 var(--fs-2xs) / 1 var(--font-sans);letter-spacing:0.1em;text-transform:uppercase}.side-tenant{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.side-tenant strong{display:block;font:600 var(--fs-sm) / 1.25 var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-tenant span{display:block;color:var(--faint);font-size:var(--fs-2xs)}.nav{display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-base);font-weight:500;transition:color 0.15s,background-color 0.15s}.nav-item:hover{background:var(--hover);color:var(--fg);text-decoration:none}.nav-item[aria-current="page"]{background:var(--brand-soft);color:var(--brand);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 28%,transparent)}.nav-item svg{width:18px;height:18px;flex:none}.nav-count{margin-left:auto;padding:1px 7px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font:600 var(--fs-2xs) / 1.5 var(--font-mono)}.main{grid-area:main;min-width:0;width:100%;max-width:var(--measure);margin-inline:auto;padding:20px var(--pad-x) 56px;outline:none}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:var(--section-gap)}.page-title{margin:0;font:800 var(--fs-2xl) / 1.2 var(--font-display);letter-spacing:-0.022em}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.stack > * + *{margin-top:var(--section-gap)}.stack-tight > * + *{margin-top:var(--gap)}.grid{display:grid;gap:var(--gap)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.grow{flex:1 1 0;min-width:0}.tabbar{display:none}.only-wide{display:none}@media (min-width:1024px){.tenant-chip{display:inline-flex}.only-wide{display:revert}}@media (max-width:1023.98px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main"}.side{display:none}.main{padding-bottom:calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom))}.tabbar{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--header);border-top:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.2)}.tab{position:relative;display:grid;place-content:center;justify-items:center;gap:3px;padding:6px 2px;color:var(--muted);font-size:var(--fs-2xs);font-weight:500;line-height:1.1;-webkit-tap-highlight-color:transparent}.tab:hover{text-decoration:none}.tab svg{width:22px;height:22px}.tab[aria-current="page"]{color:var(--brand);font-weight:600}.tab[aria-current="page"]::before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}.tab .nav-count{position:absolute;top:4px;left:calc(50% + 6px);margin:0;padding:0 5px}}@media (max-width:640px){:root{--pad-x:14px}.main{padding-top:14px}.page-title{font-size:var(--fs-xl)}.page-actions{width:100%;margin-left:0}}}@layer layout{.mark .m-canopy{fill:var(--teal)}.mark .m-center{fill:light-dark(#c2692f,#db8b47)}.mark .m-poles{stroke:light-dark(#15120c,#f3eee3)}.brand--big{font-size:1.5rem}.brand--big svg{width:38px;height:38px}.bare{min-height:100dvh}.auth{display:grid;align-content:center;justify-items:center;gap:22px;min-height:100dvh;padding:28px var(--pad-x);outline:none}.auth-card{width:min(100%,400px);padding:24px 22px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-panel)}.auth-card h1{margin-bottom:4px;font:800 var(--fs-xl) / 1.25 var(--font-display);letter-spacing:-0.022em}.auth-foot{display:flex;gap:8px}}@layer components{.icon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sheet{display:flex;flex-direction:column;gap:1px;overflow:clip;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);box-shadow:var(--shadow-panel)}.sheet > *,.row > *{background-color:var(--surface)}.sheet--flush{border:0;border-radius:0;box-shadow:none}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col,180px),1fr));gap:1px;background:var(--line)}.row--2{--col:340px}.row--3{--col:260px}.row--kpi{--col:150px}.band{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:56px;padding:11px var(--pad-x);background-color:var(--surface);background-image:linear-gradient(color-mix(in srgb,var(--ink-2) 45%,transparent),color-mix(in srgb,var(--ink-2) 45%,transparent))}.band-number{color:var(--brand);font:600 var(--fs-xs) / 1 var(--font-mono)}.band-title{margin:0;font:800 var(--fs-lg) / 1.3 var(--font-display);letter-spacing:-0.022em}.band-hint{color:var(--faint);font-size:var(--fs-xs)}.band-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.panel-body{padding:14px var(--pad-x) 16px}.panel-body--flush{padding:0}.eyebrow{color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.08em;text-transform:uppercase}.muted{color:var(--muted)}.faint{color:var(--faint)}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.small{font-size:var(--fs-xs)}.strong{font-weight:600}.nowrap{white-space:nowrap}.right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi{min-width:0;padding:12px 14px}.kpi-label{display:block;overflow:hidden;color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.kpi-value{display:block;margin-top:6px;font:600 1.375rem / 1 var(--font-mono);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}.kpi-note{display:block;margin-top:4px;color:var(--faint);font-size:var(--fs-2xs)}.btn{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--fg);font-size:var(--fs-sm);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color 0.15s,color 0.15s,background-color 0.15s,filter 0.15s,transform 0.1s}.btn:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}.btn:active{transform:translateY(0.5px)}.btn--primary{border-color:var(--brand-solid);background:var(--brand-solid);color:var(--brand-ink)}.btn--primary:hover{color:var(--brand-ink);filter:brightness(1.08)}.btn--pos{border-color:var(--pos);background:var(--pos);color:var(--ink)}.btn--pos:hover{border-color:var(--pos);color:var(--ink);filter:brightness(1.08)}.btn--danger{color:var(--neg)}.btn--danger:hover{border-color:var(--neg);color:var(--neg);background:var(--neg-soft)}.btn--quiet{border-color:transparent;padding-inline:8px;color:var(--brand)}.btn--quiet.btn--danger{color:var(--neg)}.btn--sm{min-height:28px;padding:3px 10px;font-size:var(--fs-xs)}.btn--icon{width:34px;padding:0}.btn--block{width:100%}.btn[disabled],.btn[aria-disabled="true"]{opacity:0.5;pointer-events:none}@media (pointer:coarse){.btn{min-height:40px}.btn--sm{min-height:34px}.btn--icon{width:40px}}.field{display:grid;gap:5px;min-width:0;align-content:start}.field > label,.label{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.input,.select,.textarea{width:100%;min-width:0;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);color:var(--fg);font-size:var(--fs-base);outline:none;transition:border-color 0.12s,box-shadow 0.12s}.textarea{min-height:76px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.input[aria-invalid="true"]{border-color:var(--neg)}.input::placeholder,.textarea::placeholder{color:var(--faint);opacity:0.8}.select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2398a6bd' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.input[type="number"],.mono-input{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.input[type="date"]{min-width:9.5rem}.hint{color:var(--faint);font-size:var(--fs-xs)}.field-error{color:var(--neg);font-size:var(--fs-xs)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.check{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--brand)}@media (max-width:640px){.input,.select,.textarea{font-size:1rem}}.joined{display:flex;flex-wrap:wrap;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.joined > *{flex:1 1 140px;min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none}.joined > * + *{border-left:1px solid var(--line)}.joined > .btn{flex:none}@media (max-width:640px){.joined > * + *{border-left:0;border-top:1px solid var(--line)}}.switch{position:relative;display:inline-block;flex:none;width:38px;height:22px}.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch i{position:absolute;inset:0;border-radius:999px;background:var(--line);pointer-events:none;transition:background-color 0.15s}.switch i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--fg);transition:transform 0.15s var(--ease)}.switch input:checked + i{background:var(--pos)}.switch input:checked + i::after{transform:translateX(16px);background:var(--ink)}.switch input:focus-visible + i{outline:2px solid var(--brand);outline-offset:2px}.pill{--tone:var(--muted);display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border:1px solid color-mix(in srgb,var(--tone) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tone) 10%,transparent);color:var(--tone);font:700 var(--fs-2xs) / 1.6 var(--font-sans);letter-spacing:0.07em;text-transform:uppercase;white-space:nowrap}.pill--pos{--tone:var(--pos)}.pill--warn{--tone:var(--warn)}.pill--neg{--tone:var(--neg)}.pill--info{--tone:var(--info)}.pill--brand{--tone:var(--brand)}.pill--plain{letter-spacing:0;text-transform:none;font-weight:600}.dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:2px;background:var(--tone,var(--muted))}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;cursor:pointer;transition:color 0.15s,border-color 0.15s,background-color 0.15s}.chip:hover{color:var(--fg);text-decoration:none}.chip[aria-current],.chip.is-active{border-color:color-mix(in srgb,var(--brand) 45%,transparent);background:var(--brand-soft);color:var(--brand)}.seg{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.seg > a,.seg > button{padding:4px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:600}.seg > a:hover{text-decoration:none;color:var(--fg)}.seg > [aria-current]{background:var(--brand-solid);color:var(--brand-ink)}.avatar{display:inline-grid;flex:none;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--brand);font:600 var(--fs-2xs) / 1 var(--font-mono)}.table-wrap{overflow-x:auto}.table{width:100%;font-size:var(--fs-sm);text-align:left}.table th{padding:9px 12px 7px;border-bottom:1px solid var(--line);color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.07em;text-transform:uppercase;white-space:nowrap}.table td{padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);vertical-align:middle}.table tbody tr:hover{background:var(--hover)}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.row-link{color:var(--fg);font-weight:600}.row-link:hover{color:var(--brand);text-decoration:none}@media (max-width:760px){.table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table--cards tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:12px var(--pad-x);border-bottom:1px solid var(--line)}.table--cards td{display:block;padding:0;border:0}.table--cards td::before{content:attr(data-label);display:block;margin-bottom:1px;color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.07em;text-transform:uppercase}.table--cards td[data-label=""]::before{display:none}.table--cards td.wide{grid-column:1 / -1}.table--cards .num{text-align:left}}.notice{--tone:var(--muted);display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border:1px solid color-mix(in srgb,var(--tone) 35%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tone) 9%,var(--surface));font-size:var(--fs-sm)}.notice--warn{--tone:var(--warn)}.notice--neg{--tone:var(--neg)}.notice--pos{--tone:var(--pos)}.notice--info{--tone:var(--info)}.notice .icon{color:var(--tone);margin-top:2px}.queue{border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--warn) 7%,var(--surface));box-shadow:var(--shadow-panel);overflow:clip}.queue-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px var(--pad-x) 6px;font-weight:600}.queue-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px var(--pad-x);border-top:1px solid color-mix(in srgb,var(--warn) 18%,var(--line))}.queue-who{flex:1 1 240px;min-width:0}.queue-who strong{font-weight:600}.list{display:grid}.list > *{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px var(--pad-x)}.list > * + *{border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.tile{display:inline-grid;flex:none;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand);font:700 var(--fs-xs) / 1 var(--font-mono)}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:var(--fs-xs)}.tag button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.tag button:hover{background:var(--neg-soft);color:var(--neg)}.copybox{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 6px 6px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.copybox code{flex:1;min-width:0;overflow:hidden;color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.lines{display:grid;gap:6px}.lines > div{display:flex;justify-content:space-between;gap:14px}.lines dt{color:var(--muted)}.lines dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.lines .total{padding-top:8px;border-top:1px solid var(--line);font-weight:700}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px}.facts dt{margin-bottom:2px;color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.07em;text-transform:uppercase}.bar{height:6px;overflow:hidden;border-radius:999px;background:var(--track)}.bar > i{display:block;width:calc(var(--v,0) * 1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--t0),var(--brand))}.empty{display:grid;justify-items:center;gap:6px;padding:36px 20px;color:var(--faint);text-align:center}.empty .icon{width:28px;height:28px;opacity:0.7}.empty strong{color:var(--muted);font-weight:600}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px var(--pad-x);color:var(--faint);font-size:var(--fs-xs)}.menu{position:relative}.menu > summary{display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.menu > summary::-webkit-details-marker{display:none}.menu > summary.iconbtn{display:inline-grid;place-items:center}.menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:grid;gap:2px;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-pop);animation:pop-in 0.16s var(--ease) both}.menu-head{padding:8px 10px 6px;font-size:var(--fs-xs)}.menu-head strong{display:block;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis}.menu-sep{height:1px;margin:4px 0;background:var(--line)}.menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--fg);font-size:var(--fs-sm);text-align:left;cursor:pointer}.menu-item:hover{background:var(--hover);text-decoration:none}.menu-item[aria-current]{color:var(--brand);font-weight:600}.menu-item .icon{color:var(--muted)}.iconbtn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);cursor:pointer;transition:color 0.15s,border-color 0.15s}.iconbtn:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}.account-chip{padding:3px 10px 3px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:var(--fs-xs)}.account-chip .avatar{width:26px;height:26px}.account-chip .who{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.account-chip .who{display:none}.account-chip{padding-right:4px}}.theme-toggle .sun{display:none}:root[data-theme="light"] .theme-toggle .moon{display:none}:root[data-theme="light"] .theme-toggle .sun{display:block}@media (prefers-color-scheme:light){:root:not([data-theme]) .theme-toggle .moon{display:none}:root:not([data-theme]) .theme-toggle .sun{display:block}}.dialog{width:min(760px,calc(100vw - 24px));max-width:100%;max-height:min(90dvh,920px);padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-pop);overflow:auto;overscroll-behavior:contain}.dialog--narrow{width:min(520px,calc(100vw - 24px))}.dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(2px)}.dialog[open]{animation:pop-in 0.18s var(--ease) both}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:14px var(--pad-x);border-bottom:1px solid var(--line);background:var(--surface)}.dialog-title{flex:1;min-width:0;margin:0;font:800 var(--fs-lg) / 1.3 var(--font-display);letter-spacing:-0.022em}.dialog-body{padding:16px var(--pad-x)}.dialog-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px var(--pad-x);border-top:1px solid var(--line);background:var(--surface)}@media (max-width:640px){.dialog{width:100%;margin:auto 0 0;border-radius:16px 16px 0 0;max-height:92dvh}.dialog[open]{animation-name:sheet-in}}.toasts{position:fixed;left:50%;bottom:22px;z-index:90;display:grid;gap:8px;transform:translateX(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);animation:toast 5s var(--ease) both}.toast .icon{color:var(--pos)}.toast--neg .icon{color:var(--neg)}@media (max-width:1023.98px){.toasts{bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom))}}@keyframes pop-in{from{opacity:0;transform:translateY(5px) scale(0.99)}to{opacity:1;transform:none}}@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes toast{0%{opacity:0;transform:translateY(8px)}6%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(4px);visibility:hidden}}}@layer calendar{.season{display:grid;gap:8px}.season-scale{position:relative;height:14px;color:var(--faint);font-size:var(--fs-2xs)}.season-scale span{position:absolute;left:calc(var(--x) * 1%);white-space:nowrap}.season-track{position:relative;height:46px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.sseg{--tone:var(--t1);position:absolute;top:0;bottom:0;left:calc(var(--x) * 1%);width:calc(var(--w) * 1%);display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--tone) 20%,var(--surface));box-shadow:inset -1px 0 var(--line);color:var(--tone);font:600 var(--fs-xs) / 1 var(--font-mono)}.sseg.t0{--tone:var(--t0)}.sseg.t1{--tone:var(--t1)}.sseg.t2{--tone:var(--t2)}.sseg.t3{--tone:var(--t3)}.sseg.t4{--tone:var(--t4)}.sseg.gap{background:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--neg) 22%,transparent) 5px 6px);box-shadow:none}.tick{position:absolute;bottom:0;left:calc(var(--x) * 1%);width:max(2px,calc(var(--w) * 1%));height:4px;background:var(--brand)}.periods .input.cell{min-height:32px;padding:3px 7px;font-size:var(--fs-sm)}.periods input[type="number"]{font-family:var(--font-mono);text-align:right}.periods td{padding:6px 4px}.periods th{padding-inline:4px}.periods td:first-child,.periods th:first-child{padding-left:var(--pad-x)}.periods .input[type="date"]{min-width:7.9rem;padding-right:4px}.periods td:nth-child(1) .input{min-width:7.5rem}.periods td:nth-child(n + 4):not(:last-child) .input{min-width:4.2rem}.row-wrong{background:var(--neg-soft)}.rm{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:color 0.15s,background-color 0.15s,border-color 0.15s}.rm:hover{color:var(--neg)}.rm input{position:absolute;inset:0;opacity:0;cursor:pointer}.rm:has(input:checked){border-color:var(--neg);background:var(--neg-soft);color:var(--neg)}.rm:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}@media (max-width:760px){.periods tr{grid-template-columns:repeat(2,minmax(0,1fr))}.periods td{padding:0}.periods td:first-child{padding:0}.periods td.wide{grid-column:1 / -1}.periods .input.cell{min-height:38px;font-size:1rem}}.cal-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.cal-month h3{margin-bottom:8px;font:800 var(--fs-lg) / 1.3 var(--font-display);letter-spacing:-0.022em}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px}.cal-dow{padding:2px 0 6px;color:var(--faint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:0.06em;text-align:center;text-transform:uppercase}.cal-day{position:relative;display:grid;align-content:center;justify-items:center;gap:1px;height:46px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.cal-day .d{font-size:var(--fs-sm);font-weight:700}.cal-day .p{color:var(--muted);font:500 var(--fs-2xs) / 1 var(--font-mono)}button.cal-day:hover{background:var(--hover)}.cal-day.has-override .p{color:var(--brand);font-weight:700}.cal-day.is-weekend .d{color:var(--muted)}.cal-day.is-off{opacity:0.4;cursor:default}.cal-day.is-today::after{content:"";position:absolute;inset:2px;border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:var(--radius-sm);pointer-events:none}.cal-day.in-range{background:var(--brand-soft);border-radius:0}.cal-day.is-start,.cal-day.is-end{background:var(--brand-solid);border-radius:var(--radius-sm);color:var(--brand-ink)}.cal-day.is-start .d,.cal-day.is-end .d,.cal-day.is-start .p,.cal-day.is-end .p{color:var(--brand-ink)}.cal-panel{margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:var(--radius);background:var(--surface-2)}.cal-panel p{margin-bottom:10px}.check-result{margin-top:16px;max-width:420px}@media (max-width:760px){.cal-months{grid-template-columns:minmax(0,1fr)}.cal-month:nth-child(2){display:none}.cal-day{height:50px}}}@layer calendar{.avail-wrap{overflow-x:auto;overscroll-behavior-x:contain}.avail{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:var(--fs-xs)}.avail th,.avail td{padding:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:var(--surface)}.avail .corner,.avail .unit{position:sticky;left:0;z-index:3;min-width:8.5rem;max-width:11rem;padding:8px 12px;border-right:1px solid var(--line);background:var(--surface);text-align:left}.avail .corner{color:var(--faint);font:600 var(--fs-2xs) / 1.2 var(--font-sans);letter-spacing:0.07em;text-transform:uppercase;vertical-align:bottom}.avail .unit strong{display:block;overflow:hidden;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.avail .unit small{color:var(--faint);font-size:var(--fs-2xs)}.avail-months th{padding:8px 6px 4px;color:var(--muted);font:700 var(--fs-xs) / 1 var(--font-display);letter-spacing:-0.01em;text-align:left;white-space:nowrap}.avail-months th:first-child{z-index:4}.avail .d{min-width:34px;padding:2px 0 6px;color:var(--faint);font-weight:500;text-align:center}.avail .d .dow{display:block;font-size:0.625rem;letter-spacing:0.04em;text-transform:uppercase}.avail .d .dn{display:block;color:var(--muted);font:600 var(--fs-xs) / 1.4 var(--font-mono)}.avail .d.today .dn{color:var(--brand)}.avail .d.today{box-shadow:inset 0 -2px 0 var(--brand)}.avail .c{padding:2px;text-align:center}.avail .we,.avail td.we{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.avail .cell{--tone:var(--t0);display:grid;place-items:center;height:34px;border-radius:7px;background:color-mix(in srgb,var(--tone) 18%,transparent);color:color-mix(in srgb,var(--tone) 80%,var(--fg));font:600 var(--fs-xs) / 1 var(--font-mono);text-decoration:none;transition:transform 0.08s,background-color 0.12s}.avail .cell:hover{background:color-mix(in srgb,var(--tone) 34%,transparent);text-decoration:none;transform:translateY(-1px)}.avail .cell.h0{--tone:var(--t0)}.avail .cell.h1{--tone:var(--t1)}.avail .cell.h2{--tone:var(--t2)}.avail .cell.h3{--tone:var(--t3)}.avail .cell.h4{--tone:var(--t4)}.avail .cell.over{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--neg) 30%,transparent) 0 4px,color-mix(in srgb,var(--neg) 14%,transparent) 4px 8px);color:var(--neg)}.avail .c.today{box-shadow:inset 1px 0 0 color-mix(in srgb,var(--brand) 40%,transparent),inset -1px 0 0 color-mix(in srgb,var(--brand) 40%,transparent)}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.swatches{display:inline-flex;gap:3px}.sw{--tone:var(--t0);display:inline-block;width:22px;height:12px;border-radius:4px;background:color-mix(in srgb,var(--tone) 40%,transparent)}.sw.h1{--tone:var(--t1)}.sw.h2{--tone:var(--t2)}.sw.h3{--tone:var(--t3)}.sw.h4{--tone:var(--t4)}.sw.over{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--neg) 55%,transparent) 0 3px,color-mix(in srgb,var(--neg) 25%,transparent) 3px 6px)}.legend-over{display:inline-flex;align-items:center;gap:6px;margin-left:10px}.stack-gap{margin-top:var(--section-gap)}.list.flush > *{padding-inline:0}@media (max-width:640px){.avail .corner,.avail .unit{min-width:6.5rem;padding:6px 8px}.avail .d{min-width:38px}.avail .cell{height:40px}}}@layer pages{.auth-form{display:grid;gap:14px;margin-top:18px}.auth-hint{margin-top:16px}.error-card .eyebrow{margin-bottom:6px;color:var(--brand);font-family:var(--font-mono)}}@layer pages{.lede{margin:-6px 0 var(--section-gap);max-width:62ch}.pad-top{margin-top:10px}.span-all{grid-column:1 / -1}.switch-row{margin-top:14px;gap:10px}}@layer pages{.form-actions.no-top{margin-top:0}}@layer pages{.chips[aria-label]{margin:-4px 0 var(--section-gap)}}@layer pages{.chip.mono{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--muted)}.kpis{margin-bottom:var(--section-gap)}.queue{margin-bottom:var(--section-gap)}.panels{margin-bottom:var(--section-gap);gap:var(--section-gap);background:none}.panels > *{background:var(--surface)}.panels .sheet{border:1px solid var(--line)}.list-sheet{overflow:visible}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px var(--pad-x)}.filters .search{position:relative;flex:1 1 240px;min-width:0}.filters .search .icon{position:absolute;top:50%;left:11px;transform:translateY(-50%);color:var(--faint);pointer-events:none}.filters .search .input{padding-left:34px}.filters .selects{display:flex;gap:8px}.filters .selects .field{min-width:9.5rem}.fill{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(0,2fr) 3.5rem;align-items:center;gap:12px;width:100%;font-size:var(--fs-sm)}.fill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fill .mono{text-align:right}.mv.in{color:var(--pos)}.mv.out{color:var(--warn)}.trail{display:grid;gap:6px;margin:6px 0 0;padding:0 0 0 16px;border-left:1px solid var(--line);list-style:none}.trail li{display:grid;gap:1px;font-size:var(--fs-sm)}.actions-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.actions-row form{display:flex;gap:8px}.preview{max-width:440px}.check.switch-row{margin-top:8px}}@layer pages{@media (max-width:760px){.hide-sm{display:none !important}}}