@font-face{font-family:Funnel Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/funnel-sans-latin-ext-wght-normal-CStSwzyf.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Funnel Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/funnel-sans-latin-wght-normal-zzU05adE.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-wght-normal-B84CD5C_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-ext-wght-normal-DlL6xMw5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050505;--bg-raise:#0c0c0c;--bg-high:#151515;--line:#262626;--line-strong:#404040;--ink:#f3f3f3;--ink-2:#b7b7b7;--ink-3:#8c8c8c;--signal:#ff753c;--signal-hi:#ff9965;--signal-ink:#200600;--signal-wash:#ff753c21;--ok:#61da92;--ok-wash:#61da921f;--warn:#f4c352;--warn-wash:#f4c3521f;--bad:#f462a4;--bad-wash:#f462a41f;--info:#7dc3f4;--info-wash:#7dc3f41f;--display:"Funnel Display Variable", "Funnel Display", ui-sans-serif, system-ui, sans-serif;--sans:"Funnel Sans Variable", "Funnel Sans", ui-sans-serif, system-ui, sans-serif;--mono:"Martian Mono Variable", "Martian Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-xs:.75rem;--t-sm:.8125rem;--t-ui:.9375rem;--t-body:1.0625rem;--t-lg:1.3125rem;--t-xl:1.6875rem;--t-2xl:2.125rem;--t-3xl:2.75rem;--t-4xl:3.5rem;--t-hero:clamp(2.75rem, 7vw, 5.25rem);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;--r-control:6px;--r-panel:10px;--r-pill:999px;--float:0 12px 40px #0000008c, 0 0 0 1px var(--line);--ease:cubic-bezier(.22, 1, .36, 1);--wrap:min(1160px, 100% - 2 * var(--s5));--z-sticky:10;--z-dropdown:20;--z-overlay:30;--z-modal:40;--z-toast:50;--z-tooltip:60}@supports (color:lab(0% 0 0)){:root{--bg:lab(1.3738% 0 0);--bg-raise:lab(3.36376% 0 0);--bg-high:lab(6.69783% 0 0);--line:lab(15.32% 0 0);--line-strong:lab(26.92% 0 0);--ink:lab(95.94% 0 0);--ink-2:lab(74.48% -.0000298023 0);--ink-3:lab(58.24% 0 0);--signal:lab(66.0412% 53.8137 58.9381);--signal-hi:lab(74.4782% 45.3724 53.8775);--signal-ink:lab(4.1742% 10.9422 6.2693);--signal-wash:lab(66.0412% 53.8137 58.9381/.13);--ok:lab(78.7566% -47.6652 24.555);--ok-wash:lab(78.7566% -47.6652 24.555/.12);--warn:lab(81.6622% 9.84526 61.7469);--warn-wash:lab(81.6622% 9.84526 61.7469/.12);--bad:lab(62.7218% 61.3864 -5.54093);--bad-wash:lab(62.7218% 61.3864 -5.54093/.12);--info:lab(75.6405% -13.1105 -31.7449);--info-wash:lab(75.6405% -13.1105 -31.7449/.12);--float:0 12px 40px lab(0% 0 0/.55), 0 0 0 1px var(--line)}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 var(--t-body) / 1.6 var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.1}p{text-wrap:pretty}a{color:inherit;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.2em}a:hover{-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}code,kbd,samp,.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:.88em}kbd{text-align:center;border:1px solid var(--line-strong);background:var(--bg-raise);min-width:1.6em;color:var(--ink-2);border-bottom-width:2px;border-radius:5px;padding:.05em .4em;font-size:.78em;line-height:1.5;display:inline-block}::selection{background:var(--signal);color:var(--signal-ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}img,svg{max-width:100%;display:block}.btn{--h:36px;justify-content:center;align-items:center;gap:var(--s2);height:var(--h);padding:0 var(--s4);border-radius:var(--r-control);border:1px solid var(--line-strong);color:var(--ink);font:600 var(--t-ui) / 1 var(--sans);cursor:pointer;white-space:nowrap;transition:background .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);background:0 0;text-decoration:none;display:inline-flex}.btn:hover{background:var(--bg-raise);border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn.primary:hover{background:var(--signal-hi);border-color:var(--signal-hi)}.btn.quiet{color:var(--ink-2);border-color:#0000}.btn.quiet:hover{color:var(--ink);background:var(--bg-raise)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.field{gap:var(--s2);display:grid}.field>label,.label{font:600 var(--t-sm) / 1.3 var(--sans);color:var(--ink-2)}.input,.field input,.field select,.field textarea{width:100%;min-height:40px;padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--bg-raise);color:var(--ink);font:400 var(--t-ui) / 1.4 var(--sans)}.field textarea{resize:vertical;min-height:88px}.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.input:focus-visible,.field :is(input,select,textarea):focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-color:var(--signal)}.help{font-size:var(--t-sm);color:var(--ink-3);margin:0}.pill{border-radius:var(--r-pill);font:600 var(--t-xs) / 1.6 var(--sans);white-space:nowrap;background:var(--bg-raise);color:var(--ink-2);border:1px solid var(--line);align-items:center;gap:.35em;padding:.1em .6em;display:inline-flex}.pill.ok{background:var(--ok-wash);color:var(--ok);border-color:#0000}.pill.warn{background:var(--warn-wash);color:var(--warn);border-color:#0000}.pill.bad{background:var(--bad-wash);color:var(--bad);border-color:#0000}.pill.info{background:var(--info-wash);color:var(--info);border-color:#0000}.pill.signal{background:var(--signal-wash);color:var(--signal-hi);border-color:#0000}.dot{background:var(--signal);vertical-align:.08em;border-radius:50%;width:.5em;height:.5em;display:inline-block}.dot.live{animation:dot-pulse 2.4s var(--ease) infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 #ff753c8c;box-shadow:0 0 lab(66.0412% 53.8137 58.9381/.55)}50%{box-shadow:0 0 0 .45em #ff753c00;box-shadow:0 0 0 .45em lab(66.0412% 53.8137 58.9381/0)}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{left:var(--s4);z-index:var(--z-tooltip);background:var(--signal);color:var(--signal-ink);padding:var(--s2) var(--s3);border-radius:var(--r-control);font-weight:600;position:absolute;top:-100px}.skip:focus{top:var(--s4)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-size:var(--t-ui);line-height:1.5}h1,h2,h3{font-family:var(--sans);letter-spacing:-.01em}.dim{color:var(--ink-3)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.mono{font-family:var(--mono);letter-spacing:-.02em;font-size:.86em}.lede{max-width:72ch;margin:0 0 var(--s4)}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.side{gap:var(--s3);height:100vh;padding:var(--s4) var(--s3);border-right:1px solid var(--line);background:#080808;background:lab(2.22245% 0 0);flex-direction:column;display:flex;position:sticky;top:0}.wordmark{padding:var(--s1) var(--s2);color:var(--ink);font:700 1rem var(--display);letter-spacing:-.02em;align-items:center;gap:10px;text-decoration:none;display:flex}.wordmark .mark{width:22px;height:22px}.palette-btn{color:var(--ink-3);justify-content:space-between;font-weight:500}.side nav{margin-top:var(--s2);gap:2px;display:grid}.side nav a{justify-content:space-between;align-items:center;gap:var(--s2);padding:7px var(--s3);border-radius:var(--r-control);color:var(--ink-2);transition:background .14s var(--ease), color .14s var(--ease);font-weight:500;text-decoration:none;display:flex}.side nav a:hover{background:var(--bg-raise);color:var(--ink)}.side nav a[aria-current=page]{background:var(--bg-high);color:var(--ink)}.side nav a>span:first-child{align-items:center;gap:8px;display:inline-flex}.side nav a>span:first-child:before{content:"";width:6px;height:6px;transition:background .14s var(--ease);background:0 0;border-radius:50%}.side nav a[aria-current=page]>span:first-child:before{background:var(--signal)}.nav-key{opacity:0;transition:opacity .14s var(--ease)}.side nav a:hover .nav-key,.side nav a:focus-visible .nav-key{opacity:1}.me{align-items:center;gap:var(--s3);padding:var(--s3) var(--s2) 0;border-top:1px solid var(--line);margin-top:auto;display:flex}.me img{background:var(--bg-high);border-radius:50%;width:28px;height:28px}.me div{flex:1;min-width:0;line-height:1.3;display:grid}.me b{text-overflow:ellipsis;font-weight:600;overflow:hidden}.me span{font-size:var(--t-xs)}.main-col{flex-direction:column;min-width:0;display:flex}.top{z-index:var(--z-sticky);align-items:center;gap:var(--s4);height:52px;padding:0 var(--s6);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050505e6;background:lab(1.3738% 0 0/.9);display:flex;position:sticky;top:0}.crumb{font-weight:600}.banner{align-items:center;gap:var(--s2);color:var(--ink-2);font-size:var(--t-sm);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;display:inline-flex;overflow:hidden}.menu{display:none}main{outline:none}.view{padding:var(--s5) var(--s6) var(--s8);gap:var(--s5);grid-template-columns:minmax(0,1fr);max-width:1400px;display:grid}.scroll-x{min-width:0;overflow-x:auto}.head{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.head h2{font-size:var(--t-body);align-items:center;gap:var(--s2);font-weight:650;display:flex}.head-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.count{border-radius:var(--r-pill);background:var(--bg-high);min-width:1.6em;color:var(--ink-2);font:600 var(--t-xs) / 1.6 var(--sans);text-align:center;font-variant-numeric:tabular-nums;padding:0 6px;display:inline-block}.panel{align-content:start;gap:var(--s3);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-panel);background:#070707;background:lab(1.98454% 0 0);min-width:0;display:grid;overflow-x:auto}.cols{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.hello h1{font:700 var(--t-xl) / 1.2 var(--display);letter-spacing:-.02em}.hello p{margin:4px 0 0}.tiles{gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tile{gap:var(--s2);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-panel);color:var(--ink-2);transition:border-color .16s var(--ease), background .16s var(--ease);text-decoration:none;display:grid}.tile:hover{border-color:var(--line-strong);background:var(--bg-raise)}.tile b{font:650 var(--t-xl) / 1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}.tile.warn b{color:var(--warn)}.tile.signal b{color:var(--signal-hi)}.list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.list li{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.list a{color:var(--ink)}.t{border-collapse:collapse;width:100%}.t th{z-index:1;background:var(--bg);text-align:left;font:600 var(--t-xs) / 1 var(--sans);color:var(--ink-3);padding:var(--s3) var(--s3) var(--s2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:52px}.panel .t th{background:0 0;position:static}.scroll-x .t th{position:static}.t td{padding:9px var(--s3);border-bottom:1px solid var(--line);vertical-align:middle}.t tbody tr:last-child td{border-bottom:0}.t tbody tr{transition:background .12s var(--ease)}.t tbody tr:hover{background:#0c0c0cb3;background:lab(3.36376% 0 0/.7)}.t tr.is-late{background:var(--bad-wash)}.t a{color:var(--ink);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.t .sub{font-size:var(--t-xs);margin-top:2px}.w-time{white-space:nowrap;width:7rem}.nowrap,.t .mono{white-space:nowrap}.w-kind{width:10rem}.w-actions{text-align:right;white-space:nowrap;width:1%}.w-input{width:34%}.row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.person-cell{align-items:center;gap:var(--s2);display:flex}.person-cell img{background:var(--bg-high);border-radius:50%;width:24px;height:24px}.user{text-decoration:none;color:var(--ink-2)!important}.user:hover{color:var(--ink)!important}.btn{--h:30px;padding:0 var(--s3);font-size:var(--t-sm)}.btn.big{--h:40px;padding:0 var(--s5);font-size:var(--t-ui)}.btn.danger{color:var(--bad);border-color:#f462a466;border-color:lab(62.7218% 61.3864 -5.54093/.4)}.btn.danger:hover{background:var(--bad-wash);border-color:var(--bad)}.btn .cos{background:var(--warn-wash);color:var(--warn);border-radius:4px;margin-left:4px;padding:0 5px;font-size:.72rem;font-weight:600}.btn .spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input,select{height:30px;min-height:30px;padding:0 var(--s3);font-size:var(--t-sm);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--bg-raise);color:var(--ink);font-family:var(--sans)}select:focus-visible,.input:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.input.search{width:min(360px,60vw)}.input.num{width:5rem}.inline{gap:var(--s2);align-items:center;display:inline-flex}.inline.wrap{flex-wrap:wrap}.assign{gap:4px;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip,.btn.chip{--h:26px;border-radius:var(--r-pill);border:1px solid var(--line);height:26px;color:var(--ink-3);font:500 var(--t-xs) var(--sans);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip.on,.btn.chip.on{background:var(--signal-wash);color:var(--signal-hi);border-color:#0000}.chip b{color:var(--signal-hi)}.seg{border:1px solid var(--line);border-radius:var(--r-control);background:var(--bg-raise);padding:2px;display:inline-flex}.seg button{height:26px;color:var(--ink-3);font:500 var(--t-sm) var(--sans);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.seg button[aria-selected=true]{background:var(--bg-high);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}.check{gap:var(--s2);color:var(--ink-2);font-size:var(--t-sm);align-items:center;display:inline-flex}.empty{padding:var(--s6) var(--s4);border:1px dashed var(--line-strong);border-radius:var(--r-panel);color:var(--ink-3)}.empty b{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.empty p{max-width:64ch;margin:0}.fail{padding:var(--s3) var(--s4);border-radius:var(--r-panel);background:var(--bad-wash);color:var(--ink);gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.fail b{color:var(--bad)}.skel{padding:var(--s2) 0;gap:12px;display:grid}.skel span{background:linear-gradient(90deg, var(--bg-raise), var(--bg-high), var(--bg-raise));background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.boot{place-content:center;gap:var(--s3);min-height:100vh;color:var(--ink-3);grid-auto-flow:column;align-items:center;display:grid}.strip{border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s3) var(--s4);gap:6px;display:grid}.strip-days,.strip-row{grid-template-columns:140px minmax(0,1fr);align-items:center;display:grid}.strip-days{font-size:var(--t-xs);color:var(--ink-3);grid-template-columns:140px repeat(14,minmax(0,1fr))}.strip-days span:first-child{grid-column:2}.strip-days span{justify-items:center;line-height:1.2;display:grid}.strip-days span.mon{color:var(--ink-2)}.strip-days b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.strip-lane{background:repeating-linear-gradient(90deg, var(--bg-raise) 0 calc(100% / 14 - 1px), var(--line) calc(100% / 14 - 1px) calc(100% / 14));border-radius:4px;height:22px;position:relative}.shift{background:var(--ink-3);border-radius:4px;position:absolute;top:3px;bottom:3px}.shift.live{background:var(--signal)}.now{background:var(--signal-hi);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.toasts{right:var(--s5);bottom:var(--s5);z-index:var(--z-toast);gap:var(--s2);width:min(420px, calc(100vw - 2 * var(--s5)));display:grid;position:fixed}.toast{padding:var(--s3) var(--s4);border-radius:var(--r-panel);background:var(--bg-high);box-shadow:var(--float);animation:toast-in .22s var(--ease);max-height:50vh;overflow:auto}.toast-head{align-items:center;gap:var(--s2);display:flex}.toast-head b{flex:1;font-weight:600}.toast-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.toast.busy .toast-dot{background:var(--signal);animation:dot-pulse 1.6s var(--ease) infinite}.toast.ok .toast-dot{background:var(--ok)}.toast.err .toast-dot{background:var(--bad)}.toast-body{margin-top:var(--s2);color:var(--ink-2);font-size:var(--t-sm)}.toast-body p{margin:4px 0}.toast-body table{border-collapse:collapse;font-size:var(--t-xs)}.toast-body td{border-bottom:1px solid var(--line);padding:2px 8px 2px 0}.toast-body code{font-size:.85em}.toast-link{margin-top:var(--s2);color:var(--signal-hi);font-size:var(--t-sm);display:inline-block}.x{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.x:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}.overlay{z-index:var(--z-modal);background:#0000008c;background:lab(0% 0 0/.55);place-items:start center;padding-top:14vh;display:grid;position:fixed;inset:0}.palette{background:var(--bg-high);width:min(620px,100vw - 32px);box-shadow:var(--float);animation:toast-in .16s var(--ease);border-radius:12px;overflow:hidden}.palette-in{width:100%;height:52px;padding:0 var(--s4);border:0;border-bottom:1px solid var(--line);color:var(--ink);font:400 var(--t-body) var(--sans);background:0 0;outline:none}.palette-list{padding:var(--s2);max-height:50vh;margin:0;list-style:none;overflow:auto}.palette-list li{justify-content:space-between;align-items:center;gap:var(--s3);padding:9px var(--s3);border-radius:var(--r-control);cursor:pointer;color:var(--ink-2);display:flex}.palette-list li.on{background:var(--bg-raise);color:var(--ink)}.signin{min-height:100vh;padding:var(--s5);place-items:center;display:grid}.signin-card{gap:var(--s4);justify-items:start;width:min(420px,100%);display:grid}.signin-card .mark{width:40px;height:40px}.signin-card h1{font:700 var(--t-2xl) var(--display);letter-spacing:-.02em}.signin-card p{margin:0}.tile b.small{font-size:var(--t-lg)}.health{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.health-cell{column-gap:var(--s2);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;display:grid}.health-cell .dot{grid-row:span 2}.health-cell.down{background:#f462a40f;background:lab(62.7218% 61.3864 -5.54093/.06);border-color:#f462a480;border-color:lab(62.7218% 61.3864 -5.54093/.5)}.health-cell .dim{font-size:var(--t-xs);font-variant-numeric:tabular-nums}.dot.bad{background:var(--bad)}.dot.ok{background:var(--ok)}.kv{gap:var(--s2) var(--s4);font-size:var(--t-sm);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--ink-3)}.kv dd{min-width:0;margin:0}.notes{gap:var(--s3);padding:var(--s2) 0;display:grid}.notes .list li{align-items:baseline}.input.grow{flex:22rem}tr.drawer>td{background:#070707;background:lab(1.98454% 0 0)}.lookup{gap:var(--s2);display:grid}.lookup img{vertical-align:middle;border-radius:50%}.create{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.create label:not(.check){gap:var(--s1,4px);font-size:var(--t-xs);color:var(--ink-3);display:grid}.create label.wide{grid-column:1/-1}.create .input,.create select{width:100%}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:30ch;display:block;overflow:hidden}.clip-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:34ch;display:-webkit-box;overflow:hidden}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.side{z-index:var(--z-overlay);width:260px;transition:transform .22s var(--ease);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .side{box-shadow:var(--float);transform:none}.menu{display:inline-flex}.top{padding:0 var(--s4)}.view{padding:var(--s4)}.tiles{grid-template-columns:1fr 1fr}.t{display:block;overflow-x:auto}.t th{position:static}.strip-days,.strip-row{grid-template-columns:90px minmax(0,1fr)}.strip-days{grid-template-columns:90px repeat(14,minmax(0,1fr))}}
