@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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{--board:#edf0f2;--panel:#fff;--ink:#18212b;--ink-2:#2b3744;--muted:#5b6875;--rule:#d5dbe0;--rule-strong:#b9c2ca;--earth:#0b7a50;--earth-deep:#075c3b;--earth-tint:#e3f2eb;--stripe:#f3c623;--active:#c0352b;--active-tint:#fbe9e7;--neutral:#2d5da8;--hold:#8a6d00;--font:"Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--wide:125%;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.4375rem;--step-3:1.875rem;--radius:10px;--radius-small:6px;--tap:48px;--sidebar:248px;--tabbar:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--step-0);color:var(--ink);background:var(--board);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{line-height:1.15;font-stretch:var(--wide);margin:0;font-weight:800}h1{font-size:var(--step-2)}h2{font-size:var(--step-1)}h3{font-size:var(--step-0)}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--stripe);outline-offset:2px;box-shadow:0 0 0 5px var(--ink);border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{min-height:var(--tap);border-radius:var(--radius);font-weight:650;font-size:var(--step-0);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1.125rem;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:progress}.btn-primary{background:var(--earth);color:#fff}.btn-primary:hover:not(:disabled){background:var(--earth-deep)}.btn-secondary{background:var(--panel);border-color:var(--rule-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--ink)}.btn-danger{background:var(--panel);border-color:var(--active);color:var(--active)}.btn-danger:hover:not(:disabled){background:var(--active-tint)}.btn-quiet{color:var(--ink-2);background:0 0;padding:0 .75rem}.btn-quiet:hover:not(:disabled){background:#18212b0f}.btn-block{width:100%}.btn svg{flex:none;width:20px;height:20px}.form{gap:1.125rem;max-width:40rem;display:grid}.field{gap:.375rem;display:grid}.field label{font-weight:650;font-size:var(--step--1)}.field .hint{font-size:var(--step--1);color:var(--muted)}.field .error{font-size:var(--step--1);color:var(--active);font-weight:600}.input,.select,.textarea{width:100%;min-height:var(--tap);background:var(--panel);border:1.5px solid var(--rule-strong);border-radius:var(--radius-small);font-size:max(16px, var(--step-0));padding:.625rem .875rem}.textarea{resize:vertical;min-height:7rem;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{box-shadow:none;border-color:var(--ink)}.field[data-invalid] .input,.field[data-invalid] .textarea,.field[data-invalid] .select{border-color:var(--active)}.form-actions{flex-wrap:wrap;gap:.75rem;padding-top:.25rem;display:flex}.notice{border-radius:var(--radius-small);border-left:4px solid var(--active);background:var(--active-tint);font-size:var(--step--1);padding:.875rem 1rem;font-weight:550}.notice-ok{border-left-color:var(--earth);background:var(--earth-tint)}.shell{min-height:100dvh}.sidebar{display:none}.main{padding:0 1rem calc(var(--tabbar) + 1.5rem + env(safe-area-inset-bottom));max-width:64rem}.topbar{z-index:5;padding:calc(.625rem + env(safe-area-inset-top)) 1rem .625rem;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);background:#edf0f2eb;align-items:center;gap:.5rem;min-height:60px;margin:0 -1rem 1rem;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.topbar .back{margin-left:-.5rem;padding:0 .5rem}.tabbar{z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);color:#c6ced6;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.tabbar a{min-height:var(--tabbar);flex:1;justify-items:center;gap:2px;padding:.5rem .25rem .375rem;font-size:.75rem;font-weight:600;text-decoration:none;display:grid}.tabbar a svg{width:24px;height:24px}.tabbar a[aria-current=page]{color:#fff}.tabbar a[aria-current=page] svg{color:var(--stripe)}@media (width>=900px){.shell{grid-template-columns:var(--sidebar) 1fr;display:grid}.tabbar{display:none}.main{padding:0 2.5rem 3rem}.topbar{background:var(--board);-webkit-backdrop-filter:none;backdrop-filter:none;margin:0 -2.5rem 1.5rem;padding:1.25rem 2.5rem 1rem}.sidebar{background:var(--ink);color:#c6ced6;flex-direction:column;gap:.25rem;height:100dvh;padding:1.25rem .875rem;display:flex;position:sticky;top:0}.sidebar nav{gap:2px;margin-top:1.5rem;display:grid}.sidebar a{border-radius:var(--radius-small);align-items:center;gap:.75rem;min-height:44px;padding:0 .75rem;font-weight:600;text-decoration:none;display:flex}.sidebar a:hover{color:#fff;background:#ffffff0f}.sidebar a[aria-current=page]{color:#fff;box-shadow:inset 3px 0 0 var(--stripe);background:#ffffff1a}.sidebar a svg{width:20px;height:20px}.sidebar .account{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:.75rem}.sidebar .account small{color:#8d99a5;font-size:.75rem;font-weight:500;display:block}}.plate{color:var(--ink);font-stretch:var(--wide);letter-spacing:.02em;background:#fff;border-radius:4px;flex-direction:column;justify-content:center;padding:.5rem .875rem .5625rem;font-weight:850;line-height:1.05;display:inline-flex;box-shadow:inset 0 0 0 1px #0000001f,inset 0 -2px #00000014}.plate span{letter-spacing:0;color:var(--muted);font-size:.75rem;font-weight:500;font-stretch:100%}.plate-large{font-size:var(--step-3);padding:.875rem 1.25rem 1rem}.plate-large span{font-size:var(--step--1);margin-top:.25rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar .input{flex:14rem}.rows{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.rows>li+li{border-top:1px solid var(--rule)}.row{align-items:center;gap:.875rem;min-height:64px;padding:.75rem 1rem;text-decoration:none;display:flex}a.row:hover{background:#f6f8f9}.row-main{flex:1;min-width:0}.row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.row-sub{color:var(--muted);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-end{text-align:right;font-size:var(--step--1);color:var(--muted);flex:none}.row .chev{color:var(--rule-strong);flex:none;width:20px;height:20px}.row-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.row-title-wrap{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.wide-only{display:none}@media (width>=640px){.wide-only{display:block}.narrow-only{display:none}}.job-no{font-weight:750;font-stretch:var(--wide);font-size:var(--step--1);color:var(--muted)}.more{justify-content:center;padding:1rem 0;display:flex}.chips{padding-bottom:.25rem;scrollbar-width:none;gap:.5rem;margin:0 -1rem 1rem;padding-inline:1rem;display:flex;overflow-x:auto}.chip{border:1.5px solid var(--rule-strong);background:var(--panel);min-height:40px;font-weight:600;font-size:var(--step--1);cursor:pointer;border-radius:999px;flex:none;padding:0 .875rem}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}@media (width>=900px){.chips{flex-wrap:wrap;margin-inline:0;padding-inline:0}}.empty{text-align:center;color:var(--muted);justify-items:center;gap:.75rem;padding:2.5rem 1.25rem;display:grid}.empty h2{color:var(--ink)}.status{font-weight:650;font-size:var(--step--1);color:var(--ink-2);white-space:nowrap;align-items:center;gap:.375rem;display:inline-flex}.status:before{content:"";background:var(--dot,var(--muted));border-radius:2px;width:10px;height:10px}.rail{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;max-width:34rem;margin:.25rem 0 .5rem;display:grid}.breaker{text-align:center;justify-items:center;gap:.375rem;display:grid}.breaker-body{background:var(--panel);width:100%;max-width:72px;height:64px;box-shadow:inset 0 0 0 1.5px var(--rule-strong), inset 0 -3px 0 #0000000d;border-radius:5px;position:relative}.breaker-toggle{background:var(--rule-strong);border-radius:3px;width:16px;height:24px;margin-left:-8px;transition:top .22s cubic-bezier(.3,1.4,.5,1),background-color .22s;position:absolute;top:32px;left:50%}.breaker[data-state=done] .breaker-toggle{background:var(--ink-2);top:8px}.breaker[data-state=current] .breaker-body{background:var(--earth);box-shadow:inset 0 -3px #0000002e}.breaker[data-state=current] .breaker-toggle{background:var(--stripe);top:8px}.breaker-label{color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.2}.breaker[data-state=current] .breaker-label{color:var(--ink);font-weight:800}.breaker[data-state=done] .breaker-label{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){.breaker-toggle{transition:none}}.banner{border-radius:var(--radius-small);font-weight:650;font-size:var(--step--1);padding:.75rem 1rem}.banner-hold{border-left:4px solid var(--stripe);background:#fbf3d0}.banner-cancelled{background:var(--active-tint);border-left:4px solid var(--active)}.stack{gap:1.25rem;display:grid}.section{gap:.75rem;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.facts{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);margin:0;display:grid}.facts>div{gap:.125rem;padding:.75rem 1rem;display:grid}.facts>div+div{border-top:1px solid var(--rule)}.facts dt{font-size:var(--step--1);color:var(--muted);font-weight:550}.facts dd{overflow-wrap:anywhere;white-space:pre-line;margin:0;font-weight:550}.facts a{color:var(--earth-deep);font-weight:650}.actions{flex-wrap:wrap;gap:.625rem;display:flex}@media (width>=900px){.facts>div{grid-template-columns:11rem 1fr;align-items:baseline;gap:1rem}.split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:2rem;display:grid}}.gate{min-height:100dvh;padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom));background:var(--ink);color:#dfe5ea;place-items:center;display:grid}.gate-card{gap:1.5rem;width:min(100%,26rem);display:grid}.gate h1{color:#fff;font-size:var(--step-2)}.gate p{color:#b6c0c9}.gate .btn-primary{min-height:56px;font-size:var(--step-1)}.gate .notice{color:var(--ink)}.gate small{color:#8d99a5;font-size:var(--step--1)}.copy-box{align-items:stretch;gap:.5rem;display:flex}.copy-box .input{font-size:var(--step--1)}.spinner{border:3px solid var(--rule);border-top-color:var(--earth);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.loading{place-items:center;padding:3rem;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.quiet{color:var(--muted)}.day-head{font-size:var(--step-0);align-items:baseline;gap:.625rem;display:flex}.day-head span{font-weight:550;font-stretch:100%;font-size:var(--step--1);color:var(--muted)}.visits{gap:.625rem;display:grid}@media (width>=900px){.visits{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr))}}.visit{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:inset 4px 0 0 var(--bar,var(--earth));grid-template-columns:1fr;gap:.375rem;padding:.875rem 1rem .875rem 1.125rem;text-decoration:none;display:grid}a.visit:hover{border-color:var(--rule-strong)}.visit-time{font-stretch:var(--wide);font-weight:800;font-size:var(--step-1);line-height:1.2}.visit-body{gap:.125rem;min-width:0;display:grid}.visit-meta{font-size:var(--step--1);color:var(--ink-2);align-items:flex-start;gap:.375rem;margin-top:.25rem;display:flex}.visit-meta svg{width:16px;height:16px;color:var(--muted);flex:none;margin-top:3px}.visit-notes{background:var(--board);border-radius:var(--radius-small);font-size:var(--step--1);white-space:pre-line;margin-top:.375rem;padding:.5rem .625rem}.week-label{font-size:var(--step-0);text-align:center;min-width:11rem}.wide-board{display:none}.narrow-agenda{display:grid}@media (width>=900px){.wide-board{display:block}.narrow-agenda{display:none}}.board-wrap{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);overflow-x:auto}.board{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.board-person{width:10rem}.board th,.board td{border-bottom:1px solid var(--rule);border-left:1px solid var(--rule);vertical-align:top;text-align:left}.board tr>:first-child{border-left:0}.board tbody tr:last-child>*{border-bottom:0}.board thead th{font-size:var(--step--1);color:var(--muted);background:#f6f8f9;padding:.625rem .5rem;font-weight:600}.board thead th b{color:var(--ink);font-stretch:var(--wide);font-weight:800;font-size:var(--step-0);margin-left:.125rem}.board thead th[aria-current=date]{box-shadow:inset 0 -3px 0 var(--stripe);color:var(--ink)}.board tbody th{font-weight:650;font-size:var(--step--1);padding:.75rem}.board td{height:4.75rem;padding:.375rem}.board td[data-today]{background:#fbfaf2}.board-unassigned th{color:var(--hold)}.slot{background:var(--board);box-shadow:inset 3px 0 0 var(--bar,var(--earth));border-radius:5px;gap:0;margin-bottom:.25rem;padding:.3125rem .5rem;font-size:.75rem;line-height:1.3;text-decoration:none;display:grid}.slot:hover{background:var(--earth-tint)}.slot-time{font-weight:700}.slot-job{font-stretch:var(--wide);color:var(--muted);font-weight:750}.slot-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-add{height:28px;color:var(--muted);opacity:.35;border-radius:5px;justify-content:center;align-items:center;text-decoration:none;display:flex}.slot-add svg{width:16px;height:16px}.board td:hover .slot-add,.slot-add:focus-visible{opacity:1;background:var(--board)}.field-pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.crew-list .row{cursor:pointer;min-height:52px}.crew-list input,.check input{width:20px;height:20px;accent-color:var(--earth);flex:none}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:.625rem;font-weight:600;display:flex}.notice-warn{border-left-color:var(--stripe);background:#fbf3d0}.notice ul{margin:.375rem 0;padding-left:1.125rem}.steps{gap:1rem;margin:0;padding-left:1.5rem;display:grid}.steps li{padding-left:.25rem}.steps li::marker{font-stretch:var(--wide);font-weight:800}.steps .field{margin-top:.5rem}code{background:var(--board);border-radius:4px;padding:.0625rem .3125rem;font-size:.9em}.gate .field label{color:#dfe5ea}.setup-fields{gap:1rem;display:grid}
