*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f8fc;--surface: #ffffff;--border: #d9e4f2;--border-soft: #e9eff8;--surface-2: #eef4fb;--border-strong: #b9cce6;--border-faint: #e2eaf4;--text: #1e3a8a;--text-muted: #7d92b6;--text-dim: #46679c;--text-faint: #b6c6dd;--green: #059669;--red: #dc2626;--blue: #2563eb;--yellow: #d97706;--goal-aggregate: #737373;--control-bg: #ffffff;--row-alt: #f4f8fd;--on-accent: #ffffff;--blue-hover: #1d4ed8;--danger-border: #f2c8c8;--danger-bg: #fdecec;--warn-border: #f0e2b0;--warn-tint: rgba(251, 191, 36, .18);--scroll-thumb: #c2d2e8;--overlay: rgba(23, 37, 84, .4);--nav-blur-bg: rgba(228, 238, 250, .94);--shadow-card: 0 1px 2px rgba(30, 58, 138, .05);--shadow-pop: 0 8px 24px rgba(30, 58, 138, .18);--chart-green-dim: #bae6fd;--chart-red-dim: #fecaca;--chart-blue-dim: #bfdbfe;--chart-yellow-dim: #fde68a;--pill-1-fg: #1d4ed8;--pill-1-bg: #dbeafe;--pill-2-fg: #7c3aed;--pill-2-bg: #ede9fe;--pill-3-fg: #c2410c;--pill-3-bg: #ffedd5;--pill-4-fg: #0f766e;--pill-4-bg: #ccfbf1;--pill-5-fg: #be185d;--pill-5-bg: #fce7f3;--pill-6-fg: #a16207;--pill-6-bg: #fef3c7;--pill-7-fg: #b91c1c;--pill-7-bg: #fee2e2;--pill-8-fg: #4d7c0f;--pill-8-bg: #ecfccb;--pill-9-fg: #0e7490;--pill-9-bg: #cffafe;--pill-10-fg: #4338ca;--pill-10-bg: #e0e7ff;--pill-11-fg: #a21caf;--pill-11-bg: #fae8ff;--pill-12-fg: #44403c;--pill-12-bg: #e7e5e4;--pill-income-fg: #047857;--pill-income-bg: #d1fae5;--font-mono: "DM Mono", monospace;--font-serif: "Playfair Display", serif;--nav-h: 52px;--nav-offset: 0px;color-scheme:light}:root[data-theme=dark]{--bg: #0a0a0a;--surface: #111111;--border: #1c1c1c;--border-soft: #141414;--surface-2: #222222;--border-strong: #333333;--border-faint: #1a1a1a;--text: #e8e8e0;--text-muted: #666666;--text-dim: #999999;--text-faint: #3a3a3a;--green: #4ade80;--red: #f87171;--blue: #60a5fa;--yellow: #fbbf24;--goal-aggregate: #a3a3a3;--control-bg: #1a1a1a;--row-alt: #161616;--on-accent: #0a0a0a;--blue-hover: #93c5fd;--danger-border: #3a1a1a;--danger-bg: #1f0f0f;--warn-border: #2a2410;--warn-tint: rgba(251, 191, 36, .08);--scroll-thumb: #2a2a2a;--overlay: rgba(0, 0, 0, .6);--nav-blur-bg: rgba(17, 17, 17, .94);--shadow-card: none;--shadow-pop: 0 8px 24px rgba(0, 0, 0, .6);--chart-green-dim: #1d3b2a;--chart-red-dim: #3b1d1d;--chart-blue-dim: #1e3a5f;--chart-yellow-dim: #3d3010;--pill-1-fg: #93c5fd;--pill-1-bg: #16283f;--pill-2-fg: #c4b5fd;--pill-2-bg: #241f3d;--pill-3-fg: #fdba74;--pill-3-bg: #33210f;--pill-4-fg: #5eead4;--pill-4-bg: #10302c;--pill-5-fg: #f9a8d4;--pill-5-bg: #331526;--pill-6-fg: #fcd34d;--pill-6-bg: #322611;--pill-7-fg: #fca5a5;--pill-7-bg: #3b1616;--pill-8-fg: #bef264;--pill-8-bg: #1f2e0c;--pill-9-fg: #67e8f9;--pill-9-bg: #0f2e33;--pill-10-fg: #a5b4fc;--pill-10-bg: #1e1f45;--pill-11-fg: #f0abfc;--pill-11-bg: #331437;--pill-12-fg: #d6d3d1;--pill-12-bg: #2a2827;--pill-income-fg: #6ee7b7;--pill-income-bg: #102c22;color-scheme:dark}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.5;min-height:100vh;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}button{font-family:var(--font-mono);cursor:pointer}input,select,textarea{font-family:var(--font-mono);background:var(--control-bg);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:4px;font-size:13px;outline:none;max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--blue)}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:500;color:var(--text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-bottom:1px solid var(--border)}td{padding:5px 10px;border-bottom:1px solid var(--border-soft);color:var(--text)}.ledger-table tbody tr:nth-child(2n):not(.row-editing) td,.proj-table tbody tr:nth-child(2n) td{background:var(--row-alt)}tr:last-child td{border-bottom:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px;box-shadow:var(--shadow-card)}.label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.positive{color:var(--green)}.negative{color:var(--red)}.info{color:var(--blue)}.warn{color:var(--yellow)}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:4px;border:1px solid var(--border);background:var(--control-bg);color:var(--text);font-size:12px;letter-spacing:.04em;transition:background .15s,border-color .15s;cursor:pointer}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:disabled{color:var(--text-faint);cursor:default}.btn:disabled:hover{background:var(--control-bg);border-color:var(--border)}.btn-primary{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}.btn-primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.btn-primary:disabled{opacity:.55;color:var(--on-accent)}.btn-primary:disabled:hover{background:var(--blue);border-color:var(--blue)}.btn-danger{border-color:var(--danger-border);color:var(--red)}.btn-danger:hover{background:var(--danger-bg)}.section-header{font-family:var(--font-serif);font-size:20px;font-weight:400;color:var(--text);margin-bottom:16px}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-nav{display:flex;align-items:center;height:var(--nav-h);position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding:0 24px;gap:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-nav-brand{font-family:var(--font-serif);font-size:16px;color:var(--text);letter-spacing:-.01em;margin-right:8px;white-space:nowrap}.app-nav-tabs{display:flex;align-items:center;gap:20px}.app-nav-tab{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:none;border:none;border-bottom:1px solid transparent;color:var(--text-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 0;cursor:pointer;transition:color .15s}.app-nav-tab.active{color:var(--text);border-bottom-color:var(--text)}.app-main{padding:24px;width:100%;max-width:1200px;margin:0 auto;flex:1;min-width:0;display:flex;flex-direction:column}@media(min-width:641px)and (min-height:561px){.app-main[data-view=calendar]{max-width:none;height:100dvh;flex:none;overflow:hidden}.app-main[data-view=calendar]>div{display:flex;flex-direction:column;height:100%;min-height:0}.app-main[data-view=calendar] .cal-lead .section-header{display:none}}@media(orientation:portrait),(min-height:561px){:root{--nav-island-inset: 14px;--nav-island-clear: 82px}.nav-island{display:flex;position:fixed;bottom:calc(var(--nav-island-inset) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:150;gap:2px;padding:5px;border-radius:999px;background:var(--nav-blur-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--shadow-pop)}:where(html[data-nav-orientation=vertical]) .nav-island{flex-direction:column}:where(html[data-nav-position^=top]) .nav-island{top:calc(var(--nav-island-inset) + env(safe-area-inset-top));bottom:auto}:where(html[data-nav-position^=center]) .nav-island{top:50%;bottom:auto;transform:translateY(-50%)}:where(html[data-nav-position$=left]) .nav-island{left:max(var(--nav-island-inset),env(safe-area-inset-left))}:where(html[data-nav-position$=right]) .nav-island{left:auto;right:max(var(--nav-island-inset),env(safe-area-inset-right))}:where(html[data-nav-position$=left]) .nav-island,:where(html[data-nav-position$=right]) .nav-island{transform:none}:where(html[data-nav-position^=center][data-nav-position$=left]) .nav-island,:where(html[data-nav-position^=center][data-nav-position$=right]) .nav-island{transform:translateY(-50%)}.app-main{padding-bottom:var(--nav-island-clear)}:where(html[data-nav-position^=top][data-nav-orientation=horizontal]) .app-main{padding-top:var(--nav-island-clear);padding-bottom:24px}:where(html[data-nav-orientation=vertical]) .app-main{padding-bottom:24px}:where(html[data-nav-orientation=vertical][data-nav-position$=left]) .app-main{padding-left:var(--nav-island-clear)}:where(html[data-nav-orientation=vertical][data-nav-position$=right]) .app-main{padding-right:var(--nav-island-clear)}}@media(min-width:641px)and (min-height:561px){html[data-nav-position^=bottom][data-nav-orientation=horizontal] .error-toasts,html[data-nav-position^=bottom][data-nav-orientation=horizontal] .tz-notice,html[data-nav-position^=bottom][data-nav-orientation=horizontal] .goal-delete-notice{bottom:calc(var(--nav-island-clear) + 28px)}}.nav-island-item{position:relative;flex:1 1 0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:999px;color:var(--text-muted);padding:0;cursor:pointer;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.nav-island-item:hover{color:var(--text)}.nav-island-item.active{color:var(--on-accent);background:var(--nav-accent, var(--blue))}.nav-island-item svg{opacity:.75}.nav-island-item.active svg{opacity:1}.nav-island-item:focus-visible{outline:2px solid var(--nav-accent, var(--blue));outline-offset:2px}@media(hover:hover){.nav-island-item:after{content:attr(data-label);position:absolute;z-index:1;padding:4px 9px;border-radius:6px;background:var(--text);color:var(--bg);font-size:11px;letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.nav-island-item:hover:after,.nav-island-item:focus-visible:after{opacity:1}html[data-nav-position^=top][data-nav-orientation=horizontal] .nav-island-item:after{bottom:auto;top:calc(100% + 10px)}html[data-nav-orientation=vertical] .nav-island-item:after{bottom:auto;left:auto;top:50%;transform:translateY(-50%)}html[data-nav-orientation=vertical][data-nav-position$=left] .nav-island-item:after{left:calc(100% + 10px)}html[data-nav-orientation=vertical][data-nav-position$=right] .nav-island-item:after{right:calc(100% + 10px)}}@media(orientation:landscape)and (min-width:1440px){.app-main{max-width:1360px}}@media(max-width:640px){.nav-island{flex-direction:row;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));transform:none}.app-main{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.summary-grid{grid-template-columns:1fr}.card{padding:14px}.col-hide-mobile{display:none!important}input,select,textarea{font-size:12px}.btn{min-height:36px}}.sheet-backdrop{position:fixed;inset:0;z-index:300;background:var(--overlay);display:flex;align-items:flex-end;animation:sheet-fade .18s ease}.sheet{width:100%;max-height:90vh;display:flex;flex-direction:column;background:var(--surface);border-top-left-radius:16px;border-top-right-radius:16px;border-top:1px solid var(--border);padding:8px 16px calc(16px + env(safe-area-inset-bottom));animation:sheet-slide .22s cubic-bezier(.22,1,.36,1)}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:6px auto 12px;flex-shrink:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-form{display:flex;flex-direction:column;gap:14px}.sheet-form .label{margin-bottom:6px}.sheet-form input,.sheet-form select{width:100%;box-sizing:border-box;min-height:40px;font-size:14px}.sheet-form-actions{display:flex;gap:10px}.sheet-form-actions .btn{flex:1;justify-content:center;min-height:44px;font-size:14px}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-backdrop{position:fixed;inset:0;z-index:300;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:20px;animation:sheet-fade .18s ease}.modal{width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px 16px;animation:modal-pop .18s cubic-bezier(.22,1,.36,1)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-close{flex:0 0 auto;width:28px;height:28px;margin:-4px -6px 0 0;display:flex;align-items:center;justify-content:center;padding:0;font-size:18px;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:999px;cursor:pointer}.modal-close:hover,.modal-close:focus-visible{color:var(--text);background:var(--row-alt)}.modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes modal-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:640px){.mobile-stack{flex-direction:column;align-items:stretch}.mobile-stack>*{width:100%!important}.mobile-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-grid-2>*{width:100%!important}}.gmail-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:12px}.gmail-desktop{display:block}.gmail-mobile{display:none}@media(max-width:640px){.gmail-header{flex-direction:column;align-items:flex-start}.gmail-desktop{display:none}.gmail-mobile{display:block}}.settings-layout{display:grid;grid-template-columns:216px 1fr;gap:32px;align-items:start}.settings-sidebar{position:sticky;top:84px;display:flex;flex-direction:column;gap:18px}.settings-search{width:100%}.settings-nav-group{display:flex;flex-direction:column;gap:2px}.settings-nav-group-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:0 10px 4px}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;padding:7px 10px;border-radius:5px;transition:background .15s,color .15s,border-color .15s}.settings-nav-item:hover{background:var(--surface-2);color:var(--text)}.settings-nav-item.active{background:var(--surface-2);color:var(--text);border-color:var(--border)}.settings-nav-item svg{opacity:.6;flex-shrink:0}.settings-nav-item:hover svg,.settings-nav-item.active svg{opacity:1}.settings-nav-empty{padding:0 10px;font-size:11px}.settings-content{min-width:0}.settings-field{display:flex;align-items:center;gap:12px;margin-bottom:12px}.settings-field-label{width:180px;flex-shrink:0}.settings-field-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:640px){.settings-field{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:18px}.settings-field-label{width:auto}}.nav-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;width:168px;aspect-ratio:4 / 3;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.nav-picker-cell{position:relative}.nav-picker-bar{position:absolute;padding:0;border:none;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background .15s,transform .15s}.nav-picker-bar:hover{background:var(--text-muted)}.nav-picker-bar.selected{background:var(--blue)}.nav-picker-bar:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.nav-picker-bar.horizontal{height:8px;left:0;right:0}.nav-picker-bar.vertical{width:8px;top:0;bottom:0}.nav-picker-cell.top-left .horizontal,.nav-picker-cell.top-center .horizontal,.nav-picker-cell.top-right .horizontal{top:0}.nav-picker-cell.bottom-left .horizontal,.nav-picker-cell.bottom-center .horizontal,.nav-picker-cell.bottom-right .horizontal{bottom:0}.nav-picker-cell.top-left .vertical,.nav-picker-cell.center-left .vertical,.nav-picker-cell.bottom-left .vertical{left:0}.nav-picker-cell.top-right .vertical,.nav-picker-cell.center-right .vertical,.nav-picker-cell.bottom-right .vertical{right:0}.nav-picker-cell.top-left .horizontal,.nav-picker-cell.bottom-left .horizontal{left:12px}.nav-picker-cell.top-right .horizontal,.nav-picker-cell.bottom-right .horizontal{right:12px}.nav-picker-cell.top-left .vertical,.nav-picker-cell.top-right .vertical{top:12px}.nav-picker-cell.bottom-left .vertical,.nav-picker-cell.bottom-right .vertical{bottom:12px}@media(max-width:640px){.settings-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}.merchant-rules-table{table-layout:fixed;width:100%}.merchant-rules-table th:nth-child(1),.merchant-rules-table td:nth-child(1){width:32%}.merchant-rules-table th:nth-child(2),.merchant-rules-table td:nth-child(2){width:22%}.merchant-rules-table th:nth-child(3),.merchant-rules-table td:nth-child(3){width:32%}.merchant-rules-table th:nth-child(4),.merchant-rules-table td:nth-child(4){width:14%}.merchant-rules-table input,.merchant-rules-table select{width:100%!important;min-width:0}.merchant-rules-table input[type=number]{padding-left:4px;padding-right:4px;appearance:textfield;-moz-appearance:textfield}.merchant-rules-table input[type=number]::-webkit-outer-spin-button,.merchant-rules-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-content-inner{animation:settings-fade .2s ease}@keyframes settings-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.settings-menu-btn{display:flex;align-items:center;gap:8px;justify-self:start}.sheet .settings-sidebar{position:static}@media(max-width:880px){.settings-layout{grid-template-columns:1fr;gap:16px}}.admin-intro{font-size:11px;margin:-8px 0 12px}.admin-workbench{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:680px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-card)}.admin-schema{min-width:0;padding:12px;border-right:1px solid var(--border);background:var(--row-alt)}.admin-schema>input{width:100%;margin-bottom:10px}.admin-pane-title,.admin-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.admin-pane-title .btn{text-transform:none;letter-spacing:.04em}.admin-pane-title kbd{font:inherit;font-size:9px;opacity:.75}.admin-schema-tree{max-height:600px;overflow:auto}.admin-schema-tree summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 3px;cursor:pointer;font-size:11px;list-style-position:inside}.admin-schema-tree summary:before{content:"›";width:10px;flex-shrink:0;color:var(--text-muted);transition:transform .12s}.admin-schema-tree details[open]>summary:before{transform:rotate(90deg)}.admin-schema-tree summary::marker,.admin-schema-tree summary::-webkit-details-marker{display:none}.admin-schema-tree summary>:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.admin-object{margin-left:12px}.admin-object-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-object summary .muted{font-size:9px;white-space:nowrap}.admin-object ul{list-style:none;margin:0 0 5px 12px}.admin-object li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:2px 4px;font-size:10px}.admin-object li>:first-child{overflow:hidden;text-overflow:ellipsis}.admin-locked{grid-column:1 / -1;color:var(--red);font-size:9px}.admin-worksheet{min-width:0;display:flex;flex-direction:column}.admin-worksheet>.admin-pane-title,.admin-result-head{padding:7px 12px;border-bottom:1px solid var(--border)}.admin-sql{width:100%;min-height:160px;resize:vertical;padding:14px;border:0;border-bottom:1px solid var(--border);border-radius:0;line-height:1.55;tab-size:2}.admin-sql:focus{box-shadow:inset 0 0 0 1px var(--blue)}.admin-results{min-height:220px;max-height:340px;overflow:auto}.admin-result-scroll{min-width:100%;overflow-x:auto}.admin-result-table{width:max-content;min-width:100%;white-space:nowrap;font-size:11px}.admin-result-table tbody tr:nth-child(2n) td{background:var(--row-alt)}.admin-result-table td{max-width:360px;overflow:hidden;text-overflow:ellipsis}.admin-null{color:var(--text-muted);font-style:italic}.admin-empty{padding:14px;font-size:11px}.admin-query-error{display:flex;align-items:center;gap:10px;margin:12px;padding:10px;color:var(--red);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:4px;font-size:11px}.admin-query-error code{color:var(--text-muted)}.admin-history{border-top:1px solid var(--border)}.admin-history ol{max-height:190px;overflow:auto;list-style:none}.admin-history li+li{border-top:1px solid var(--border-soft)}.admin-history li button{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;width:100%;padding:7px 12px;border:0;background:none;color:var(--text);text-align:left;font-size:10px}.admin-history li button:hover{background:var(--row-alt)}.admin-history code{overflow:hidden;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap}.admin-history time{color:var(--text-muted)}.admin-loading{display:flex;align-items:flex-start;gap:10px;color:var(--text-muted);font-size:11px}@media(max-width:640px){.admin-workbench{grid-template-columns:1fr}.admin-schema{border-right:0;border-bottom:1px solid var(--border)}.admin-schema-tree{max-height:240px}.admin-history li button{grid-template-columns:62px minmax(0,1fr)}.admin-history time{display:none}}.proj-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.runway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.runway-card{position:relative}.corner-tooltip{position:absolute;top:14px;right:14px}.corner-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-muted);font-size:10px;font-style:italic;cursor:pointer;-webkit-user-select:none;user-select:none}.corner-tooltip-box{position:absolute;top:calc(100% + 6px);right:0;width:240px;max-width:78vw;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:11px;color:var(--text-dim);line-height:1.6;white-space:pre-line;font-family:var(--font-mono);z-index:200;pointer-events:none;box-shadow:var(--shadow-pop)}.trip-charge-row{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:12px}.trip-charge-row>.trip-charge-date{flex-shrink:0;width:54px}.trip-charge-row>.trip-charge-amount{flex-shrink:0;min-width:76px;text-align:right}.trip-charge-merchant{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-block{margin-bottom:16px;padding:12px 14px;border:1px solid var(--border);border-radius:4px}.bank-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.bank-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.bank-status:before{content:"●";font-size:8px;color:var(--text-dim)}.bank-status-ok:before{color:var(--green)}.bank-status-warn:before{color:var(--yellow)}.bank-status-bad:before{color:var(--red)}.linkish{padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-bottom:1px dotted var(--border-strong)}.linkish:hover{color:var(--blue);border-bottom-color:var(--blue)}.trip-window-link{display:block;font-size:11px;color:var(--text-dim)}.pull-refresh{position:fixed;top:calc(var(--nav-offset) - 30px);left:50%;z-index:90;display:inline-flex;align-items:center;gap:7px;margin-left:-85px;width:170px;justify-content:center;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-dim);font-size:11px;letter-spacing:.04em;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-pop)}.pull-refresh-icon{display:inline-flex;transition:transform .15s}.pull-refresh-icon.spinning{animation:pull-refresh-spin .9s linear infinite}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.sync-icon-btn{padding:4px 7px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sync-error-more{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border-radius:50%;border:1px solid var(--danger-border);background:transparent;color:var(--red);font-family:var(--font-mono);font-size:9px;font-style:italic;line-height:1;cursor:pointer;vertical-align:middle}.sync-error-more:hover{background:var(--danger-bg)}.sync-error-detail{margin:6px 0 0;padding:8px 10px;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:11px;line-height:1.5}.sync-error-detail>div{display:flex;gap:8px;padding:1px 0}.sync-error-detail dt{flex-shrink:0;width:82px;color:var(--text-muted)}.sync-error-detail dd{margin:0;min-width:0;color:var(--text-dim);word-break:break-word}.proj-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.proj-table{min-width:720px}@media(max-width:640px){.proj-summary-grid{grid-template-columns:1fr}.runway-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.runway-grid::-webkit-scrollbar{display:none}.runway-card{flex:0 0 84%;scroll-snap-align:center}.proj-table-wrap{overflow-x:visible}.proj-table{min-width:0}.proj-table thead{display:none}.proj-table tr{display:block;border:1px solid var(--border);border-radius:6px;padding:8px 12px;margin-bottom:10px}.proj-table td{display:flex;align-items:center;justify-content:space-between;border:none;padding:5px 0;text-align:right!important}.proj-table td:before{content:attr(data-label);color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;margin-right:12px}.proj-table td[data-label=Month]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:4px;font-weight:500}.proj-table td[data-label=Month]:before{content:"";margin:0}}.ledger-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.ledger-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:-16px;padding:16px}.ledger-table{min-width:720px}.ledger-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ledger-bulk-actions strong{margin-right:auto;font-size:12px}.ledger-bulk-actions select{min-width:180px;padding:5px 8px;font-size:12px}.ledger-bulk-actions+.ledger-table-wrap{margin-top:0;padding-top:0}.ledger-select-cell{width:32px;padding-left:4px;padding-right:0;text-align:center}.ledger-select-cell input{width:16px;height:16px;accent-color:var(--blue)}.ledger-table tbody tr.ledger-row-selected:not(.row-editing) td{background:color-mix(in srgb,var(--blue) 12%,var(--surface))}.ledger-merchant,.ledger-original-description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-original-description{margin-top:2px;color:var(--text-muted);font-size:10px}@media(max-width:640px){.ledger-table-wrap{overflow-x:visible;margin:0;padding:0}}@media(max-width:640px){.ledger-table{min-width:0;width:100%;table-layout:auto}.ledger-table th,.ledger-table td{padding:8px 6px;font-size:12px}.ledger-table thead th{position:sticky;top:var(--nav-offset);z-index:3;background:var(--surface);font-size:10px;color:var(--text-muted)}.ledger-table td[data-label=Date],.ledger-table th.thw-date,.ledger-table td[data-label=Amount],.ledger-table th.thw-amount,.ledger-table td[data-label=Actions],.ledger-table th.thw-act,.ledger-table .ledger-select-cell{width:1%;white-space:nowrap}.ledger-table td[data-label=Amount]{text-align:right}.ledger-table td[data-label=Actions]{overflow:visible;text-align:center;padding:4px 0}.ledger-table td[data-label=Merchant]{display:table-cell!important;width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-table td[data-label=Merchant]>span{display:block!important}.ledger-table tr.row-editing td{display:block!important;width:auto;white-space:normal;overflow:visible;text-align:left;padding:4px 0}.ledger-table tr.row-editing .ledger-edit-field{width:100%!important;text-align:left!important}.ledger-table tr.row-editing td.ledger-select-cell{display:none!important}.row-editing .btn{min-height:36px}.ledger-bulk-actions strong{flex-basis:100%}.ledger-bulk-actions select{flex:1 1 160px;min-width:0}}.accounts-grid{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}.account-tile{flex:1 1 160px;min-width:150px;padding:10px 12px;border:1px solid var(--border);border-radius:6px}.accounts-row-break{flex-basis:100%;height:0;margin:0}.account-tile-balance{font-size:18px;margin-top:4px}@media(max-width:640px){.accounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.accounts-row-break{display:none}.account-tile{min-width:0;padding:8px 10px}.account-tile-balance{font-size:15px;margin-top:2px}}.row-actions-trigger{display:none}.row-actions-trigger--always{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border:1px solid var(--border);border-radius:6px;background:var(--control-bg);color:var(--text-dim);font-size:17px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.row-actions-trigger--always:hover{background:var(--surface-2)}.row-actions-extra{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.row-actions-extra select{width:100%!important}.row-actions-extra .btn{width:100%}.row-actions-menu{display:flex;flex-direction:column;gap:8px}.row-actions-menu .btn{width:100%;justify-content:center}.row-actions-popover{position:fixed;z-index:320;min-width:148px;max-width:min(280px,calc(100vw - 16px));display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-pop)}.row-actions-popover:has(.row-actions-extra){min-width:240px}.row-actions-popover .btn{width:100%;justify-content:center;font-size:12px}.row-actions-popover-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:2px 2px 6px;border-bottom:1px solid var(--border-soft);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.row-actions-inline{display:none!important}.row-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--control-bg);color:var(--text-dim);font-size:20px;line-height:1;-webkit-tap-highlight-color:transparent}.row-actions-trigger:active{background:var(--surface-2)}.ledger-table td[data-label=Actions]:has(.row-actions-trigger){justify-content:flex-end;border-top:none;padding-top:6px;margin-top:0}.row-actions-menu .btn{padding:13px!important;font-size:14px!important}}@media(orientation:landscape)and (max-height:560px){:root{--nav-offset: var(--nav-h)}.app-nav{gap:16px}.app-nav-brand{font-size:13px!important}.app-nav-tabs{gap:8px!important}.app-nav-tabs button{font-size:10px!important}.app-nav-tabs .app-nav-tab{border-radius:9px;padding:8px 12px!important;border-bottom:none!important}.app-nav-tabs .app-nav-tab.active{color:var(--on-accent)!important;background:var(--blue)!important}.app-main{max-width:none;height:calc(100dvh - var(--nav-h));flex:none!important;overflow:hidden;padding:12px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));position:relative}.app-main>div{display:flex;align-items:stretch;gap:14px;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:6px}.app-main>div>*{flex:0 0 auto;width:min(72vw,520px);max-height:100%;overflow-y:auto;margin-bottom:0!important;scroll-snap-align:start}.app-main>div>.section-header{width:max-content;min-width:0}.app-main>div>div:has(>.section-header){width:max-content;min-width:140px;max-width:200px;flex-wrap:wrap!important;align-content:flex-start;row-gap:12px}.app-main>div>div:has(>.section-header) .section-header{margin-bottom:0}.app-main>div>.view-lead{width:max-content;min-width:150px;max-width:220px}.app-main>div>.view-lead:has(.plaid-sync-status){max-width:min(72vw,440px)}.app-main>div>.view-lead:has(.review-strip){width:min(72vw,520px);max-width:none}.app-main>div>.view-lead:has(.ledger-filters){width:min(28vw,200px);max-width:none}.app-main>div>.view-lead .view-lead-row{flex-wrap:wrap;row-gap:12px}.app-main>div>.view-lead .ledger-filters{flex-direction:column;align-items:stretch}.app-main>div>.view-lead .ledger-filters>*{width:100%!important;margin-left:0!important}.app-main>div>.accounts-card{width:max-content;min-width:210px;max-width:250px}.app-main>div>.accounts-card .accounts-grid{flex-direction:column;flex-wrap:nowrap;gap:6px}.app-main>div>.accounts-card .accounts-row-break{display:none}.app-main>div>.accounts-card .account-tile{flex:0 0 auto;min-width:0;padding:6px 10px}.app-main>div>.accounts-card .account-tile-balance{font-size:14px;margin-top:1px}.app-main>div>.summary-grid{width:min(52vw,360px)}.app-main>div>.proj-summary-grid{width:min(44vw,290px);align-self:flex-start}.app-main>div>div:has(.ledger-table),.app-main>div>div:has(.proj-table),.app-main>div>div:has(.recharts-wrapper){width:min(88vw,780px)}.app-main>div>div:has(.ledger-table){width:min(94vw,900px)}.summary-grid,.proj-summary-grid,.runway-grid{grid-template-columns:1fr}.app-main>div:has(.settings-layout)>.section-header{display:none}.app-main>div>.settings-layout{width:100%;height:100%;overflow:hidden;grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:stretch;gap:8px}.settings-content{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}.info-tooltip-box{display:none;position:absolute;bottom:calc(100% + 6px);right:0;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:11px;color:var(--text-dim);line-height:1.5;white-space:pre-line;z-index:100;pointer-events:none;box-shadow:var(--shadow-pop)}.info-tooltip-trigger:hover+.info-tooltip-box,.info-tooltip-trigger:focus+.info-tooltip-box{display:block}.error-toasts{position:fixed;bottom:16px;left:16px;right:16px;z-index:400;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.error-toast-stack{pointer-events:auto;width:100%;max-width:480px;max-height:40vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.error-toast{width:100%;max-width:480px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:6px;box-shadow:var(--shadow-pop)}.cal-card{margin-bottom:16px}.cal-head-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cal-week-grid,.cal-month-days,.cal-month-header,.cal-trip-lane{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-month-header{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;padding:0 4px}.cal-month-week{margin-bottom:6px}.cal-cell{min-height:76px;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-soft);border-radius:4px;background:var(--surface);min-width:0}.cal-cell-muted{background:var(--row-alt);color:var(--text-muted)}.cal-cell-today{border-color:var(--blue)}.cal-cell-head{display:flex;align-items:baseline;gap:5px}.cal-cell-add{width:20px;height:20px;margin-left:auto;padding:0;border:1px solid transparent;border-radius:50%;color:var(--text-muted);background:transparent;font:inherit;line-height:18px;cursor:pointer}.cal-cell-add:hover,.cal-cell-add:focus-visible{border-color:var(--border);color:var(--text);background:var(--row-alt)}.cal-cell-weekday{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.cal-cell-day{font-size:12px}.cal-cell-today-tag{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-accent);background:var(--blue);border-radius:3px;padding:1px 4px}.cal-cell-empty{color:var(--text-faint);font-size:11px}.pill{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:10px;line-height:1.5;padding:2px 7px;border:1px solid transparent;border-radius:999px;color:var(--pill-fg);background:var(--pill-bg)}.pill-h1{--pill-fg: var(--pill-1-fg);--pill-bg: var(--pill-1-bg)}.pill-h2{--pill-fg: var(--pill-2-fg);--pill-bg: var(--pill-2-bg)}.pill-h3{--pill-fg: var(--pill-3-fg);--pill-bg: var(--pill-3-bg)}.pill-h4{--pill-fg: var(--pill-4-fg);--pill-bg: var(--pill-4-bg)}.pill-h5{--pill-fg: var(--pill-5-fg);--pill-bg: var(--pill-5-bg)}.pill-h6{--pill-fg: var(--pill-6-fg);--pill-bg: var(--pill-6-bg)}.pill-h7{--pill-fg: var(--pill-7-fg);--pill-bg: var(--pill-7-bg)}.pill-h8{--pill-fg: var(--pill-8-fg);--pill-bg: var(--pill-8-bg)}.pill-h9{--pill-fg: var(--pill-9-fg);--pill-bg: var(--pill-9-bg)}.pill-h10{--pill-fg: var(--pill-10-fg);--pill-bg: var(--pill-10-bg)}.pill-h11{--pill-fg: var(--pill-11-fg);--pill-bg: var(--pill-11-bg)}.pill-h12{--pill-fg: var(--pill-12-fg);--pill-bg: var(--pill-12-bg)}.color-swatch{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid var(--pill-bg);background:var(--pill-bg);cursor:pointer}.color-swatch[aria-checked=true]{border-color:var(--pill-fg);box-shadow:inset 0 0 0 3px var(--surface);background:var(--pill-fg)}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 0;gap:0;align-items:start;margin-bottom:16px;transition:grid-template-columns .24s ease,gap .24s ease}.cal-layout-main>.cal-card{margin-bottom:0}.cal-layout-shelf-open{grid-template-columns:minmax(0,1fr) min(360px,38%);gap:16px}@media(min-width:1440px)and (min-height:561px){.cal-layout-shelf-open{grid-template-columns:minmax(0,1fr) min(480px,30%)}}@media(min-width:641px)and (min-height:561px){.app-main[data-view=calendar] .cal-layout{flex:1;min-height:0;align-items:stretch}.app-main[data-view=calendar] .cal-layout-main{display:flex;min-height:0}.app-main[data-view=calendar] .cal-card,.app-main[data-view=calendar] .goal-shelf{width:100%;height:100%;overflow-y:auto}.app-main[data-view=calendar] .cal-layout-shelf{min-height:0;max-height:100%;overflow-y:hidden}.app-main[data-view=calendar] .cal-layout-shelf-constrained{height:auto;min-height:0}.cal-layout[data-calendar-view=month] .cal-card,.cal-layout[data-calendar-view=week] .cal-card{display:flex;flex-direction:column;min-height:0}.cal-layout[data-calendar-view=month] .cal-month-week{display:flex;flex:1 1 76px;flex-direction:column;min-height:76px}.cal-layout[data-calendar-view=month] .cal-month-days{flex:1;min-height:0}.cal-layout[data-calendar-view=month] .cal-cell{height:100%;overflow-y:auto}.cal-layout[data-calendar-view=week] .cal-week-grid-stack{grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-height:0}.cal-layout[data-calendar-view=week] .cal-cell{min-height:0;overflow-y:auto}.app-main[data-view=calendar] .cal-layout[data-calendar-view=week] .cal-layout-main>.cal-card{height:50%}}@media(min-width:800px)and (min-height:561px){.cal-layout[data-calendar-view=day]{grid-template-columns:minmax(280px,min(480px,48%)) 0;justify-content:center}.cal-layout[data-calendar-view=day].cal-layout-shelf-open{grid-template-columns:minmax(280px,min(480px,48%)) minmax(360px,min(480px,42%))}}.cal-layout-main{min-width:0}.cal-layout-shelf{min-width:0;overflow:hidden;opacity:0;transform:translate(14px);pointer-events:none;transition:opacity .18s ease,transform .24s ease}.cal-layout-shelf-constrained{height:0;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.cal-layout-shelf-open .cal-layout-shelf{opacity:1;transform:translate(0);pointer-events:auto}.cal-shelf-toggle{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:3px 8px!important;font-size:11px!important}.goal-shelf{display:grid;align-content:start;gap:12px;min-width:0}.goal-shelf-title{display:grid;grid-template-columns:minmax(0,1fr) 174px;align-items:end;gap:6px}.goal-shelf-columns{display:grid;grid-template-columns:repeat(2,67px) 28px;gap:6px;color:var(--text-muted);font-size:9px;letter-spacing:.08em;text-align:right;text-transform:uppercase}.goal-shelf-groups,.goal-shelf-group,.goal-shelf-rows{display:grid;grid-auto-rows:max-content;gap:6px}.goal-shelf-groups{gap:16px}.goal-shelf-section-label{color:var(--text-muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.goal-shelf-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,67px) 30px;gap:6px;align-items:center;min-width:0;min-height:31px;padding:5px 7px;border:1px solid var(--pill-bg);border-radius:5px;color:var(--pill-fg);background:var(--pill-bg);font:inherit;font-size:10px;text-align:left}button.goal-shelf-row{cursor:pointer}button.goal-shelf-row:hover,button.goal-shelf-row:focus-visible{border-color:var(--pill-fg)}.goal-shelf-label{min-width:0;overflow-wrap:anywhere}.goal-shelf-number,.goal-shelf-subtotal strong,.goal-shelf-net strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.goal-shelf-number{text-align:right}.goal-tile-orbit-gauge{display:grid;place-items:center;position:relative;width:28px;height:28px}.goal-tile-orbit-gauge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.goal-tile-orbit-gauge circle{fill:none;stroke-width:3}.goal-tile-orbit-track{stroke:color-mix(in srgb,var(--pill-fg) 18%,transparent)}.goal-tile-orbit-progress{stroke:var(--pill-fg);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--goal-ring-offset);animation:goal-tile-orbit-load 1.1s ease-in-out both}.cal-layout-shelf .goal-tile-orbit-progress{animation:none}.cal-layout-shelf-open .goal-tile-orbit-progress{animation:goal-tile-orbit-load 1.1s ease-in-out both}.goal-tile-orbit-gauge>span,.goal-shelf-progress{font-size:7px;font-weight:600;letter-spacing:-.04em;text-align:center}@media(hover:hover){.goal-shelf-row:hover .goal-tile-orbit-progress{animation:goal-tile-orbit-replay 1.1s ease-in-out both}}button.goal-shelf-row:focus-visible .goal-tile-orbit-progress{animation:goal-tile-orbit-replay 1.1s ease-in-out both}@keyframes goal-tile-orbit-load{0%,15%,to{stroke-dashoffset:var(--goal-ring-offset)}55%{stroke-dashoffset:100}}@keyframes goal-tile-orbit-replay{0%,15%,to{stroke-dashoffset:var(--goal-ring-offset)}55%{stroke-dashoffset:100}}.goal-shelf-subtotal,.goal-shelf-net{display:flex;align-items:center;justify-content:space-between;gap:10px}.goal-shelf-subtotal{padding-top:2px;color:var(--text-muted);font-size:10px}.goal-shelf-subtotal>span:last-child,.goal-shelf-net>span:last-child{display:inline-flex;align-items:center;gap:6px}.goal-shelf-subtotal strong{color:var(--text);font-size:10px;font-weight:400}.goal-info{display:inline-grid;place-items:center;width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);background:transparent;font:10px/1 var(--font-mono);cursor:pointer}.goal-info:hover,.goal-info:focus-visible{color:var(--text);border-color:var(--text-muted)}.goal-shelf-net{padding-top:14px;border-top:1px solid var(--border);font-size:10px}.goal-shelf-net strong{font-size:10px;font-weight:400}.goal-group-empty{margin:0;font-size:11px}.goal-calculation{display:grid;gap:8px}.goal-calculation-row{display:flex;justify-content:space-between;gap:16px;font-size:12px}.goal-calculation-row strong{color:var(--goal-aggregate);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.goal-calculation-total{margin-top:2px;padding-top:10px;border-top:1px solid var(--border-soft)}.pill-income{--pill-fg: var(--pill-income-fg);--pill-bg: var(--pill-income-bg)}.pill-plan{background:transparent;border-color:var(--pill-bg)}.cal-item{min-width:0}.cal-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item-amount{margin-left:auto;flex:0 0 auto}.cal-item-note{flex:0 0 auto;font-size:10px;opacity:.7}.cal-day-list{display:flex;flex-direction:column;gap:6px}.cal-trip-stack{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.cal-day-list .cal-item{font-size:12px;padding:5px 12px;gap:10px}.cal-trip-lane{margin-bottom:4px}.cal-trip{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin:0;font-size:10px;padding:2px 6px;border:1px solid var(--warn-border);color:inherit;background:var(--warn-tint);border-radius:999px;min-width:0;overflow:hidden}.cal-trip.pill{align-items:center;justify-content:center;border-color:transparent;color:var(--pill-fg);background:var(--pill-bg)}.cal-trip:hover,.cal-trip:focus-visible{border-color:var(--pill-fg, var(--text-muted))}.cal-trip:focus-visible{outline:none}.cal-trip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-trip-edge{color:var(--text-muted);flex:0 0 auto}.cal-summary{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-soft)}.cal-summary-metric{display:inline-flex;align-items:baseline;gap:6px;min-width:0;font-size:11px}.cal-summary-metric span{color:var(--text-muted)}.cal-summary-metric strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.cal-week-grid-stack{grid-template-columns:1fr}.cal-week-grid-stack .cal-cell{min-height:0}.cal-item-actual{width:100%;margin:0;font-family:inherit;text-align:left;cursor:pointer}.cal-item-actual:hover,.cal-item-actual:focus-visible{border-color:var(--pill-fg)}.cal-item-actual:focus-visible{outline:none}.cal-modal-list{display:flex;flex-direction:column}.cal-modal-row{display:grid;grid-template-columns:1fr auto auto;gap:2px 10px;align-items:baseline;font-size:13px;padding:8px 0;border-bottom:1px solid var(--border-soft)}.cal-modal-row:last-child{border-bottom:none}.cal-modal-merchant{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-modal-amount{grid-row:1;grid-column:2;text-align:right}.cal-modal-date{grid-column:2;text-align:right;font-size:11px}.cal-modal-notes{grid-column:1 / -1;font-size:11px}.cal-modal-actions{grid-row:1;grid-column:3;align-self:center}@media(max-width:640px){.cal-layout{display:block}.cal-week-grid{grid-template-columns:1fr}.cal-week-grid .cal-cell{min-height:0}.cal-cell{min-height:58px;padding:4px}.goal-shelf-title{grid-template-columns:minmax(0,1fr) 174px}}@media(max-width:640px)and (orientation:portrait){.cal-lead .view-lead-row{flex-wrap:nowrap!important;gap:4px!important}.cal-lead .view-lead-row>div{gap:4px!important;flex-shrink:0}.cal-lead .view-lead-row .section-header{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-lead .view-lead-row .btn{padding-left:6px!important;padding-right:6px!important;font-size:11px!important;letter-spacing:0;white-space:nowrap}.cal-lead .view-lead-row .cal-view-select{padding:3px 4px;font-size:11px;flex-shrink:0}}@media(max-width:339px)and (orientation:portrait){.cal-lead .view-lead-row .section-header{display:none}}@media(orientation:landscape)and (max-height:560px){.app-main>div>.cal-layout{width:calc(100% - min(40vw,260px) - 14px);min-width:0;max-width:none;overflow-y:auto}.app-main>div>.cal-layout .cal-card-wide{width:100%;max-width:none}.cal-cell{min-height:44px;padding:4px}.cal-item-note{display:none}.app-main>div>.cal-lead{width:min(40vw,260px);max-width:none}}@media(prefers-reduced-motion:reduce){.cal-layout,.cal-layout-shelf{transition:none}.goal-tile-orbit-progress,.goal-shelf-row:hover .goal-tile-orbit-progress,button.goal-shelf-row:focus-visible .goal-tile-orbit-progress{animation:none}}.tz-notice{position:fixed;bottom:16px;left:16px;right:16px;z-index:380;display:flex;align-items:center;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;padding:5px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-pop)}.goal-delete-notice{gap:10px;padding:5px 8px 5px 14px;font-size:12px}.goal-delete-notice .btn{min-height:28px;padding:3px 10px}.goal-action-list,.goal-delete-scopes{display:grid;gap:8px}.goal-action-list .btn,.goal-delete-scopes .btn{justify-content:center}.goal-reassignment{display:grid;gap:6px;margin-top:16px}@media(max-width:640px){.error-toasts,.tz-notice,.goal-delete-notice{bottom:68px}}.tz-notice-body{background:none;border:none;padding:0;text-align:left;font:inherit;font-size:11px;line-height:1.5;color:var(--text-dim);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tz-notice-body strong{color:var(--text);font-weight:500}.tz-notice-body:hover,.tz-notice-body:focus-visible{color:var(--text)}.tz-notice-dismiss{position:absolute;top:-7px;right:-7px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0;font-size:12px;line-height:1;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer}.tz-notice-dismiss:hover,.tz-notice-dismiss:focus-visible{color:var(--text)}body.has-tz-notice .app-main{padding-bottom:56px}body.has-tz-notice .goal-delete-notice{bottom:58px}@media(min-width:641px)and (min-height:561px){html[data-nav-position^=bottom][data-nav-orientation=horizontal] body.has-tz-notice .goal-delete-notice{bottom:calc(var(--nav-island-clear) + 70px)}}@media(max-width:640px){.tz-notice,.goal-delete-notice{bottom:calc(76px + env(safe-area-inset-bottom))}body.has-tz-notice .goal-delete-notice{bottom:calc(118px + env(safe-area-inset-bottom))}body.has-tz-notice .app-main{padding-bottom:calc(124px + env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:560px){.tz-notice{bottom:8px;padding:4px 12px}.tz-notice-body{font-size:10.5px}body.has-tz-notice .app-main{height:calc(100dvh - var(--nav-h) - 34px);padding-bottom:8px}}:root[data-font=serif]{--font-mono: "Playfair Display", Georgia, serif}:root[data-font=sans]{--font-mono: system-ui, -apple-system, "Segoe UI", sans-serif}:root[data-nav-color=blue]{--nav-accent: #3b82f6}:root[data-nav-color=green]{--nav-accent: #10b981}:root[data-nav-color=purple]{--nav-accent: #8b5cf6}:root[data-nav-color=rose]{--nav-accent: #f43f5e}:root[data-nav-color=amber]{--nav-accent: #f59e0b}:root[data-nav-color=slate]{--nav-accent: #64748b}:root[data-nav-color]{--nav-blur-bg: color-mix(in srgb, var(--nav-accent) 35%, var(--bg))}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root[data-style=glass] body{background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--blue) 22%,var(--bg)),transparent 45%),radial-gradient(circle at 90% 100%,color-mix(in srgb,var(--pill-2-fg) 16%,var(--bg)),transparent 45%),var(--bg);background-attachment:fixed}:root[data-style=glass] .card,:root[data-style=glass] .app-nav,:root[data-style=glass] .nav-island,:root[data-style=glass] .cal-cell{background:color-mix(in srgb,var(--surface) 62%,transparent);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-color:color-mix(in srgb,var(--border-strong) 55%,transparent);box-shadow:0 10px 30px #00000014,inset 0 1px #ffffff40}:root[data-style=glass][data-nav-color] .nav-island{background:color-mix(in srgb,var(--nav-blur-bg) 70%,transparent)}:root[data-style=glass] .goal-shelf-row{background:color-mix(in srgb,var(--pill-bg) 72%,transparent);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4)}}
