@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/publicsans-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/publicsans-latin.woff2) format("woff2");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}:root{--paper: #f6f5f2;--card: #ffffff;--sunk: #f0efea;--line: #e2e0d9;--line-strong: #cbc8be;--ink: #191d1c;--ink-2: #3d4643;--muted: #5e6764;--faint: #8b938f;--slate: #1f3d3a;--slate-hover: #163330;--slate-soft: #e7eeec;--slate-line: #c3d5d1;--brass: #a8761f;--brass-ink: #6d4a0f;--brass-soft: #faf1de;--brass-line: #e6d0a3;--relief: #2c6a4f;--relief-soft: #e6f2ec;--relief-line: #bcdbcb;--flag: #a33b2a;--flag-soft: #fbeae6;--flag-line: #eec4ba;--caution: #8a5a00;--caution-soft: #fdf2dd;--caution-line: #ecd5a4;--font-display: "Bricolage Grotesque", "Public Sans", system-ui, sans-serif;--font-body: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs: .75rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1.0625rem;--t-lg: 1.375rem;--t-xl: 1.875rem;--t-2xl: 2.75rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(25 29 28 / 6%);--shadow-2: 0 2px 8px rgb(25 29 28 / 7%), 0 1px 2px rgb(25 29 28 / 5%);--shadow-lift: 0 8px 24px rgb(25 29 28 / 10%);--ring: 0 0 0 3px rgb(31 61 58 / 22%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--t-base);line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body{font-variant-numeric:tabular-nums}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.017em;line-height:1.15;margin:0}a{color:var(--slate);text-underline-offset:2px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--slate);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.wrap{max-width:1120px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-8)}.chrome{background:var(--slate);color:#fff}.chrome-inner{max-width:1120px;margin:0 auto;padding:var(--s-3) var(--s-5);display:flex;align-items:center;gap:var(--s-5);flex-wrap:wrap}.wordmark{font-family:var(--font-display);font-weight:800;font-size:var(--t-md);letter-spacing:-.03em;line-height:1.1;color:#fff}.wordmark span{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;color:#ffffff9e}.roles{display:flex;gap:var(--s-1);margin-left:auto}.role{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:#ffffffb3;font:inherit;font-size:var(--t-sm);font-weight:500;text-transform:capitalize;padding:var(--s-2) var(--s-3);cursor:pointer;transition:color .12s ease,border-color .12s ease}.role:hover{color:#fff}.role.on{color:#fff;border-bottom-color:var(--brass)}.who{font-size:var(--t-sm);color:#ffffffb8;display:flex;align-items:center;gap:var(--s-3)}.who a,.who button{color:#fff;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.page-head{margin-bottom:var(--s-5)}.page-head h1{font-size:var(--t-xl)}.page-head p{margin:var(--s-2) 0 0;color:var(--muted);max-width:62ch}.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start}.single{display:grid;gap:var(--s-5)}@media (max-width: 860px){.cols{grid-template-columns:1fr}.wrap{padding:var(--s-5) var(--s-4) var(--s-7)}.chrome-inner{gap:var(--s-3)}.roles{order:3;width:100%;margin-left:0;overflow-x:auto}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-5);box-shadow:var(--shadow-1)}.card>h2{font-size:var(--t-md);margin-bottom:var(--s-4)}.card>h2+.lede{margin:calc(var(--s-4) * -1) 0 var(--s-4);color:var(--muted);font-size:var(--t-sm)}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:var(--t-sm)}label{display:block;font-size:var(--t-sm);font-weight:500;color:var(--ink-2);margin:var(--s-4) 0 var(--s-1)}label.check{display:flex;align-items:flex-start;gap:var(--s-2);font-weight:400;color:var(--ink);margin:var(--s-2) 0;cursor:pointer}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);font-family:inherit;font-size:var(--t-base);color:var(--ink);background:var(--card);transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{border-color:var(--slate);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical;min-height:76px}label.check input{width:auto;margin-top:3px;accent-color:var(--slate);flex:none}.row{display:flex;gap:var(--s-3)}.row>div{flex:1;min-width:0}fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:var(--s-4) 0 0;padding:var(--s-2) var(--s-4) var(--s-3)}legend{font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0 var(--s-2)}button{font-family:inherit;font-size:var(--t-sm);font-weight:500;color:var(--slate);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);padding:5px 11px;cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--slate-soft);border-color:var(--slate-line)}button:disabled{opacity:.45;cursor:not-allowed}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border:1px solid var(--slate);background:var(--slate);color:#fff;font-size:var(--t-base);font-weight:600;padding:9px 18px;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 60ms ease}a.btn{text-decoration:none}.btn:hover:not(:disabled){background:var(--slate-hover);border-color:var(--slate-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:var(--card);color:var(--slate);border-color:var(--line-strong)}.btn.secondary:hover:not(:disabled){background:var(--slate-soft);border-color:var(--slate-line)}.btn.quiet{background:transparent;border-color:transparent;color:var(--muted);font-weight:500;padding:4px 8px}.btn.quiet:hover:not(:disabled){background:var(--sunk);color:var(--ink)}.btn.danger{background:var(--card);color:var(--flag);border-color:var(--flag-line)}.btn.danger:hover:not(:disabled){background:var(--flag-soft)}.btn.block{width:100%}.actions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-4)}.rule{margin:var(--s-4) 0 0;padding:var(--s-4);background:var(--brass-soft);border:1px solid var(--brass-line);border-radius:var(--radius)}.rule-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}.rule-head .est{font-size:var(--t-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--brass-ink)}.rule-head .charged{font-family:var(--font-display);font-size:var(--t-lg);font-weight:700;color:var(--brass-ink);letter-spacing:-.02em}.rule-track{position:relative;height:34px;border-radius:4px;background:repeating-linear-gradient(to right,var(--brass-line) 0 1px,transparent 1px var(--tick, 12.5%));background-position:left bottom;background-size:100% 10px;background-repeat:repeat-x;border-bottom:2px solid var(--brass)}.rule-fill{position:absolute;inset:0 auto 12px 0;background:#a8761f38;border-right:2px solid var(--brass);border-radius:3px 0 0 3px}.rule-est{position:absolute;top:-2px;bottom:12px;width:2px;background:var(--brass-ink)}.rule-est:after{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--brass-ink)}.rule-scale{display:flex;justify-content:space-between;margin-top:var(--s-1);font-size:var(--t-xs);color:var(--brass-ink)}.rule-note{margin:var(--s-3) 0 0;font-size:var(--t-sm);color:var(--brass-ink)}.quote{width:100%;border-collapse:collapse;margin-top:var(--s-3)}.quote td{padding:5px 0;border-bottom:1px solid var(--line)}.quote tr:last-child td{border-bottom:0}.quote td:last-child{text-align:right}.quote td:first-child{color:var(--muted)}.quote tr.total td{padding-top:var(--s-3);border-top:2px solid var(--ink);border-bottom:0;font-family:var(--font-display);font-weight:700;font-size:var(--t-md);color:var(--ink)}.deposit{margin:var(--s-3) 0 0;padding:var(--s-3);background:var(--slate-soft);border:1px solid var(--slate-line);border-radius:var(--radius);font-weight:600;color:var(--slate);font-size:var(--t-sm)}.notice{margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);border-radius:var(--radius);font-size:var(--t-sm);border:1px solid}.notice p{margin:0 0 var(--s-2)}.notice p:last-child{margin-bottom:0}.notice.vat{background:var(--relief-soft);border-color:var(--relief-line);color:#1c4b37}.notice.warn{background:var(--caution-soft);border-color:var(--caution-line);color:var(--caution)}.notice.signpost{background:var(--flag-soft);border-color:var(--flag-line);color:#7d2b1e}.notice.info{background:var(--sunk);border-color:var(--line);color:var(--ink-2)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--sunk);color:var(--ink-2);text-transform:capitalize;white-space:nowrap}.pill.proposed{background:var(--brass-soft);border-color:var(--brass-line);color:var(--brass-ink)}.pill.confirmed{background:var(--slate-soft);border-color:var(--slate-line);color:var(--slate)}.pill.done,.pill.relief{background:var(--relief-soft);border-color:var(--relief-line);color:var(--relief)}.pill.invoiced{background:var(--ink);border-color:var(--ink);color:#fff}.pill.cancelled,.pill.concern{background:var(--flag-soft);border-color:var(--flag-line);color:var(--flag)}.table-scroll{overflow-x:auto;margin:0 calc(var(--s-5) * -1) calc(var(--s-5) * -1);padding:0 var(--s-5) var(--s-5)}table.list,table.grid{width:100%;border-collapse:collapse;font-size:var(--t-sm)}table.list th,table.grid th{text-align:left;font-size:var(--t-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 var(--s-3) var(--s-2) 0;border-bottom:1px solid var(--line-strong);white-space:nowrap}table.list td,table.grid td{padding:var(--s-3) var(--s-3) var(--s-3) 0;border-bottom:1px solid var(--line);vertical-align:top}table.list tbody tr:last-child td,table.grid tbody tr:last-child td{border-bottom:0}table.list tbody tr:hover,table.grid tbody tr:hover{background:var(--sunk)}table.list td.num,table.list th.num,table.grid td.num,table.grid th.num{text-align:right;padding-right:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s-4)}.kpi{display:flex;flex-direction:column;gap:2px;padding:var(--s-4);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.kpi .figure{font-family:var(--font-display);font-size:var(--t-2xl);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--slate)}.kpi .label{display:block;margin-top:var(--s-2);font-size:var(--t-sm);color:var(--muted)}.empty{padding:var(--s-6) var(--s-4);text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--sunk)}.empty strong{display:block;font-family:var(--font-display);font-size:var(--t-md);color:var(--ink);margin-bottom:var(--s-1)}.signin{min-height:100vh;display:grid;place-items:center;padding:var(--s-5);background:var(--paper)}.signin-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-6);box-shadow:var(--shadow-lift)}.signin-mark{font-family:var(--font-display);font-size:var(--t-2xl);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--slate)}.signin-mark span{display:block;margin-top:var(--s-2);font-family:var(--font-body);font-size:var(--t-sm);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.signin-card h1{font-size:var(--t-lg);margin:var(--s-6) 0 var(--s-2)}.signin-card p.lede{margin:0 0 var(--s-5);color:var(--muted);font-size:var(--t-sm)}.or{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-5) 0;color:var(--faint);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.sent{padding:var(--s-4);background:var(--relief-soft);border:1px solid var(--relief-line);border-radius:var(--radius);color:#1c4b37;font-size:var(--t-sm)}.sent strong{display:block;font-family:var(--font-display);margin-bottom:var(--s-1)}.stack{display:grid;gap:var(--s-4)}.inline{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.spread{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}button.primary{background:var(--slate);border-color:var(--slate);color:#fff;font-size:var(--t-base);font-weight:600;padding:9px 18px}button.primary:hover:not(:disabled){background:var(--slate-hover);border-color:var(--slate-hover)}.linkish{background:none;border:none;padding:4px 6px;font-size:var(--t-sm);font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);border-radius:var(--radius)}.linkish:hover:not(:disabled){background:transparent;color:var(--slate);text-decoration-color:currentColor}.linkish.danger,.list .rec-actions .linkish.danger{color:var(--flag)}.linkish.danger:hover:not(:disabled){background:var(--flag-soft);color:var(--flag)}ul.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}ul.list>li{display:grid;grid-template-columns:4.5rem 1fr auto;grid-template-areas:"time main side" "time sub  side" "time note note" "time acts acts";gap:2px var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}ul.list>li:hover{background:var(--sunk);box-shadow:calc(var(--s-5) * -1) 0 0 var(--sunk),var(--s-5) 0 0 var(--sunk)}.rec-time{grid-area:time;font-family:var(--font-display);font-size:var(--t-md);font-weight:600;font-variant-numeric:tabular-nums;color:var(--brass);line-height:1.25}.rec-dur{display:block;font-family:var(--font-body);font-size:var(--t-xs);font-weight:500;color:var(--faint)}.rec-main{grid-area:main;font-size:var(--t-base);color:var(--ink);font-weight:500}.rec-sub{grid-area:sub;font-size:var(--t-sm);color:var(--muted)}.rec-side{grid-area:side;text-align:right;font-size:var(--t-base);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.rec-side small{display:block;font-size:var(--t-xs);color:var(--faint)}.rec-note{grid-area:note;margin:var(--s-2) 0 0;font-size:var(--t-sm);color:var(--ink-2)}.rec-actions{grid-area:acts;display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap;margin-top:var(--s-2)}.rec-actions .spacer{margin-left:auto}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin:var(--s-5) 0 var(--s-2);padding-bottom:var(--s-2);border-bottom:2px solid var(--ink)}ul.list+.day-head,.day-head:first-child{margin-top:0}.day-head h3{margin:0;font-family:var(--font-display);font-size:var(--t-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.day-head .day-hours{font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--brass);font-weight:600}.day-head.is-today h3:before{content:"Today · ";color:var(--brass)}.pill.welfare{background:var(--flag-soft);border-color:var(--flag-line);color:var(--flag)}.welfare-raised{margin:var(--s-2) 0 0;padding-left:var(--s-3);border-left:3px solid var(--flag-line);font-size:var(--t-sm);color:var(--flag)}.list .welfare-note{color:var(--ink)}.cancelled-note{grid-area:note;margin-top:var(--s-1);font-size:var(--t-sm);color:var(--flag)}.welfare-form{grid-area:acts;margin-top:var(--s-3);padding:var(--s-4);background:var(--sunk);border:1px solid var(--line);border-radius:var(--radius-lg)}.welfare-form label{margin-top:var(--s-3)}.welfare-form>.notice{margin-top:0}.materials-panel,.confirmation-box{grid-column:1 / -1;margin-top:var(--s-3);padding:var(--s-4);background:var(--sunk);border:1px solid var(--line);border-radius:var(--radius-lg)}.confirmation-box pre,.confirmation-box p{white-space:pre-wrap;font-family:var(--font-body);font-size:var(--t-sm);color:var(--ink-2);margin:0}.materials-list{list-style:none;margin:0 0 var(--s-3);padding:0}.materials-list li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}.materials-list li>:first-child{flex:1}.material-add{display:grid;grid-template-columns:1fr 7rem 4.5rem auto;gap:var(--s-2);align-items:center}.material-add input{margin:0}.parts-suggest{margin-bottom:var(--s-2)}.kpi-label{font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);min-height:2.4em}.kpi-value{font-family:var(--font-display);font-size:var(--t-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}.kpi-sub,.kpi-note{font-size:var(--t-sm)}.statrow{display:flex;gap:var(--s-7);flex-wrap:wrap}.stat{display:flex;flex-direction:column;gap:2px}.stat strong{font-family:var(--font-display);font-size:var(--t-xl);font-variant-numeric:tabular-nums;line-height:1.1}.msg{margin-top:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--relief-soft);border:1px solid var(--relief-line);border-radius:var(--radius);font-size:var(--t-sm);color:var(--relief)}.rec-status{margin-left:auto;display:flex;gap:var(--s-1);justify-content:flex-end;align-items:center;flex-wrap:wrap}.rec-raised{font-size:var(--t-xs);color:var(--faint);margin-right:auto}ul.list>li.rec-flag{grid-template-columns:3px 1fr auto;gap:2px var(--s-4)}ul.list>li.rec-flag:before{content:"";grid-area:time;align-self:stretch;background:var(--flag);border-radius:2px}.welfare-note{color:var(--ink);font-size:var(--t-base)}@media (max-width: 560px){ul.list>li{grid-template-columns:3.75rem 1fr;grid-template-areas:"time main" "time sub" "note note" "acts acts";padding:var(--s-4) 0}.rec-side{display:none}.rec-status{justify-content:flex-start;margin-top:var(--s-2)}.rec-actions{gap:var(--s-2)}.rec-actions button,.welfare-form button{min-height:44px;padding-left:var(--s-4);padding-right:var(--s-4)}.material-add{grid-template-columns:1fr 1fr}}fieldset.funding{border-color:var(--brass-line);background:var(--brass-soft)}fieldset.funding>legend{color:var(--brass-ink)}
