:root{--bg:#eef0ea;--surface:#fff;--surface-sunken:#f4f5f0;--ink:#1e211c;--ink-muted:#5c6259;--ink-faint:#8b9186;--line:#dadedb;--accent:#3f7d69;--accent-ink:#fff;--accent-soft:#dceae3;--warn:#b8752e;--warn-soft:#f3e3d0;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--serif:Charter, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141713;--surface:#1d211b;--surface-sunken:#171a15;--ink:#edeee7;--ink-muted:#9ba398;--ink-faint:#6b7267;--line:#2c322a;--accent:#6fbfa0;--accent-ink:#0f1512;--accent-soft:#24352c;--warn:#d99a52;--warn-soft:#3a2c1c}}:root[data-theme=dark]{--bg:#141713;--surface:#1d211b;--surface-sunken:#171a15;--ink:#edeee7;--ink-muted:#9ba398;--ink-faint:#6b7267;--line:#2c322a;--accent:#6fbfa0;--accent-ink:#0f1512;--accent-soft:#24352c;--warn:#d99a52;--warn-soft:#3a2c1c}:root[data-theme=light]{--bg:#eef0ea;--surface:#fff;--surface-sunken:#f4f5f0;--ink:#1e211c;--ink-muted:#5c6259;--ink-faint:#8b9186;--line:#dadedb;--accent:#3f7d69;--accent-ink:#fff;--accent-soft:#dceae3;--warn:#b8752e;--warn-soft:#f3e3d0}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);background:var(--surface);z-index:30;position:fixed;top:0;left:0;right:0}.home{box-sizing:border-box;max-width:480px;min-height:100svh;padding-top:env(safe-area-inset-top,0px);background:var(--surface);flex-direction:column;margin:0 auto;display:flex}.app-bar{padding:1.6rem 1.1rem .6rem;padding-top:max(.6rem, calc(1.6rem - env(safe-area-inset-top,0px)));justify-content:space-between;align-items:center;display:flex}.wordmark{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.1rem;font-weight:600;overflow:hidden}.app-bar-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.kebab{cursor:pointer;background:0 0;border:none;gap:3px;padding:8px;display:flex}.kebab span{background:var(--ink-faint);border-radius:50%;width:3.5px;height:3.5px;display:block}.back-link{color:var(--ink-muted);font-size:.85rem;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.see-all{text-align:center;color:var(--ink-muted);padding:.4rem 0 1rem;font-size:.8rem;text-decoration:none;display:block}.entry-zone{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken);margin:.6rem 1.1rem 0;overflow:hidden}.entry-zone-dock{z-index:10;box-sizing:border-box;width:100%;max-width:480px;padding:1rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top-left-radius:22px;border-top-right-radius:22px;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -14px 28px -10px #1e211c38}.entry-zone-dock .entry-zone{margin:0}.entry-zone-dock .entry-input-row{gap:.5rem;padding:.15rem .5rem}.entry-zone-dock .add-btn,.entry-zone-dock .mic-btn{width:2.5rem;height:2.5rem}.entry-zone-dock .entry-input{padding:1rem .4rem}.home-with-dock{padding-bottom:6.5rem}.toast.toast-above-dock{bottom:6.5rem}.entry-input-row{align-items:center;gap:.4rem;padding:0 .4rem;display:flex}.entry-input{box-sizing:border-box;min-width:0;font-size:16px;font-family:var(--sans);color:var(--ink);background:0 0;border:none;border-bottom:1px solid #0000;flex:1;padding:.8rem .3rem}.entry-input:focus{border-bottom-color:var(--line);background:var(--surface);outline:none}.entry-input::placeholder{color:var(--ink-faint)}.add-btn{background:var(--accent);width:2.2rem;height:2.2rem;color:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic-btn{border:1px solid var(--line);background:var(--surface);width:2.2rem;height:2.2rem;color:var(--ink-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex;position:relative}.mic-btn.unavailable{opacity:.45;cursor:help}.mic-btn.listening{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);animation:1.5s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 45%, transparent)}}@media (prefers-reduced-motion:reduce){.mic-btn.listening,.pulse-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);animation:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.parse-preview{border-top:1px solid var(--line);padding:.85rem .9rem .9rem}.parse-label{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .65rem;font-size:.64rem}.parse-fields{flex-direction:column;gap:.5rem;display:flex}.parse-field{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.parse-field .k{color:var(--ink-faint);flex-shrink:0;width:4.4rem}.parse-field .v{background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:.22rem .6rem;font-weight:600}.parse-field .v-warn{background:var(--warn-soft);font-weight:500}.parse-field .defaulted{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint);font-size:.6rem}.parse-actions{align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.parse-confirm{border-radius:var(--radius-md);background:var(--accent);color:var(--accent-ink);font-family:var(--sans);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem;font-size:.85rem;font-weight:600;display:flex}.pill-row{gap:6px;margin:.1rem .4rem .6rem;display:flex}.pill-tap{font-family:var(--mono);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:.32rem .6rem;font-size:.72rem;font-weight:600}.amount-preview{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--ink);padding:.1rem .4rem .5rem;font-size:1.9rem}.keys{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.key{font-family:var(--sans);font-variant-numeric:tabular-nums;text-align:center;background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;padding:.7rem 0;font-size:1rem}.key.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-size:1.3rem}.chip-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{font-family:var(--sans);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:.4rem .75rem;font-size:.8rem}.chip.picked{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip.ghost{color:var(--ink-faint);background:0 0;border-style:dashed}.chip:disabled{opacity:.45;cursor:default}.picker-group{border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface);flex:100%;padding:.45rem .55rem .5rem}.picker-group-head{color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.76rem;font-weight:600;display:flex}.picker-group-head .chev{color:var(--ink-faint);font-size:.65rem}.inbox-banner{background:var(--warn-soft);color:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:.6rem;margin:.7rem 1.1rem 0;padding:.65rem .8rem;text-decoration:none;display:flex}.inbox-badge{background:var(--warn);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.inbox-banner p{color:var(--ink);flex:1;margin:0;font-size:.83rem}.inbox-chevron{color:var(--ink-faint);font-size:.9rem}.section-label{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:1.1rem 1.1rem .5rem;font-size:.68rem}.day-label{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);top:env(safe-area-inset-top,0px);background:var(--surface);z-index:1;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.75rem 0 .35rem;font-size:.64rem;display:flex;position:sticky}.day-label:first-child{padding-top:.2rem}.day-subtotal{font-variant-numeric:tabular-nums;text-transform:none;color:var(--ink-muted);white-space:nowrap}.day-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken);margin-bottom:.8rem;overflow:hidden}.day-card:last-child{margin-bottom:0}.day-card .tx-row{padding-left:.9rem;padding-right:.9rem}.empty-note{color:var(--ink-faint);margin:0 1.1rem;font-size:.85rem}.budget-row{margin:0 1.1rem .65rem}.budget-row .labels{justify-content:space-between;margin-bottom:.3rem;font-size:.83rem;display:flex}.budget-row .labels .amt{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.track{background:var(--accent-soft);border-radius:4px;height:6px;overflow:hidden}.fill{background:var(--accent);border-radius:4px;height:100%}.fill.over{background:var(--warn)}.trend-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);margin:.9rem 1.1rem 0;padding:.7rem .8rem .5rem}.trend-head{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.trend-head .t{color:var(--ink-muted);font-size:.8rem}.trend-head .v{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.05rem}.recent{margin:0 1.1rem 1.2rem}.tx-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.55rem 0;font-size:.87rem;display:flex}.tx-row-tappable{border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;font-family:inherit;text-decoration:none}.recent .account-block:last-child .tx-row-tappable,.tx-row:last-child{border-bottom:none}.tx-left{align-items:center;gap:.55rem;min-width:0;display:flex}.tx-main{flex-direction:column;min-width:0;display:flex}.tx-note{color:var(--ink)}.payer-badge{width:19px;height:19px;font-family:var(--mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex}.payer-badge.mine{background:var(--accent);color:var(--accent-ink)}.payer-badge.theirs{background:var(--surface);color:var(--ink-muted);border:1px solid var(--line)}.chip-payer{align-items:center;gap:.35rem;display:flex}.chip-payer .payer-badge{width:15px;height:15px;font-size:.55rem}.chip.picked .payer-badge.theirs{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}.private-mark{vertical-align:-1px;color:var(--ink-muted);flex-shrink:0;margin-right:.3rem;display:inline-block}.provenance{color:var(--ink-faint);margin-top:.4rem;font-size:.76rem;font-style:italic}.owner-prefix{color:var(--ink-muted);font-weight:400}.member-row{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.6rem 0;display:flex}.member-row:last-child{border-bottom:none}.member-name{color:var(--ink);font-size:.87rem}.member-you{color:var(--ink-faint);margin-left:.35rem;font-size:.7rem}.member-badge{width:26px;height:26px;font-size:.72rem}.tx-meta{font-family:var(--mono);color:var(--ink-faint);margin-top:.1rem;font-size:.68rem}.tx-amt{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-weight:600}.tx-amt.out{color:var(--ink)}.tx-amt.in{color:var(--accent)}.icon-btn{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 8px;font-size:1.3rem;line-height:1;text-decoration:none;display:inline-flex}.accounts-list{margin:.4rem 1.1rem 1.2rem}.account-group{border-bottom:1px solid var(--line)}.account-group:last-child{border-bottom:none}.group-header{box-sizing:border-box;width:100%;font-family:var(--mono);color:var(--ink-muted);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;padding:.6rem .1rem;font-size:.78rem;font-weight:600;display:flex}.group-count{color:var(--ink-faint);font-weight:400}.account-block{border-top:1px solid var(--line)}.account-group .account-block:first-child{border-top:none}.account-row{box-sizing:border-box;text-align:left;cursor:pointer;width:100%;font-family:var(--sans);background:0 0;border:none;padding:.6rem .1rem;display:block}.account-row-top{justify-content:space-between;align-items:baseline;display:flex}.account-name{color:var(--ink);font-size:.92rem}.account-kind{font-family:var(--mono);text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.account-balances{flex-direction:column;margin-top:.15rem;display:flex}.merge-toolbar{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:.4rem 1.1rem 0;padding:.7rem .8rem;font-size:.85rem;display:flex}.account-row.picked-survivor,.tx-row.picked-survivor{background:var(--accent-soft);border-radius:var(--radius-sm)}.account-row.picked-duplicate,.tx-row.picked-duplicate{background:var(--surface-sunken);border-radius:var(--radius-sm)}.account-row.merge-disabled{opacity:.45;cursor:not-allowed}.merge-badge{font-family:var(--mono);text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:999px;margin-right:.4rem;padding:.1rem .5rem;font-size:.62rem}.merge-check{width:1.1rem;color:var(--accent);font-weight:700;display:inline-block}.merge-disabled-note{color:var(--ink-faint);margin:.1rem 0 0;font-size:.72rem}.merge-conflict-warning{color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-sm);padding:.35rem .5rem}.dup-group-title{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.dup-tier-badge{font-family:var(--mono);text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.62rem}.dup-tier-badge.tier-high{color:var(--accent-ink);background:var(--accent)}.dup-tier-badge.tier-secondary{color:var(--ink-muted);background:var(--surface-sunken);border:1px solid var(--line)}.balance-line{font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:.85rem}.balance-line.empty{color:var(--ink-faint);font-style:italic}.archived-row{padding:.6rem .1rem}.account-create{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken);margin:.6rem 1.1rem 0;padding:.8rem .9rem}.account-edit{padding:.2rem .1rem .9rem}.transaction-screen-content{margin:.4rem 1.1rem 1.2rem}.account-form{flex-direction:column;gap:.7rem;display:flex}.split-editor{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;gap:.6rem;padding:.7rem .8rem;display:flex}.split-leg-row{flex-direction:column;gap:.4rem;display:flex}.split-leg-amount{border:1px dashed var(--line);border-radius:var(--radius-sm);font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;background:0 0;align-self:flex-start;padding:.3rem .6rem;font-size:.85rem}.split-leg-remove{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0 .3rem;font-size:.9rem}.split-remaining-note{color:var(--warn);margin:0;font-size:.78rem}.field-label{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;display:block}.text-input{box-sizing:border-box;width:100%;font-size:16px;font-family:var(--sans);color:var(--ink);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:.3rem;padding:.55rem .65rem;display:block}.goal-section,.goal-fields{flex-direction:column;gap:.6rem;display:flex}.goal-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:.5rem .6rem}.goal-box-top{align-items:center;gap:.5rem;display:flex}.budget-currency-tag{font-family:var(--mono);color:var(--ink-muted);flex-shrink:0;font-size:.72rem;font-weight:600}.budget-amount-input{flex:1}.settings-row{width:100%;color:var(--ink);border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-family:inherit;font-size:.92rem;text-decoration:none;display:flex}.settings-row-arrow{color:var(--ink-faint)}.settings-row-danger{color:var(--warn)}.settings-row-static{color:var(--ink-muted);cursor:default;border-bottom:none;padding:.9rem 1.1rem .3rem;font-size:.85rem;display:flex}.settings-chip-row,.settings-field{margin:0 1.1rem 1.1rem}.signin-code .qr-caption{max-width:none;margin:0 0 .75rem}.signin-code-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.install-steps{max-width:none;margin:.25rem 1.1rem 1.1rem}.text-link{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.82rem;text-decoration:underline}.archive-link{color:var(--ink-faint);margin-top:.2rem}.form-actions{justify-content:space-between;align-items:center;margin-top:.2rem;display:flex}.save-btn{font-family:var(--sans);background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.save-btn:disabled{background:var(--ink-faint);border-color:var(--ink-faint);cursor:not-allowed;opacity:.6}.toast{left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--surface);border-radius:999px;align-items:center;gap:.9rem;max-width:90vw;padding:.7rem 1.1rem;font-size:.83rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px -10px #0006}.toast-undo{font-family:inherit;font-size:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-weight:700}.currency-override-link{align-self:center;font-size:.72rem}.edit-form-top-actions{justify-content:flex-end;margin:0 0 .3rem}.delete-link{color:var(--warn)}.field-hint{color:var(--ink-faint);margin:.35rem 0 0;font-size:.76rem;line-height:1.4}.field-pair{gap:10px;margin:.7rem 0;display:flex}.field-pair .field-label{flex:1;min-width:0}.tx-filters{flex-direction:column;gap:.5rem;margin:.6rem 1.1rem 1.2rem;display:flex}.search-input-row{border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--line);align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.search-input-row svg{color:var(--ink-faint);flex-shrink:0}.search-input-row input{min-width:0;color:var(--ink);background:0 0;border:none;flex:1;font-family:inherit;font-size:.87rem}.search-input-row input::placeholder{color:var(--ink-faint)}.search-input-row input:focus{outline:none}.filter-trigger-row{flex-wrap:wrap;margin:0}.pill-tap.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.totals-row{color:var(--ink-muted);flex-wrap:wrap;gap:.6rem;margin:.9rem 1.1rem .3rem;font-size:.8rem;display:flex}.totals-row b{color:var(--ink);font-variant-numeric:tabular-nums}.choice-stack{flex-direction:column;gap:.7rem;margin:.8rem 1.1rem;display:flex}.choice-card{font-family:var(--sans);text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken);cursor:pointer;color:var(--ink);flex-direction:column;gap:.25rem;padding:.9rem 1rem;display:flex}.choice-card:hover,.choice-card:focus-visible{border-color:var(--accent)}.choice-title{font-size:.92rem;font-weight:600}.choice-sub{color:var(--ink-muted);font-size:.8rem;line-height:1.45}.qr-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}.qr-canvas{border-radius:var(--radius-md);border:1px solid var(--line)}.about-text{color:var(--ink-muted);margin:0 1.1rem 1.1rem;font-size:.87rem;line-height:1.5}.changelog-entry{color:var(--ink-muted);margin:0 1.1rem 1.4rem;font-size:.87rem;line-height:1.5}.changelog-heading{align-items:baseline;gap:.6rem;margin-bottom:.4rem;display:flex}.changelog-version{font-family:var(--mono);color:var(--ink)}.changelog-date{font-family:var(--mono);color:var(--ink-faint);font-size:.75rem}.changelog-entry p{margin:0 0 .5rem}.changelog-entry ul{margin:0;padding-left:1.1rem}.changelog-entry li{margin:.25rem 0}.changelog-entry strong{color:var(--ink);font-weight:600}.qr-caption{color:var(--ink-muted);max-width:20rem;font-size:.87rem;line-height:1.5}.qr-caption b{color:var(--ink)}.confirm-check{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.camera-view{border-radius:var(--radius-md);background:#10120f;flex:1;justify-content:center;align-items:center;min-height:320px;margin:.6rem 1.1rem;display:flex;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%}.camera-caption{text-align:center;color:#ffffffe6;font-size:.8rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.relay-code{font-family:var(--mono);letter-spacing:.08em;color:var(--ink);font-size:1.8rem;font-weight:600}.relay-code-input{font-family:var(--mono);text-align:center;letter-spacing:.1em;text-transform:uppercase;font-size:1.3rem}.pulse-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-right:.4rem;animation:1.5s ease-in-out infinite mic-pulse;display:inline-block}.sas-emoji{letter-spacing:.3em;font-size:2.6rem}.relay-mode-toggle{align-self:center;margin:.8rem 1.1rem 0}.merge-review{flex-direction:column;gap:1rem;padding:1.1rem;display:flex}.merge-conflicts{flex-direction:column;gap:.9rem;display:flex}.merge-conflict{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.85rem .9rem}.merge-conflict-title{margin:0 0 .3rem;font-size:.9rem;font-weight:600}.merge-conflict-detail{color:var(--ink-muted);margin:0 0 .7rem;font-size:.8rem;line-height:1.5}.merge-conflict .parse-fields{margin-bottom:.5rem}.spinner{border:3px solid var(--line);border-top-color:var(--accent);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:none}}.skeleton-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--line) 25%, var(--surface) 50%, var(--line) 75%);background-size:200% 100%;height:.8em;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-bar-note{width:8.5em;margin-bottom:.35rem}.skeleton-bar-meta{width:5em;height:.62rem}.skeleton-bar-amt{width:3.2em}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-bar{animation:none}}.schedule-list{margin:0 1.1rem 1.2rem}.schedule-occ-row{gap:.6rem}.schedule-occ-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.schedule-occ-actions{flex-wrap:nowrap;margin:0}.schedule-occ-actions .chip{padding:.2rem .7rem;font-size:.78rem}.schedule-overdue{color:var(--warn)}.schedule-toggle{color:var(--ink);align-items:center;gap:.5rem;font-size:.87rem;display:flex}.track{display:flex}.fill.committed{background:repeating-linear-gradient(-45deg, var(--accent) 0 3px, transparent 3px 6px);opacity:.55;border-radius:0 4px 4px 0}.fill.committed.over{background:repeating-linear-gradient(-45deg, var(--warn) 0 3px, transparent 3px 6px)}.budget-committed-note{color:var(--ink-faint);text-align:right;margin-top:.2rem;font-size:.75rem}.save-btn.schedule-delete-btn{background:var(--warn)}.delete-account-text{margin:0 0 .6rem;font-size:.9rem;line-height:1.5}.delete-account-list{color:var(--ink-muted);margin:0 0 1rem;padding-left:1.2rem;font-size:.85rem;line-height:1.5}.delete-account-list li{margin:.3rem 0}.save-btn.delete-account-btn{background:var(--warn);border-color:var(--warn);margin-top:.6rem}.delete-account-done{text-decoration:none;display:inline-block}.household-error.delete-account-error{margin:.6rem 0 0}.account-deleted-note{margin-bottom:.6rem}.signout-panel{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.signout-panel .save-btn.delete-account-btn{margin-top:0}.signout-warn{color:var(--warn)}.household-people{flex-direction:column;gap:.6rem;margin:.4rem 1.1rem .8rem;display:flex}.household-person{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;padding:.7rem .85rem;display:flex}.household-person-head{align-items:center;gap:.6rem;display:flex}.household-name-input{flex:1;min-width:0;margin-top:0;font-weight:600}.household-device{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0 .55rem 2.1rem;display:flex}.household-device:last-of-type{border-bottom:none}.household-device-label{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex-direction:column;font-size:.87rem;display:flex}.household-device-none{margin:.45rem 0 0 2.1rem}.household-row-action{flex-shrink:0}.household-pin-link{width:fit-content;margin:.55rem 0 0 2.1rem;display:block}.household-hint.household-pin-note{margin:.45rem 0 0 2.1rem}.pin-form{flex-direction:column;align-items:stretch;gap:.8rem;margin-top:.4rem;display:flex}.pin-form .save-btn,.pin-form .chip{align-self:flex-start}.pin-form .delete-account-text{margin:0}.field-hint a{color:var(--ink-muted)}.household-remove-person{margin:.55rem 0 0 2.1rem}.household-remove-person:disabled{opacity:.5;cursor:default}.household-removed .member-name{color:var(--ink-muted);flex:1}.household-add{margin-top:.4rem}.household-hint{color:var(--ink-faint);margin:0 1.1rem 1rem;font-size:.78rem}.household-error{color:var(--warn);margin:.4rem 1.1rem;font-size:.85rem}.device-link-countdown{font-family:var(--mono);color:var(--ink-faint);font-size:.8rem}.signin-scan-link{margin-top:.8rem;display:inline-block}.parse-field .pill-row{margin:0}.parse-field .chip-row{flex-basis:100%;margin-left:4.8rem}.voice-lang-chip{font-family:var(--mono);letter-spacing:.03em;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);cursor:pointer;border-radius:999px;flex-shrink:0;padding:.3rem .45rem;font-size:.62rem;font-weight:600}.voice-lang-chip.open{border-color:var(--accent);color:var(--accent)}.voice-lang-menu{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;padding:.7rem .8rem;display:flex}.pin-reset-notice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.55rem 0 0 2.1rem;padding:.6rem .75rem;font-size:.875rem;display:flex}.pin-form .pin-reset-notice{margin-left:0}.pin-reset-notice p{flex:14rem;margin:0}.text-link.pin-link{align-self:center;margin-inline:auto;display:block}
