:root{--ui-bg:#f2f2f7;--ui-surface:#fff;--ui-text:#1c1c1e;--ui-muted:#6c6c70;--ui-border:#d1d1d6;--ui-accent:#0a64d6;--ui-accent-text:#fff;--ui-danger:#c42b1c;--ui-ok:#1f8a3b;--ui-warn:#b26a00;--ui-radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ui-bg:#000;--ui-surface:#1c1c1e;--ui-text:#f2f2f7;--ui-muted:#98989f;--ui-border:#38383a;--ui-accent:#3b8cff;--ui-danger:#ff6b5e;--ui-ok:#4cd168;--ui-warn:#ffb340}}*,:before,:after{box-sizing:border-box}html,body{background:var(--ui-bg);color:var(--ui-text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.ui-layout{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.ui-header{z-index:10;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--ui-bg) 85%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:.5px solid var(--ui-border);align-items:center;gap:8px;display:flex;position:sticky;top:0}.ui-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:20px;font-weight:700;overflow:hidden}.ui-header-actions{align-items:center;gap:8px;display:flex}.ui-main{width:100%;max-width:640px;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.ui-button{appearance:none;border-radius:var(--ui-radius);min-height:44px;font:inherit;cursor:pointer;background:var(--ui-accent);color:var(--ui-accent-text);touch-action:manipulation;border:0;padding:0 16px;font-weight:600}.ui-button:disabled{opacity:.45;cursor:default}.ui-button:not(:disabled):active{opacity:.7}.ui-button--secondary{background:var(--ui-surface);color:var(--ui-accent);border:1px solid var(--ui-border)}.ui-button--danger{color:var(--ui-danger);background:0 0;border:1px solid}.ui-button--ghost{color:var(--ui-accent);background:0 0;padding:0 8px}.ui-button:focus-visible,.ui-input:focus-visible,.ui-list-item--button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-field{flex-direction:column;gap:6px;display:flex}.ui-field-label{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.02em;font-size:13px;font-weight:600}.ui-field-hint{color:var(--ui-muted);font-size:13px}.ui-field-error{color:var(--ui-danger);font-size:13px}.ui-input{width:100%;min-height:44px;font:inherit;color:inherit;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:10px 12px}textarea.ui-input{resize:vertical;min-height:88px}.ui-list{background:var(--ui-surface);border-radius:var(--ui-radius);margin:0;padding:0;list-style:none;overflow:hidden}.ui-list-item{align-items:center;gap:12px;min-height:48px;padding:12px 16px;display:flex}.ui-list>li+li{border-top:.5px solid var(--ui-border)}.ui-list-item--button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.ui-list-item--button:active{background:color-mix(in srgb, var(--ui-text) 6%, transparent)}.ui-list-item-body{overflow-wrap:anywhere;flex:1;min-width:0}.ui-list-item-meta{color:var(--ui-muted);font-size:13px}.ui-list-empty{text-align:center;color:var(--ui-muted);padding:24px 16px}.ui-sync{color:var(--ui-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.ui-sync-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.ui-sync--synced{color:var(--ui-ok)}.ui-sync--pending{color:var(--ui-warn)}.ui-sync--offline{color:var(--ui-muted)}.ui-sync--error{color:var(--ui-danger)}.ui-sync--busy .ui-sync-dot{animation:1s ease-in-out infinite ui-pulse}@keyframes ui-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.ui-sync--busy .ui-sync-dot{animation:none}}.ui-row{flex-wrap:wrap;gap:8px;display:flex}.ui-row>.ui-button{flex:1}.ui-muted{color:var(--ui-muted);font-size:15px}.ui-layout--bottom .ui-main{padding-bottom:calc(env(safe-area-inset-bottom) + 140px)}.ui-tabbar{z-index:20;padding:6px max(8px, env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + 6px) max(8px, env(safe-area-inset-right));background:color-mix(in srgb, var(--ui-surface) 90%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-top:.5px solid var(--ui-border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.ui-tab{min-height:44px;color:var(--ui-muted);border-radius:10px;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:flex}.ui-tab--active{color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 12%, transparent)}.ui-fab{right:max(16px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 72px);z-index:25;min-height:52px;font:inherit;color:var(--ui-accent-text);background:var(--ui-accent);cursor:pointer;touch-action:manipulation;border:0;border-radius:26px;padding:0 20px;font-weight:700;position:fixed;box-shadow:0 6px 20px #00000040}.ui-fab:active{opacity:.8}.ui-sheet-root{z-index:50;pointer-events:none;position:fixed;inset:0}.ui-sheet-backdrop{opacity:0;background:#00000059;transition:opacity .2s;position:absolute;inset:0}.ui-sheet{max-height:92dvh;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);background:var(--ui-bg);border-radius:16px 16px 0 0;flex-direction:column;gap:14px;transition:transform .22s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%)}.ui-sheet-root--open{pointer-events:auto}.ui-sheet-root--open .ui-sheet-backdrop{opacity:1}.ui-sheet-root--open .ui-sheet{transform:none}.ui-sheet-head{justify-content:space-between;align-items:center;display:flex}.ui-sheet-head h2{margin:0;font-size:18px}@media (prefers-reduced-motion:reduce){.ui-sheet,.ui-sheet-backdrop{transition:none}}.ui-chips{flex-wrap:wrap;gap:8px;display:flex}.ui-chip{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:36px;color:var(--ui-text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:18px;padding:0 14px;font-size:15px}.ui-chip--on{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text);font-weight:600}.ui-chip:focus-visible,.ui-tab:focus-visible,.ui-fab:focus-visible,.ui-card--button:focus-visible,.ui-toggle:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ui-muted) 50%), linear-gradient(135deg, var(--ui-muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.ui-toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.ui-toggle-label{flex-direction:column;gap:2px;display:flex}.ui-toggle{appearance:none;background:var(--ui-border);cursor:pointer;border-radius:16px;flex:none;width:51px;height:31px;margin:0;transition:background .15s;position:relative}.ui-toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.ui-toggle:checked{background:var(--ui-ok)}.ui-toggle:checked:after{transform:translate(20px)}.ui-card{text-align:left;width:100%;font:inherit;color:inherit;background:var(--ui-surface);border-radius:var(--ui-radius);border:0;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ui-card--accent{background:color-mix(in srgb, var(--ui-accent) 12%, var(--ui-surface))}.ui-card--button{cursor:pointer}.ui-card--button:active{opacity:.75}.ui-card strong{font-size:17px}.ui-section{flex-direction:column;gap:8px;display:flex}.ui-section-head{justify-content:space-between;align-items:center;min-height:32px;display:flex}.ui-section-head h2{letter-spacing:.02em;text-transform:uppercase;color:var(--ui-muted);margin:0;font-size:13px;font-weight:600}.ui-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.ui-badge--muted{color:var(--ui-muted);background:color-mix(in srgb, var(--ui-muted) 15%, transparent)}.ui-badge--accent{color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 15%, transparent)}.ui-badge--ok{color:var(--ui-ok);background:color-mix(in srgb, var(--ui-ok) 15%, transparent)}.ui-badge--warn{color:var(--ui-warn);background:color-mix(in srgb, var(--ui-warn) 15%, transparent)}.ui-button--armed{background:var(--ui-danger);color:#fff}.stack{flex-direction:column;gap:16px;display:flex}.meta-line{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions-end{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.align-start{align-self:flex-start}.attachment{gap:8px;padding:8px 8px 8px 12px}.attachment-open{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.attachment-open .ui-list-item-body{overflow-wrap:anywhere;flex-direction:column;gap:2px;display:flex}.attachment-thumb,.attachment-icon{object-fit:cover;background:var(--ui-bg);border-radius:8px;flex:none;width:48px;height:48px}.attachment-icon{color:var(--ui-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.viewer{z-index:60;color:#fff;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{--ui-accent:#fff;align-items:center;gap:8px;padding:6px 8px;display:flex}.viewer-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;min-width:0;font-weight:600;overflow:hidden}.viewer-img{object-fit:contain;flex:1;width:100%;min-height:0}.viewer-msg{color:#ccc;margin:auto}.ui-preview-item{flex-direction:column;gap:2px;display:flex}.ui-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}:root{--ui-accent:#1f6f6b}@media (prefers-color-scheme:dark){:root{--ui-accent:#5cc8bf;--ui-accent-text:#062523}}.stack-tight{flex-direction:column;gap:6px;display:flex}.inline-input{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.pre-line{white-space:pre-line}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-card .big-number{font-variant-numeric:tabular-nums;font-size:30px}.warn-text{color:var(--ui-warn);font-size:14px}.meta-stack{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.badges{flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.group-title{color:var(--ui-muted);margin:4px 0 0;font-size:13px;font-weight:600}.more-fields{border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:10px 12px}.more-fields>summary{cursor:pointer;min-height:28px;font-weight:600}.more-fields[open]>summary{margin-bottom:10px}.warnings{color:var(--ui-warn);background:color-mix(in srgb, var(--ui-warn) 10%, transparent);border-radius:10px;margin:0;padding:8px 12px;font-size:14px;list-style:none}.warnings a{color:inherit}.warnings li+li{margin-top:4px}.steps{color:var(--ui-muted);flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.steps .on{color:var(--ui-accent)}.progress{flex-direction:column;gap:4px;display:flex}.progress+.progress{margin-top:10px}.progress-text{justify-content:space-between;gap:8px;display:flex}.progress-track{background:color-mix(in srgb, var(--ui-accent) 15%, transparent);border-radius:4px;height:8px;display:block;overflow:hidden}.progress-fill{background:var(--ui-accent);border-radius:4px;height:100%;transition:width .2s;display:block}.progress-fill--done{background:var(--ui-ok)}.tick{border:2px solid var(--ui-border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-right:12px;display:inline-flex}.tick--on{border-color:var(--ui-ok);background:var(--ui-ok)}.tick--on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:11px;margin-top:-2px;transform:rotate(45deg)}.pack-row{min-height:52px}.packed-name{color:var(--ui-muted)}.struck{color:var(--ui-muted);text-decoration:line-through}.reorder-row{align-items:center;display:flex}.reorder-row>.ui-list-item{flex:1}.print-page{background:#fff;min-height:100vh}.print-bar{background:var(--ui-bg);padding:12px 16px}.print-doc{color:#111;max-width:180mm;margin:0 auto;padding:12mm;font:11pt/1.45 -apple-system,Segoe UI,Helvetica,Arial,sans-serif}.print-doc h1{margin:0 0 1mm;font-size:18pt}.print-doc .sub{color:#444;margin:0 0 4mm}.print-doc h2{text-transform:uppercase;letter-spacing:.06em;break-after:avoid;border-bottom:1px solid #999;margin:5mm 0 2mm;padding-bottom:1mm;font-size:11pt}.print-doc .note{color:#555}.print-list{columns:2;column-gap:8mm;margin:0;padding:0;list-style:none}.print-list li{break-inside:avoid;gap:2mm;margin:1mm 0;display:flex}.print-list .box{text-align:center;border:1px solid #333;flex:none;width:3.5mm;height:3.5mm;margin-top:1mm;font-size:8pt;line-height:3.5mm}@page{size:A4;margin:12mm}@media print{.no-print{display:none!important}html,body{background:#fff!important}.print-doc{max-width:none;padding:0}}.days{background:var(--ui-surface);border-radius:var(--ui-radius);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.day{background:var(--ui-bg);grid-template-columns:96px 1fr;gap:8px;padding:10px 12px;display:grid}.day--today{box-shadow:inset 3px 0 0 var(--ui-accent)}.day-date{font-variant-numeric:tabular-nums;font-size:14px}.day-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.day-segment{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.bars{background:var(--ui-surface);border-radius:var(--ui-radius);flex-direction:column;gap:12px;margin:0;padding:12px;list-style:none;display:flex}.budget-line{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.bar-label{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;display:flex}.bar-track{background:color-mix(in srgb, var(--ui-accent) 15%, transparent);border-radius:4px;height:8px;display:block}.bar{background:var(--ui-accent);border-radius:4px;height:8px;display:block}.bar--near{background:var(--ui-warn)}.bar--over{background:var(--ui-danger)}.inline-add{border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;gap:10px;padding:12px;display:flex}.totals-line{font-variant-numeric:tabular-nums;margin:0}
