:root{color-scheme:light dark;--bg: #f4f1ea;--surface: #ffffff;--ink: #1a2e1f;--muted: #5c6b60;--primary: #1f5c3a;--primary-hover: #174a2e;--primary-soft: color-mix(in srgb, var(--primary) 12%, transparent);--border: #d8e0d9;--danger: #9b2c2c;--danger-soft: color-mix(in srgb, var(--danger) 10%, transparent);--shadow: 0 1px 2px rgba(26, 46, 31, .04), 0 8px 24px rgba(26, 46, 31, .06);--radius: 14px;--radius-sm: 10px;--nav-height: 64px;font-family:Inter,system-ui,sans-serif;line-height:1.5;color:var(--ink);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #0c1210;--surface: #151d18;--ink: #e8f0ea;--muted: #8fa396;--primary: #3d9a64;--primary-hover: #4db078;--border: #26332a;--shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 12px 32px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(900px 480px at 8% -8%,rgba(31,92,58,.1),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,.brand{font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.02em}button.brand-link{display:inline-block;margin:0;padding:.1rem .15rem .1rem 0;min-height:0;border:none;border-radius:6px;background:transparent!important;color:var(--ink)!important;font:inherit;font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.02em;text-align:left;text-decoration:none!important;cursor:pointer;box-shadow:none!important;transition:color .2s ease,opacity .2s ease,transform .18s ease;-webkit-tap-highlight-color:transparent}button.brand-link:hover:not(:disabled){background:transparent!important;color:var(--primary)!important;text-decoration:none!important;opacity:.92}button.brand-link:active:not(:disabled){background:transparent!important;color:var(--primary)!important;transform:scale(.985);opacity:.88}button.brand-link:focus{outline:none}button.brand-link:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:4px;border-radius:6px;background:transparent!important}button,input,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:.55rem .95rem;min-height:40px;background:var(--primary);color:#fff;font-weight:600;font-size:.925rem;line-height:1.2;transition:background .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.secondary,button.ghost{background:transparent;color:var(--ink);border:1px solid var(--border);font-weight:500}button.secondary:hover:not(:disabled),button.ghost:hover:not(:disabled){background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--ink)}button.ghost{border-color:transparent;color:var(--muted)}button.ghost:hover:not(:disabled){color:var(--ink);border-color:transparent}button.danger{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));font-weight:500}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger)}button.btn-sm{min-height:34px;padding:.35rem .7rem;font-size:.82rem;border-radius:8px;font-weight:500}button.btn-block{width:100%}button.linkish{background:none;border:none;color:var(--primary);padding:.25rem .35rem;min-height:auto;font-weight:600;font-size:.875rem;text-decoration:none}button.linkish:hover:not(:disabled){background:none;text-decoration:underline;color:var(--primary-hover)}input,textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;background:var(--surface);color:var(--ink);font-size:1rem}input:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:1px;border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}label{display:grid;gap:.35rem;font-size:.875rem;color:var(--muted);margin-bottom:.85rem;font-weight:500}.app-shell{max-width:720px;margin:0 auto;padding:1.5rem 1.15rem calc(var(--nav-height) + 1.75rem)}@media(min-width:720px){.app-shell{padding:2rem 1.5rem 3.5rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.25rem;box-shadow:var(--shadow)}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.header-titles{min-width:0}.header .brand{font-size:1.55rem;margin:0;line-height:1.15;color:var(--ink)}.header-sub{margin:.35rem 0 0;color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.35}.header-sub-user{margin:.15rem 0 0;color:var(--muted);font-size:.82rem;font-weight:400;opacity:.9;line-height:1.35}.header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem}.header-actions{position:relative;flex-shrink:0;display:flex;align-items:flex-start;gap:.45rem}.activity-bell{position:relative}.activity-bell-btn{position:relative;min-width:2.5rem;padding-inline:.55rem}.activity-badge{position:absolute;top:-.25rem;right:-.25rem;min-width:1.1rem;height:1.1rem;padding:0 .28rem;border-radius:999px;background:var(--primary, #1f6b4a);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center;box-shadow:0 0 0 2px var(--surface, #faf8f3)}.activity-panel{position:absolute;right:0;top:calc(100% + .4rem);width:min(20rem,calc(100vw - 2rem));max-height:min(22rem,70vh);overflow:auto;padding:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:45}.activity-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .4rem .55rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.activity-empty{margin:.5rem .4rem .65rem;font-size:.88rem}.activity-list{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.activity-item{width:100%;display:flex;gap:.55rem;align-items:flex-start;text-align:left;background:transparent;border:none;color:var(--ink);border-radius:8px;padding:.5rem .45rem;font-weight:500}.activity-item:hover{background:color-mix(in srgb,var(--primary, #1f6b4a) 8%,transparent)}.activity-item-unread{background:color-mix(in srgb,var(--primary, #1f6b4a) 10%,transparent)}.activity-emoji{font-size:1.25rem;line-height:1.2;flex-shrink:0}.activity-item-body{display:grid;gap:.1rem;min-width:0}.activity-title{font-size:.9rem;line-height:1.3}.activity-sub,.activity-time{font-size:.78rem;line-height:1.3}.activity-toast{position:fixed;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:90;display:flex;align-items:stretch;gap:.15rem;max-width:min(24rem,calc(100vw - 1.5rem));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),0 12px 32px #00000024;animation:activity-toast-in .2s ease-out}@keyframes activity-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.activity-toast-inner{display:flex;gap:.55rem;align-items:flex-start;text-align:left;background:transparent;border:none;color:var(--ink);padding:.75rem .35rem .75rem .85rem;font-weight:500;min-width:0;flex:1}.activity-toast-sub{display:block;font-size:.82rem;margin-top:.15rem}.activity-toast-dismiss{align-self:stretch;border-radius:0 14px 14px 0;min-width:2.25rem;font-size:1.1rem;color:var(--muted)}.table-row-highlight{outline:2px solid color-mix(in srgb,var(--primary, #1f6b4a) 55%,transparent);outline-offset:1px;border-radius:10px;background:color-mix(in srgb,var(--primary, #1f6b4a) 8%,transparent);animation:txn-highlight-pulse 1.2s ease-out 2}@keyframes txn-highlight-pulse{0%,to{background:color-mix(in srgb,var(--primary, #1f6b4a) 8%,transparent)}50%{background:color-mix(in srgb,var(--primary, #1f6b4a) 16%,transparent)}}@media(prefers-reduced-motion:reduce){.activity-toast,.table-row-highlight{animation:none}}.menu-panel{position:absolute;right:0;top:calc(100% + .4rem);min-width:11.5rem;padding:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:40;display:grid;gap:.15rem}.menu-panel button{width:100%;justify-content:flex-start;text-align:left;background:transparent;color:var(--ink);border:none;font-weight:500;border-radius:8px}.menu-panel button:hover:not(:disabled){background:var(--primary-soft);color:var(--ink)}.menu-panel button.danger{color:var(--danger)}.menu-panel button.danger:hover:not(:disabled){background:var(--danger-soft)}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);border-radius:var(--radius-sm);padding:.7rem .9rem;margin:.75rem 0;font-size:.9rem}.tabs{display:flex;gap:.25rem;padding:.3rem;margin-bottom:1.15rem;background:color-mix(in srgb,var(--surface) 70%,var(--bg));border:1px solid var(--border);border-radius:12px}.tabs button{flex:1;min-height:40px;background:transparent;color:var(--muted);border:none;font-weight:600;font-size:.9rem;border-radius:9px;box-shadow:none;transition:color .22s ease,background .22s ease,box-shadow .22s ease,transform .18s ease}.tabs button:hover:not(:disabled):not(.active){background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ink)}.tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1a2e1f14;outline:none}@media(prefers-color-scheme:dark){.tabs button.active{box-shadow:0 1px 3px #00000059}}.tab-panel{animation:tab-panel-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes tab-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tab-panel{animation:none}button.brand-link,.tabs button,.bottom-nav button{transition:none}}@media(max-width:719px){.tabs-desktop{display:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:.25rem;padding:.45rem .75rem calc(.45rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.bottom-nav button{flex:1;min-height:48px;background:transparent;color:var(--muted);border:none;font-weight:600;font-size:.8rem;border-radius:10px;transition:color .22s ease,background .22s ease}.bottom-nav button:hover:not(:disabled){background:var(--primary-soft);color:var(--ink)}.bottom-nav button.active{background:var(--primary-soft);color:var(--primary)}}@media(min-width:720px){.bottom-nav{display:none}}.row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.row-spread{justify-content:space-between}.row-end{justify-content:flex-end}.note{border-top:1px solid var(--border);padding:1rem 0}.note:first-child{border-top:none;padding-top:0}.note textarea{min-height:72px;resize:vertical}.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .65rem;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:600}.invite-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem;letter-spacing:.04em;padding:.75rem 1rem;border-radius:12px;background:var(--primary-soft);border:1px dashed color-mix(in srgb,var(--primary) 50%,var(--border));margin:.5rem 0 1rem}.live{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:#2f9e44;box-shadow:0 0 0 3px #2f9e442e;flex-shrink:0}.stack{display:grid;gap:.9rem}.table{display:grid;gap:0}.table-row{position:relative;display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start;padding:.8rem 0;border-top:1px solid var(--border)}.table-row:has(.txn-reaction-picker),.table-row:has(.txn-comment-panel){z-index:12}.table-row:first-child{border-top:none;padding-top:0}.table-row-main{min-width:0;flex:1}.table-row-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.hero-card{padding:1.35rem 1.3rem 1.15rem}.hero-label{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-family:Inter,system-ui,sans-serif}.hero-amount{font-family:Fraunces,Georgia,serif;font-size:clamp(1.85rem,5vw,2.25rem);font-weight:700;letter-spacing:-.03em;margin:.35rem 0 0;line-height:1.1;font-variant-numeric:tabular-nums}.hero-split{margin:.55rem 0 0;font-size:.95rem;color:var(--muted)}.hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.hero-foot-meta{font-size:.82rem;color:var(--muted);margin:0}.sync-panel{margin:0 0 1rem;padding:.75rem .9rem;background:color-mix(in srgb,var(--primary) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:var(--radius-sm)}.sync-panel--active{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.sync-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.sync-panel-head strong{font-size:.92rem;font-weight:600;font-family:Inter,system-ui,sans-serif}.sync-panel-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}button.sync-dismiss{min-height:0;padding:.25rem .5rem;font-size:.8rem;font-weight:550;color:var(--muted)}button.sync-dismiss:hover:not(:disabled){color:var(--ink)}.sync-spinner{width:.85rem;height:.85rem;border:2px solid color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary);border-radius:50%;animation:sync-spin .7s linear infinite;flex-shrink:0}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-bank-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.sync-bank{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;font-size:.88rem}.sync-bank-name{font-weight:550;color:var(--ink)}.sync-bank-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.84rem}.sync-bank--syncing .sync-bank-meta{color:var(--primary);font-weight:550}.sync-bank--error .sync-bank-meta{color:var(--danger)}.sync-bank--done .sync-bank-meta{color:var(--muted)}.sync-panel-summary{margin:.55rem 0 0;padding-top:.5rem;border-top:1px solid var(--border);font-size:.84rem;color:var(--muted)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.card-head h2{margin:0;font-size:1.1rem}.card-head .amount{font-size:1.05rem}.card-desc{margin:0 0 .75rem;color:var(--muted);font-size:.88rem}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.toolbar-primary{flex:1 1 auto;min-width:min(100%,11rem)}.toolbar-secondary{display:flex;flex-wrap:wrap;gap:.4rem}.list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 0;border-top:1px solid var(--border)}.list-item:first-of-type{border-top:none;padding-top:.15rem}.list-item-body{min-width:0;flex:1}.list-item-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;flex-shrink:0}.spend-bar{margin-top:.45rem;height:5px;border-radius:999px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden;width:100%}.spend-bar-fill{height:100%;border-radius:999px;background:var(--primary);min-width:2px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.75rem;align-items:stretch}@media(min-width:560px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:720px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.category-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;padding:.7rem .75rem .65rem;min-width:0;height:100%;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--primary) 5%,var(--surface));color:var(--ink);cursor:pointer;font-weight:500;box-shadow:none;overflow:hidden}.category-card:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 11%,var(--surface));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.category-card:disabled{opacity:.6;cursor:wait}.category-card-name{display:block;font-size:.8rem;line-height:1.25;font-weight:600;overflow-wrap:break-word;word-break:normal;margin:0}.category-card-amount{display:block;margin-top:.35rem;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;line-height:1.15}.category-card-meta{display:block;margin-top:.2rem;font-size:.72rem;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-card .spend-bar{margin-top:auto;padding-top:.45rem}.category-card-top{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;margin-bottom:0}.category-card-top strong{font-size:.84rem;line-height:1.3;font-weight:600;overflow-wrap:break-word}.category-card .amount{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.55rem;margin-top:1rem}.stat-chip{border:1px solid var(--border);border-radius:12px;padding:.6rem .7rem;background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.stat-chip-wide{grid-column:1 / -1}.stat-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat-value{margin-top:.2rem;font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.section-title{font-family:Fraunces,Georgia,serif;font-size:1.05rem;margin:0 0 .25rem}.rank-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--primary-soft);color:var(--primary)}.subcat-card{border:1px solid var(--border);border-radius:12px;padding:.8rem .85rem;background:var(--surface)}.day-group{margin-top:.85rem;padding-top:.65rem;border-top:1px solid var(--border)}.day-group:first-of-type{margin-top:.5rem;padding-top:0;border-top:none}.day-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:600;font-size:.88rem;margin-bottom:.25rem;color:var(--muted)}.day-header .amount{color:var(--ink);font-size:.88rem}.back-link{margin-bottom:.75rem}.insight-line{margin:.65rem 0 0;padding:.55rem .75rem;border-radius:10px;background:var(--primary-soft);color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.35}.detail-tabs{margin-bottom:0}.filter-chip-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.rank-list{display:grid;gap:.35rem}.rank-row{display:flex;align-items:flex-start;gap:.65rem;width:100%;text-align:left;padding:.7rem .55rem;min-height:48px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ink);font-weight:500;box-shadow:none}.rank-row:hover:not(:disabled){background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 20%,var(--border));color:var(--ink)}.rank-row-active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.rank-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.rank-row-title{font-weight:600;font-size:.95rem;line-height:1.25}.rank-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex-shrink:0}.rank-row .spend-bar{display:block;margin-top:.35rem;max-width:100%}.rank-row .spend-bar-fill{display:block}.txn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.2rem}.type-chip{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);letter-spacing:.01em}.app-dialog-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,#0c1210 55%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:app-dialog-fade .14s ease-out}@keyframes app-dialog-fade{0%{opacity:0}to{opacity:1}}.app-dialog{width:min(100%,24rem);padding:1.25rem 1.3rem 1.15rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--ink);box-shadow:var(--shadow),0 24px 48px #0000002e;animation:app-dialog-pop .16s ease-out}@keyframes app-dialog-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-dialog-title{margin:0 0 .5rem;font-size:1.2rem;font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.02em;line-height:1.25}.app-dialog-message{margin:0 0 1.15rem;font-size:.95rem;color:var(--muted);white-space:pre-wrap;line-height:1.45}.app-dialog-field{display:block;margin:0 0 1.15rem}.app-dialog-field input{width:100%;margin-top:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-dialog-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.app-dialog-actions button{min-width:5.5rem}.unlock-card{max-width:22rem;margin-left:auto;margin-right:auto}.unlock-card .section-title,.unlock-card .card-desc{text-align:center}.unlock-card button.linkish{display:block;width:100%;text-align:center;background:none;border:none;box-shadow:none;color:var(--muted);cursor:pointer;padding:.35rem}.unlock-card button.linkish:hover:not(:disabled){color:var(--primary)}.plan-stack{padding-bottom:.5rem}.plan-actuals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.35rem}.plan-actuals-cats{margin-top:.85rem;padding-top:.65rem;border-top:1px solid var(--border);display:grid;gap:.35rem}.plan-actuals-cat{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem}.plan-mode-toggle{display:inline-flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.plan-mode-active{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))!important;background:var(--primary-soft)!important;color:var(--ink)!important}.plan-row-paid{opacity:.72}.plan-row-paid strong{color:var(--muted)}@media(max-width:480px){.plan-actuals-grid{grid-template-columns:1fr}}.plan-hero .plan-badge{margin:.75rem 0 0;padding:.45rem .65rem;border-radius:8px;font-size:.85rem;background:var(--primary-soft);color:var(--ink)}.plan-badge-ok{background:color-mix(in srgb,var(--primary) 18%,transparent)!important;color:var(--primary)!important;font-weight:600}.plan-badge-warn{background:var(--danger-soft)!important;color:var(--danger)!important;font-weight:600}.plan-inline-form,.plan-add-grid{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-top:.75rem}.plan-add-grid-debt{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));align-items:end}.plan-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);min-width:6.5rem;flex:1 1 6.5rem}.plan-field input,.plan-field select,.plan-due-edit input{min-height:2.4rem;padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem}.plan-due-edit{display:flex;flex-direction:column;gap:.2rem;margin-top:.35rem;font-size:.75rem;color:var(--muted);max-width:11rem}.plan-list{display:flex;flex-direction:column;gap:0;margin-top:.35rem}.plan-row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-top:1px solid var(--border)}.plan-row:first-child{border-top:none;padding-top:.25rem}.plan-row-focus{background:color-mix(in srgb,var(--primary) 8%,transparent);margin:0 -.65rem;padding-left:.65rem;padding-right:.65rem;border-radius:10px;border-top-color:transparent}.plan-row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:.15rem}.plan-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.plan-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.plan-row-edit{flex-direction:column;align-items:stretch;gap:.5rem;background:color-mix(in srgb,var(--primary) 6%,transparent);margin:0 -.5rem;padding:.75rem .5rem;border-radius:10px}.plan-edit-grid{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;width:100%}.plan-edit-grid-debt{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));align-items:end}.plan-edit-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.txn-engage{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.25rem;position:relative;z-index:1}.txn-reactions{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;vertical-align:top}.txn-reaction-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.15rem}.txn-reaction-chip{display:inline-flex;align-items:center;gap:.1rem;min-height:1.4rem;padding:0 .2rem;border-radius:6px;border:none;background:transparent;color:var(--ink);font-size:.95rem;line-height:1;cursor:pointer;box-shadow:none}.txn-reaction-chip:hover:not(:disabled){background:var(--primary-soft)}.txn-reaction-chip-mine{background:color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px}.txn-reaction-chip-mine-open{outline:1px solid color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 16%,transparent)}.txn-reaction-emoji{font-size:1.05rem;line-height:1}.txn-reaction-count{font-size:.65rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.txn-reaction-add{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;min-height:1.35rem;padding:0;border-radius:6px;border:1px dashed color-mix(in srgb,var(--border) 85%,var(--muted));background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:none;opacity:.75}.txn-reaction-add:hover:not(:disabled),.txn-reaction-add-open{opacity:1;border-style:solid;border-color:color-mix(in srgb,var(--primary) 50%,var(--border));color:var(--primary);background:var(--primary-soft)}.txn-comments{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;min-width:0;flex:0 0 auto}.txn-comment-toggle{display:inline-flex;align-items:center;gap:.15rem;min-height:1.35rem;padding:0 .25rem;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;box-shadow:none;opacity:.7}.txn-comment-toggle:hover:not(:disabled),.txn-comment-toggle-active{opacity:1;color:var(--primary);background:var(--primary-soft)}.txn-comment-count{font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums}.txn-comment-panel{position:absolute;left:0;top:calc(100% + .3rem);width:min(22rem,calc(100vw - 2.5rem));margin:0;padding:.55rem .6rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:30}.txn-comment-status{margin:0 0 .4rem;font-size:.82rem}.txn-comment-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:12rem;overflow-y:auto}.txn-comment-item{padding-bottom:.45rem;border-bottom:1px solid var(--border)}.txn-comment-item:last-child{border-bottom:none;padding-bottom:0}.txn-comment-meta{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:baseline;font-size:.78rem;margin-bottom:.15rem}.txn-comment-body{margin:0;font-size:.9rem;white-space:pre-wrap;word-break:break-word}.txn-comment-delete{margin-top:.2rem;padding:0;border:none;background:transparent;color:var(--muted);font-size:.72rem;cursor:pointer;box-shadow:none;text-decoration:underline;text-underline-offset:.12em}.txn-comment-delete:hover:not(:disabled){color:var(--danger)}.txn-comment-compose{display:flex;flex-direction:column;gap:.4rem}.txn-comment-input{width:100%;min-height:2.5rem;resize:vertical;font:inherit;font-size:.9rem;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink)}.txn-reaction-picker{position:absolute;left:0;top:calc(100% + .3rem);display:flex;flex-direction:column;gap:.65rem;margin:0;padding:.55rem .55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);width:min(22rem,calc(100vw - 2.5rem));max-height:min(22rem,55vh);overflow-y:auto;overscroll-behavior:contain;z-index:30;scrollbar-width:thin}.txn-reaction-section{display:flex;flex-direction:column;gap:.3rem}.txn-reaction-section-label{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 .15rem}.txn-reaction-section-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.15rem}.txn-reaction-pick{display:flex;align-items:center;justify-content:center;min-height:2.15rem;min-width:0;padding:.15rem;border:1px solid transparent;border-radius:8px;background:transparent;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:none;transition:background .12s ease,border-color .12s ease}.txn-reaction-pick:hover:not(:disabled){background:var(--primary-soft)}.txn-reaction-pick-selected{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));background:color-mix(in srgb,var(--primary) 14%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:480px){.txn-reaction-picker,.txn-comment-panel{width:min(20rem,calc(100vw - 1.5rem));max-height:min(18rem,50vh)}.txn-reaction-section-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.auth-card .tabs{margin-bottom:1.1rem}.install-banner{margin:0 0 1rem;padding:.85rem .95rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 12%,var(--surface));box-shadow:var(--shadow)}.install-banner-inner{display:flex;flex-direction:column;gap:.75rem}@media(min-width:420px){.install-banner-inner{flex-direction:row;align-items:center;justify-content:space-between}}.install-banner-copy strong{display:block;font-size:.95rem;font-weight:600;margin-bottom:.2rem}.install-banner-copy p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.35}.install-banner-actions{display:flex;flex-wrap:wrap;gap:.4rem;flex-shrink:0}.install-ios-help{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border);font-size:.9rem}.install-ios-help ol{margin:.4rem 0 .65rem;padding-left:1.25rem}.install-ios-help li{margin-bottom:.35rem}@media(display-mode:standalone){.install-banner{display:none}}code{font-size:.8em;word-break:break-all}
