@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f6cf6124dfc80171-s.0xa7br5mfity1.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/12b42c2291621b31-s.1svzn21vgh2j9.woff2)format("woff2");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-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(../media/9d473eb2c81ea1b1-s.p.3tasb8qs95n_v.woff2)format("woff2");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:Public Sans Fallback;src:local(Arial);ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.0%;size-adjust:104.87%}.BMdkga_className{font-family:Public Sans,Public Sans Fallback;font-style:normal}.BMdkga_variable{--font-public-sans:"Public Sans", "Public Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/49b1d53681a91a99-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/123d516c9baeb953-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a74d2542cc4c775f-s.2taws-qdxmzlf.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7ac0b1cd3e695dd0-s.0htwiiqufp3l9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/916cd8a3bde3edf8-s.p.28xcb7557rbh2.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.do5zWG_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal;font-weight:500}.do5zWG_variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#14262b;--ink-2:#4a5d62;--ink-3:#7a8b8f;--bg:#f3f6f6;--surface:#fff;--surface-2:#eef3f3;--line:#d8e1e2;--brand:#0f4c5c;--brand-ink:#fff;--brand-soft:#e2eef0;--rail-bg:#0f4c5c;--rail-ink:#fff;--accent:#c98a1b;--accent-soft:#fbf0d9;--ok:#2f7d4f;--ok-soft:#e1f2e7;--warn:#9a6100;--warn-soft:#fdf1d8;--bad:#b23a3a;--bad-soft:#fbe3e3;--info:#2b5f9e;--info-soft:#e3ecf8;--shadow:0 1px 2px #0f282e0f, 0 4px 16px #0f282e0f;--radius:10px;--font:var(--font-public-sans), "Public Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e4eeef;--ink-2:#a9bcc0;--ink-3:#7d9195;--bg:#0e1a1d;--surface:#152428;--surface-2:#1b2e33;--line:#2a4046;--brand:#4fa3b5;--brand-ink:#062027;--brand-soft:#1b3940;--rail-bg:#102024;--rail-ink:#e4eeef;--accent:#f0b54a;--accent-soft:#3a2f17;--ok:#6cc28d;--ok-soft:#173326;--warn:#f0b54a;--warn-soft:#3a2f17;--bad:#ef8a8a;--bad-soft:#3d1f1f;--info:#8ab4ef;--info-soft:#1c2c45;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ink:#e4eeef;--ink-2:#a9bcc0;--ink-3:#7d9195;--bg:#0e1a1d;--surface:#152428;--surface-2:#1b2e33;--line:#2a4046;--brand:#4fa3b5;--brand-ink:#062027;--brand-soft:#1b3940;--rail-bg:#102024;--rail-ink:#e4eeef;--accent:#f0b54a;--accent-soft:#3a2f17;--ok:#6cc28d;--ok-soft:#173326;--warn:#f0b54a;--warn-soft:#3a2f17;--bad:#ef8a8a;--bad-soft:#3d1f1f;--info:#8ab4ef;--info-soft:#1c2c45;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{text-wrap:balance;margin:0;line-height:1.2}h1{letter-spacing:-.01em;font-size:1.6rem;font-weight:800}h2{font-size:1.15rem;font-weight:700}h3{font-size:1rem;font-weight:700}p{margin:0}a{color:var(--brand)}button,input,select,textarea{font:inherit;color:inherit}.num,td.num,.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--ink-2)}.faint{color:var(--ink-3);font-size:.85rem}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:700}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.rail{background:var(--rail-bg);color:var(--rail-ink);flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 18px;display:flex}.brand-mark{flex:none;width:34px;height:34px}.brand b{letter-spacing:.01em;font-size:1rem;display:block}.brand span{opacity:.75;font-size:.74rem;display:block}.nav a{color:inherit;opacity:.86;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:.94rem;font-weight:600;text-decoration:none;display:flex}.nav a:hover{opacity:1;background:#ffffff14}.nav a.on{opacity:1;background:#ffffff29}.nav a .count{background:var(--accent);color:#1d1300;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:.72rem;font-weight:800}.nav .sep{opacity:.15;background:currentColor;height:1px;margin:10px 6px}.nav svg{flex:none;width:18px;height:18px}.rail-foot{opacity:.75;margin-top:auto;padding:12px 8px 0;font-size:.78rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{padding:14px max(16px, env(safe-area-inset-right,0px)) 14px max(24px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.05rem;font-weight:700;overflow:hidden}.topbar .spacer{flex:1}.demo-pill{background:var(--accent-soft);color:var(--warn);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:.72rem;font-weight:700}.user-chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.avatar{background:var(--brand);width:28px;height:28px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.user-chip .who{text-align:left;line-height:1.15}.user-chip .who small{color:var(--ink-3);font-size:.72rem;display:block}.content{padding:24px max(16px, env(safe-area-inset-right,0px)) 48px max(24px, env(safe-area-inset-left,0px));flex-direction:column;gap:18px;width:100%;max-width:1180px;display:flex}.tabbar{display:none}@media (max-width:800px){.shell{grid-template-columns:1fr}.rail{display:none}.topbar{padding-left:max(16px, env(safe-area-inset-left,0px));padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:10px}.user-chip .who{display:none}.content{padding:16px max(16px, env(safe-area-inset-right,0px)) calc(96px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px max(6px, env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px, env(safe-area-inset-left,0px));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--ink-3);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:.7rem;font-weight:600;text-decoration:none;display:flex;position:relative}.tabbar a.on{color:var(--brand)}.tabbar svg{width:22px;height:22px}.tabbar .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:24%}h1{font-size:1.3rem}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:18px}.panel.flush{padding:0;overflow:hidden}.panel-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel.flush .panel-head{padding:16px 18px 0}.panel-head .spacer{flex:1}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.page-head .spacer{flex:1}.page-head p{margin-top:4px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:680px){.grid-2,.grid-3{grid-template-columns:1fr}}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.primary:hover{filter:brightness(1.08)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.btn.danger.solid{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{min-height:30px;padding:4px 10px;font-size:.82rem}.btn.icon{width:32px;min-height:32px;padding:6px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.chip{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip.draft{background:var(--surface-2);color:var(--ink-2)}.chip.submitted{background:var(--info-soft);color:var(--info)}.chip.approved{background:var(--ok-soft);color:var(--ok)}.chip.rejected{background:var(--bad-soft);color:var(--bad)}.chip.paid{background:var(--brand-soft);color:var(--brand)}.chip.review{background:var(--warn-soft);color:var(--warn)}.tag{background:var(--surface-2);color:var(--ink-2);border-radius:5px;padding:1px 6px;font-size:.72rem;font-weight:700;display:inline-block}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:0;padding:14px 16px;display:flex}.kpi b{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.45rem;font-weight:800}.kpi small{color:var(--ink-3);font-size:.78rem}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:.8rem;font-weight:600}.field small{color:var(--ink-3);font-size:.76rem}input[type=text],input[type=email],input[type=number],input[type=date],input[type=password],input[type=search],select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-height:38px;padding:8px 10px;font-size:.94rem}textarea{resize:vertical;min-height:70px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--brand) 45%, transparent);outline-offset:0;border-color:var(--brand)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--ink-2)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .full{grid-column:1/-1}@media (max-width:560px){.form-grid{grid-template-columns:1fr}}.check{cursor:pointer;align-items:flex-start;gap:8px;font-size:.9rem;display:flex}.check input{width:17px;height:17px;accent-color:var(--brand);flex:none;margin-top:3px}.seg{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:.86rem;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.scanned{border-color:var(--accent)!important;background:var(--accent-soft)!important}.scan-badge{color:var(--warn);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;font-size:.68rem;font-weight:800}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:.9rem}table.t th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:.72rem;font-weight:700}table.t td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}table.t tr:last-child td{border-bottom:0}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--surface-2)}table.t tfoot td{border-top:2px solid var(--line);border-bottom:0;font-weight:700}.ts-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-nav{align-items:center;gap:4px;display:inline-flex}.week-nav .range{text-align:center;min-width:190px;font-weight:700}table.ts{border-collapse:separate;border-spacing:0;width:100%;min-width:860px;font-size:.9rem}table.ts th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);text-align:center;border-bottom:1px solid var(--line);padding:8px 6px;font-size:.72rem;font-weight:700}table.ts th .d{color:var(--ink-2);letter-spacing:0;text-transform:none;font-size:.8rem;font-weight:600;display:block}table.ts th.today{color:var(--accent)}table.ts th.proj{text-align:left;width:260px}table.ts td{border-bottom:1px solid var(--line);text-align:center;padding:5px 4px}table.ts td.proj{text-align:left}table.ts td.wk{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}table.ts input.h{text-align:center;font-variant-numeric:tabular-nums;width:100%;max-width:64px;min-height:34px;padding:6px 2px}table.ts input.h.has{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));font-weight:700}table.ts td.tot{font-variant-numeric:tabular-nums;font-weight:700}table.ts tfoot td{font-variant-numeric:tabular-nums;background:var(--surface-2);font-weight:700}table.ts tr.notes td{vertical-align:top;background:0 0}table.ts tr.notes textarea{min-height:54px;padding:5px;font-size:.78rem}table.ts td.warn-cell{color:var(--warn);font-size:.7rem;font-weight:700;line-height:1.2}table.ts td.warn-cell.bad{color:var(--bad)}table.ts select{min-height:34px;padding:5px 8px;font-size:.88rem}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.day-card.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.day-card header{align-items:baseline;gap:8px;display:flex}.day-card header b{font-size:1rem}.day-card header .h{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.entry-row{grid-template-columns:1fr 78px 34px;align-items:center;gap:6px;display:grid}.entry-row input{text-align:center}.list{flex-direction:column;display:flex}.list-item{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-width:0;padding:12px 18px;display:flex}.list-item:first-child{border-top:0}.list-item:hover{background:var(--surface-2)}.list-item .grow{flex:1;min-width:0}.list-item .grow b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-item .amt{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:800}.thumb{border:1px solid var(--line);background:var(--surface-2) center/cover no-repeat;width:44px;height:54px;color:var(--ink-3);border-radius:6px;flex:none;place-items:center;display:grid}.thumb svg{width:20px;height:20px}.alert{background:var(--info-soft);color:var(--ink);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.88rem;display:flex}.alert svg{width:18px;height:18px;color:var(--info);flex:none;margin-top:2px}.alert.warn{background:var(--warn-soft)}.alert.warn svg{color:var(--warn)}.alert.bad{background:var(--bad-soft)}.alert.bad svg{color:var(--bad)}.alert.ok{background:var(--ok-soft)}.alert.ok svg{color:var(--ok)}.alert .grow{flex:1;min-width:0}.empty{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:10px;padding:34px 16px;display:flex}.empty svg{width:36px;height:36px;color:var(--ink-3)}.bars{flex-direction:column;gap:8px;display:flex}.bar-row{grid-template-columns:minmax(90px,180px) 1fr 84px;align-items:center;gap:10px;font-size:.86rem;display:grid}.bar-row .lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--surface-2);border-radius:99px;height:12px;overflow:hidden}.bar-fill{background:var(--brand);border-radius:99px;height:100%}.bar-fill.alt{background:var(--accent)}.bar-row .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.week-mini{grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;height:110px;display:grid}.week-mini .col{height:100%;color:var(--ink-3);flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;font-size:.72rem;display:flex}.week-mini .b{background:var(--brand);border-radius:5px 5px 2px 2px;width:100%;max-width:34px;min-height:2px}.week-mini .col.today{color:var(--accent);font-weight:800}.week-mini .col.today .b{background:var(--accent)}.timer{border-radius:var(--radius);background:var(--brand-soft);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.timer .clock{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:500}.timer.running{background:var(--accent-soft)}.pulse{background:var(--bad);border-radius:50%;width:10px;height:10px;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.modal-back{z-index:100;padding:max(24px, env(safe-area-inset-top,0px)) 16px 24px;background:#08161a8c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:14px;flex-direction:column;width:100%;min-width:0;max-width:640px;display:flex;box-shadow:0 20px 60px #0000004d}.modal.wide{max-width:1040px}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-head h2{flex:1}.modal-body{flex-direction:column;gap:14px;min-width:0;padding:18px 20px;display:flex}.modal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-foot .spacer{flex:1}@media (max-width:640px){.modal-back{padding:0;display:block}.modal{border-radius:0;min-height:100%}.modal-foot{background:var(--surface);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0}}.exp-editor{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;display:grid}@media (max-width:820px){.exp-editor{grid-template-columns:1fr}}.drop{border:2px dashed var(--line);text-align:center;color:var(--ink-2);cursor:pointer;background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:22px 14px;display:flex}.drop.over{border-color:var(--brand);background:var(--brand-soft)}.drop svg{width:34px;height:34px;color:var(--brand)}.receipt-view{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;position:relative;overflow:hidden}.receipt-view img{object-fit:contain;background:#fff;width:100%;max-height:520px;display:block}.receipt-strip{flex-wrap:wrap;gap:8px;display:flex}.receipt-strip .thumb{cursor:pointer;width:56px;height:68px;position:relative}.receipt-strip .thumb.on{outline:2px solid var(--brand);outline-offset:1px}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress>div{background:var(--accent);width:0;height:100%;transition:width .2s}details.ocr-text summary{cursor:pointer;color:var(--ink-2);font-size:.82rem}details.ocr-text pre{white-space:pre-wrap;background:var(--surface-2);border-radius:6px;max-height:180px;padding:8px;font-size:.76rem;overflow:auto}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--brand);color:#fff;flex-direction:column;justify-content:space-between;gap:30px;padding:48px;display:flex;position:relative;overflow:hidden}.login-art h1{max-width:14ch;font-size:2.4rem;line-height:1.08}.login-art p{opacity:.85;max-width:42ch;font-size:1.02rem}.login-art .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;max-width:520px;font-size:.9rem;display:grid}.login-art .facts b{font-size:.95rem;display:block}.login-art .facts span{opacity:.78}.login-form{padding:40px max(24px, env(safe-area-inset-right,0px)) 40px max(24px, env(safe-area-inset-left,0px));background:var(--surface);flex-direction:column;justify-content:center;display:flex}.login-box{flex-direction:column;gap:14px;width:100%;max-width:380px;margin:0 auto;display:flex}.ms-btn{color:#222;cursor:pointer;background:#fff;border:1px solid #8c8c8c;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:10px 14px;font-size:.95rem;font-weight:600;display:flex}.ms-btn svg{width:20px;height:20px}.or{color:var(--ink-3);align-items:center;gap:10px;font-size:.8rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.demo-users{flex-direction:column;gap:6px;display:flex}.demo-users button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.demo-users button:hover{border-color:var(--brand);background:var(--brand-soft)}.demo-users small{color:var(--ink-3);font-size:.76rem;display:block}@media (max-width:860px){.login{grid-template-columns:1fr}.login-art{padding:calc(28px + env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) 28px max(20px, env(safe-area-inset-left,0px))}.login-art h1{font-size:1.8rem}.login-art .facts{display:none}}#toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:300;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .2s;position:fixed;transform:translate(-50%)translateY(20px)}#toast.show{opacity:1;transform:translate(-50%)}@media (max-width:800px){#toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.email{border:1px solid var(--line);border-radius:10px;overflow:hidden}.email-meta{background:var(--surface-2);gap:2px;padding:10px 14px;font-size:.84rem;display:grid}.email-body{color:#1b1b1b;background:#fff;padding:16px;font-size:.9rem}.email-body .eb-btn{color:#fff;background:#0f4c5c;border-radius:6px;padding:9px 16px;font-weight:700;text-decoration:none;display:inline-block}.lightbox img{background:#fff;border-radius:8px;width:100%;height:auto}#doc-root:empty{display:none}.doc-overlay{z-index:200;background:#5b6669;flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.doc-bar{padding:calc(10px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) 10px max(16px, env(safe-area-inset-left,0px));color:#fff;z-index:2;background:#1d2b2f;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:sticky;top:0}.doc-bar b{flex:1;min-width:0}.doc-pages{flex-direction:column;align-items:center;gap:18px;padding:20px 10px 60px;display:flex}.page{color:#111;background:#fff;width:8.5in;max-width:100%;min-height:11in;padding:.55in;font:12px/1.35 Public Sans,Arial,sans-serif;position:relative;box-shadow:0 4px 24px #00000059}@media (max-width:860px){.page{width:100%;min-height:0;padding:18px}}.inv-frame{border:2px solid #111;padding:16px 18px}.inv-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inv-top h2{color:#0f4c5c;font-size:20px}.inv-word{color:#0f4c5c;letter-spacing:.02em;font-size:40px;font-weight:400;line-height:1}.inv-band{color:#fff;background:#0f4c5c;padding:3px 6px;font-size:11px;font-weight:700}.inv-grid{grid-template-columns:1.4fr 1fr;gap:24px;margin-top:14px;display:grid}.inv-kv{text-align:center;grid-template-columns:1fr 1fr;display:grid}.inv-kv div{border:1px solid #111;padding:3px;font-weight:700}.inv-kv .inv-band{border:1px solid #0f4c5c}.inv-kv .grn{color:#2f7d32}table.inv{border-collapse:collapse;width:100%;margin-top:18px;font-size:11.5px}table.inv th{color:#fff;text-align:left;background:#0f4c5c;padding:4px 6px}table.inv th.r,table.inv td.r{text-align:right}table.inv td{font-variant-numeric:tabular-nums;border:1px dotted #666;height:22px;padding:4px 6px}.inv-total{justify-content:flex-end;margin-top:12px;display:flex}.inv-total div{color:#fff;background:#0f4c5c;justify-content:space-between;min-width:300px;padding:8px 14px;font-size:17px;font-weight:800;display:flex}.inv-foot{text-align:center;margin-top:30px;font-size:11px}.stamp{color:#2f7d32;text-align:center;background:#ffffffd9;border:3px solid #2f7d32;padding:6px 12px;font-size:13px;font-weight:800;line-height:1.2;position:absolute;top:.8in;left:45%;transform:rotate(-8deg)}.stamp.paid{color:#0f4c5c;border-color:#0f4c5c}.stamp.submitted{color:#2b5f9e;border-color:#2b5f9e}.stamp.draft{color:#777;border-color:#888}table.det{border-collapse:collapse;width:100%;margin-top:6px;font-size:11px}table.det caption{color:#fff;background:#0f4c5c;padding:4px;font-size:14px;font-weight:800}table.det th{background:#f1f4f5;border:1px solid #111;padding:3px 5px}table.det td{font-variant-numeric:tabular-nums;border:1px solid #111;padding:3px 5px}table.det td.c{text-align:center}table.det td.r{text-align:right}table.det td.w{text-align:center;font-weight:700}.doc-receipt{break-inside:avoid;flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.doc-receipt img{object-fit:contain;border:1px solid #ccc;align-self:center;max-width:100%;max-height:8.2in}.sig{grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;font-size:11px;display:grid}.sig div{border-top:1px solid #111;padding-top:4px}@media print{@page{size:letter;margin:0}body.printing>:not(#doc-root){display:none!important}body.printing{background:#fff}.doc-overlay{background:0 0;display:block;position:static;overflow:visible}.doc-bar{display:none!important}.doc-pages{gap:0;padding:0;display:block}.page{box-shadow:none;page-break-after:always;break-after:page;width:auto;min-height:0}.page:last-child{page-break-after:auto;break-after:auto}}table.ts{min-width:1000px}table.ts th.proj{width:230px}table.ts td:not(.proj){min-width:66px}table.ts input.h{appearance:textfield;max-width:70px}table.ts input.h::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}table.ts input.h::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.entry-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}table.ts tr.notes textarea{min-width:84px}table.ts td.proj select{max-width:230px}.seg button{align-items:center;gap:6px;display:inline-flex}.seg svg{flex:none;width:16px;height:16px}@media (max-width:820px){.receipt-view img{max-height:260px}.drop{text-align:left;flex-direction:row;justify-content:center;padding:12px}.drop svg{width:24px;height:24px}.drop .faint{display:none}}.nav a,.tabbar a{cursor:pointer}.form-error{color:var(--bad);font-size:.85rem;font-weight:600}.inline-form{display:contents}button.linklike{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.pdf-frame{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:520px}.pending{opacity:.6;pointer-events:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.print-page-body{background:#5b6669}@media print{.print-page-body{background:#fff}.no-print{display:none!important}.print-page-body .doc-pages{gap:0;padding:0;display:block}.print-page-body .page{box-shadow:none;break-after:page;width:auto;min-height:0}}.ts-mobile{display:none}@media (max-width:800px){.ts-desktop{display:none}.ts-mobile{display:flex}.entry-row select{min-width:0}}table.ts td.proj select{min-width:190px}.seg a.seg-link{color:var(--ink-2);border-radius:6px;padding:6px 12px;font-size:.86rem;font-weight:600;text-decoration:none}.seg a.seg-link.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.rowlink{color:inherit;text-decoration:none}.rowlink:hover{text-decoration:underline}
