:root{--brand:#1f5f4a;--brand-strong:#164536;--brand-soft:#e3f0ea;--bg:#f6f7f5;--surface:#fff;--text:#1b1f1d;--muted:#5d6762;--border:#dde2df;--warn:#8a5300;--warn-bg:#fff4e0;--danger:#b3261e;--danger-bg:#fdecea;--ok:#1d6b3a;--ok-bg:#e5f4ea;--info:#24529e;--info-bg:#e8effb;--radius:12px;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000a;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--brand:#5fbf98;--brand-strong:#7fd4b0;--brand-soft:#1d3a30;--bg:#121514;--surface:#1b1f1d;--text:#e8ece9;--muted:#a3ada8;--border:#2f3633;--warn:#ffc56b;--warn-bg:#3a2d14;--danger:#ff8a80;--danger-bg:#3d1d1a;--ok:#7fd49a;--ok-bg:#18301f;--info:#9dbcf5;--info-bg:#1b2740;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-padding-top:72px;scroll-padding-bottom:calc(var(--nav-h) + 96px)}body{background:var(--bg);margin:0}h1,h2{margin:0;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1.05rem}p{margin:0}a{color:var(--brand)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:.875rem}.err{color:var(--danger);font-size:.875rem}.ok{color:var(--ok);align-items:center;gap:4px;font-size:.875rem;display:inline-flex}.struck{color:var(--muted);text-decoration:line-through}.skip{background:var(--surface);z-index:100;padding:8px 12px;position:absolute;top:0;left:-999px}.skip:focus{left:8px}.shell{min-height:100vh}.topbar{z-index:20;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:8px;font-size:1.05rem;text-decoration:none;display:flex}.brand b{color:var(--brand)}.who{color:var(--muted);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:40vw;padding:6px 12px;font-size:.875rem;text-decoration:none;overflow:hidden}.main{padding:16px;padding-bottom:calc(var(--nav-h) + 96px);outline:none;max-width:960px;margin:0 auto}.sidenav{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.navlink{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;font-size:.75rem;text-decoration:none;display:flex;position:relative}.navlink.active{color:var(--brand);font-weight:600}.navlink .nav-long{display:none}.dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:calc(50% + 8px)}.fab{right:16px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:25;background:var(--brand);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:14px 20px;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 4px 14px #0003}@media (prefers-color-scheme:dark){.fab{color:#08130f}}@media (width>=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:220px 1fr;display:grid}.sidenav{background:0 0;border-top:0;flex-direction:column;align-self:start;gap:4px;height:auto;padding:16px 12px;display:flex;position:sticky;top:57px}.navlink{border-radius:10px;flex-direction:row;justify-content:flex-start;gap:10px;padding:10px 12px;font-size:.95rem}.navlink.active{background:var(--brand-soft)}.navlink .nav-long{display:inline}.navlink .nav-short{display:none}.dot{margin-left:auto;position:static}.main{margin:0;padding:24px 32px 96px}.fab{bottom:24px;right:32px}}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:10px;display:flex}.grid-2{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=600px){.grid-2{grid-template-columns:1fr 1fr}}.page-head{align-items:center;gap:8px;display:flex}.page-head h1{flex:1}.page-head-actions{gap:8px;display:flex}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card>h2{margin-bottom:8px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.actions-start{justify-content:flex-start}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}@media (prefers-color-scheme:dark){.btn-primary{color:#08130f}}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-ghost{background:0 0}.btn-danger{color:var(--danger);border-color:currentColor}.btn-big{min-height:52px;padding:12px 20px;font-size:1.05rem}.btn-small{min-height:36px;padding:4px 12px;font-size:.875rem}.iconbtn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.iconbtn:disabled{opacity:.35}.iconbtn:hover:not(:disabled){background:var(--brand-soft)}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>label,.field>span,.field>legend{padding:0;font-size:.95rem;font-weight:500}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-height:48px;padding:10px 12px}textarea{resize:vertical;min-height:72px}[aria-invalid=true],.has-error input,.has-error select{border-color:var(--danger);border-width:2px}.input-amount{letter-spacing:.01em;font-size:1.75rem;font-weight:600}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.check input{width:20px;height:20px;accent-color:var(--brand)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{position:relative}.chip input{opacity:0;position:absolute;inset:0}.chip span{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;min-height:44px;padding:8px 16px;display:inline-flex}.chip input:checked+span{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.chip input:checked+span:before{content:"✓ ";margin-right:4px}.chip input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}.segmented{background:var(--border);border-radius:12px;gap:4px;min-width:0;margin:0;padding:4px;display:flex;overflow-x:auto}.segmented button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1;min-height:40px;padding:0 12px}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--surface);box-shadow:var(--shadow);font-weight:600}.segmented-wide button{min-height:48px}.more summary{cursor:pointer;color:var(--brand);align-items:center;min-height:44px;font-weight:500;display:flex}.more[open] summary{margin-bottom:8px}.form-actions{bottom:calc(var(--nav-h) + 8px + env(safe-area-inset-bottom));position:sticky}.form-actions .btn{width:100%;box-shadow:0 4px 14px #00000026}@media (width>=900px){.form-actions{bottom:16px}.form-actions .btn{width:auto;min-width:240px}}.filters{flex-direction:column;gap:10px;display:flex}.search{display:block;position:relative}.search svg{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input[type=search]{padding-left:40px}.filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-inline{min-width:0;max-width:100%;color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.field-inline select{text-overflow:ellipsis;width:auto;min-width:0;max-width:100%;min-height:40px;color:var(--text);padding:6px 10px}.subtotal{background:var(--brand-soft);border-radius:10px;padding:10px 14px}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--border)}.list-plain{background:0 0;border:0}.row{color:var(--text);align-items:flex-start;gap:12px;min-height:64px;padding:12px 14px;text-decoration:none;display:flex}a.row:hover{background:var(--brand-soft)}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{text-overflow:ellipsis;font-weight:600;overflow:hidden}.row-meta{color:var(--muted);font-size:.875rem}.row-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.row-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.row-static{padding:10px 0}.badge,.tag{background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.badge-submitted{background:var(--info-bg);color:var(--info);border-color:#0000}.badge-approved,.badge-reconciled{background:var(--ok-bg);color:var(--ok);border-color:#0000}.badge-returned{background:var(--warn-bg);color:var(--warn);border-color:#0000}.badge-void{color:var(--muted)}.tag-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.greeting{font-size:1.5rem}.callout{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.callout>span{flex-direction:column;flex:1;display:flex}.callout>span>span{color:var(--muted);font-size:.875rem}.callout-monday{background:var(--brand);color:#fff;border-color:var(--brand)}.callout-monday>span>span{color:#ffffffd9}@media (prefers-color-scheme:dark){.callout-monday,.callout-monday>span>span{color:#08130f}}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.card .stat{box-shadow:none;background:var(--bg)}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.stat-sub{color:var(--muted);font-size:.8rem}.todo{margin:0;padding:0;list-style:none}.todo a{min-height:48px;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.todo a>span{flex:1}.todo svg:first-child{color:var(--warn)}.todo li+li{border-top:1px solid var(--border)}.hero{flex-direction:column;gap:4px;display:flex}.hero-amount{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.hero-purpose{font-size:1.1rem}.banner-warn,.banner-error,.banner-ok{border-radius:10px;padding:10px 14px}.banner-warn{background:var(--warn-bg);color:var(--warn)}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-ok{background:var(--ok-bg);color:var(--ok)}.review-bar{flex-wrap:wrap;gap:8px;display:flex}.kv{gap:0;margin:0;display:grid}.kv>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--muted)}.kv dd{text-align:right;margin:0;font-weight:500}.kv-money dd{font-variant-numeric:tabular-nums}.kv-total{font-weight:700}.kv-total dt{color:var(--text)}.gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.thumb{color:var(--text);flex-direction:column;gap:6px;font-size:.8rem;text-decoration:none;display:flex}.thumb img,.thumb-file{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%}.thumb-file{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.thumb-cap{overflow-wrap:anywhere}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.timeline li{border-left:2px solid var(--border);padding-left:14px}.picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.picker .btn{white-space:nowrap;padding-left:10px;padding-right:10px}.queue{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.queue-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.queue-item img,.queue-file{object-fit:cover;background:var(--bg);border-radius:6px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.queue-body{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:.875rem;display:flex}.queue-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.queue-failed{border-color:var(--danger)}progress{width:100%;height:6px;accent-color:var(--brand)}.week-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:4px;display:flex}.week-label{text-align:center;font-weight:600}.check-item{border:1px solid var(--border);border-radius:10px;padding:0 12px}.check-item[open]{padding-bottom:12px}.check-item summary{cursor:pointer;align-items:center;gap:12px;min-height:52px;list-style:none;display:flex}.check-item summary::-webkit-details-marker{display:none}.check-mark{background:var(--warn-bg);min-width:28px;height:28px;color:var(--warn);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.875rem;font-weight:700;display:inline-flex}.check-done .check-mark{background:var(--ok-bg);color:var(--ok)}.check-done .check-title{color:var(--muted)}.check-title{flex:1;font-weight:500}.check-item .hint{margin-bottom:8px}.bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bars li{grid-template-columns:minmax(6rem,1.6fr) minmax(2rem,1fr) 5.5rem;align-items:center;gap:8px;font-size:.875rem;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--bg);border-radius:999px;height:10px;overflow:hidden}.bar-fill{background:var(--brand);border-radius:999px;height:100%;display:block}.bar-value{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.state strong{color:var(--text);font-size:1.05rem}.state-error svg{color:var(--danger)}.state-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.dialog{border-radius:var(--radius);background:var(--surface);width:min(440px,100vw - 32px);color:var(--text);border:0;padding:20px}.dialog::backdrop{background:#00000073}.dialog form{flex-direction:column;gap:14px;display:flex}.toasts{left:50%;bottom:calc(var(--nav-h) + 84px);z-index:50;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);border-radius:10px;padding:12px 16px;box-shadow:0 4px 14px #0003}.toast-error{background:var(--danger);color:#fff}@media (width>=900px){.toasts{bottom:24px}}.brand-mark{background:var(--brand);color:#fff;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}fieldset.segmented{border:0;margin:0}.segment{flex:1;display:flex;position:relative}.segment input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segment span{white-space:nowrap;border-radius:9px;flex:1;justify-content:center;align-items:center;min-height:48px;padding:0 12px;display:flex}.segment input:checked+span{background:var(--surface);box-shadow:var(--shadow);font-weight:600}.segment input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}@media (width>=900px){.topbar{grid-column:1/-1}}fieldset.review-bar{border:0;margin:0;padding:0}.field.has-error input,.field.has-error select,.field.has-error textarea{border:2px solid var(--danger)}.signin{background:var(--bg);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.signin-card{width:100%;max-width:400px;padding:24px}.signin-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.signin-brand h1{margin:0;font-size:1.4rem}.signin-brand .brand-mark{width:44px;height:44px}.signin-google{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:48px;display:flex}.signin-google-button{justify-content:center;width:100%;min-height:44px;display:flex}button.person-row:hover{background:var(--brand-soft)}.person-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.dialog code{-webkit-user-select:all;user-select:all;font-size:1rem;font-weight:600}.picker-input{grid-template-columns:1fr auto}
