:root{--bg:#f5f4f1;--surface:#fff;--surface-2:#f0eeea;--border:#e4e1db;--text:#1c1917;--muted:#78716c;--accent:#d97706;--accent-strong:#b45309;--accent-soft:#fef3c7;--accent-text:#fff;--done:#16a34a;--doing:#d97706;--blocked:#dc2626;--ready:#2563eb;--danger:#dc2626;--radius:14px;--tabbar-h:64px;--appbar-h:calc(var(--safe-t) + 48px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#12100e;--surface:#1c1917;--surface-2:#292524;--border:#35302c;--text:#f5f5f4;--muted:#a8a29e;--accent:#f59e0b;--accent-strong:#fbbf24;--accent-soft:#3a2a0a;--accent-text:#1c1917;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--appbar-h) + 140px)}html,body{overscroll-behavior-y:none;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}body.no-scroll{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.4}a{color:inherit}h1{letter-spacing:-.02em;margin:0;font-size:1.6rem}h2{margin:0 0 12px;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.splash{background:var(--bg);min-height:100vh}.main{max-width:760px;padding:0 16px calc(var(--tabbar-h) + var(--safe-b) + 96px);margin:0 auto}.appbar{z-index:30;height:var(--appbar-h);padding:var(--safe-t) 16px 0;background:var(--bg);justify-content:center;align-items:center;gap:8px;display:flex;position:sticky;top:0}.appbar img{border-radius:6px;width:24px;height:24px}.appbar-name{letter-spacing:.02em;font-size:1.05rem;font-weight:800}.view-header{top:var(--appbar-h);z-index:5;background:var(--bg);border-bottom:1px solid #0000;flex-direction:column;gap:10px;margin:0 -16px;padding:4px 16px 10px;transition:border-color .25s,box-shadow .25s;display:flex;position:sticky}body.scrolled .view-header{border-bottom-color:var(--border);box-shadow:0 6px 16px -10px #00000059}.page>.view>:not(.sheet-backdrop):not(.viewer):not(.view-header){animation:.24s cubic-bezier(.2,.8,.2,1) page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.top-progress{z-index:200;pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent, var(--accent), transparent);background-repeat:no-repeat;background-size:50% 100%;height:3px;transition:opacity .3s;position:fixed;top:0;left:0;right:0}.top-progress.on{opacity:1;animation:1s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{background-position:-50% 0}to{background-position:150% 0}}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:12px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.skeleton-row{height:56px}.skeleton-card{height:180px}.skeleton-block{height:140px;margin-bottom:12px}.more-menu{flex-direction:column;gap:6px;margin:0;padding:0 0 8px;list-style:none;display:flex}.more-menu button{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 12px;transition:transform .1s,background .15s;display:flex}.more-menu button:active{transform:scale(.98)}.more-menu button.on{border-color:var(--accent);background:var(--accent-soft)}.more-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);border-radius:10px;flex:none;place-items:center;display:grid}.more-text{flex-direction:column;flex:1;display:flex}.more-danger{color:var(--danger);margin-top:6px}.more-danger .more-icon{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.view-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tabbar{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:var(--safe-b);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:160px;height:var(--tabbar-h);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.72rem;display:flex}.tabbar button.on{color:var(--accent);font-weight:600}.fab{z-index:21;right:max(18px,50vw - 362px);bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);background:var(--accent);width:58px;height:58px;color:var(--accent-text);border-radius:18px;place-items:center;transition:transform .15s;display:grid;position:fixed;box-shadow:0 6px 20px #d9770666}.fab:active{transform:scale(.92)}.toast{z-index:100;left:50%;top:calc(var(--safe-t) + 12px);background:var(--text);color:var(--bg);box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:.9rem;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.btn{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:600;text-decoration:none;transition:transform .1s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-block{width:100%}.btn-ghost{color:var(--muted);background:0 0;border-style:dashed;min-height:40px;font-weight:500}.btn-danger-ghost{color:var(--danger);background:0 0;border:none;min-height:40px;padding:0 8px;font-weight:500}.icon-btn{width:40px;height:40px;color:var(--text);border-radius:10px;flex:none;place-items:center;text-decoration:none;display:inline-grid;position:relative}.icon-btn.small{width:28px;height:28px}.icon-btn.boxed{background:var(--surface);border:1px solid var(--border);width:44px;height:44px}.icon-btn.active{color:var(--accent);border-color:var(--accent)}.icon-btn.danger{color:var(--danger)}.count-badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-text);border-radius:9px;place-items:center;padding:0 4px;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.link-btn{color:var(--muted);align-items:center;gap:4px;padding:4px 0;font-size:.85rem;display:inline-flex}.link-btn.on{color:var(--accent);font-weight:600}.input,.select{border:1px solid var(--border);background:var(--surface);border-radius:10px;outline:none;width:100%;min-height:44px;padding:0 12px}.input:focus,.select:focus{border-color:var(--accent)}.select{flex:none;width:auto}.input-plain{background:0 0;border-color:#0000}.input-plain:focus{background:var(--surface)}.toolbar{gap:8px;display:flex}.search{background:var(--surface);border:1px solid var(--border);height:44px;color:var(--muted);border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 8px 0 12px;display:flex}.search:focus-within{border-color:var(--accent)}.search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;height:100%}.search input::-webkit-search-cancel-button{display:none}.sheet .search{flex:none;margin-bottom:8px}.chip-row{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.sheet .chip-row{margin:0 -18px;padding:2px 18px}.chip-wrap,.dep-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:.9rem;display:inline-flex}.chip-active{background:var(--text);border-color:var(--text);color:var(--bg)}.chip-count{opacity:.6;font-size:.78rem}.chip-add{color:var(--muted);border-style:dashed}.chip-input{border-color:var(--accent);padding:0 4px 0 12px}.chip-input input{background:0 0;border:none;outline:none;width:140px}.segmented{gap:6px;display:flex}.seg{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:1;min-height:40px;font-size:.88rem;font-weight:600}.seg.on{background:var(--text);border-color:var(--text);color:var(--bg)}.seg-done.on{background:var(--done);border-color:var(--done);color:#fff}.seg-doing.on{background:var(--doing);border-color:var(--doing);color:#fff}.progress{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.progress.big{border-radius:6px;width:100%;height:12px}.progress-bar{background:var(--done);border-radius:inherit;height:100%;transition:width .3s}.check-line{color:var(--muted);align-items:center;gap:8px;margin:4px 0 8px;font-size:.88rem;display:flex}.check-line input{accent-color:var(--accent);width:18px;height:18px}.banner{border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:.88rem;display:flex}.banner-warn{background:color-mix(in srgb, var(--blocked) 12%, transparent);color:var(--blocked)}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty p{margin:0 0 16px}.tabs-row .chip{height:34px}.list-meta{justify-content:space-between;display:flex}.task-list{margin:0;padding:0;list-style:none}.group-header{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 4px 6px;font-size:.75rem;font-weight:700}.task-row{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--cat);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:56px;margin-bottom:6px;padding:8px 10px 8px 6px;transition:transform .1s;animation:.2s ease-out row-in;display:flex}@keyframes row-in{0%{opacity:0}}.task-row:active{transform:scale(.99)}.task-row-main{flex:1;min-width:0}.task-row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.task-row.is-done .task-row-title{color:var(--muted);font-weight:500;text-decoration:line-through}.task-row.is-blocked .task-row-title{color:var(--muted)}.task-row-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-top:2px;font-size:.78rem;display:flex}.task-row-meta:empty{display:none}.meta-item{align-items:center;gap:3px;display:inline-flex}.meta-cat{color:var(--cat);filter:saturate(.9);font-weight:600}.meta-blocked{color:var(--blocked);font-weight:600}.prio-badge{border:1.5px solid;border-radius:6px;flex:none;padding:1px 5px;font-size:.72rem;font-weight:700}.doing-badge{color:var(--doing);background:color-mix(in srgb, var(--doing) 14%, transparent);border-radius:6px;flex:none;padding:2px 6px;font-size:.72rem;font-weight:700}.reorder-btns{gap:2px;display:flex}.status-btn:active .status-icon{transform:scale(.85)}.status-btn{flex:none;place-items:center;width:40px;height:40px;margin:-4px 0;display:grid}.status-icon{border:2px solid var(--muted);color:#fff;border-radius:50%;flex:none;place-items:center;transition:background .2s,border-color .2s,transform .2s;display:inline-grid}.status-doing{border-color:var(--doing);background:linear-gradient(90deg, var(--doing) 50%, transparent 50%)}.status-done{border-color:var(--done);background:var(--done)}.sheet-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;max-height:calc(100dvh - var(--safe-t) - 24px);background:var(--bg);padding-bottom:var(--safe-b);border-radius:20px 20px 0 0;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) slide-up;display:flex}.sheet-tall{height:calc(100dvh - var(--safe-t) - 24px)}@media (width>=720px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px;max-height:88vh}.sheet-tall{height:auto;min-height:60vh}}@keyframes slide-up{0%{opacity:.5;transform:translateY(40px)}}@keyframes fade-in{0%{opacity:0}}.sheet-header{align-items:center;gap:4px;padding:10px 8px 6px 18px;display:flex}.sheet-title{flex:1;font-size:1.05rem;font-weight:700}.sheet-body{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain;flex:1;padding:4px 18px 18px;overflow-y:auto}.sheet-footer{border-top:1px solid var(--border);padding:10px 18px 14px}.task-form{flex-direction:column;gap:18px;display:flex}.title-input{resize:none;background:0 0;border:none;outline:none;width:100%;padding:4px 0;font-size:1.35rem;font-weight:700;line-height:1.3;overflow:hidden}.field{flex-direction:column;gap:8px;display:flex}.filters>.field+.field{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.field-label .small{text-transform:none;letter-spacing:0;font-weight:400}.inline-link{color:var(--accent);text-transform:none;letter-spacing:0;align-items:center;gap:4px;margin-left:auto;text-decoration:none;display:inline-flex}.note-input{border:1px solid var(--border);background:var(--surface);resize:vertical;border-radius:12px;outline:none;width:100%;min-height:110px;padding:12px}.note-input:focus{border-color:var(--accent)}.form-actions{gap:10px;display:flex}.form-actions .btn{flex:1}.sticky-actions{background:var(--bg);border-top:1px solid var(--border);margin:0 -18px -18px;padding:12px 18px 18px;position:sticky;bottom:-18px}.form-meta{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.task-chip{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;max-width:100%;font-size:.88rem;display:inline-flex}.task-chip-main{align-items:center;gap:6px;min-width:0;min-height:34px;padding:0 10px;display:inline-flex}.task-chip-main:disabled{opacity:1}.task-chip-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-chip-done .task-chip-title{color:var(--muted);text-decoration:line-through}.task-chip-blocked{color:var(--muted)}.task-chip-blocked .lock-icon{color:var(--blocked)}.task-chip-x{width:30px;height:34px;color:var(--muted);border-left:1px solid var(--border);place-items:center;display:grid}.pick-list{flex-direction:column;gap:4px;display:flex}.pick-item{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:6px 10px;display:flex}.pick-item.on{border-color:var(--accent);background:var(--accent-soft)}.pick-check{border:2px solid var(--border);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.pick-item.on .pick-check{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.pick-title{flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-title-row h2,.card-title-row .check-line{margin:0}.overview{align-items:center;gap:20px;display:flex}.ring{flex:none;width:120px;height:120px}.ring-bg{fill:none;stroke:var(--surface-2);stroke-width:12px}.ring-fg{fill:none;stroke:var(--done);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .5s}.ring-pct{fill:var(--text);font-size:24px;font-weight:800}.ring-sub{fill:var(--muted);font-size:12px}.stat-grid{flex:1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{background:var(--surface-2);border-radius:10px;padding:8px 10px}.stat-value{font-size:1.3rem;font-weight:800}.stat-label{color:var(--muted);font-size:.75rem}.stat-done .stat-value{color:var(--done)}.stat-doing .stat-value{color:var(--doing)}.stat-ready .stat-value{color:var(--ready)}.stat-blocked .stat-value{color:var(--blocked)}.next-list{margin:0;padding:0;list-style:none}.next-list button{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:10px;width:100%;min-height:46px;display:flex}.next-list li:last-child button{border-bottom:none}.next-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cat-progress{margin-bottom:12px}.cat-progress-label{justify-content:space-between;margin-bottom:4px;font-size:.9rem;display:flex}.steps{border-left:2px solid var(--border);margin:12px 0 0;padding:0 0 0 14px;list-style:none}.steps li{padding-bottom:16px;position:relative}.steps li:before{content:"";background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-21px}.step-label{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.doc-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.doc-thumb{aspect-ratio:4/3;background:var(--surface-2);place-items:center;display:grid;overflow:hidden}.doc-thumb img{object-fit:cover;width:100%;height:100%}.doc-icon{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:.72rem;font-weight:800;display:flex}.doc-icon-pdf{color:#dc2626}.doc-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:8px 10px 0;font-size:.9rem;font-weight:600;display:-webkit-box;overflow:hidden}.doc-meta{color:var(--muted);padding:2px 10px 10px;font-size:.75rem}.add-choices{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:8px;display:grid}.add-choice{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:24px 8px;font-weight:600;display:flex}.upload-item{align-items:center;gap:12px;margin-bottom:12px;display:flex}.upload-thumb{background:var(--surface-2);width:64px;height:64px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.upload-thumb img{object-fit:cover;width:100%;height:100%}.upload-fields{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.upload-fields .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer{z-index:60;color:#f5f5f4;padding-top:var(--safe-t);padding-bottom:var(--safe-b);background:#0c0a09;flex-direction:column;animation:.15s fade-in;display:flex;position:fixed;inset:0}.viewer .icon-btn{color:#f5f5f4}.viewer .icon-btn.danger{color:#f87171}.viewer-bar{align-items:center;gap:2px;padding:6px 8px;display:flex}.viewer-name{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;min-width:0;padding:0 6px;font-weight:600;display:flex;overflow:hidden}.viewer-name-input{color:#f5f5f4;background:#292524;border-color:#44403c;flex:1}.viewer-body{flex:1;place-items:center;min-height:0;display:grid}.viewer-body img{object-fit:contain;max-width:100%;max-height:100%}.viewer-body iframe{background:#fff;border:none;width:100%;height:100%}.viewer-other{text-align:center;color:#a8a29e}.viewer-foot{color:#a8a29e;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:8px 14px;overflow:hidden}.settings-list{margin:0 0 10px;padding:0;list-style:none}.settings-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 0;display:flex}.color-input{background:0 0;border:none;border-radius:8px;flex:none;width:34px;height:34px;padding:0}.add-line{gap:8px;display:flex}.add-line .btn{padding:0 14px}.contact-row{flex-wrap:wrap}.contact-summary{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;min-height:52px;display:flex}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.contact-text{flex-direction:column;flex:1;min-width:0;display:flex}.contact-form{flex-direction:column;gap:8px;width:100%;padding:4px 0 12px;display:flex}.contact-form .btn-danger-ghost{align-self:flex-start}.login{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.login-logo{width:72px;height:72px;margin-bottom:12px}.login .muted{margin:6px 0 24px}.pin-dots{gap:14px;display:flex}.pin-dots span{border:2px solid var(--muted);border-radius:50%;width:16px;height:16px;transition:background .1s}.pin-dots span.filled{background:var(--accent);border-color:var(--accent)}.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}.login-error{min-height:1.4em;color:var(--danger);margin:12px 0;font-size:.9rem}.keypad{grid-template-columns:repeat(3,76px);gap:14px 22px;display:grid}.keypad button{background:var(--surface);border:1px solid var(--border);border-radius:50%;width:76px;height:76px;font-size:1.7rem;font-weight:500}.keypad button:active{background:var(--surface-2)}.keypad .keypad-del{background:0 0;border:none;place-items:center;display:grid}.input-suffix{align-items:center;gap:8px;display:flex}.input-suffix .input{max-width:160px}.plan-preview{aspect-ratio:4/3;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;place-items:center;width:100%;max-height:260px;display:grid;overflow:hidden}.plan-preview img{object-fit:cover;width:100%;height:100%}.room-thumb{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.room-thumb img{object-fit:cover;width:100%;height:100%}.link-list{margin:0;padding:0;list-style:none}.link-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:4px;margin-bottom:6px;padding-right:4px;display:flex}.link-main{flex:1;align-items:center;gap:10px;min-width:0;min-height:58px;padding:8px 6px 8px 10px;text-decoration:none;display:flex}.link-host,.link-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-total{color:var(--text);text-transform:none;letter-spacing:0;margin-left:auto;font-size:.95rem}.expense-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.expense-list>li+li{border-top:1px solid var(--border)}.expense-row{text-align:left;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 12px;display:flex}.expense-desc{flex-direction:column;flex:1;min-width:0;display:flex}.expense-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.expense-form{border:1px solid var(--accent);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.expense-list .expense-form{border:none;border-radius:0}.expense-form-row{gap:8px;display:flex}.expense-form-row>*{flex:1;min-width:0}.expense-amount-input .input{max-width:none}.meta-cost{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.total-card{text-align:center}.total-amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0;font-size:2.2rem;font-weight:800}.group-list{margin:12px 0 0;padding:0;list-style:none}.group-row{text-align:left;border-radius:10px;flex-direction:column;gap:4px;width:calc(100% + 16px);margin:0 -8px;padding:8px;display:flex}.group-row.on{background:var(--accent-soft)}.group-row-top{justify-content:space-between;gap:8px;display:flex}.group-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.group-label:first-letter{text-transform:uppercase}.expense-search{margin:10px 0}.list-total{justify-content:space-between;padding:12px 4px 0;display:flex}.card .chip-row{margin:0 -16px;padding:2px 16px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.image-tile{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:12px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.image-tile img{object-fit:cover;width:100%;height:100%}.image-tile-icon{flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:700;display:flex}.image-tile-add{background:var(--surface);color:var(--accent);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex}.image-viewer-body{touch-action:pan-y pinch-zoom;position:relative}.viewer .viewer-nav{background:#00000073;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;translate:0 -50%}.viewer-prev{left:8px;rotate:180deg}.viewer-next{right:8px}
