@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/8a053b136321ec99-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/2a8fe189f1a8dd0c-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/c214ffb7f5362987-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_7347c0{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_7347c0{--font-display:"Archivo","Archivo Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_81ca43{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_81ca43{--font-body:"Public Sans","Public Sans Fallback"}:root{--floor:#e9edec;--panel:#ffffff;--ink:#14222b;--ink-2:#4c5c66;--line:#cfd6d8;--line-2:#e3e8e9;--marking:#f2b705;--marking-ink:#5c4500;--dock:#1d5fa6;--dock-dark:#164a82;--ok:#2c7a58;--over:#c2402a;--past:#7d8b93;--radius:4px}*{box-sizing:border-box}body,html{margin:0}body{background:var(--floor);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-size:15px;line-height:1.45}h1,h2,h3{font-family:var(--font-display),sans-serif;margin:0;letter-spacing:-.01em}h1{font-size:30px;font-weight:800;line-height:1.1;font-stretch:112%}h2{font-size:19px}h2,h3{font-weight:700}h3{font-size:15px}p{margin:0}a{color:var(--dock)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.small{font-size:13px}.shell{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.rail{background:var(--ink);color:#dfe6e9;padding:20px 0;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:0 20px 18px;font-family:var(--font-display);font-weight:800;font-size:17px;font-stretch:112%;color:#fff;line-height:1.15}.brand span{display:block;height:6px;width:44px;margin-top:10px;background:repeating-linear-gradient(-45deg,var(--marking) 0 6px,var(--ink) 6px 12px)}.rail nav a{display:block;padding:9px 20px;color:#c3ced3;text-decoration:none;border-left:4px solid transparent}.rail nav a.on,.rail nav a:hover{color:#fff;background:#1d303b}.rail nav a.on{border-left-color:var(--marking);font-weight:600}.rail .who{margin-top:auto;padding:14px 20px 0;font-size:13px;color:#9fb0b8;border-top:1px solid #2a3d48}.rail .who button{background:none;border:0;color:#c3ced3;padding:0;margin-top:6px;cursor:pointer;text-decoration:underline;font:inherit}main{padding:28px 32px 80px;min-width:0;max-width:1320px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.pagehead p{margin-top:6px;color:var(--ink-2);max-width:70ch}.doors{display:flex;gap:6px;flex-wrap:wrap}.door{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:6px 12px 7px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);min-width:74px}.door b{display:block;font-family:var(--font-display);font-size:17px;font-weight:800;line-height:1.1}.door span{font-size:12px;color:var(--ink-2)}.door.on{background:var(--ink);color:#fff;border-color:var(--ink)}.door.on span{color:#b9c6cc}.door:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.panel+.panel,.stack>*+*{margin-top:16px}.panel>h2{margin-bottom:12px}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:600;font-size:13px;color:var(--ink-2);padding:6px 10px 6px 0;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line-2);vertical-align:top}td.r,th.r{text-align:right;padding-right:0;padding-left:10px}tr.click{cursor:pointer}tr.click:hover td{background:#f4f7f7}.scroll{overflow-x:auto}.btn,button{font:inherit;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:7px 13px;cursor:pointer}button:hover{border-color:var(--ink-2)}button.primary{background:var(--dock);border-color:var(--dock);color:#fff;font-weight:600}button.primary:hover{background:var(--dock-dark)}button.danger{color:var(--over)}button.link{border:0;background:none;padding:0;color:var(--dock);text-decoration:underline}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:7px 9px;background:#fff}input[type=number]{width:96px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--marking);outline-offset:1px}label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field+.field{margin-top:12px}.error{background:#fbeae6;border:1px solid #e6b3a8;color:#7c2415;border-radius:var(--radius)}.error,.note{padding:9px 12px}.note{background:#fff7d9;border:1px solid #ecd27a;color:var(--marking-ink);border-radius:var(--radius)}.empty{padding:28px;text-align:center}.empty,.tag{color:var(--ink-2)}.tag{display:inline-block;font-size:12px;padding:1px 7px;border-radius:99px;background:var(--line-2);white-space:nowrap}.tag.warn{background:#fff0b8;color:var(--marking-ink)}.tag.ok{background:#dcefe6;color:#1c5a40}.tag.bad{background:#fbe0da;color:#7c2415}.tag.blue{background:#dfeaf6;color:var(--dock-dark)}.weeks{display:flex;gap:4px;overflow-x:auto;padding-bottom:6px}.wk{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:6px 10px;cursor:pointer;text-align:left;min-width:82px;font:inherit;color:var(--ink)}.wk small{display:block;color:var(--ink-2);font-size:12px}.wk b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:16px}.wk.past{background:#f3f5f5}.wk.on{border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--marking)}.wk .lk{float:right;font-size:11px;color:var(--ok);font-weight:700}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.daycol{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 10px 12px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);display:flex;flex-direction:column;min-height:250px}.daycol:hover{border-color:var(--ink-2)}.daycol.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.daycol.off{background:#f3f5f5}.daycol .dname{font-family:var(--font-display);font-weight:700}.daycol .ddate{font-size:12px;color:var(--ink-2)}.blocks{display:flex;flex-wrap:wrap-reverse;gap:3px;margin:10px 0 8px;align-content:flex-start;flex:1 1}.blk{width:17px;height:17px;border-radius:2px;background:var(--dock)}.blk.past{background:var(--past)}.blk.flex{background:repeating-linear-gradient(-45deg,var(--marking) 0 4px,#fff3c4 4px 8px);border:1px solid #d7a406}.blk.extra{background:#fff;border:2px solid var(--ink)}.blk.cut{background:#fff;border:1px dashed var(--past)}.daycol .big{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daycol .sub{font-size:12px;color:var(--ink-2);margin-top:4px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-top:10px}.legend i{display:inline-block;vertical-align:-3px;margin-right:5px}.split{grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px;align-items:start}.kv,.split{display:grid}.kv{grid-template-columns:1fr auto;grid-gap:4px 14px;gap:4px 14px}.kv dt{color:var(--ink-2)}.kv dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.bar{height:8px;background:var(--line-2);border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;background:var(--dock)}.pgroup+.pgroup{margin-top:26px}.prow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 20px;gap:6px 20px;padding:13px 0;border-bottom:1px solid var(--line-2);align-items:start}.prow .help{color:var(--ink-2);font-size:13px;max-width:62ch}.prow .meta{font-size:12px;color:var(--ink-2);margin-top:3px}.prow.dirty{background:#fffbe9;margin:0 -20px;padding-left:16px;padding-right:20px;border-left:4px solid var(--marking)}.days{display:flex;gap:3px}.days button{padding:5px 7px;font-size:13px}.days button.on{border-color:var(--ink)}.days button.on,.savebar{background:var(--ink);color:#fff}.savebar{position:-webkit-sticky;position:sticky;bottom:0;margin-top:20px;padding:12px 16px;border-radius:var(--radius);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.savebar input{flex:1 1;min-width:220px}.delta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.delta.up{color:var(--over)}.delta.down{color:var(--ok)}.login{min-height:100vh;display:grid;place-items:center;background:var(--ink);padding:20px}.login form{background:var(--panel);padding:30px 30px 32px;border-radius:var(--radius);width:100%;max-width:380px;border-top:8px solid var(--marking)}.login input{width:100%}@media (max-width:980px){.shell{grid-template-columns:1fr}.rail{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px;gap:6px}.brand{padding:0 8px 0 4px}.brand span{display:none}.rail nav{display:flex;flex-wrap:wrap}.rail nav a{padding:6px 9px;border-left:0;border-bottom:3px solid transparent}.rail nav a.on{border-bottom-color:var(--marking)}.rail .who{margin:0 0 0 auto;border:0;padding:0 6px}main{padding:18px 14px 70px}.split{grid-template-columns:1fr}.board{grid-template-columns:repeat(7,132px);overflow-x:auto}}@media (prefers-reduced-motion:no-preference){.daycol,.wk,button{transition:border-color .12s,box-shadow .12s}}