@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--charcoal:#231f20;--ink-2:#4a4546;--muted:#6b6667;--line:#dedbdb;--line-strong:#b8b4b5;--surface:#f6f5f5;--white:#fff;--green:#1f7a3d;--green-bg:#e8f3ec;--orange:#9a4708;--orange-bg:#fbf0e1;--red:#b42318;--red-bg:#fbeae8;--blue:#1d5fa8;--blue-bg:#e8f0f9;--grey-bg:#efeded;--radius:8px;--shadow:0 1px 2px #231f2014;--focus:0 0 0 3px #231f2047;--control:56px;--text:18px}.office{--control:40px;--text:14px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--white);color:var(--charcoal);margin:0;font:16px/1.4 Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{letter-spacing:-.01em;margin:0 0 16px;font-size:28px;font-weight:700;line-height:1.2}h2{margin:24px 0 12px;font-size:20px;font-weight:700}p{margin:0 0 12px}a{color:var(--charcoal);text-underline-offset:3px;font-weight:600}svg.lucide{flex:none}.muted{color:var(--muted)}small.subtitle{letter-spacing:0;color:var(--muted);margin-top:4px;font-size:16px;font-weight:400;display:block}:focus-visible{box-shadow:var(--focus);outline:none}button,.button{min-height:var(--control);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);color:var(--charcoal);font-family:inherit;font-size:var(--text);box-shadow:var(--shadow);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--charcoal);border-color:var(--charcoal);color:var(--white)}button.danger{border-color:var(--red);color:var(--red)}button.danger.solid{background:var(--red);color:var(--white)}button.block,.button.block{width:100%}button.small{white-space:nowrap;min-height:40px;padding:0 12px;font-size:14px}button:disabled{opacity:.45;box-shadow:none;cursor:default}.office button,.office .button{padding:0 16px}input,select,textarea{width:100%;min-height:var(--control);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);color:var(--charcoal);font-family:inherit;font-size:var(--text);padding:0 16px;font-weight:400;line-height:1.3}textarea{padding:12px 16px}input:focus,select:focus,textarea:focus{border-color:var(--charcoal);box-shadow:var(--focus);outline:none}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled{background:var(--surface);color:var(--ink-2);opacity:1}input[type=checkbox]{width:24px;height:24px;min-height:0;accent-color:var(--charcoal);padding:0}.office input,.office select{padding:0 12px}label.field{margin-bottom:16px;font-size:16px;font-weight:600;display:block}label.field>input,label.field>select,label.field>textarea{margin-top:8px}.office label.field{color:var(--ink-2);font-size:13px}.office label.field>input,.office label.field>select{margin-top:4px}label.check{align-items:center;gap:12px;min-height:48px;font-weight:500;display:flex}.office label.check{min-height:40px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 16px;display:grid}.field-group{margin-bottom:16px}.group-label{margin-bottom:8px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:240px}.stack{gap:12px;margin-bottom:16px;display:grid}.two-up{grid-template-columns:1fr 1fr;gap:12px;display:grid}.three-up{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.page{max-width:1280px;margin:0 auto;padding:24px}.page.field{max-width:640px;padding:16px 16px 96px}.narrow{max-width:440px;margin:0 auto;padding:32px 24px}.notice{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);border-left-width:4px;margin-bottom:16px;padding:12px 16px;font-weight:500}.notice.error{border-color:var(--red);background:var(--red-bg);color:var(--red)}.notice.ok{border-color:var(--green);background:var(--green-bg);color:var(--green)}.notice.warn{border-color:var(--orange);background:var(--orange-bg);color:var(--orange)}.notice button{margin-top:8px}.invalid-note{color:var(--red);font-weight:600}.toast-region{z-index:40;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:24px;left:16px;right:16px}.toast{border-radius:var(--radius);background:var(--charcoal);width:100%;max-width:480px;min-height:56px;color:var(--white);pointer-events:auto;align-items:center;gap:12px;padding:12px 16px;font-size:16px;font-weight:600;display:flex;box-shadow:0 4px 12px #231f2033}.toast small{color:#d5d2d2;font-size:14px;font-weight:400;display:block}.toast .badge{border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.toast .badge.saved{background:#2e9b55}.toast .badge.retrying{background:#c97a12}.toast .badge.failed{background:#d0402f}.pill{white-space:nowrap;border-radius:14px;align-items:center;gap:8px;height:28px;padding:0 12px 0 10px;font-size:14px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.pill.grey{background:var(--grey-bg);color:var(--ink-2)}.pill.green{background:var(--green-bg);color:var(--green)}.pill.orange{background:var(--orange-bg);color:var(--orange)}.pill.red{background:var(--red-bg);color:var(--red)}.pill.blue{background:var(--blue-bg);color:var(--blue)}.pill.hollow{background:var(--white);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong)}.pill.hollow:before{background:0 0;box-shadow:inset 0 0 0 2px}.state{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--muted);padding:32px 24px}.state strong{color:var(--charcoal);margin:8px 0 4px;font-size:18px;display:block}.state .button,.state button{margin-top:16px}.state.error{border-style:solid;border-color:var(--red);background:var(--red-bg);color:var(--red)}.state.error strong{color:var(--red)}.loading{gap:12px;padding:8px 0;display:grid}.loading span{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface), var(--grey-bg), var(--surface));background-size:200% 100%;height:56px;animation:1.4s linear infinite shimmer}.loading p{color:var(--muted);margin:0}.office .loading span{height:40px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.loading span{animation:none}}.sheet-backdrop{z-index:30;background:#231f2073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--white);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:88vh;padding:16px;display:flex;box-shadow:0 -4px 24px #231f2033}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sheet-head h2{margin:0}.sheet-body{gap:12px;margin:-4px;padding:4px;display:grid;overflow-y:auto}@media (width>=800px){.sheet-backdrop{align-items:center}.sheet{border-radius:16px;max-width:480px}}.topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--white);align-items:center;gap:24px;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.topbar .logo{align-items:center;display:flex}.topbar .logo img{width:auto;height:28px;display:block}.topbar nav{align-self:stretch;gap:4px;display:flex;overflow-x:auto}.topbar nav a{color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.topbar nav a.active{border-bottom-color:var(--charcoal);color:var(--charcoal);font-weight:600}button.account{min-height:48px;box-shadow:none;background:0 0;border-color:#0000;margin-left:auto;padding:0 4px 0 12px;font-size:16px}.avatar{border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.office{background:var(--surface);min-height:100vh}.office .topbar{padding:0 24px}.office h1{font-size:24px}.crumb{margin-bottom:4px}.crumb a{color:var(--muted);font-weight:500;text-decoration:none}.login{flex-direction:column;justify-content:center;max-width:440px;min-height:100vh;margin:0 auto;padding:24px 24px 80px;display:flex}.login .brand{align-self:center;width:220px;height:auto}.login .slogan{text-align:center;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:16px 0 48px}.login h1{margin-top:32px}.back{min-height:48px;box-shadow:none;color:var(--charcoal);background:0 0;border:0;align-items:center;gap:8px;padding:0 8px 0 0;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.big-buttons{gap:16px;display:grid}.big-button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);min-height:80px;color:var(--charcoal);text-align:left;box-shadow:var(--shadow);justify-content:flex-start;align-items:center;gap:16px;padding:12px 16px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.big-button small{color:var(--muted);font-size:16px;font-weight:400;display:block}.big-button .task-icon{border-radius:var(--radius);background:var(--surface);flex:none;place-items:center;width:48px;height:48px;display:grid}.big-button .go{color:var(--muted);margin-left:auto}.big-button.primary{background:var(--charcoal);border-color:var(--charcoal);color:var(--white)}.big-button.primary small,.big-button.primary .go{color:#d5d2d2}.big-button.primary .task-icon{background:#3a3536}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}button.chip{border-radius:24px;min-height:48px;padding:0 16px;font-size:16px}button.chip[aria-pressed=true],button.seg[aria-pressed=true]{background:var(--charcoal);border-color:var(--charcoal);color:var(--white)}input.search{margin-bottom:12px}.item-list{gap:8px;display:grid}button.item-row{text-align:left;grid-template-columns:1fr auto;justify-content:stretch;gap:2px 12px;min-height:72px;padding:12px 16px;font-weight:400;display:grid}.item-row strong{grid-column:1;font-size:18px}.item-row>span:nth-child(2){color:var(--ink-2);grid-column:1;font-size:16px;line-height:1.3}.item-row>span:nth-child(3){grid-area:1/2/span 2;align-self:center;font-size:18px;font-weight:700}.qty-row{align-items:center;gap:12px;margin-top:8px;display:flex}.qty-row input{flex:1;min-height:72px;font-size:32px;font-weight:700}.qty-row .unit{min-width:40px;font-size:24px;font-weight:700}textarea.note{min-height:176px}.today-group{margin-bottom:24px}.today-group h2{margin:0 0 8px}.today-total{float:right}button.entry-row,a.entry-row{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);width:100%;min-height:56px;color:var(--charcoal);text-align:left;box-shadow:var(--shadow);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 12px;margin-bottom:8px;padding:8px 16px;font-size:16px;font-weight:400;text-decoration:none;display:flex}.entry-row strong{font-size:18px}.entry-row .edit-hint{align-items:center;gap:4px;margin-left:auto;font-weight:600;display:inline-flex}.today-edit,.entry-card,.dwr-row{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.today-edit{border-color:var(--charcoal)}.entry-card .card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.entry-card .qty-row input{min-height:var(--control);font-size:24px}.entry-card .qty-row .unit{font-size:18px}.confidence{font-size:14px;font-weight:600}.confidence.high{color:var(--green)}.confidence.medium{color:var(--orange)}.confidence.low{color:var(--red)}.invalid>input,.invalid>select,.invalid .qty-row input{border:2px solid var(--red)}.dwr-section{margin-bottom:32px}.dwr-section>h2{border-bottom:2px solid var(--charcoal);margin:0 0 12px;padding-bottom:8px}.dwr-row>strong{margin-bottom:12px;font-size:18px;display:block}.three-up .field{font-weight:600;display:block}.total{min-height:var(--control);justify-content:center;align-items:center;margin-top:8px;font-size:24px;font-weight:700;display:flex}.job-facts{border-radius:var(--radius);background:var(--surface);grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 16px;padding:12px 16px;display:grid}.job-facts dt{color:var(--muted)}.job-facts dd{margin:0;font-weight:600}button.pick-row{text-align:left;justify-items:start;gap:2px;width:100%;min-height:64px;padding:8px 16px;font-weight:400;display:grid}.pick-row strong{font-size:18px}.pick-row span{color:var(--muted);font-size:16px}.signature{gap:8px;margin-bottom:16px;display:grid}.signature canvas{aspect-ratio:3;border:1px solid var(--charcoal);border-radius:var(--radius);background:var(--white);touch-action:none;width:100%}.page-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h1{margin:0 auto 0 0}.card,.add-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin-bottom:16px;padding:16px}.add-box h2{margin-top:0}.list{gap:8px;display:grid}.list a.card{color:var(--charcoal);gap:4px;margin:0;font-weight:400;text-decoration:none;display:grid}.list a.card strong{align-items:center;gap:12px;font-size:16px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters input,.filters select{width:auto}.filters .count{color:var(--muted);margin-left:auto}.chip-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 16px;display:grid}.link-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);word-break:break-all;margin-bottom:12px;padding:12px;font-size:14px}.grid-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);max-height:calc(100vh - 220px);box-shadow:var(--shadow);overflow:auto}table.grid{border-collapse:collapse;width:100%;font-size:14px}table.grid th{z-index:1;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600;position:sticky;top:0}table.grid th.num,table.grid td.num input{text-align:right;font-variant-numeric:tabular-nums}table.grid td{border-bottom:1px solid var(--line);vertical-align:middle;padding:2px 4px}table.grid tr:last-child td{border-bottom:0}table.grid td.text{padding:8px 12px}table.grid input,table.grid select{background:0 0;border-color:#0000;min-height:36px;padding:0 8px;font-size:14px}table.grid input:hover,table.grid select:hover{border-color:var(--line-strong)}table.grid input:disabled,table.grid select:disabled{color:var(--ink-2);background:0 0}table.grid input[type=checkbox]{margin:0 auto;display:block}table.grid tr.inactive td{background:var(--surface)}table.grid tr.inactive input:not([type=checkbox]){color:var(--muted)}kbd{border:1px solid var(--line-strong);background:var(--white);min-width:20px;color:var(--muted);text-align:center;border-radius:4px;padding:0 6px;font-family:inherit;font-size:12px;line-height:18px;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sheet-head button{min-width:48px;min-height:48px;padding:0}.outbox-bar{z-index:19;background:var(--orange-bg);width:100%;min-height:48px;color:var(--orange);text-align:left;box-shadow:none;border:0;border-bottom:1px solid #ebd3b0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:600;display:flex;position:sticky;top:56px}.outbox-bar.failed{background:var(--red-bg);color:var(--red);border-bottom-color:#efc4be}.section-label{margin:24px 0 8px;font-size:16px;font-weight:600;display:block}a.street-row{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);min-height:72px;color:var(--charcoal);box-shadow:var(--shadow);align-items:center;gap:12px;margin-bottom:8px;padding:10px 16px;font-weight:400;text-decoration:none;display:flex}.street-mid{flex:1;gap:2px;min-width:0;display:grid}.street-mid strong{font-size:18px}.street-mid>span,.street-row .go{color:var(--muted)}.progress{background:var(--grey-bg);border-radius:2px;height:4px;margin-top:4px;display:block;overflow:hidden}.progress span{background:var(--green);height:100%;display:block}a.post-row{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);min-height:72px;color:var(--charcoal);box-shadow:var(--shadow);border-left-width:6px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px 10px 14px;font-weight:400;text-decoration:none;display:flex}.post-row.edge-grey{border-left-color:#8e898a}.post-row.edge-green{border-left-color:var(--green)}.post-row.edge-orange{border-left-color:#c97a12}.post-row.edge-red{border-left-color:var(--red)}.post-row.edge-blue{border-left-color:var(--blue)}.house-no{flex:none;min-width:52px;font-size:24px;font-weight:700}.post-mid{flex:1;gap:2px;min-width:0;display:grid}.post-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.post-top strong{font-size:17px}.post-note{color:var(--ink-2);align-items:center;gap:6px;display:flex}.post-detail{color:var(--muted)}.client-note{border-radius:var(--radius);background:var(--surface);gap:12px;padding:12px 16px;font-size:18px;display:flex}.client-note svg{margin-top:4px}.client-note span{color:var(--muted);font-size:16px;font-weight:600;display:block}.office-status{color:var(--muted);align-items:center;gap:8px;display:flex}.status-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}button.status{text-align:left;justify-content:flex-start;gap:10px;min-height:64px;padding:0 14px;font-size:17px}button.status:last-child:nth-child(odd){grid-column:span 2}button.status[aria-pressed=true]{background:var(--charcoal);border-color:var(--charcoal);color:var(--white)}.status .dot{border-radius:50%;flex:none;width:12px;height:12px}.status .dot.grey{background:#8e898a}.status .dot.red{background:var(--red)}.status .dot.orange{background:#c97a12}.status .dot.blue{background:var(--blue)}.status .dot.green{background:var(--green)}.status .dot.hollow{box-shadow:inset 0 0 0 2px var(--muted)}button.status[aria-pressed=true] .dot{background:var(--white);box-shadow:none}.take-photo{margin-top:16px}.add-note{margin-top:12px}.thumbs{flex-wrap:wrap;gap:8px;display:flex}button.thumb{border-color:var(--line);background:var(--grey-bg);width:88px;height:88px;min-height:0;color:var(--muted);box-shadow:none;padding:0;position:relative;overflow:hidden}button.thumb.add{border:1px dashed var(--line-strong);background:var(--white);color:var(--charcoal)}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-state{color:var(--white);background:#231f20d1;padding:2px 0;font-size:16px;font-weight:600;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.thumb-state.failed{background:var(--red)}.photo-full{border-radius:var(--radius);width:100%;height:auto;display:block}ul.history{margin:0;padding:0;list-style:none}.history li{border-top:1px solid var(--line);justify-items:start;gap:4px;padding:12px 0;display:grid}.history .waiting{color:var(--orange);font-weight:600}.flag-card{border:1px solid var(--orange);border-radius:var(--radius);background:var(--orange-bg);margin-bottom:16px}.flag-head{color:var(--orange);align-items:center;gap:8px;padding:12px 16px 4px;display:flex}.flag-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 12px;font-size:18px;font-weight:600;display:flex}.flag-row span{color:var(--ink-2);font-size:16px;font-weight:400;display:block}.flag-row .button{min-height:48px;padding:0 16px;font-size:16px}.flag-list{margin:0;padding:4px 16px 8px 36px;font-weight:600;line-height:1.6}.flag-foot{color:var(--ink-2);margin:0;padding:0 16px 12px}.row-warn{color:var(--orange);align-items:center;gap:8px;margin:0 0 12px;font-weight:600;display:flex}.row-warn svg{flex:none}.worked-street>strong{margin-bottom:8px;font-size:18px;display:block}.worked-street button.chip{gap:8px}.todays-record{margin-top:16px}.tabbar{z-index:20;border-top:1px solid var(--line);background:var(--white);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:64px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:16px;font-weight:500;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--charcoal);box-shadow:inset 0 3px 0 var(--charcoal);font-weight:700}body:has(.tabbar) .toast-region{bottom:88px}.page.field .pill{height:32px;font-size:16px}.page.field .confidence,.toast small{font-size:16px}.office-job{max-width:1440px}.crumb{color:var(--muted);margin:0 0 4px;font-size:14px}.live-dot{color:var(--muted);align-items:center;gap:6px;margin-right:8px;font-size:13px;font-weight:600;display:inline-flex}.live-dot:before{content:"";background:var(--line-strong);border-radius:50%;width:8px;height:8px}.live-dot.on{color:var(--green)}.live-dot.on:before{background:var(--green)}.tabs-bar{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.office .tabs-bar button{min-height:40px;box-shadow:none;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 14px;font-weight:500}.office .tabs-bar button.on{border-bottom-color:var(--charcoal);color:var(--charcoal);font-weight:600}.tabs-bar b{background:var(--grey-bg);border-radius:10px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:600}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi.wide{grid-column:span 2}.office .kpi{border:1px solid var(--line);border-top:3px solid var(--line-strong);border-radius:var(--radius);background:var(--white);height:auto;min-height:0;box-shadow:var(--shadow);text-align:left;padding:12px 16px;font-weight:400;display:block}.kpi small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600;display:block}.kpi b{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.2;display:block}.kpi em{color:var(--muted);font-size:13px;font-style:normal;display:block}.kpi.wide{border-top-color:var(--green)}.kpi.blue{border-top-color:var(--blue)}.kpi.orange{border-top-color:var(--orange)}.kpi.red{border-top-color:var(--red)}.kpi .progress{margin:4px 0 6px}.office-grid{grid-template-columns:minmax(320px,420px) 1fr;align-items:start;gap:16px;display:grid}.office-job .card h2,.photo-day h2{margin:0 0 12px;font-size:15px}.office-job .card.flush{padding:0;overflow-x:auto}.office-job .card.flush>h2,.photo-day h2{padding:16px 16px 0}.office-job .card.flush>.filters{border-bottom:1px solid var(--line);margin:0;padding:12px 16px}.office .bar-row{width:100%;min-height:34px;box-shadow:none;text-align:left;background:0 0;border:0;grid-template-columns:170px 1fr 44px;align-items:center;gap:12px;padding:0;font-weight:500;display:grid}.bar-row b{text-align:right;font-variant-numeric:tabular-nums}.track{background:var(--grey-bg);border-radius:4px;height:8px;display:block;overflow:hidden}.track span{background:var(--charcoal);border-radius:4px;height:100%;display:block}table.plain{border-collapse:collapse;width:100%;font-size:14px}table.plain th{border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}table.plain td{border-bottom:1px solid var(--line);height:44px;padding:4px 16px}table.plain .num{text-align:right;font-variant-numeric:tabular-nums}table.plain td.strong{font-weight:600}table.plain tr.sum-row td{border-top:2px solid var(--line-strong);background:var(--surface);font-weight:600}table.plain td.bar-cell{min-width:120px}table.plain td.bar-cell .progress{border-radius:4px;height:8px;margin:0}table.plain td .pill+.pill{margin-left:4px}table.plain select{width:auto;min-height:36px;font-size:14px}.office button.link{white-space:nowrap;text-align:left;min-height:0;box-shadow:none;color:inherit;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.row-actions{white-space:nowrap;justify-content:flex-end;gap:8px;display:flex}.row-actions button,.row-actions .button{min-height:36px}.feed{margin:0;padding:0 16px 12px;list-style:none}.feed li{align-items:center;gap:12px;min-height:36px;font-size:14px;display:flex}.feed .when{width:130px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.pad{padding:0 16px 12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:0 16px 16px;display:grid}.photo-grid figure{margin:0}.office .photo-grid button{aspect-ratio:1;background:var(--grey-bg);justify-content:center;align-items:center;width:100%;padding:0;display:flex;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid figcaption{margin-top:4px;font-size:13px}.print-only{display:none}@media print{.topbar,.tabs-bar,.filters,.page-head,.crumb,.no-print,.toast-region,.outbox-bar{display:none!important}.print-only{display:block}.office,.office-job .card{box-shadow:none;background:#fff;border:0}table.plain td{height:auto;padding:4px 8px}}@media (width<=900px){.office-grid{grid-template-columns:1fr}}.page.client{max-width:1100px}.page.client .card h2{margin:0;padding:16px 16px 12px;font-size:15px}.page.client .card.flush{padding:0;overflow-x:auto}.page.client .card.flush>.filters{border-bottom:1px solid var(--line);margin:0;padding:12px 16px}.client-photos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.client-photos figure{margin:0}.client-photos img{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;width:100%;display:block}@media (width<=700px){.page.client{padding:16px}.page.client .kpi.wide{grid-column:1/-1}.page.client .wide-only{display:none}.page.client table.plain th,.page.client table.plain td{white-space:normal;padding:6px 8px}.page.client .filters input,.page.client .filters select{flex:140px}.page.client table.stack,.page.client table.stack tbody{display:block}.page.client table.stack thead{display:none}.page.client table.stack tr{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:10px 16px;display:grid}.page.client table.stack td{border:0;height:auto;padding:0;font-size:16px}.page.client table.stack td:nth-child(5){color:var(--muted);grid-column:1/3;font-size:14px}.page.client table.stack td:nth-child(6){text-align:right;grid-column:3;font-size:14px}.page.client table.stack td:nth-child(5):empty,.page.client table.stack td:nth-child(6):empty{display:none}}.narrow-only{display:none}@media (width<=700px){.page.client .narrow-only{display:inline}}.office-grid.report{grid-template-columns:minmax(360px,560px) 1fr}.office-job textarea{width:100%;min-height:76px;font:inherit;padding:8px 12px}.row-actions.start{white-space:normal;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin:12px 0}.plain-list{margin:0 0 12px;padding:0;list-style:none}.plain-list li{padding:4px 0}.office-job .card h2 svg{vertical-align:-3px}.warn-list{color:var(--orange);margin:0 0 12px;padding-left:20px}
