/* styles.css */
:root{--ink:#25232d;--muted:#7e7a87;--paper:#fcfbf8;--lav:#6558b7;--lav-light:#efedfa;--line:#e9e6e2;--green:#3d9577;--peach:#e98662;--cream:#f4efe7}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:14px 'DM Sans',sans-serif;color:var(--ink)}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#27252f;color:#f8f7f4;padding:30px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{font:700 26px 'Playfair Display';color:#fff;text-decoration:none;display:flex;align-items:center;gap:9px;padding:0 11px 37px}.brand-mark{font:700 26px 'Playfair Display';font-style:italic;background:#aaa2e1;width:29px;height:29px;border-radius:9px;line-height:30px;text-align:center;color:#292633}.nav-label{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#8d8998;padding:0 12px 11px}.nav-spaced{margin-top:25px}.nav-item{width:100%;border:0;background:transparent;color:#c0bdc8;text-align:left;border-radius:8px;padding:11px 12px;font:500 14px 'DM Sans';display:flex;gap:13px;align-items:center;cursor:pointer}.nav-item span{font-size:18px;width:18px;text-align:center;color:#bbb5d2}.nav-item:hover,.nav-item.active{background:#3a3744;color:#fff}.nav-item.active span{color:#bdb4f3}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid #3e3a47;margin:15px 5px 0;padding:18px 1px 0;display:flex;align-items:center;gap:9px;font-size:12px}.profile small{display:block;color:#96919f;margin-top:3px}.avatar{background:#e5a77c;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;color:#40313a;font-size:10px;font-weight:700}.dots{margin-left:auto;color:#9c97a7}main{margin-left:250px;width:calc(100% - 250px);padding:0 44px 50px}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.crumb{font-size:10px;font-weight:700;letter-spacing:1.3px;color:#98939c}.crumb b{padding:0 7px;color:#cac6c1}.top-actions{display:flex;align-items:center;gap:15px}.icon-button{border:0;background:transparent;font-size:20px;color:#6d6873;position:relative}.notification i{background:#e87b62;width:6px;height:6px;border-radius:50%;position:absolute;top:2px;right:2px}.month-select{background:#f2f0ec;border:1px solid #e9e5df;padding:9px 12px;border-radius:7px;font-size:12px;font-weight:600}.month-select span{margin-left:10px}.mobile-menu{display:none}.view{display:none}.view.active{display:block}.page-title{padding:43px 0 29px;display:flex;align-items:end;justify-content:space-between}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#8c8790;margin:0 0 9px}h1,h2,p{margin-top:0}h1{font:700 31px 'Playfair Display';letter-spacing:-.7px;margin-bottom:7px}h1 span{font-size:20px;color:var(--peach)}h2{font:700 17px 'Playfair Display';margin-bottom:5px}.subhead,.panel-head p{color:var(--muted);margin-bottom:0}.primary-btn,.secondary-btn{border:0;border-radius:7px;padding:11px 16px;font:600 13px 'DM Sans';cursor:pointer}.primary-btn{background:var(--lav);color:#fff;box-shadow:0 4px 10px #6558b733}.secondary-btn{background:#ece9f7;color:#554a9e}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.kpi-card,.panel,.table-panel,.budget-summary,.planner-hero,.account-total,.networth-big,.settings-panel{background:#fff;border:1px solid var(--line);border-radius:11px}.kpi-card{padding:18px;min-height:174px;position:relative}.kpi-top{display:flex;justify-content:space-between;color:#77727e;font-weight:500}.round-icon{background:#ede9fa;color:#6256b1;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-weight:700}.lilac{background:#ede9fa}.peach{background:#fff0e9;color:#dd7859}.mint{background:#e6f3ee;color:#378b70}.kpi-card strong{font:700 25px 'Playfair Display';display:block;margin:20px 0 7px}.kpi-card p{font-size:11px;color:var(--muted)}.positive{color:var(--green)!important}.light{font:400 16px 'DM Sans';color:#aaa5ae}.mini-rule{height:5px;border-radius:4px;background:#efede9;position:absolute;bottom:18px;left:18px;right:18px;overflow:hidden}.mini-rule span{height:100%;display:block;background:#776cc6;border-radius:4px}.mini-rule .coral{background:#e98662}.mini-rule .green{background:#59aa8e}.sparkline{position:absolute;bottom:10px;right:17px;left:17px;color:#8479cf}.sparkline svg{width:100%;height:40px}.networth .sparkline{opacity:.9}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:17px;margin-top:17px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:start}.panel-head p{font-size:11px}.legend{font-size:10px;color:#7b7580;display:flex;align-items:center;gap:5px}.legend i,.category-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.income-dot{background:#7569c0}.expense-dot{background:#e98966;margin-left:7px}.chart-wrap{height:212px;margin-top:17px;display:flex}.y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:#a09ba3;padding:2px 11px 22px 0}.bar-chart{flex:1;display:flex;align-items:end;justify-content:space-around;border-bottom:1px solid #e6e3df;background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,#f0eeeb 52px);padding:0 10px}.bar-group{height:100%;width:45px;display:flex;align-items:end;justify-content:center;gap:5px;position:relative}.bar-group:after{content:attr(data-month);position:absolute;bottom:-22px;color:#99949d;font-size:10px}.bar{width:11px;border-radius:4px 4px 0 0}.income{background:#766bc3}.expense{background:#eca080}.donut-area{display:flex;align-items:center;gap:24px;padding-top:23px}.donut{width:151px;height:151px;border-radius:50%;background:conic-gradient(#7468bf 0 32%,#e98662 32% 55%,#e9c15e 55% 72%,#53a78c 72% 86%,#d78ab1 86% 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;background:#fff;width:102px;height:102px;border-radius:50%}.donut div{z-index:1;text-align:center}.donut b{font:700 18px 'Playfair Display';display:block}.donut span{font-size:10px;color:var(--muted)}.category-legend{font-size:11px;line-height:25px;flex:1}.category-legend div{display:flex;align-items:center;justify-content:space-between}.category-legend span:first-of-type{margin-left:7px;margin-right:auto}.plain-button{font:600 11px 'DM Sans';border:0;background:none;color:#6256b1;padding:2px;cursor:pointer}.bills-panel,.alerts-panel{min-height:243px}.bill-row{display:flex;align-items:center;padding:13px 0;border-bottom:1px solid #f0eeeb;gap:10px}.bill-row:last-child{border:0}.bill-date{background:#f5f0e8;width:35px;height:36px;border-radius:6px;text-align:center;font-size:9px;font-weight:700;padding-top:5px;color:#817a72}.bill-date b{display:block;font-size:14px;color:#3a3740}.bill-name{flex:1;font-size:12px}.bill-name small{display:block;color:#99949c;margin-top:3px}.bill-amount{font-weight:600;font-size:12px}.alert-count{font-size:10px;color:#d8785c;background:#fff0e9;padding:4px 7px;border-radius:10px}.alert-item{display:flex;align-items:center;gap:10px;padding:10px 0}.alert-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-weight:700}.peach-bg{background:#fff0e9;color:#dc7959}.purple-bg{background:#eeecfa;color:#675bb4}.green-bg{background:#e6f3ee;color:#3b9376}.alert-item div{flex:1;font-size:11px}.alert-item p{font-size:10px;color:#938e97;margin:3px 0 0}.alert-item button{border:0;background:transparent;color:#9e99a2;font-size:17px}.table-panel{overflow:hidden}.table-toolbar{padding:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.search-box{border:1px solid #e7e4df;border-radius:6px;padding:7px 10px;color:#908b95;font-size:16px;width:250px}.search-box input{border:0;outline:0;font:12px 'DM Sans';width:210px}.filter-btn{border:1px solid #e7e4df;background:#fff;border-radius:6px;font:600 12px 'DM Sans';padding:0 11px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;letter-spacing:1px;color:#97929a;font-weight:700;padding:14px 18px;background:#fcfbf9}td{border-top:1px solid #f0eeea;padding:15px 18px;font-size:12px}td strong{font-size:13px}.merchant{font-weight:600}.category-pill{font-size:10px;padding:5px 8px;border-radius:12px;background:#f1eff8;color:#6559a8}.amount-negative{color:#d47355}.amount-positive{color:#3d9577}.budget-summary{display:flex;margin-bottom:17px}.budget-summary div{flex:1;padding:19px 23px;border-right:1px solid var(--line)}.budget-summary div:last-child{border:0}.budget-summary span{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}.budget-summary b{font:700 20px 'Playfair Display'}.progress-cell{display:flex;align-items:center;gap:9px}.progress-cell div{width:130px;height:6px;background:#efedea;border-radius:10px;overflow:hidden}.progress-cell i{height:100%;display:block;background:#7569c0;border-radius:10px}.progress-cell em{font-style:normal;font-size:10px;color:#847f88}.planner-hero{background:linear-gradient(120deg,#5e54a7,#8277ca);color:#fff;display:flex;justify-content:space-between;padding:27px 32px;margin-bottom:17px}.planner-hero span{font-size:12px;opacity:.8;display:block;margin-bottom:6px}.planner-hero b{font:700 30px 'Playfair Display';display:block}.planner-hero small{opacity:.7;font-size:11px;margin-top:5px;display:block}.safe-spend{text-align:right}.allocation-list{padding:5px 23px}.allocation-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid #efedea}.allocation-row:last-child{border:0}.allocation-row div:first-child{display:flex;gap:10px;align-items:center}.allocation-dot{width:10px;height:10px;background:#7569c0;border-radius:50%}.allocation-row small{color:#8c8790;margin-left:8px}.allocation-row b{font:600 13px 'DM Sans'}.bills-grid,.goals-grid,.wishlist-grid,.accounts-grid,.investment-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.bill-card,.goal-card,.wish-card,.account-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px}.bill-card-top,.wish-card-top{display:flex;justify-content:space-between}.bill-card h2,.goal-card h2,.wish-card h2,.account-card h2{margin:20px 0 5px}.bill-card p,.goal-card p,.wish-card p,.account-card p{color:var(--muted);font-size:11px;margin-bottom:0}.bill-card b,.wish-card b,.account-card b{font:700 22px 'Playfair Display'}.due-badge,.priority{font-size:10px;font-weight:700;padding:5px 8px;border-radius:12px;background:#fff1e9;color:#d8785c}.paid{background:#e7f3ee;color:#3b9275}.goal-card .goal-icon{width:42px;height:42px;background:#f0edf9;color:#6558b7;display:grid;place-items:center;border-radius:12px;font-size:20px}.goal-card .goal-meta{display:flex;justify-content:space-between;margin:20px 0 9px;font-size:11px}.goal-card .mini-rule{position:static}.wish-card .canbuy{margin-top:22px;color:#3b9275;font-size:11px;font-weight:700}.wish-card .notyet{color:#9b7880}.account-total{padding:21px 26px;margin-bottom:17px;background:#f0edf9;border-color:#e6e1f6;display:flex;justify-content:space-between}.account-total span{color:#6559a9;font-weight:600}.account-total b{font:700 24px 'Playfair Display';color:#453b86}.account-card .account-icon{width:35px;height:35px;border-radius:9px;background:#eeeafa;display:grid;place-items:center;color:#6357ac}.account-card .account-type{font-size:10px;color:#9a959d;text-transform:uppercase;letter-spacing:1px}.tag{font-size:10px;color:#7165bb;background:#efedfa;padding:5px 7px;border-radius:4px;font-weight:700}.investment-cards .panel strong{font:700 27px 'Playfair Display';display:block;margin:22px 0 5px}.investment-cards .panel p{font-size:11px;color:var(--muted)}.projection{background:#f7f5fc}.projection b{font:700 27px 'Playfair Display';color:#5c51a5}.projection-line{height:35px;margin-top:18px;background:linear-gradient(165deg,transparent 48%,#7266bd 50%,#7266bd 53%,transparent 55%),linear-gradient(140deg,transparent 58%,#7266bd 60%,#7266bd 63%,transparent 65%);border-bottom:2px solid #cfc9eb}.networth-big{padding:28px 30px}.networth-big>span{color:var(--muted)}.networth-big>b{font:700 36px 'Playfair Display';display:block;margin:8px 0}.networth-line{height:260px;margin-top:15px}.networth-line svg{width:100%;height:100%}.settings-panel{max-width:670px;padding:27px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-panel label,.transaction-modal label{font-size:11px;font-weight:700;color:#6e6973;display:grid;gap:7px}.settings-panel input,.settings-panel select,.transaction-modal input,.transaction-modal select{font:13px 'DM Sans';border:1px solid #e1ded9;border-radius:6px;padding:10px;background:#fff;color:#333}.settings-panel .primary-btn{width:max-content}.modal-backdrop{display:none;position:fixed;inset:0;background:#24212a99;z-index:5;align-items:center;justify-content:center}.modal-backdrop.show{display:flex}.transaction-modal{background:#fff;width:460px;padding:29px;border-radius:13px;box-shadow:0 15px 60px #0004;position:relative;display:grid;gap:15px}.transaction-modal h2{font-size:25px;margin:-7px 0 8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.close-modal{position:absolute;right:16px;top:13px;border:0;background:transparent;font-size:25px;color:#888;cursor:pointer}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.bills-grid,.goals-grid,.wishlist-grid,.accounts-grid,.investment-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{transform:translateX(-100%);z-index:4;transition:.2s}.sidebar.open{transform:none}.app-shell main{margin-left:0;width:100%;padding:0 18px}.mobile-menu{display:block;border:0;background:none;font-size:20px}.crumb{display:none}.kpi-grid,.bills-grid,.goals-grid,.wishlist-grid,.accounts-grid,.investment-cards{grid-template-columns:1fr}.page-title{padding-top:30px}.page-title .primary-btn,.page-title .secondary-btn{display:none}.donut-area{flex-direction:column}.budget-summary{display:block}.budget-summary div{border-right:0;border-bottom:1px solid var(--line)}.planner-hero{padding:22px;display:block}.safe-spend{text-align:left;margin-top:20px}.settings-panel{grid-template-columns:1fr}.top-actions .icon-button{display:none}.transaction-table{overflow:auto}.transaction-table table{min-width:700px}}


/* interactive.css */
.edit-item{margin-top:16px;border:0;background:transparent;color:#6558b7;font:600 11px 'DM Sans';padding:0;cursor:pointer}.budget-table td:last-child{width:48px}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.modal-actions .primary-btn{margin-left:auto}.delete-btn{color:#b35d55;background:#fff0ed}.check-label{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important}.check-label input{width:16px;height:16px;padding:0}.monthly-transactions{margin-top:30px}.section-title-row{display:flex;align-items:end;justify-content:space-between;margin:0 0 13px}.section-title-row h2{margin-bottom:5px}.section-title-row p{margin:0;color:#7e7a87;font-size:12px}
.monthly-transaction-count{display:inline-flex;align-items:center;margin-top:10px;padding:5px 9px;border-radius:999px;background:var(--accent-soft,var(--lav-light));color:var(--surface-text,var(--ink));font:700 10px 'DM Sans',sans-serif;letter-spacing:.15px}
.modal-backdrop{z-index:10001;padding:24px;overflow-y:auto}.transaction-modal{width:min(100%,520px);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--surface,#fff);color:var(--surface-text,var(--ink));border:1px solid var(--border-strong,var(--line));isolation:isolate}.transaction-modal .form-row{width:100%;min-width:0}.transaction-modal .form-row label{min-width:0}.transaction-modal input,.transaction-modal select{width:100%;min-width:0;background:var(--surface,#fff);color:var(--surface-text,var(--ink));border-color:var(--border-strong,var(--line));appearance:auto}.transaction-modal select{height:40px}.transaction-modal .primary-btn{max-width:100%}@media(max-width:560px){.modal-backdrop{padding:12px}.transaction-modal{width:100%;padding:24px 18px}.transaction-modal .form-row{grid-template-columns:1fr}}


/* plaid.css */
.bank-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.bank-actions small{width:100%;text-align:right;color:#7e7a87;font-size:10px}.connection-hint{margin:-10px 0 20px;max-width:720px;padding:12px 14px;border-left:3px solid var(--lav);border-radius:0 7px 7px 0;background:var(--accent-soft);color:var(--surface-text);font-size:11px;line-height:1.5}.connection-hint b{color:var(--accent-strong)}@media(max-width:720px){.bank-actions{display:none}}
.add-account-chooser{width:min(100%,470px)}.add-account-options{display:grid;gap:10px;margin-top:20px}.add-account-options button{display:grid;gap:4px;width:100%;padding:14px;text-align:left}.add-account-options button b{font-size:13px}.add-account-options button small{color:inherit;opacity:.78;font-size:10px;font-weight:500}
.transaction-review-inbox,.bank-connections-panel{margin:-8px 0 22px;padding:18px 20px;border:1px solid var(--border,var(--line));border-radius:12px;background:var(--surface,#fff);box-shadow:0 10px 24px #24212a0b}.review-inbox-heading h2,.bank-connections-panel h2{margin:2px 0 5px}.review-inbox-heading p:not(.eyebrow),.bank-connections-panel .panel-head p:not(.eyebrow){margin:0;color:var(--surface-muted,var(--muted));font-size:11px}.review-items{display:grid;gap:8px;margin-top:15px}.review-item,.bank-connection-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--border,var(--line))}.bank-connection-row.needs-update{margin:8px -8px 0;padding:12px 8px;border:1px solid #d6aa61;border-radius:9px;background:#fff7e8}.review-item>div,.bank-connection-row>div{flex:1;min-width:0}.bank-connection-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.review-item strong,.bank-connection-row strong{display:block;font-size:12px}.review-item small,.bank-connection-row small{display:block;margin-top:3px;color:var(--surface-muted,var(--muted));font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-item select{max-width:135px;padding:8px;border:1px solid var(--border-strong,var(--line));border-radius:7px;background:var(--surface,#fff);color:var(--surface-text,var(--ink));font:11px 'DM Sans',sans-serif}.review-item .secondary-btn,.disconnect-bank,.repair-bank{padding:8px 10px;font-size:11px}.review-ignore{color:#a63e3e}.review-more{display:block;margin-top:10px;color:var(--surface-muted,var(--muted));font-size:10px}@media(max-width:760px){.review-item{display:grid;grid-template-columns:1fr auto}.review-item>div{grid-column:1/-1}.review-item select{max-width:none}.bank-connection-row{align-items:start;flex-direction:column}.bank-connection-actions{width:100%;justify-content:stretch}.bank-connection-actions button{flex:1}.disconnect-bank{flex-shrink:0}}
.flag-item{margin-left:9px;color:#a96c25}.flagged-items-panel{margin:-8px 0 22px;padding:18px 20px;border:1px solid #e4bd7e;border-radius:12px;background:var(--surface,#fff);box-shadow:0 10px 24px #24212a0b}.flagged-items-panel h2{margin:2px 0 5px}.flagged-items-panel>div>p:not(.eyebrow){margin:0;color:var(--surface-muted,var(--muted));font-size:11px}.flagged-items-list{margin-top:13px}.flagged-items-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border,var(--line))}.flagged-items-list strong{display:block;font-size:12px}.flagged-items-list small{display:block;margin-top:3px;color:var(--surface-muted,var(--muted));font-size:10px}.flagged-badge{margin-left:auto;padding:5px 8px;border-radius:12px;background:#fff1d9;color:#a96c25;font-size:10px;font-weight:700}.flagged-alert .alert-icon{background:#fff1d9;color:#a96c25}
.investment-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.investment-connection-note{margin:-10px 0 20px;max-width:700px;padding:11px 14px;border-left:3px solid var(--lav);border-radius:0 8px 8px 0;background:var(--accent-soft);color:var(--surface-text);font-size:11px;line-height:1.5}.live-investment-holdings{margin-top:24px;padding-top:22px;border-top:1px solid var(--border,var(--line))}.live-investment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.live-investment-heading h2{margin:2px 0 4px;font-size:18px}.live-investment-heading p:not(.eyebrow){margin:0;color:var(--surface-muted,var(--muted));font-size:11px}.live-investment-card small{display:block;margin-top:8px;color:var(--surface-muted,var(--muted));font-size:10px;line-height:1.6}@media(max-width:720px){.investment-actions{width:100%}.investment-actions button{flex:1}.live-investment-heading{flex-direction:column}.live-investment-heading button{width:100%}}
.transaction-select-header,.transaction-select-cell{width:34px;text-align:center!important}.transaction-select-header input,.transaction-select-cell input{width:15px;height:15px;accent-color:var(--lav);cursor:pointer}.bulk-transaction-actions{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--border,var(--line));border-radius:9px;background:var(--accent-soft);color:var(--surface-text);font-size:11px}.bulk-transaction-actions strong{margin-right:auto}.bulk-transaction-actions .danger-btn{color:#a63e3e;border-color:#dba39c}@media(max-width:620px){.bulk-transaction-actions{flex-wrap:wrap}.bulk-transaction-actions strong{width:100%}}
.transaction-sort-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;letter-spacing:1px;cursor:pointer}.transaction-sort-button:hover{color:var(--lav)}
.monthly-transaction-archive{margin-top:18px;border:1px solid var(--border,var(--line));border-radius:10px;background:var(--surface,#fff);overflow:hidden}.monthly-transaction-archive summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer;color:var(--surface-text,var(--ink));font-weight:700}.monthly-transaction-archive summary small{color:var(--surface-muted,var(--muted));font-size:10px;font-weight:500}.monthly-transaction-archive>p{margin:0;padding:0 18px 14px;color:var(--surface-muted,var(--muted));font-size:11px}
.shared-expenses-panel{margin-top:22px;padding:20px;border:1px solid var(--border,var(--line));border-radius:12px;background:var(--surface,#fff)}.shared-expenses-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.shared-expenses-heading h2{margin:2px 0 5px}.shared-expenses-heading p:not(.eyebrow){margin:0;color:var(--surface-muted,var(--muted));font-size:11px}.shared-expense-list{display:grid;gap:12px;margin-top:17px}.shared-expense-card{padding:16px;border:1px solid var(--border,var(--line));border-radius:10px;background:var(--paper,#fcfbf8)}.shared-expense-top{display:flex;justify-content:space-between;gap:14px}.shared-expense-top h3{margin:8px 0 3px;font:700 17px 'Playfair Display'}.shared-expense-top p{margin:0;color:var(--surface-muted,var(--muted));font-size:11px}.shared-due-label{display:block;margin-top:6px;color:var(--accent-strong,var(--lav));font-size:10px;font-weight:700}.shared-expense-status{display:inline-block;margin:12px 0 10px;padding:5px 8px;border-radius:12px;background:#fff1d9;color:#a96c25;font-size:10px;font-weight:700}.shared-expense-status.is-settled{background:#e7f3ee;color:#3b9275}.shared-match-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shared-match-fields label{display:grid;gap:5px;color:var(--surface-muted,var(--muted));font-size:10px;font-weight:700}.shared-match-fields select{min-width:0;padding:8px;border:1px solid var(--border-strong,var(--line));border-radius:7px;background:var(--surface,#fff);color:var(--surface-text,var(--ink));font:11px 'DM Sans',sans-serif}.shared-expense-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.shared-expense-empty{margin-top:14px;padding:16px;border-radius:9px;background:var(--accent-soft);color:var(--surface-text);font-size:11px}.shared-expense-empty p{margin:0}.shared-checkbox{display:flex!important;align-items:center;gap:8px;margin:10px 0;color:var(--surface-text,var(--ink))!important;font-size:11px!important}.shared-checkbox input{width:auto!important;accent-color:var(--lav)}.shared-replace-bill{padding:10px 11px;border:1px solid var(--border,var(--line));border-radius:8px;background:var(--accent-soft)}#sharedSecondDueField[hidden]{display:none}@media(max-width:620px){.shared-expenses-heading,.shared-match-fields{display:flex;flex-direction:column}.shared-expenses-heading .secondary-btn{width:100%}}
.bill-card.is-paid{opacity:.72}.bill-card-actions{display:flex;gap:12px;margin-top:16px}.allocation-chart-layout{display:flex;align-items:center;gap:22px;margin-top:18px}.allocation-donut{width:156px;height:156px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.allocation-donut:after{content:"";position:absolute}.allocation-donut>div{width:104px;height:104px;border-radius:50%;background:var(--surface,#fff);display:grid;place-content:center;text-align:center;z-index:1}.allocation-donut b{font:700 16px 'Playfair Display';display:block}.allocation-donut span{color:var(--surface-muted,var(--muted));font-size:10px}.allocation-legend{display:grid;gap:7px;flex:1}.allocation-legend button{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;border:1px solid transparent;border-radius:7px;padding:8px;background:transparent;color:var(--surface-text,var(--ink));font:600 11px 'DM Sans';text-align:left;cursor:pointer}.allocation-legend button:hover,.allocation-legend button.selected{border-color:var(--lav);background:var(--accent-soft)}.allocation-legend i{width:9px;height:9px;border-radius:50%}.allocation-legend b{font-size:11px}.chart-readout{margin:15px 0 0!important;padding:9px 11px;border-radius:7px;background:var(--accent-soft);color:var(--surface-text,var(--ink))!important;font-size:11px!important}.investment-tips ul{margin:14px 0;padding-left:18px;color:var(--surface-text,var(--ink));font-size:11px;line-height:1.8}.investment-tips small{display:block;color:var(--surface-muted,var(--muted));font-size:10px;line-height:1.5}.interactive-worth-chart svg{width:100%;height:220px;margin-top:12px;overflow:visible}.chart-axis{stroke:var(--border-strong,var(--line));stroke-width:.7}.worth-trend-line{fill:none;stroke:var(--lav);stroke-width:2.5;vector-effect:non-scaling-stroke}.interactive-worth-chart circle{fill:var(--surface,#fff);stroke:var(--lav);stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}.interactive-worth-chart circle:hover,.interactive-worth-chart circle.selected{fill:var(--lav);r:4}.chart-labels{display:flex;justify-content:space-between;gap:5px;color:var(--surface-muted,var(--muted));font-size:9px}.chart-labels span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.networth-details{display:grid;grid-template-columns:1.25fr .75fr;gap:17px;margin-top:17px}.worth-bars{display:grid;gap:16px;margin-top:20px}.worth-bars>div{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:10px;font-size:11px}.worth-bars i{height:8px;border-radius:10px;background:var(--border,var(--line));overflow:hidden}.worth-bars b{display:block;height:100%;border-radius:inherit;background:var(--lav)}.worth-bars .liability-bar{background:#e98662}@media(max-width:760px){.allocation-chart-layout{align-items:flex-start;flex-direction:column}.networth-details{grid-template-columns:1fr}.chart-labels span{max-width:48px}}
.bills-page-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px;border:1px solid var(--border,var(--line));border-radius:11px;background:var(--surface,#fff)}.bills-page-summary div{padding:2px 12px;border-right:1px solid var(--border,var(--line))}.bills-page-summary div:last-child{border:0}.bills-page-summary span,.bill-payment-source{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.bills-page-summary b{display:block;margin-top:5px;font:700 19px 'Playfair Display'}.bill-payment-source{margin-top:7px}.bill-card-actions{flex-wrap:wrap;align-items:center}.bill-paid-toggle{padding:8px 11px;font-size:11px}@media(max-width:760px){.bills-page-summary{grid-template-columns:1fr}.bills-page-summary div{padding:6px 0;border-right:0;border-bottom:1px solid var(--border,var(--line))}.bills-page-summary div:last-child{border-bottom:0}.bill-card-actions{gap:9px}}
.bills-empty-state{grid-column:1/-1;margin:0;padding:28px;border:1px dashed var(--border-strong,var(--line));border-radius:11px;color:var(--surface-muted,var(--muted));text-align:center}.prepaid-annual-bills{grid-column:1/-1;padding:15px 18px;border:1px solid var(--border,var(--line));border-radius:11px;background:var(--surface,#fff)}.prepaid-annual-bills summary{cursor:pointer;color:var(--surface-text,var(--ink));font:700 13px 'DM Sans'}.prepaid-annual-bills summary small{margin-left:6px;color:var(--surface-muted,var(--muted));font:500 11px 'DM Sans'}.prepaid-annual-bills>p{margin:10px 0;color:var(--surface-muted,var(--muted));font-size:11px}.prepaid-annual-bills>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border,var(--line));font-size:12px}.prepaid-annual-bills span small{display:block;margin-top:3px;color:var(--surface-muted,var(--muted));font-size:10px}@media(max-width:560px){.prepaid-annual-bills>div{grid-template-columns:1fr auto}.prepaid-annual-bills>div .edit-item{grid-column:1/-1;justify-self:start}}
.investment-overview,.networth-overview{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 17px}.investment-overview article,.networth-overview article{padding:16px 17px;border:1px solid var(--border,var(--line));border-radius:11px;background:var(--surface,#fff);box-shadow:0 8px 20px #24212a08}.investment-overview span,.investment-overview small,.networth-overview span{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.investment-overview b,.networth-overview b{display:block;margin:7px 0 4px;color:var(--surface-text,var(--ink));font:700 21px 'Playfair Display'}.wishlist-summary{margin-top:0!important}.wishlist-reserve{margin-bottom:25px!important}.wish-card-refined{min-height:318px}.wish-card-footer{padding-top:21px!important}@media(max-width:1000px){.investment-overview,.networth-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.investment-overview,.networth-overview{grid-template-columns:1fr}.investment-overview article,.networth-overview article{padding:15px 16px}.wish-card-refined{min-height:0}.wishlist-grid{gap:14px!important}}


/* controls.css */
.profile-dots{border:0;background:transparent;cursor:pointer;font-size:15px;padding:5px;color:#9c97a7}.utility-popover{position:absolute;z-index:8;background:#fff;border:1px solid #e9e6e2;border-radius:10px;box-shadow:0 12px 30px #29252f22;padding:12px;min-width:210px}.utility-popover strong{display:block;font:700 15px 'Playfair Display';margin:0 0 8px}.profile{position:relative}.profile-menu{bottom:48px;right:0}.profile-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 4px;font:500 12px 'DM Sans';cursor:pointer;color:#4a4551}.profile-menu button:hover{color:#6558b7}.top-actions{position:relative}.search-menu,.notification-menu{top:43px;right:0}.search-menu label{font-size:10px;font-weight:700;color:#77717c;display:grid;gap:6px}.search-menu input{border:1px solid #e2dfdb;border-radius:6px;padding:9px;font:12px 'DM Sans';width:245px}.search-menu small,.notification-menu small{display:block;color:#8a8590;font-size:10px;margin-top:7px}.notification-menu{min-width:230px}.notification-menu>div{padding:8px 0;border-bottom:1px solid #efedea;font-size:11px}.notification-menu>div b{display:block}.notification-menu .plain-button{margin-top:10px}
.month-select{cursor:pointer}.month-menu{top:43px;right:0}.month-menu button,.page-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 4px;font:500 12px 'DM Sans';color:#4a4551;cursor:pointer}.month-menu button:hover,.page-menu button:hover,.selected-month{color:#6558b7!important;background:#f2effa!important}.topbar{position:relative}.page-menu{top:54px;left:0;min-width:180px}.crumb{cursor:pointer}


/* budget-actions.css */
.budget-add-btn{border:1px solid #ded9f3;background:#f3f1fb;color:#5d52a6;border-radius:5px;padding:6px 9px;font:600 11px 'DM Sans';cursor:pointer;white-space:nowrap}.budget-add-btn:hover{background:#e9e5fa}
.budget-sort-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;letter-spacing:1px;cursor:pointer}.budget-sort-button:hover{color:var(--lav)}


/* settings-ui.css */
.settings-panel{max-width:820px!important;display:block!important;padding:0!important;background:transparent!important;border:0!important}.settings-group{background:#fff;border:1px solid #e9e6e2;border-radius:11px;padding:22px;margin-bottom:16px}.settings-group h2{margin:0 0 4px}.settings-group p{margin:0 0 17px;color:#7e7a87;font-size:12px}.settings-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-fields label{font-size:11px;font-weight:700;color:#6e6973;display:grid;gap:7px}.settings-fields input,.settings-fields select{font:13px 'DM Sans';border:1px solid #e1ded9;border-radius:6px;padding:10px;background:#fff;color:#333}.save-settings{float:right;margin:2px 0 22px}.money-field{display:flex;align-items:center;border:1px solid #e1ded9;border-radius:6px;background:#fff;overflow:hidden}.money-field span{padding:10px 0 10px 10px;color:#77717c}.money-field input{border:0!important;border-radius:0!important;padding-left:5px!important;width:100%}@media(max-width:720px){.settings-fields{grid-template-columns:1fr}}
.settings-fields label small{margin-top:-2px;color:var(--surface-muted,var(--muted));font-size:10px;font-weight:500;line-height:1.35}
.income-picker-field{grid-column:span 1}.income-picker{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:8px;align-items:stretch}.income-picker input,.income-picker select{min-width:0;height:42px;margin:0;box-sizing:border-box}.income-picker select{padding-top:0;padding-bottom:0}@media(max-width:620px){.income-picker{grid-template-columns:1fr}}


/* advanced-ui.css */
.info-tip{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid #aaa4b1;border-radius:50%;font:700 10px 'DM Sans';color:#77717c;cursor:help;position:relative;vertical-align:2px}.info-tip:hover:after{content:attr(data-tip);position:absolute;z-index:12;left:50%;bottom:21px;transform:translateX(-50%);width:190px;padding:8px 9px;background:#282530;color:#fff;border-radius:6px;font:400 10px 'DM Sans';line-height:1.35;box-shadow:0 5px 15px #0003}.alert-item[role=button]{cursor:pointer;border-radius:7px}.alert-item[role=button]:hover{background:#f8f6f2}.investment-insights,.networth-details{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.allocation-detail{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:10px;padding:10px 0;font-size:11px;border-bottom:1px solid #efedea}.allocation-detail div,.worth-bars i{height:7px;background:#eeece9;border-radius:10px;overflow:hidden}.allocation-detail i,.worth-bars b{display:block;height:100%;background:var(--lav);border-radius:10px}.outlook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.outlook-grid div{background:#f5f3fb;padding:12px;border-radius:7px}.outlook-grid span{display:block;color:#7e7885;font-size:10px;margin-bottom:5px}.outlook-grid b{font:700 16px 'Playfair Display'}.worth-bars{margin-top:24px}.worth-bars>div{display:grid;grid-template-columns:85px 1fr 85px;gap:10px;align-items:center;margin:16px 0;font-size:11px}.worth-bars strong{text-align:right}.liability-bar{background:#e98662!important}.snapshot-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #efedea;padding:11px 0;font-size:12px}.detail-panel{background:#fff;border:1px solid #e9e6e2;border-radius:11px;padding:30px;max-width:700px;text-align:center}.detail-panel h2{margin:12px 0 7px;font-size:24px}.detail-panel p{color:#7e7a87;margin-bottom:23px}.detail-symbol{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:#efedfa;color:#6256b1;font-weight:700}.dark-mode{background:#19171f;color:#eeeaf2}.dark-mode .sidebar{background:var(--sidebar-custom)!important}.dark-mode main,.dark-mode .app-shell{background:var(--paper)}.dark-mode .kpi-card,.dark-mode .panel,.dark-mode .table-panel,.dark-mode .budget-summary,.dark-mode .planner-hero,.dark-mode .account-total,.dark-mode .networth-big,.dark-mode .settings-group,.dark-mode .detail-panel{background:#292632;border-color:#443f4e}.dark-mode th{background:#302d38}.dark-mode td,.dark-mode .allocation-row,.dark-mode .bill-row,.dark-mode .snapshot-list>div,.dark-mode .allocation-detail{border-color:#433f4d}.dark-mode .subhead,.dark-mode .panel-head p,.dark-mode .settings-group p{color:#bbb5c1}.dark-mode input,.dark-mode select,.dark-mode .search-menu input{background:#201d27!important;color:#eeeaf2!important;border-color:#514b5c!important}.dark-mode .utility-popover{background:#2a2732;border-color:#4d4758;color:#f4f1f8}.dark-mode .profile-menu button,.dark-mode .month-menu button,.dark-mode .page-menu button{color:#eeeaf2}@media(max-width:720px){.investment-insights,.networth-details{grid-template-columns:1fr}.outlook-grid{grid-template-columns:1fr}.worth-bars>div{grid-template-columns:65px 1fr 72px}}


/* polish.css */
:root{--surface:#fff;--surface-soft:#f6f3ef;--border-strong:#ded9d2;--muted-strong:#615d68;--control-text:#34313b}body{background:var(--paper);color:var(--ink)}main{color:var(--ink)}.topbar{border-bottom-color:var(--border-strong);gap:18px}.month-select{background:var(--surface)!important;color:var(--control-text)!important;border:1px solid var(--border-strong)!important;box-shadow:0 2px 7px #2a273012;min-width:122px;text-align:center;cursor:pointer}.month-select:hover{border-color:var(--lav)!important;box-shadow:0 3px 10px #6558b722}.top-actions{gap:10px}.icon-button{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;background:var(--surface-soft);color:var(--control-text)!important;cursor:pointer}.icon-button:hover{background:#ece8fa;color:var(--lav)!important}.page-title{gap:18px;padding:38px 0 27px}.page-title .subhead{max-width:540px}.kpi-card,.panel,.table-panel,.budget-summary,.networth-big,.account-total,.bill-card,.goal-card,.wish-card,.account-card{background:var(--surface)!important;border-color:var(--border-strong)!important;box-shadow:0 1px 2px #29252f08}.kpi-card{min-height:178px}.panel{padding:22px}.dashboard-grid{gap:19px;margin-top:19px}.kpi-grid{gap:19px}.panel-head{margin-bottom:3px}.panel-head h2{font-size:18px}.subhead,.panel-head p{color:var(--muted-strong)!important}.utility-popover{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--border-strong)!important;box-shadow:0 15px 35px #1f1b271f}.search-menu,.notification-menu,.month-menu{top:48px}.page-menu{top:59px}.search-menu input{background:var(--surface)!important;color:var(--control-text)!important;border-color:var(--border-strong)!important}.notification-menu>div{border-color:var(--border-strong)}.table-toolbar{background:var(--surface-soft);border-color:var(--border-strong)}th{background:var(--surface-soft)!important;color:#5f5966!important}td{border-color:#ebe6e0!important}.search-box{background:var(--surface);border-color:var(--border-strong)}.filter-btn{background:var(--surface)!important;color:var(--control-text)!important;border-color:var(--border-strong)!important}.settings-group{box-shadow:0 1px 2px #29252f08}.settings-fields input,.settings-fields select{background:var(--surface)!important;color:var(--control-text)!important;border-color:var(--border-strong)!important}.primary-btn{box-shadow:0 4px 10px #6558b72e}.secondary-btn{border:1px solid #dbd5f1}.info-tip{margin-left:4px;border-color:#847d8e;color:#5e5866;background:var(--surface);transition:.15s}.info-tip:hover{background:var(--lav);color:#fff;border-color:var(--lav)}.info-tip:hover:after{width:220px;text-align:left}.sidebar{box-shadow:3px 0 16px #0000000d}.nav-item{margin:1px 0}.profile{padding-top:16px}.bills-grid,.goals-grid,.wishlist-grid,.accounts-grid,.investment-cards{gap:19px}.monthly-transactions{margin-top:34px}.section-title-row{margin-bottom:15px}.allocation-row{padding:18px 0}.dark-mode{--surface:#292632;--surface-soft:#34303d;--border-strong:#514b5d;--muted-strong:#c2bbc9;--control-text:#f5f1f8}.dark-mode .topbar,.dark-mode main{background:var(--paper)}.dark-mode .month-select{background:#34303d!important;color:#fff!important;border-color:#625a6c!important}.dark-mode .icon-button{background:#37323f!important;color:#f5f1f8!important}.dark-mode .icon-button:hover{background:#4a4358!important;color:#d9d1ff!important}.dark-mode th{background:#34303d!important;color:#e4dce9!important}.dark-mode td{border-color:#4a4453!important}.dark-mode .search-box,.dark-mode .filter-btn,.dark-mode .settings-fields input,.dark-mode .settings-fields select{background:#24212b!important;color:#f6f2f8!important;border-color:#5d5568!important}.dark-mode .utility-popover{background:#302c39!important;color:#f7f4f9!important;border-color:#5d5568!important}.dark-mode .utility-popover strong,.dark-mode .notification-menu>div b{color:#fff}.dark-mode .profile-menu button,.dark-mode .month-menu button,.dark-mode .page-menu button{color:#f3eef7!important}.dark-mode .budget-summary,.dark-mode .account-total{background:#302c39!important}.dark-mode .info-tip{background:#37323f;border-color:#887f94;color:#eee8f2}.dark-mode .allocation-detail div,.dark-mode .worth-bars i{background:#494352}.dark-mode .outlook-grid div{background:#383344}.dark-mode .bill-date{background:#3b3542;color:#e4dce9}.dark-mode .bill-date b{color:#fff}@media(max-width:1100px){.page-title{padding-top:32px}.kpi-card{min-height:164px}}@media(max-width:720px){.topbar{height:64px}.page-title{padding:26px 0 20px}.panel{padding:17px}.kpi-grid,.dashboard-grid{gap:13px}.month-select{min-width:106px;font-size:11px}.top-actions{gap:5px}.section-title-row{align-items:flex-start;gap:12px}.section-title-row .primary-btn{padding:9px 11px;white-space:nowrap}}


/* color-controls.css */
.appearance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.appearance-heading p{margin-bottom:0}.restore-colors{white-space:nowrap}.color-picker{display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong,#ded9d2);border-radius:7px;background:var(--surface,#fff);padding:5px 8px}.color-picker input{width:30px!important;height:30px!important;border:0!important;border-radius:5px!important;padding:0!important;background:transparent!important;cursor:pointer}.color-preview{width:24px;height:24px;border-radius:5px;border:1px solid #0003;box-shadow:inset 0 0 0 1px #fff5}.color-picker output{font:600 11px 'DM Sans';color:var(--control-text,#34313b);letter-spacing:.2px}.dark-mode .color-picker{background:#24212b;border-color:#5d5568}.dark-mode .color-picker output{color:#f6f2f8}@media(max-width:720px){.appearance-heading{flex-direction:column}.restore-colors{width:100%}}


/* contrast.css */
:root{--surface-text:#25232d;--surface-muted:#625d68}.kpi-card,.panel,.table-panel,.budget-summary,.networth-big,.account-total,.bill-card,.goal-card,.wish-card,.account-card,.settings-group,.detail-panel{color:var(--surface-text)!important}.kpi-card h1,.kpi-card h2,.kpi-card h3,.kpi-card strong,.panel h1,.panel h2,.panel h3,.panel strong,.table-panel h1,.table-panel h2,.table-panel h3,.table-panel strong,.bill-card h2,.goal-card h2,.wish-card h2,.account-card h2,.networth-big b,.budget-summary b,.account-total b{color:var(--surface-text)!important}.kpi-card p,.panel p,.panel-head p,.bill-card p,.goal-card p,.wish-card p,.account-card p,.settings-group p,.subhead{color:var(--surface-muted)!important}.month-select,.icon-button,.filter-btn,.search-box,.settings-fields input,.settings-fields select,.utility-popover{color:var(--surface-text)!important}.utility-popover strong,.notification-menu>div b{color:var(--surface-text)!important}.profile-menu button,.month-menu button,.page-menu button{color:var(--surface-text)!important}.table-panel td{color:var(--surface-text)!important}.table-panel th{color:var(--surface-muted)!important}.dark-mode .kpi-card,.dark-mode .panel,.dark-mode .table-panel,.dark-mode .budget-summary,.dark-mode .networth-big,.dark-mode .account-total,.dark-mode .bill-card,.dark-mode .goal-card,.dark-mode .wish-card,.dark-mode .account-card,.dark-mode .settings-group,.dark-mode .detail-panel{color:var(--surface-text)!important}.dark-mode .kpi-card h1,.dark-mode .kpi-card h2,.dark-mode .kpi-card h3,.dark-mode .kpi-card strong,.dark-mode .panel h1,.dark-mode .panel h2,.dark-mode .panel h3,.dark-mode .panel strong,.dark-mode .table-panel h1,.dark-mode .table-panel h2,.dark-mode .table-panel h3,.dark-mode .table-panel strong,.dark-mode .bill-card h2,.dark-mode .goal-card h2,.dark-mode .wish-card h2,.dark-mode .account-card h2,.dark-mode .networth-big b,.dark-mode .budget-summary b,.dark-mode .account-total b{color:var(--surface-text)!important}.dark-mode .kpi-card p,.dark-mode .panel p,.dark-mode .panel-head p,.dark-mode .bill-card p,.dark-mode .goal-card p,.dark-mode .wish-card p,.dark-mode .account-card p,.dark-mode .settings-group p,.dark-mode .subhead{color:var(--surface-muted)!important}.dark-mode .month-select,.dark-mode .icon-button,.dark-mode .filter-btn,.dark-mode .search-box,.dark-mode .settings-fields input,.dark-mode .settings-fields select,.dark-mode .utility-popover{color:var(--surface-text)!important}.dark-mode .utility-popover strong,.dark-mode .notification-menu>div b{color:var(--surface-text)!important}.dark-mode .profile-menu button,.dark-mode .month-menu button,.dark-mode .page-menu button{color:var(--surface-text)!important}.dark-mode .table-panel td{color:var(--surface-text)!important}.dark-mode .table-panel th{color:var(--surface-muted)!important}


/* theme-fixes.css */
.month-select{background:var(--date-surface,#fff)!important;color:var(--date-text,#25232d)!important;border-color:var(--lav)!important}.donut:after{background:var(--surface)!important}.donut div,.donut b{color:var(--surface-text)!important}.donut span{color:var(--surface-muted)!important}.color-presets{margin-top:17px;padding-top:15px;border-top:1px solid var(--border-strong,#ded9d2)}.color-presets>span{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-row button{display:flex;align-items:center;gap:6px;border:1px solid var(--border-strong,#ded9d2);border-radius:999px;background:var(--surface,#fff);color:var(--surface-text,#25232d);padding:6px 10px;font:600 11px 'DM Sans';cursor:pointer}.preset-row button:hover{border-color:var(--lav)}.preset-dot{width:12px;height:12px;border-radius:50%;border:1px solid #0002}.dark-mode .color-presets{border-color:#514b5d}.dark-mode .preset-row button{background:#34303d;color:#fff;border-color:#5d5568}


/* published.css */
body{letter-spacing:.002em}.primary-btn{background:var(--lav)!important}.primary-btn:hover{background:var(--accent-strong)!important;transform:translateY(-1px);box-shadow:0 7px 15px color-mix(in srgb,var(--lav) 30%,transparent)!important}.secondary-btn:hover,.budget-add-btn:hover,.edit-item:hover,.plain-button:hover{background:var(--accent-soft)!important;color:var(--accent-strong)!important;border-color:var(--lav)!important}.nav-item.active,.nav-item:hover{background:color-mix(in srgb,var(--lav) 22%,transparent)!important}.nav-item.active span,.nav-item:hover span{color:#fff!important}.icon-button:hover{background:var(--accent-soft)!important;color:var(--accent-strong)!important}.month-select:hover{background:var(--accent-soft)!important;color:var(--accent-strong)!important}.month-menu button:hover,.page-menu button:hover,.profile-menu button:hover,.preset-row button:hover{background:var(--accent-soft)!important;color:var(--accent-strong)!important}.info-tip:hover{background:var(--lav)!important;border-color:var(--lav)!important}.info-tip:hover:after{background:var(--tooltip-bg)!important}.page-title{position:relative;padding-bottom:30px!important}.page-title:after{content:"";position:absolute;left:0;bottom:10px;width:42px;height:3px;border-radius:3px;background:var(--lav)}.page-title h1{font-size:34px!important;line-height:1.08;letter-spacing:-1px;text-wrap:balance}.page-title .eyebrow{color:var(--lav)!important;font-size:10px!important;letter-spacing:1.7px!important}.page-title .subhead{font-size:14px;line-height:1.55}.panel-head h2,.settings-group h2{letter-spacing:-.25px}.settings-group h2:after,.section-title-row h2:after{content:"";display:block;width:24px;height:2px;background:var(--lav);margin-top:8px;border-radius:2px}.settings-group p{margin-top:13px!important}.kpi-card{transition:transform .18s ease,box-shadow .18s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--lav) 10%,transparent)!important}.panel,.bill-card,.goal-card,.wish-card,.account-card{transition:border-color .18s ease,box-shadow .18s ease}.panel:hover,.bill-card:hover,.goal-card:hover,.wish-card:hover,.account-card:hover{border-color:color-mix(in srgb,var(--lav) 45%,var(--border-strong))!important;box-shadow:0 8px 20px color-mix(in srgb,var(--lav) 8%,transparent)!important}.table-panel{border-radius:12px}.table-toolbar{padding:16px!important}.dark-mode .page-title .eyebrow{color:#c9c1ff!important}.dark-mode .nav-item.active,.dark-mode .nav-item:hover{background:color-mix(in srgb,var(--lav) 35%,transparent)!important}@media(max-width:720px){.page-title h1{font-size:29px!important}.page-title:after{bottom:5px}.page-title{padding-bottom:22px!important}}


/* paycheck-polish.css */
.planner-hero{background:linear-gradient(135deg,var(--lav),var(--accent-strong))!important;box-shadow:0 10px 24px color-mix(in srgb,var(--lav) 24%,transparent)}.planner-hero .safe-spend{border-left:1px solid color-mix(in srgb,#fff 40%,transparent);padding-left:30px}.planner-hero b{color:#fff!important}.planner-hero span,.planner-hero small{color:#fff!important}.page-title h1 .info-tip{vertical-align:7px;margin-left:8px;transform:scale(.88)}#monthly .page-title h1{display:flex;align-items:baseline;gap:0}#monthly .page-title h1 .info-tip{flex:0 0 auto;margin-left:9px}@media(max-width:720px){.planner-hero .safe-spend{border-left:0;padding-left:0;border-top:1px solid color-mix(in srgb,#fff 35%,transparent);padding-top:16px}.page-title h1 .info-tip{vertical-align:4px}}
.allocation-savings{background:color-mix(in srgb,#53a78c 8%,transparent)}.allocation-unassigned{background:color-mix(in srgb,var(--surface-muted,var(--muted)) 7%,transparent)}.allocation-total{display:flex;justify-content:space-between;gap:14px;padding:16px 23px;border-top:2px solid var(--border-strong,var(--line));color:var(--surface-text,var(--ink));font-size:12px}.allocation-total span{font-weight:700}.allocation-total strong{color:var(--accent-strong,var(--lav))}.allocation-total.is-overallocated strong{color:#d47355}@media(max-width:720px){.allocation-total{align-items:flex-start;flex-direction:column;padding:15px 16px}}


/* info-icon-polish.css */
.info-tip{width:19px!important;height:19px!important;font-size:13px!important;font-weight:700!important;line-height:19px!important}.page-title h1 .info-tip{position:relative;top:-1px;vertical-align:middle!important;margin-left:8px!important;transform:none!important}#monthly .page-title h1{display:inline-flex!important;align-items:center!important;line-height:1.1!important}#monthly .page-title h1 .info-tip{margin:0 0 0 9px!important;top:0!important;align-self:center!important}.panel h2 .info-tip,.settings-group h2 .info-tip{vertical-align:1px;margin-left:6px}@media(max-width:720px){.info-tip{width:18px!important;height:18px!important;font-size:12px!important;line-height:18px!important}}


/* savings-forecast.css */
.savings-forecast{margin-bottom:19px;background:linear-gradient(135deg,var(--surface),var(--accent-soft))!important}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.forecast-grid>div{background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:15px}.forecast-grid span{display:block;font-size:10px;font-weight:700;color:var(--surface-muted);margin-bottom:7px}.forecast-grid b{display:block;font:700 20px 'Playfair Display';color:var(--surface-text)!important}.forecast-grid b small{font:500 11px 'DM Sans';color:var(--surface-muted)}.forecast-grid>div small{display:block;margin-top:5px;font-size:10px;color:var(--surface-muted)}.forecast-total{color:var(--lav)!important}@media(max-width:720px){.forecast-grid{grid-template-columns:1fr}.savings-forecast .panel-head{gap:14px;flex-direction:column}.savings-forecast .secondary-btn{width:100%}}
.savings-plan-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin-top:22px;padding:15px;background:var(--accent-soft);border-radius:9px}.savings-plan-controls label{display:grid;gap:6px;font-size:10px;font-weight:700;letter-spacing:.4px;color:var(--surface-muted)}.savings-plan-controls select{border:1px solid var(--border-strong);border-radius:6px;padding:10px;background:var(--surface);color:var(--surface-text);font:600 12px 'DM Sans'}.savings-plan-controls .primary-btn{height:40px}.savings-plan-hero{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;margin-top:16px}.savings-plan-hero>div{padding:18px;border-right:1px solid var(--border-strong);background:var(--surface)}.savings-plan-hero>div:last-child{border:0}.savings-plan-hero span{display:block;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--surface-muted)}.savings-plan-hero b{display:block;font:700 22px 'Playfair Display';margin:6px 0}.savings-plan-hero small{font-size:10px;color:var(--surface-muted)}.savings-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:17px}.savings-breakdown article{border:1px solid var(--border-strong);border-radius:9px;padding:16px;background:var(--surface)}.savings-breakdown h3,.savings-milestones h3{font:700 14px 'Playfair Display';margin:0 0 12px}.savings-breakdown article>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-strong);font-size:11px}.savings-breakdown article>div span{color:var(--surface-muted)}.savings-breakdown article>div b{font-weight:700}.savings-breakdown .secondary-btn{margin-top:14px;padding:8px 10px;font-size:11px}.plan-status{font-size:11px!important;line-height:1.45;margin:12px 0 0;color:var(--surface-muted)}.plan-status.on-track{color:var(--green)}.plan-status.needs-room{color:var(--peach)}.savings-breakdown ol{padding-left:18px;margin:0;color:var(--surface-muted);font-size:11px;line-height:1.55}.savings-breakdown li+li{margin-top:8px}.savings-breakdown li b{color:var(--surface-text)}.savings-milestones{margin-top:17px;border:1px solid var(--border-strong);border-radius:9px;padding:16px;background:var(--surface)}.savings-milestones>div{display:grid;grid-template-columns:64px 1fr 78px;gap:10px;align-items:center;font-size:11px;margin-top:10px}.savings-milestones i{height:8px;background:var(--accent-soft);border-radius:9px;overflow:hidden}.savings-milestones i b{display:block;height:100%;background:var(--lav);border-radius:9px}.savings-milestones strong{text-align:right}@media(max-width:720px){.savings-plan-hero,.savings-breakdown{grid-template-columns:1fr}.savings-plan-controls{grid-template-columns:1fr}.savings-plan-hero>div{border-right:0;border-bottom:1px solid var(--border-strong)}.savings-plan-hero>div:last-child{border-bottom:0}}


/* left-to-assign-info.css */
#monthly .budget-summary div:last-child>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
#monthly .budget-summary .left-to-assign-info{position:relative!important;top:auto!important;transform:none!important;margin:0!important;flex:0 0 auto!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;text-indent:0!important}
#monthly .budget-summary .left-to-assign-info:hover:after{top:50%!important;bottom:auto!important;left:calc(100% + 10px)!important;right:auto!important;transform:translateY(-50%)!important;width:250px!important;max-width:250px!important;white-space:normal!important;background:var(--tooltip-bg)!important;color:var(--tooltip-text)!important;border:1px solid var(--accent-soft)!important;z-index:100!important}
.dashboard-link-card{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.dashboard-link-card:hover,.dashboard-link-card:focus-visible{transform:translateY(-2px);border-color:var(--lav)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--lav) 18%,transparent)!important;outline:none}
.dashboard-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 1.7fr;gap:1px;margin-top:19px;background:var(--border-strong);border:1px solid var(--border-strong);border-radius:11px;overflow:hidden}
.dashboard-hub>div{background:var(--surface);padding:16px 20px;display:flex;flex-direction:column;justify-content:center;min-height:84px;color:var(--surface-text)}
.dashboard-hub span{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--surface-muted)}
.dashboard-hub b{font:700 21px 'Playfair Display';margin:4px 0 1px}.dashboard-hub small{color:var(--surface-muted);font-size:11px}
.dashboard-hub .hub-actions{align-items:flex-end;flex-direction:row;gap:9px;justify-content:flex-end}
.hub-actions button{border:1px solid var(--accent-soft);border-radius:7px;padding:9px 11px;background:var(--accent-soft);color:var(--accent-strong);font:700 11px 'DM Sans';cursor:pointer}
.hub-actions button:first-child{background:var(--lav);color:var(--tooltip-text);border-color:var(--lav)}
@media(max-width:720px){.dashboard-hub{grid-template-columns:1fr}.dashboard-hub .hub-actions{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.hub-actions button{flex:1}}
.dashboard-panel-hidden{display:none!important}.dashboard-customizer{margin:-12px 0 18px;position:relative;z-index:2}.dashboard-customize-button{margin-left:auto;display:block}.dashboard-customize-drawer{display:none;margin-top:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 10px 24px #201c2812}.dashboard-customizer.is-open .dashboard-customize-drawer{display:block}.dashboard-customize-drawer h2{margin:0 0 3px;font-size:17px}.dashboard-customize-drawer p{font-size:11px;color:var(--surface-muted);margin:0 0 15px}.dashboard-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 14px}.dashboard-options label{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:6px;background:var(--accent-soft);color:var(--surface-text);font-size:11px;cursor:pointer}.dashboard-options input{accent-color:var(--lav)}.dashboard-show-all{margin-top:14px}@media(max-width:720px){.dashboard-customize-button{margin-left:0}.dashboard-options{grid-template-columns:1fr}}


/* cloud-client.css */
#privateDoor{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,var(--paper),var(--accent-soft));color:var(--surface-text)}.private-door-card{width:min(100%,410px);padding:34px;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface);box-shadow:0 24px 70px #24212a28;text-align:center}.private-door-mark{width:42px;height:42px;margin:auto auto 16px;border-radius:12px;display:grid;place-items:center;background:var(--lav);color:#fff;font:700 27px 'Playfair Display';font-style:italic}.private-door-card h1{font-size:30px}.private-door-card>p:not(.eyebrow){color:var(--surface-muted);font-size:12px}.private-door-card form{display:grid;gap:13px;margin-top:22px;text-align:left}.private-door-card label,.private-safety label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--surface-muted)}.private-door-card input,.private-safety input{padding:11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--surface-text);font:13px 'DM Sans'}.private-door-card .privacy-consent{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--paper);font-weight:500;line-height:1.45}.private-door-card .privacy-consent input{width:16px;height:16px;min-width:16px;margin:0;padding:0;accent-color:var(--lav);cursor:pointer}.private-door-card .privacy-consent a{color:var(--accent-strong,var(--lav));font-weight:700}.password-input-wrap{position:relative;display:block}.password-input-wrap input{box-sizing:border-box;width:100%;padding-right:42px}.password-visibility{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--surface-muted);cursor:pointer;transform:translateY(-50%)}.password-visibility:hover,.password-visibility:focus-visible{background:var(--accent-soft);color:var(--accent-strong,var(--lav));outline:none}.password-visibility svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.private-door-card .plain-button{text-align:center}.private-door-card small{min-height:16px;text-align:center;color:var(--surface-muted);font-size:10px}.getting-started-card{margin:18px 0 26px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 10px 28px #24212a0d}.getting-started-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.getting-started-heading h2{margin:3px 0 5px;font-size:21px}.getting-started-heading p:not(.eyebrow){margin:0;color:var(--surface-muted);font-size:12px}.getting-started-heading strong{padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--surface-text);font-size:11px;white-space:nowrap}.getting-started-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}.setup-step{display:grid;grid-template-columns:19px 1fr auto;gap:7px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--surface-text);text-align:left;font:600 11px 'DM Sans';cursor:pointer}.setup-step:hover{border-color:var(--lav);background:var(--accent-soft)}.setup-step span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);color:var(--accent-soft);}.setup-step.is-complete{opacity:.72}.setup-step.is-complete span{background:var(--lav);color:#fff}.getting-started-steps small{color:var(--surface-muted);font:10px 'DM Sans'}.private-safety{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:22px;background:#17131a66;backdrop-filter:blur(3px);color:var(--surface-text)}.private-safety-card{position:relative;width:min(100%,510px);max-height:calc(100vh - 44px);overflow:auto;padding:30px;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface);box-shadow:0 24px 70px #24212a40}.private-safety-card h2{margin:4px 0;font-size:28px}.security-intro{margin:0 0 20px;color:var(--surface-muted);font-size:12px}.security-section{display:grid;gap:11px;margin:16px 0 0;padding:17px;border:1px solid var(--border);border-radius:11px;background:var(--paper)}.security-section h3{margin:0;font-size:15px}.security-section p{margin:0;color:var(--surface-muted);font-size:11px;line-height:1.5}.security-section .primary-btn,.security-section .secondary-btn{justify-self:start}.security-message{min-height:14px;color:var(--surface-muted);font-size:10px}.security-danger{border-color:#c66b6b}.security-delete{border-color:#b65353;background:#fff5f4}.danger-btn{border-color:#b65353!important;color:#a63e3e!important}.danger-btn:disabled{cursor:not-allowed;opacity:.45}.private-safety .modal-close{position:absolute;top:14px;right:14px}.profile-menu #privateAccountSafety{margin-top:6px}.profile-menu #privateSignOut{color:#a63e3e}.demo-entry{border-color:var(--lav)!important}.demo-entry-note{margin:-5px 0 1px!important;text-align:center;color:var(--surface-muted);font-size:10px!important;line-height:1.45}.demo-workspace-banner{display:flex;gap:10px;align-items:center;padding:9px max(24px,calc((100vw - 1440px)/2));background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--surface-text);font-size:11px}.demo-workspace-banner b{color:var(--accent-strong,var(--lav))}.demo-workspace-banner span{color:var(--surface-muted)}@media(max-width:760px){.getting-started-steps{grid-template-columns:1fr}.getting-started-heading{align-items:center}.private-safety-card{padding:24px 18px}.demo-workspace-banner{padding:9px 16px;align-items:flex-start;flex-direction:column;gap:2px}}
body.haven-modal-open>:not(.private-safety),body:has(>.private-safety)>:not(.private-safety){pointer-events:none!important}.private-safety{z-index:2147483000;pointer-events:auto;isolation:isolate;touch-action:none;overscroll-behavior:contain}.private-safety-card{pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}


/* wishlist-ui.css */
.wishlist-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-4px 0 22px}.wishlist-summary article{padding:17px 18px;border:1px solid var(--border,var(--line));border-radius:12px;background:var(--surface,#fff);box-shadow:0 8px 20px #24212a08}.wishlist-summary span,.wishlist-summary small{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.wishlist-summary b{display:block;margin:8px 0 4px;color:var(--surface-text,var(--ink));font:700 23px 'Playfair Display',serif}.wishlist-summary-feature{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--lav) 35%,var(--border,var(--line)))!important}.wishlist-reserve{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px;padding:20px 22px;border:1px solid var(--border,var(--line));border-radius:13px;background:var(--surface,#fff);box-shadow:0 8px 20px #24212a08}.wishlist-reserve h2{margin:5px 0 5px;font-size:18px}.wishlist-reserve p:not(.eyebrow){max-width:560px;margin:0;color:var(--surface-muted,var(--muted));font-size:12px;line-height:1.55}.wishlist-reserve-controls{display:flex;align-items:flex-end;gap:18px;min-width:360px}.wishlist-reserve label{display:grid;gap:6px;flex:1;color:var(--surface-muted,var(--muted));font-size:10px;font-weight:700}.wishlist-reserve select{width:100%;min-height:36px;padding:0 9px;border:1px solid var(--border,var(--line));border-radius:7px;background:var(--paper,#fcfbf8);color:var(--surface-text,var(--ink));font:12px 'DM Sans',sans-serif}.reserve-balance{min-width:120px}.reserve-balance span,.reserve-balance small{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.reserve-balance b{display:block;margin:5px 0 3px;color:var(--surface-text,var(--ink));font-size:18px}.wishlist-grid{align-items:stretch}.wish-card-refined{display:flex;min-height:300px;flex-direction:column;padding:21px!important;background:var(--surface,#fff)!important}.wish-card-top>div{display:flex;gap:7px;align-items:center}.wish-category{padding:5px 8px;border-radius:999px;background:var(--paper,#fcfbf8);color:var(--surface-muted,var(--muted));font-size:10px;font-weight:700}.priority-high{background:#fff0e9;color:#bd5d41}.priority-medium{background:#f3efff;color:#6656a8}.priority-low{background:#e9f5ef;color:#397b61}.wish-heart{color:var(--lav);font-size:22px;line-height:1}.wish-card-refined h2{margin:19px 0 4px!important;font-size:21px}.wish-target{margin:0!important}.wish-cost-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:20px}.wish-cost-row b{color:var(--surface-text,var(--ink));font-size:26px!important}.wish-cost-row span{padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong,var(--lav));font-size:10px;font-weight:700}.wish-progress-copy,.wish-details{display:flex;justify-content:space-between;gap:10px;margin-top:16px;color:var(--surface-muted,var(--muted));font-size:10px}.wish-progress-copy strong{color:var(--surface-text,var(--ink));font-size:10px}.wish-progress{height:7px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--border,var(--line))}.wish-progress i{display:block;height:100%;border-radius:inherit;background:var(--lav)}.wish-details{margin-top:9px}.wish-details span:last-child{text-align:right}.wish-note{margin:15px 0 0!important;padding:10px 11px;border-radius:8px;background:var(--paper,#fcfbf8);color:var(--surface-text,var(--ink))!important;font-size:10px!important;line-height:1.5}.wish-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}.wish-card-footer .canbuy{margin:0!important}.wish-empty-state{display:grid;place-items:start;gap:9px;min-height:210px}.wish-empty-state .primary-btn{margin-top:5px}@media(max-width:1000px){.wishlist-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.wishlist-reserve{align-items:flex-start;flex-direction:column}.wishlist-reserve-controls{width:100%;min-width:0}}@media(max-width:620px){.wishlist-summary{grid-template-columns:1fr}.wishlist-summary article{padding:15px 16px}.wishlist-reserve{padding:17px}.wishlist-reserve-controls{align-items:stretch;flex-direction:column;gap:13px}.wish-card-refined{min-height:0}.wish-details{align-items:flex-start;flex-direction:column}.wish-details span:last-child{text-align:left}}#editorFields textarea{min-height:82px;resize:vertical;padding:10px;border:1px solid var(--border-strong,var(--line));border-radius:7px;background:var(--surface,#fff);color:var(--surface-text,var(--ink));font:12px 'DM Sans',sans-serif}


/* transactions-ui.css */
.transaction-flow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-5px 0 18px}.transaction-flow-summary article{padding:16px 18px;border:1px solid var(--border,var(--line));border-radius:11px;background:var(--surface,#fff);box-shadow:0 8px 20px #24212a08}.transaction-flow-summary span,.transaction-flow-summary small{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.transaction-flow-summary b{display:block;margin:7px 0 4px;font:700 22px 'Playfair Display',serif}.flow-income{border-left:4px solid #3d9577!important}.flow-income b{color:#27775d}.flow-expense{border-left:4px solid #e98662!important}.flow-expense b{color:#c46245}.flow-net{border-left:4px solid var(--lav)!important}.transaction-kind{display:inline-flex;align-items:center;min-width:59px;justify-content:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}.transaction-kind.income{background:#e7f4ee;color:#28775d}.transaction-kind.expense{background:#fff0e9;color:#bf6045}.transaction-row-income td:first-child{box-shadow:inset 3px 0 0 #58aa8d}.transaction-row-expense td:first-child{box-shadow:inset 3px 0 0 #e98662}.review-item-income{border-left:3px solid #58aa8d}.review-item-expense{border-left:3px solid #e98662}.review-merchant-line{display:flex;align-items:center;gap:8px}.review-item small b{font:700 11px 'DM Sans',sans-serif}@media(max-width:720px){.transaction-flow-summary{grid-template-columns:1fr}.transaction-flow-summary article{padding:14px 16px}}


/* credit-cards.css */
.credit-card-hub{margin-top:22px;padding:22px;border:1px solid var(--border,var(--line));border-radius:13px;background:var(--surface,#fff);box-shadow:0 8px 20px #24212a08}.credit-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.credit-card-heading h2{margin:3px 0 6px;font-size:20px}.credit-card-heading p:not(.eyebrow){max-width:650px;margin:0;color:var(--surface-muted,var(--muted));font-size:12px;line-height:1.55}.credit-card-actions,.credit-card-empty>div{display:flex;gap:8px;flex-wrap:wrap}.credit-card-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.credit-card-summary article{padding:16px;border:1px solid var(--border,var(--line));border-radius:10px;background:var(--paper,#fcfbf8)}.credit-card-summary span,.credit-card-summary small{display:block;color:var(--surface-muted,var(--muted));font-size:10px}.credit-card-summary b{display:block;margin:7px 0 4px;color:var(--surface-text,var(--ink));font:700 23px 'Playfair Display',serif}.credit-score-card{display:flex;justify-content:space-between;gap:12px}.credit-score-card .plain-button{align-self:flex-end}.credit-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.credit-card-list>article{padding:17px;border:1px solid var(--border,var(--line));border-radius:10px;background:var(--surface,#fff)}.credit-card-card-head{display:flex;justify-content:space-between;gap:10px}.credit-card-card-head>div{display:flex;gap:10px;align-items:center}.credit-card-card-head .account-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong,var(--lav))}.credit-card-card-head h3,.credit-card-activity h3{margin:0;font:700 16px 'Playfair Display',serif}.credit-card-card-head p{margin:3px 0 0;color:var(--surface-muted,var(--muted));font-size:10px}.credit-card-balance{display:flex;align-items:baseline;justify-content:space-between;margin-top:19px}.credit-card-balance span,.credit-utilization span,.credit-limit-note{color:var(--surface-muted,var(--muted));font-size:10px}.credit-card-balance b{font:700 21px 'Playfair Display',serif}.credit-utilization{display:flex;align-items:center;gap:9px;margin-top:11px}.credit-utilization div{height:7px;flex:1;overflow:hidden;border-radius:999px;background:var(--border,var(--line))}.credit-utilization i{display:block;height:100%;border-radius:inherit;background:var(--lav)}.credit-limit-note{display:block;margin-top:13px}.credit-card-activity{margin-top:20px;padding-top:18px;border-top:1px solid var(--border,var(--line))}.credit-card-activity-list{display:grid;gap:0;margin-top:9px}.credit-card-activity-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border,var(--line))}.credit-card-activity-list article:last-child{border-bottom:0}.credit-card-activity-list b,.credit-card-activity-list small{display:block}.credit-card-activity-list b{font-size:12px}.credit-card-activity-list small{margin-top:2px;color:var(--surface-muted,var(--muted));font-size:10px}.credit-card-empty{padding:24px 2px 3px}.credit-card-empty h3{margin:0;font:700 17px 'Playfair Display',serif}.credit-card-empty p{margin:5px 0 14px;color:var(--surface-muted,var(--muted));font-size:12px}@media(max-width:720px){.credit-card-hub{padding:18px}.credit-card-heading{flex-direction:column}.credit-card-summary,.credit-card-list{grid-template-columns:1fr}.credit-card-actions,.credit-card-empty>div{width:100%}.credit-card-actions button,.credit-card-empty>div button{flex:1}}


/* demo-mode.css */
/* Demo-only presentation details; this also keeps setup icons readable. */
.setup-step span { color: var(--surface-text); }
.demo-entry { border-color: var(--lav) !important; }
.demo-link { display: flex; justify-content: center; align-items: center; min-height: 40px; box-sizing: border-box; text-decoration: none; }
.demo-door .primary-btn, .demo-door .demo-link { width: 100%; margin-top: 13px; }
.onboarding-door { max-height: calc(100vh - 36px); overflow: auto; }
.onboarding-door form { margin-top: 16px; }
.onboarding-door label > small { font-weight: 500; color: var(--surface-muted); }
.onboarding-door .income-picker { display: grid; grid-template-columns: minmax(0, 1fr) 128px; gap: 8px; }
.onboarding-door select { min-width: 0; padding: 11px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--surface-text); font: 13px 'DM Sans'; }
@media (max-width: 460px) { .onboarding-door { padding: 25px 20px; } .onboarding-door .income-picker { grid-template-columns: 1fr; } }
.verification-door input[name="verification_code"] { font-size: 23px; font-weight: 700; letter-spacing: .32em; text-align: center; }
.admin-user-list { display: grid; gap: 9px; margin-top: 18px; }
.admin-user-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--paper); }
.admin-user-list article div { display: grid; gap: 3px; min-width: 0; }
.admin-user-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.admin-user-list small { color: var(--surface-muted); font-size: 10px; }
.admin-owner-badge { padding: 5px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-strong, var(--lav)); font-size: 10px; font-weight: 700; }
.admin-panel h3 { margin: 24px 0 0; font-size: 14px; }
.admin-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; align-items: center; }
.admin-invite-form input,.admin-invite-form select { min-width: 0; padding: 10px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--surface-text); font: 12px 'DM Sans'; }
.new-invite-code { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; padding: 11px; border: 1px solid var(--lav); border-radius: 9px; background: var(--accent-soft); font-size: 11px; }
.new-invite-code code { padding: 4px 6px; border-radius: 5px; background: var(--surface); color: var(--surface-text); font: 700 12px monospace; letter-spacing: .05em; }
@media (max-width: 560px) { .admin-invite-form { grid-template-columns: 1fr; } }
.getting-started-card .setup-next { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 15px; padding: 12px 14px; border: 1px solid var(--lav); border-radius: 9px; background: var(--lav); color: #fff; font: 700 12px 'DM Sans'; cursor: pointer; }
.getting-started-card .setup-next span { font-size: 16px; line-height: 1; }
.demo-entry-note { margin: -5px 0 1px !important; text-align: center; color: var(--surface-muted); font-size: 10px !important; line-height: 1.45; }
.demo-workspace-banner { display: flex; gap: 10px; align-items: center; padding: 9px max(24px, calc((100vw - 1440px) / 2)); background: var(--accent-soft); border-bottom: 1px solid var(--border); color: var(--surface-text); font-size: 11px; }
.demo-workspace-banner b { color: var(--accent-strong, var(--lav)); }
.demo-workspace-banner span { color: var(--surface-muted); }
@media (max-width: 760px) { .demo-workspace-banner { padding: 9px 16px; align-items: flex-start; flex-direction: column; gap: 2px; } }


/* coach.css */
.coach-panel{max-width:900px;background:var(--panel,#fff);border:1px solid var(--border,#e8e3dc);border-radius:22px;padding:28px;box-shadow:0 12px 30px rgba(40,35,30,.06)}
.coach-intro{display:flex;gap:16px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--border,#e8e3dc)}
.coach-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;background:var(--accent,#7569c0);color:#fff;font-size:23px;box-shadow:0 8px 18px color-mix(in srgb,var(--accent,#7569c0) 28%,transparent)}
.coach-intro h2{margin:2px 0 6px;font-size:20px}.coach-intro p,.coach-disclaimer{margin:0;line-height:1.55;color:var(--muted,#756f68)}
.coach-prompts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.coach-prompts button{border:1px solid var(--border,#e8e3dc);border-radius:999px;padding:9px 13px;background:var(--soft,#f8f6f2);color:var(--ink,#282522);font:600 13px/1.2 inherit;cursor:pointer;transition:.18s ease}.coach-prompts button:hover,.coach-prompts button:focus-visible{border-color:var(--accent,#7569c0);background:color-mix(in srgb,var(--accent,#7569c0) 12%,var(--panel,#fff));outline:none}
.coach-messages{min-height:240px;max-height:470px;overflow:auto;display:flex;flex-direction:column;gap:13px;padding:4px 2px 10px}.coach-message{max-width:83%;padding:14px 16px;border-radius:16px;background:var(--soft,#f8f6f2);color:var(--ink,#282522);border:1px solid var(--border,#e8e3dc)}.coach-message b{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#756f68)}.coach-message p{white-space:pre-wrap;margin:0;line-height:1.55}.coach-message.user{align-self:flex-end;background:var(--accent,#7569c0);border-color:var(--accent,#7569c0);color:#fff}.coach-message.user b{color:rgba(255,255,255,.78)}.coach-message.thinking{opacity:.72;font-style:italic}
.coach-form{display:flex;gap:10px;align-items:center;padding-top:18px;border-top:1px solid var(--border,#e8e3dc)}.coach-form input{min-width:0;flex:1;border:1px solid var(--border,#e8e3dc);border-radius:12px;background:var(--input,#fff);color:var(--ink,#282522);padding:13px 14px;font:inherit}.coach-form input:focus{outline:2px solid color-mix(in srgb,var(--accent,#7569c0) 35%,transparent);border-color:var(--accent,#7569c0)}.coach-form .primary-btn{white-space:nowrap}.coach-form button:disabled,.coach-form input:disabled{opacity:.65;cursor:wait}.coach-disclaimer{margin-top:15px;font-size:12px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:620px){.coach-panel{padding:19px}.coach-form{align-items:stretch;flex-direction:column}.coach-form .primary-btn{width:100%}.coach-message{max-width:93%}.coach-prompts{gap:8px}}


/* mobile-app.css */
.mobile-app-card{grid-column:1/-1;margin-top:6px;padding:18px 20px;border:1px solid var(--border-strong,var(--line));border-radius:12px;background:var(--accent-soft);color:var(--surface-text,var(--ink));display:grid;gap:10px}.mobile-app-card h2{margin:0;font-size:19px}.mobile-app-card p{margin:0;color:var(--surface-muted,var(--muted));font-size:12px;line-height:1.5}.mobile-app-card .mobile-app-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}.mobile-app-status{min-height:16px;color:var(--surface-muted,var(--muted));font-size:11px}.mobile-app-steps{margin:0;padding-left:18px;font-size:12px;line-height:1.65}.mobile-app-card.is-installed{background:var(--surface,#fff)}.notification-preferences{display:grid;gap:10px;padding:13px 0 3px;border-top:1px solid color-mix(in srgb,var(--border-strong,var(--line)) 75%,transparent)}.notification-preferences>div>b{display:block;font-size:12px}.notification-preferences>div>small{color:var(--surface-muted,var(--muted));font-size:11px}.notification-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.notification-checks label,.notification-time,.notification-minimum{font-size:12px;color:var(--surface-text,var(--ink));font-weight:600}.notification-checks input{accent-color:var(--lav)}.notification-time,.notification-minimum{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-time input,.notification-minimum input{max-width:112px;padding:7px 8px;border:1px solid var(--border-strong,var(--line));border-radius:6px;background:var(--surface,#fff);color:var(--surface-text,var(--ink));font:12px 'DM Sans'}.notification-minimum span{margin-left:auto;color:var(--surface-muted,var(--muted))}
.notification-on{background:#287b5f!important}
@media(max-width:720px){.sidebar{overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sidebar nav,.sidebar-bottom{flex:0 0 auto}.sidebar-bottom{margin-top:22px}}
@media(max-width:720px){#dashboard .page-title{display:block!important}#dashboard .page-title .primary-btn{display:flex!important;align-items:center;justify-content:center;width:100%;margin-top:18px;padding-inline:16px}}


/* sync-status.css */
#cloudSyncStatus{font:600 10px 'DM Sans';padding:6px 8px;border-radius:999px;background:var(--accent-soft);color:var(--surface-text);white-space:nowrap}#cloudSyncStatus[data-state="saving"]{opacity:.75}#cloudSyncStatus[data-state="pending"]{background:#fff0e8;color:#a75c43}#cloudSyncStatus[data-state="error"]{background:#fde8e8;color:#9f2f2f}@media(max-width:720px){#cloudSyncStatus{font-size:9px;padding:5px 7px}.top-actions:has(#cloudSyncStatus){gap:7px}}
.cloud-sync-conflict{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:13px 16px;border:1px solid #d99b61;border-radius:10px;background:#fff5eb;color:var(--surface-text,var(--ink))}.cloud-sync-conflict b,.cloud-sync-conflict span{display:block}.cloud-sync-conflict span{margin-top:3px;font-size:11px;color:var(--surface-muted,var(--muted))}.cloud-sync-conflict>div:last-child{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.cloud-sync-conflict{align-items:flex-start;flex-direction:column}.cloud-sync-conflict .primary-btn,.cloud-sync-conflict .secondary-btn{display:inline-flex!important}}


/* mobile-security.css */
html.auth-pending .app-shell{visibility:hidden}html.app-backgrounded{background:#17131a!important}html.app-backgrounded .app-shell,html.app-backgrounded #privateDoor{opacity:0!important;visibility:hidden!important}html.app-backgrounded body:after{content:"";position:fixed;z-index:2147483647;inset:0;background:#17131a;display:block}@media(max-width:720px){.page-title{align-items:flex-start!important;gap:14px}.page-title .primary-btn,.page-title .secondary-btn{display:inline-flex!important;flex:0 0 auto;white-space:nowrap}.bank-actions{width:100%;justify-content:flex-start}.page-title:has(.bank-actions){display:block}.page-title:has(.bank-actions)>.secondary-btn{position:absolute;right:0;top:31px}}


/* mobile-usability.css */
/* Final phone-first pass: keep controls thumb-friendly and avoid squeezing the desktop layout. */
@media (max-width:720px){
  html,body{max-width:100%;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .app-shell main{padding:0 16px calc(34px + env(safe-area-inset-bottom))}
  .topbar{position:sticky;top:0;z-index:2;height:64px;background:var(--paper);margin:0 -16px;padding:0 16px;box-shadow:0 1px 0 var(--line)}
  .top-actions{gap:8px}.month-select{align-items:center;background:var(--date-surface,#fff);color:var(--date-text,var(--ink));display:flex;font-size:12px;min-height:40px;padding:8px 10px}.month-select span{margin-left:6px}
  .mobile-menu{align-items:center;border-radius:9px;color:var(--ink);display:grid;height:44px;justify-content:center;margin-left:-8px;width:44px}
  .sidebar{box-shadow:18px 0 45px #17131a3d;padding:calc(20px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));width:min(84vw,330px)}
  .brand{padding-bottom:25px}.nav-item{font-size:15px;min-height:46px;padding:12px}.nav-item span{font-size:19px}.profile{padding-bottom:9px}
  #mobileNavBackdrop{background:#17131a66;border:0;display:none;inset:0;position:fixed;z-index:3}body.mobile-nav-open #mobileNavBackdrop{display:block}
  .page-title{display:block!important;padding:25px 0 17px!important}.page-title h1{font-size:28px;line-height:1.1}.page-title .subhead{font-size:12px;line-height:1.45}.page-title>.primary-btn,.page-title>.secondary-btn{align-items:center;display:flex!important;justify-content:center;margin-top:15px;min-height:46px;width:100%}
  .page-title .investment-actions,.page-title .bank-actions{display:grid;gap:9px;margin-top:15px;width:100%}.page-title .investment-actions button,.page-title .bank-actions button{min-height:44px;width:100%}.page-title:has(.bank-actions)>.secondary-btn{position:static!important}.bank-actions small{line-height:1.35;text-align:center}
  #dashboard .page-title .primary-btn{margin-top:15px}.kpi-grid{gap:12px}.kpi-card{min-height:146px;padding:16px}.kpi-card strong{font-size:24px;margin:15px 0 5px}.dashboard-grid{gap:12px;margin-top:12px}.panel{padding:16px}.chart-wrap{height:185px}.donut-area{gap:15px;padding-top:14px}.donut{height:135px;width:135px}.donut:after{height:91px;width:91px}
  .dashboard-customize-button{min-height:44px;width:100%}.dashboard-customize-drawer{margin-top:10px}.dashboard-options{grid-template-columns:1fr!important}.dashboard-options label{min-height:42px}.dashboard-editor-actions .primary-btn,.dashboard-editor-actions .secondary-btn{min-height:43px}
  .budget-summary{margin-bottom:12px}.budget-summary div{padding:15px 17px}.budget-summary b{font-size:19px}.monthly-transactions{margin-top:26px}.section-title-row{align-items:flex-start;display:block}.section-title-row .primary-btn{margin-top:12px;min-height:44px;width:100%}
  .table-toolbar{gap:8px;padding:11px}.search-box{align-items:center;display:flex;min-height:42px;min-width:0;width:100%}.search-box input{font-size:16px;min-width:0;width:100%}.filter-btn{min-height:42px;white-space:nowrap}.transaction-table{position:relative}.transaction-table table,.budget-table table{min-width:650px}.transaction-table::-webkit-scrollbar,.budget-table::-webkit-scrollbar{height:7px}.transaction-table::-webkit-scrollbar-thumb,.budget-table::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
  .bills-grid,.goals-grid,.wishlist-grid,.accounts-grid,.investment-cards{gap:12px}.bill-card,.goal-card,.wish-card,.account-card{padding:17px}.bills-page-summary{gap:1px;grid-template-columns:1fr!important}.bills-page-summary>div{padding:13px 15px}.bill-card-actions{display:grid!important;gap:8px;grid-template-columns:1fr 1fr}.bill-card-actions button{min-height:40px;width:100%}.bill-card-actions .flag-item{grid-column:1/-1}.bill-match-panel{gap:9px}.bill-confirmed-payments>div,.bill-suggestions>div,.bill-payment-finder>div{gap:6px;padding:9px}.bill-suggestions .secondary-btn{min-height:36px}.bill-payment-finder summary{min-height:36px;padding-top:6px}
  .planner-hero{padding:20px}.planner-hero b{font-size:28px}.allocation-list{padding:4px 16px}.allocation-row{align-items:flex-start;gap:10px;padding:15px 0}.allocation-row b{white-space:nowrap}
  .account-total{align-items:flex-start;display:grid;gap:5px;padding:17px}.account-total b{font-size:26px}.settings-panel{gap:14px;padding:16px}.settings-group{padding:16px!important}.settings-fields{gap:13px!important;grid-template-columns:1fr!important}.appearance-heading{align-items:flex-start;display:block}.appearance-heading .restore-colors{margin-top:11px;width:100%}.preset-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.color-picker{grid-template-columns:1fr auto!important}
  .coach-panel{padding:16px}.coach-intro{align-items:flex-start}.coach-prompts{grid-template-columns:1fr!important}.coach-prompts button{min-height:43px}.coach-form{grid-template-columns:1fr!important}.coach-form .primary-btn{min-height:45px}
  .modal-backdrop{align-items:end;padding:0}.transaction-modal{border-radius:18px 18px 0 0;max-height:calc(100dvh - env(safe-area-inset-top));overflow:auto;padding:25px 18px calc(18px + env(safe-area-inset-bottom));width:100%}.transaction-modal h2{font-size:23px}.transaction-modal .form-row{grid-template-columns:1fr}.transaction-modal input:not([type=checkbox]):not([type=color]),.transaction-modal select,.transaction-modal textarea,.settings-panel input:not([type=checkbox]):not([type=color]),.settings-panel select{font-size:16px;min-height:44px}.modal-actions{background:var(--surface,#fff);bottom:0;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding-top:8px;position:sticky}.modal-actions .primary-btn,.modal-actions .secondary-btn{min-height:44px;width:100%}
  .private-safety{align-items:end;padding:0}.private-safety-card{border-radius:18px 18px 0 0;max-height:calc(100dvh - env(safe-area-inset-top));padding:25px 18px calc(20px + env(safe-area-inset-bottom));width:100%}.private-safety-card h2{font-size:24px}.security-section{padding:14px}.private-safety-card input:not([type=checkbox]),.private-safety-card select{font-size:16px;min-height:44px}
  #privateDoor{align-items:start;overflow:auto;padding:calc(28px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.private-door-card{margin:auto 0;padding:26px 20px;width:100%}.private-door-card h1{font-size:28px}.private-door-card input:not([type=checkbox]),.private-door-card select{font-size:16px;min-height:44px}.private-door-card .primary-btn,.private-door-card .secondary-btn{min-height:45px;width:100%}.password-visibility{height:38px;width:38px}
  .mobile-app-card{padding:16px}.notification-checks{grid-template-columns:1fr}.notification-time,.notification-minimum{align-items:flex-start;display:grid;grid-template-columns:1fr auto}.notification-time input,.notification-minimum input{font-size:16px;min-height:42px}.mobile-app-card .mobile-app-actions{display:grid}.mobile-app-card .mobile-app-actions button{min-height:44px;width:100%}
}
@media (max-width:390px){.top-actions{gap:3px}.month-select{font-size:11px;padding:8px}.page-title h1{font-size:26px}.kpi-card strong{font-size:22px}.bill-card-actions{grid-template-columns:1fr}.bill-card-actions .flag-item{grid-column:auto}}


/* reconciliation.css */
.account-reconciliation{margin:-1px 0 18px;padding:20px}.account-reconciliation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.account-reconciliation-grid article{border:1px solid var(--line);border-radius:10px;padding:14px;background:color-mix(in srgb,var(--paper) 82%,#fff 18%);display:grid;grid-template-columns:1fr auto;gap:8px}.account-reconciliation-grid strong{font-size:13px}.account-reconciliation-grid small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.account-reconciliation-grid>b{font:700 17px 'Playfair Display'}.account-reconciliation-grid p{grid-column:1/-1;margin:0;display:flex;gap:8px;flex-wrap:wrap}.account-reconciliation-grid p span{font-size:10px;color:var(--muted);background:var(--lav-light);border-radius:999px;padding:4px 7px}.transaction-kind.transfer{background:#e8f1f7;color:#35687f}.transaction-row-transfer{background:#f8fbfd}.reconciliation-empty{text-align:center;color:var(--muted);padding:30px}@media(max-width:720px){.account-reconciliation{padding:16px}.account-reconciliation .panel-head{gap:12px;flex-wrap:wrap}.account-reconciliation-grid{grid-template-columns:1fr}.account-reconciliation-grid article{padding:13px}.record-transfer-button{display:inline-flex!important;margin-left:8px}}


/* merchant-rules.css */
.review-controls{display:grid;gap:7px;min-width:190px}.remember-merchant{display:flex!important;gap:7px!important;align-items:center;font-size:10px!important;color:var(--muted)!important;font-weight:600!important}.remember-merchant input{accent-color:var(--lav)}.pending-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff2d9;color:#9a6500;padding:3px 6px;font-size:9px;font-weight:700;margin-left:5px;vertical-align:middle}.transaction-kind.neutral{background:#eef1f4;color:#52616d}.merchant-rules-panel{max-width:670px;margin-top:17px}.merchant-rules-panel>.panel-head>b{font:700 24px 'Playfair Display';color:var(--lav)}.merchant-rule-list{margin-top:15px;border-top:1px solid var(--line)}.merchant-rule-list article{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.merchant-rule-list strong{font-size:12px;display:block}.merchant-rule-list small{color:var(--muted);font-size:10px}.merchant-rule-list button{color:#aa5b49}@media(max-width:720px){.review-controls{grid-column:1/-1;min-width:0}.review-item{grid-template-columns:1fr!important}.review-item .secondary-btn,.review-item .review-ignore{justify-self:start}.merchant-rules-panel{margin-top:14px}}


/* dashboard-customization.css */
.dashboard-editor-heading{display:flex;justify-content:space-between;gap:18px}.dashboard-editor-heading h2{margin:0 0 5px}.dashboard-editor-heading p:last-child,.dashboard-help{margin:0;color:var(--muted);font-size:12px}.dashboard-editor-section{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.dashboard-editor-section h3{font:700 13px 'DM Sans';margin:0 0 10px}.dashboard-order-list{display:grid;gap:7px}.dashboard-order-list>div{align-items:center;background:color-mix(in srgb,var(--lav) 7%,#fff);border:1px solid var(--line);border-radius:8px;display:flex;font-size:12px;justify-content:space-between;padding:8px 10px}.dashboard-order-actions{display:flex;gap:3px}.dashboard-order-actions .plain-button{background:#fff;border:1px solid var(--line);border-radius:5px;font-size:14px;line-height:20px;padding:0;width:23px}.dashboard-order-actions .plain-button:disabled{cursor:not-allowed;opacity:.35}.dashboard-density-choice label{color:var(--muted);display:grid;font-size:12px;font-weight:600;gap:6px;max-width:230px}.dashboard-density-choice select{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);font:12px 'DM Sans';padding:8px}.dashboard-editor-actions{align-items:center;border-top:1px solid var(--line);display:grid;gap:8px;grid-template-columns:auto 1fr auto auto;margin-top:19px;padding-top:16px}.dashboard-customize-button{margin-left:auto}.dashboard-panel-hidden{display:none!important}.dashboard-density-compact .kpi-grid,.dashboard-density-compact .dashboard-grid{gap:11px}.dashboard-density-compact .kpi-card{min-height:140px;padding:14px}.dashboard-density-compact .kpi-card strong{margin:13px 0 5px}.dashboard-density-compact .mini-rule{bottom:14px;left:14px;right:14px}.dashboard-density-compact .panel{padding:16px}@media(max-width:620px){.dashboard-editor-actions{grid-template-columns:1fr 1fr}.dashboard-editor-actions>span{display:none}.dashboard-editor-actions .dashboard-restore-defaults{grid-column:1/-1;text-align:left}.dashboard-customize-button{margin-left:0}.dashboard-editor-heading{display:block}}


/* calendar-inputs.css */
input[type="date"]{min-height:39px}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72}


/* bill-matching.css */
.bill-match-panel{border-top:1px solid var(--line);display:grid;gap:10px;margin-top:13px;padding-top:12px}.bill-match-panel b{font-size:11px}.bill-confirmed-payments,.bill-suggestions{display:grid;gap:7px}.bill-confirmed-payments>div,.bill-suggestions>div,.bill-payment-finder>div{align-items:center;background:color-mix(in srgb,var(--lav) 6%,#fff);border:1px solid var(--line);border-radius:7px;display:grid;font-size:10px;gap:7px;grid-template-columns:1fr auto auto;padding:8px}.bill-suggestions>div{grid-template-columns:1fr auto auto}.bill-confirmed-payments span,.bill-suggestions span,.bill-payment-finder span{display:grid;gap:2px}.bill-confirmed-payments small,.bill-suggestions small,.bill-payment-finder small{color:var(--muted);font-size:9px}.bill-suggestions label{align-items:center;color:var(--muted);display:flex;font-size:9px;gap:4px;grid-column:1/-1}.bill-suggestions .secondary-btn{font-size:10px;padding:6px 8px}.bill-match-panel .plain-button{font-size:10px;text-align:left}.bill-payment-finder{font-size:11px}.bill-payment-finder summary{color:var(--lav);cursor:pointer;font-weight:700}.bill-payment-finder p{color:var(--muted);font-size:10px;margin:8px 0}.bill-payment-finder>div{margin-top:6px}@media(max-width:620px){.bill-confirmed-payments>div,.bill-suggestions>div,.bill-payment-finder>div{grid-template-columns:1fr auto}.bill-suggestions label{grid-column:1/-1}}


/* payday-scheduler.css */
.payday-auto-note{color:var(--muted);font-size:10px;font-weight:500;line-height:1.4;margin-top:1px}@media(max-width:720px){.payday-auto-note{font-size:11px;line-height:1.45}}


/* decision-tools.css */
.cash-outlook{margin-top:17px}.cash-outlook-head{gap:15px}.cash-outlook-reserve-note{background:color-mix(in srgb,var(--lav) 8%,var(--surface));border:1px solid var(--line);border-radius:8px;display:grid;gap:3px;margin-top:14px;padding:10px 12px}.cash-outlook-reserve-note b{font-size:11px}.cash-outlook-reserve-note span{color:var(--muted);font-size:11px;line-height:1.4}.cash-safety-label{align-self:flex-start;border-radius:999px;font-size:11px;font-weight:700;padding:6px 9px;white-space:nowrap}.cash-safety-label.safe{background:#e6f3ee;color:#287b5f}.cash-safety-label.caution{background:#fff1df;color:#9a6500}.cash-safety-label.not-safe-yet,.cash-safety-label.set-up-needed{background:#fff0e9;color:#bb5b42}.cash-outlook-hero{display:grid;gap:12px;grid-template-columns:1.2fr 1fr 1fr;margin:19px 0}.cash-outlook-hero>div{background:color-mix(in srgb,var(--lav) 7%,#fff);border:1px solid var(--line);border-radius:9px;padding:14px}.cash-outlook-hero span{color:var(--muted);display:block;font-size:10px;font-weight:700;letter-spacing:.07em}.cash-outlook-hero b{display:block;font:700 23px 'Playfair Display';margin:7px 0}.cash-outlook-hero small{color:var(--muted);display:block;font-size:10px;line-height:1.4}.cash-outlook-breakdown{border-top:1px solid var(--line);display:grid;margin-top:5px;padding-top:9px}.cash-outlook-breakdown>div{display:flex;justify-content:space-between;padding:8px 0;font-size:12px}.cash-outlook-breakdown>div:first-child{padding-top:2px}.cash-upcoming-bill small{color:var(--muted);margin-left:4px}.cash-protected-heading{border-top:1px dashed var(--line);margin-top:4px;padding-top:10px}.cash-protected-heading span{font-weight:700}.cash-protected-bill small{color:var(--lav)!important}.cash-outlook-breakdown>p{color:var(--muted);font-size:11px;margin:6px 0}.cash-outlook-breakdown>small{color:var(--muted);font-size:10px}.cash-outlook-settings{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.cash-outlook-settings summary{color:var(--lav);cursor:pointer;font-size:12px;font-weight:700}.cash-outlook-settings p{color:var(--muted);font-size:11px;line-height:1.45;margin:9px 0}.cash-account-choices{display:grid;gap:7px;margin:10px 0}.cash-account-choices label{align-items:center;display:flex;font-size:11px;gap:7px}.cash-account-choices b{margin-left:auto}.cash-floor-control{align-items:center;display:flex;font-size:11px;font-weight:700;gap:7px}.cash-floor-control .money-field{max-width:125px}.cash-outlook-settings .secondary-btn{margin-top:12px}@media(max-width:720px){.cash-outlook{margin-top:12px}.cash-outlook-head{display:block}.cash-safety-label{display:inline-block;margin-top:10px}.cash-outlook-hero{grid-template-columns:1fr;margin:14px 0}.cash-outlook-hero>div{padding:13px}.cash-bill-choices label,.cash-account-choices label{min-height:42px}.cash-outlook-settings .secondary-btn{min-height:43px;width:100%}}


/* cash-outlook-contrast.css */
/* Cash Outlook uses nested cards, so it needs its own dark-theme contrast
   rules instead of inheriting the light card surface. */
.dark-mode .cash-outlook-hero>div{background:color-mix(in srgb,var(--lav) 16%,#34303d);border-color:#5d5568}.dark-mode .cash-outlook-hero b{color:var(--surface-text)!important}.dark-mode .cash-outlook-hero span,.dark-mode .cash-outlook-hero small,.dark-mode .cash-outlook-breakdown>p,.dark-mode .cash-upcoming-bill small,.dark-mode .cash-outlook-breakdown>small,.dark-mode .cash-outlook-settings p{color:var(--surface-muted)!important}.dark-mode .cash-outlook-breakdown,.dark-mode .cash-outlook-settings{border-color:#5d5568}.dark-mode .cash-outlook-breakdown>div,.dark-mode .cash-account-choices label,.dark-mode .cash-floor-control,.dark-mode .cash-bill-choices{color:var(--surface-text)}


/* cash-outlook-warnings.css */
.cash-outlook-warning{background:#fff1df;border:1px solid #f0c77f;border-radius:9px;color:#744600;display:grid;gap:3px;margin-top:15px;padding:11px 12px}.cash-outlook-warning b{font-size:12px}.cash-outlook-warning span{font-size:11px;line-height:1.4}


/* cash-outlook-options.css */
.cash-bill-choices{border-top:1px solid var(--line);display:grid;gap:7px;margin:13px 0;padding-top:12px}.cash-bill-choices>b{font-size:11px}.cash-bill-choices>small{color:var(--muted);font-size:10px;line-height:1.4}.cash-bill-choices label{align-items:center;display:flex;font-size:11px;gap:7px}.cash-bill-choices label span{display:grid;gap:1px}.cash-bill-choices label small{color:var(--muted);font-size:10px}@media(max-width:720px){.cash-bill-choices label{padding:4px 0}}
.cash-flexible-choices{border-top:1px solid var(--line);display:grid;gap:8px;margin:13px 0;padding-top:12px}.cash-flexible-choices>b{font-size:11px}.cash-flexible-choices>small,.cash-flexible-choice small{color:var(--muted);font-size:10px;line-height:1.4}.cash-flexible-choice{border:1px solid transparent;border-radius:8px;padding:7px 8px}.cash-flexible-choice.is-active{background:color-mix(in srgb,var(--lav) 7%,var(--surface));border-color:color-mix(in srgb,var(--lav) 24%,var(--line))}.cash-flexible-choice>label{align-items:center;display:flex;font-size:11px;gap:7px}.cash-flexible-choice>label>span{display:grid;gap:1px}.cash-flexible-choice>label>b{margin-left:auto}.cash-flexible-controls{display:grid;gap:7px;margin:9px 0 2px 24px}.cash-flexible-controls label{align-items:center;display:flex;font-size:10px;font-weight:700;gap:7px;justify-content:space-between}.cash-flexible-controls select,.cash-flexible-controls input{font-size:11px;min-height:31px}.cash-flexible-controls .money-field{max-width:120px}@media(max-width:720px){.cash-flexible-choice{padding:9px}.cash-flexible-choice>label{min-height:32px}.cash-flexible-controls{margin-left:0}.cash-flexible-controls label{align-items:flex-start;display:grid;gap:4px}.cash-flexible-controls select,.cash-flexible-controls .money-field{width:100%;max-width:none}}


/* cash-outlook-shared.css */
.cash-shared-bill-choices{border-top:1px dashed var(--line);display:grid;gap:7px;margin-top:7px;padding-top:10px}.cash-shared-bill-choices>b{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.cash-shared-bill-choices em{background:var(--accent-soft);border-radius:999px;color:var(--accent-strong);font-size:9px;font-style:normal;margin-left:4px;padding:2px 5px}


/* cash-outlook-payday-setup.css */
.cash-outlook-payday-setup{align-items:end;background:color-mix(in srgb,var(--lav) 7%,#fff);border:1px solid var(--line);border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr auto;margin:14px 0;padding:14px}.cash-outlook-payday-setup b{display:block;font-size:12px;margin-bottom:3px}.cash-outlook-payday-setup small{color:var(--muted);display:block;font-size:11px;line-height:1.4}.cash-outlook-payday-setup .primary-btn{min-height:39px;white-space:nowrap}@media(max-width:720px){.cash-outlook-payday-setup{align-items:stretch;grid-template-columns:1fr}.cash-outlook-payday-setup .primary-btn{width:100%}}


/* transaction-ignore-controls.css */
.transaction-ignore-button{margin-left:6px}.transaction-ignore-button:hover{background:#f7e8e7;color:#a34d47}@media(max-width:720px){.transaction-ignore-button{margin-top:5px;min-height:35px}}


/* savings-planner-refresh.css */
.savings-forecast{margin-bottom:18px}.savings-planner-heading{align-items:flex-start;display:flex;justify-content:space-between;gap:18px}.savings-planner-heading h2{font-size:22px}.savings-planner-heading p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:0;max-width:650px}.savings-status{border-radius:999px;font-size:11px;font-weight:700;padding:7px 10px;white-space:nowrap}.savings-status.on-track{background:#e6f3ee;color:#287b5f}.savings-status.needs-adjustment{background:#fff0e9;color:#b45b43}.savings-planner-form{align-items:end;border-bottom:1px solid var(--line);display:grid;gap:12px;grid-template-columns:1.2fr 1.2fr 1fr 1.2fr auto;margin:20px 0;padding-bottom:19px}.savings-planner-form label{color:var(--muted);display:grid;font-size:10px;font-weight:700;gap:6px;letter-spacing:.04em}.savings-planner-form input,.savings-planner-form select{border:1px solid var(--line);border-radius:7px;color:var(--ink);font:600 12px 'DM Sans';min-height:41px;padding:9px;background:var(--date-surface,#fff)}.savings-planner-form .money-field{max-width:none}.savings-planner-form .primary-btn{min-height:41px;white-space:nowrap}.savings-planner-summary{display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.savings-planner-summary article{background:color-mix(in srgb,var(--lav) 7%,#fff);border:1px solid var(--line);border-radius:9px;padding:14px}.savings-planner-summary span{color:var(--muted);display:block;font-size:9px;font-weight:700;letter-spacing:.08em}.savings-planner-summary b{display:block;font:700 21px 'Playfair Display';margin:7px 0 4px}.savings-planner-summary small{color:var(--muted);display:block;font-size:10px;line-height:1.35}.savings-planner-details{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:15px}.savings-planner-details article{border:1px solid var(--line);border-radius:9px;padding:16px}.savings-planner-details h3{font:700 14px 'Playfair Display';margin:0 0 7px}.savings-planner-details p,.savings-planner-details li{color:var(--muted);font-size:11px;line-height:1.55}.savings-planner-details b{color:var(--ink)}.savings-planner-details ol{margin:7px 0 0;padding-left:19px}.savings-progress{background:#efedea;border-radius:99px;height:8px;margin:13px 0 7px;overflow:hidden}.savings-progress i{background:linear-gradient(90deg,var(--green),#70ba99);display:block;height:100%}.savings-planner-details small{color:var(--muted);font-size:10px}@media(max-width:900px){.savings-planner-form{grid-template-columns:1fr 1fr}.savings-planner-summary{grid-template-columns:1fr 1fr}}@media(max-width:620px){.savings-planner-heading{display:block}.savings-status{display:inline-block;margin-top:10px}.savings-planner-form,.savings-planner-summary,.savings-planner-details{grid-template-columns:1fr}.savings-planner-form .primary-btn{width:100%}}


/* onboarding-dismissal.css */
.dismiss-setup-guide{display:block;margin:13px 0 0 auto;color:var(--surface-muted)}.dismiss-setup-guide:hover{color:var(--accent-strong,var(--lav));text-decoration:underline}


/* money-input-formatting.css */
.haven-money-wrap{display:block;position:relative}.haven-money-wrap .haven-money-input{width:100%}.haven-money-display{align-items:center;color:var(--surface-text,var(--ink));display:flex;font:600 13px 'DM Sans';inset:0;left:11px;pointer-events:none;position:absolute}.haven-money-wrap .haven-money-input:not(:focus){color:transparent!important}.haven-money-wrap .haven-money-input:not(:focus)::placeholder{color:transparent}.haven-money-wrap:focus-within .haven-money-display{display:none}.money-field.money-decorated{position:relative}.money-field.money-decorated>.haven-money-display{align-items:center;display:flex;inset:0;left:10px;pointer-events:none;position:absolute;color:var(--surface-text,var(--ink));font:600 13px 'DM Sans'}.money-field.money-decorated>.haven-money-input:not(:focus){color:transparent!important}.money-field.money-decorated>.haven-money-input:not(:focus)+.haven-money-display{display:flex}.money-field.money-decorated:focus-within>.haven-money-display{display:none}.money-field.money-decorated>span:first-child{opacity:0}.money-field.money-decorated:focus-within>span:first-child{opacity:1}


/* bill-editor-refresh.css */
.bill-editor-fields{display:grid;gap:13px}.bill-editor-section{border:1px solid var(--line);border-radius:10px;padding:14px}.bill-editor-section-heading{align-items:center;display:flex;gap:9px;margin-bottom:12px}.bill-editor-section-heading>span{align-items:center;background:var(--accent-soft,var(--lav-light));border-radius:50%;color:var(--accent-strong,var(--lav));display:flex;font-size:11px;font-weight:700;height:23px;justify-content:center;width:23px}.bill-editor-section-heading b{display:block;font:700 15px 'Playfair Display'}.bill-editor-section-heading small{color:var(--muted);display:block;font-size:10px;margin-top:2px}.bill-editor-grid{display:grid;gap:11px;grid-template-columns:1fr 1fr}.bill-editor-grid label{min-width:0}.bill-editor-grid input,.bill-editor-grid select{width:100%}.bill-last-day{align-items:center;display:flex!important;gap:8px;grid-column:1/-1;padding:9px 10px;border-radius:7px;background:var(--accent-soft,var(--lav-light));color:var(--surface-text)!important}.bill-last-day input{accent-color:var(--lav);height:16px;width:16px}.bill-editor-grid small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.35}@media(max-width:620px){.bill-editor-grid{grid-template-columns:1fr}.bill-editor-section{padding:13px}.bill-last-day{grid-column:auto}}


/* billing-transaction-polish.css */
/* Keep transfer and credit-card-payment rows readable in every Haven preset. */
.transaction-kind.transfer{background:color-mix(in srgb,var(--lav) 12%,var(--surface,#fff));color:var(--surface-text,var(--ink))}
.transaction-row-transfer{background:transparent;color:var(--surface-text,var(--ink))}
.transaction-row-transfer td{border-color:var(--border,var(--line))}
.transaction-row-transfer .category-pill{background:var(--accent-soft,var(--lav-light));color:var(--accent-strong,var(--lav))}

/* Author styles must not override the browser's hidden-field behavior. */
.bill-editor-fields [hidden]{display:none!important}
.bill-editor-grid{align-items:start}
.bill-editor-grid input:not([type=checkbox]),.bill-editor-grid select,.bill-editor-grid .money-field{width:100%;min-height:42px}
.bill-editor-grid .money-field input{min-height:40px}
.bill-editor-grid .bill-last-day input[type=checkbox]{flex:0 0 16px;height:16px;min-height:0;width:16px}
@media(max-width:620px){.bill-editor-section,.bill-editor-grid{max-width:100%;min-width:0;width:100%}.bill-editor-grid{grid-template-columns:minmax(0,1fr)}.bill-editor-grid>label,.bill-editor-grid .money-field{max-width:100%;min-width:0;width:100%}.bill-editor-grid input:not([type=checkbox]),.bill-editor-grid select{box-sizing:border-box;display:block;line-height:1.4;max-width:100%;min-width:0;padding-block:11px;width:100%!important}.bill-editor-grid select{height:auto;min-height:46px}.bill-editor-grid input[type=date],.bill-editor-grid input[type=month]{-webkit-appearance:none;appearance:none;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important}.bill-editor-grid input[type=date]::-webkit-date-and-time-value,.bill-editor-grid input[type=month]::-webkit-date-and-time-value{min-width:0;text-align:left}}


/* subscriptions.css */
.subscription-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:28px;overflow:hidden}.subscription-summary>div{padding:22px 24px;border-right:1px solid var(--line)}.subscription-summary>div:last-child{border:0}.subscription-summary span,.subscription-summary small{display:block;color:var(--muted);font-size:11px}.subscription-summary b{display:block;font:700 24px 'Playfair Display';margin:7px 0 4px}.subscription-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.subscription-section-head p{color:var(--muted);font-size:12px;margin:0}.subscription-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.subscription-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;min-height:310px}.subscription-card-top{display:flex;justify-content:space-between;align-items:center}.subscription-category,.subscription-state{font-size:10px;font-weight:700;border-radius:12px;padding:5px 8px;background:var(--lav-light);color:var(--lav)}.subscription-state{background:#e7f3ee;color:#3b9275}.subscription-state.cancelled{background:#f0efed;color:#777}.subscription-name{display:flex;align-items:center;gap:11px;margin:23px 0 15px}.subscription-name h2{margin:0 0 3px}.subscription-name p{margin:0;color:var(--muted);font-size:11px}.subscription-initial{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--lav-light);color:var(--lav);font-weight:700;font-size:17px}.subscription-card>strong{font:700 25px 'Playfair Display'}.subscription-card>small{color:var(--muted);font-size:11px;margin-top:3px}.subscription-renewal{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:grid;grid-template-columns:1fr auto;gap:3px}.subscription-renewal span{color:var(--muted);font-size:10px}.subscription-renewal b{font-size:12px}.subscription-renewal em{grid-column:1/-1;color:#d47355;font-style:normal;font-size:10px;font-weight:700}.subscription-note{color:var(--muted);font-size:11px;margin:12px 0 0}.subscription-card .edit-item{margin-top:auto}.subscription-card.is-cancelled{opacity:.72}.cancelled-subscriptions{margin-top:28px}.cancelled-subscriptions summary{cursor:pointer;font-weight:700;margin-bottom:15px}.cancelled-subscriptions summary small{background:#efede9;border-radius:10px;padding:3px 7px}.subscription-empty{text-align:center;background:#fff;border:1px dashed #d9d4cd;border-radius:12px;padding:50px 24px}.subscription-empty>span{font-size:38px;color:var(--lav)}.subscription-empty h2{font-size:22px;margin-top:12px}.subscription-empty p{color:var(--muted);max-width:520px;margin:0 auto 20px}.subscription-check{display:flex!important;align-items:center;gap:9px!important}.subscription-check input{width:auto!important}.subscription-notes{grid-column:1/-1}
@media(max-width:1100px){.subscription-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.subscription-summary,.subscription-grid{grid-template-columns:1fr}.subscription-summary>div{border-right:0;border-bottom:1px solid var(--line)}#subscriptions .page-title .primary-btn{display:none}}

/* Subscription cards follow every saved Haven color preset. */
#subscriptions .subscription-summary,
#subscriptions .subscription-card,
#subscriptions .subscription-empty{background:var(--surface,#fff);color:var(--surface-text,var(--ink));border-color:var(--border,var(--line))}
#subscriptions .subscription-summary>div,
#subscriptions .subscription-renewal{border-color:var(--border,var(--line))}
#subscriptions .subscription-card h2,
#subscriptions .subscription-card>strong,
#subscriptions .subscription-renewal b,
#subscriptions .subscription-section-head h2,
#subscriptions .subscription-empty h2{color:var(--surface-text,var(--ink))}
#subscriptions .subscription-summary span,
#subscriptions .subscription-summary small,
#subscriptions .subscription-name p,
#subscriptions .subscription-card>small,
#subscriptions .subscription-renewal span,
#subscriptions .subscription-note,
#subscriptions .subscription-section-head p,
#subscriptions .subscription-empty p{color:var(--surface-muted,var(--muted))}
#subscriptions .subscription-category,
#subscriptions .subscription-initial{background:var(--accent-soft,var(--lav-light));color:var(--accent-strong,var(--lav))}
#subscriptions .cancelled-subscriptions summary small{background:var(--surface-soft,var(--paper,#efede9));color:var(--surface-text,var(--ink))}


/* budget-tolerance.css */
.within-tolerance{font-size:11px;font-weight:700}.within-tolerance::before{content:'✓ ';font-size:10px}


/* budget-tradeoffs.css */
.budget-tradeoff{align-items:center;background:var(--accent-soft,#f2f0fa);border:1px solid var(--border-strong,#e5e0f2);border-radius:12px;display:flex;gap:24px;justify-content:space-between;margin:-2px 0 18px;padding:17px 20px}.budget-tradeoff.is-short{background:#fff3ee;border-color:#f2cbbf}.budget-tradeoff-copy{min-width:0}.budget-tradeoff .eyebrow{margin-bottom:5px}.budget-tradeoff h2{margin:0 0 5px}.budget-tradeoff p{color:var(--surface-muted,var(--muted));font-size:12px;line-height:1.45;margin:0}.budget-tradeoff-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.budget-tradeoff-items span{background:var(--surface,#fff);border-radius:999px;color:var(--surface-text,var(--ink));font-size:11px;padding:5px 8px}.budget-tradeoff-items b{color:#c9654d}.budget-tradeoff-toggle{align-items:flex-start;color:var(--surface-text,var(--ink));display:grid;flex:0 0 260px;font-size:12px;font-weight:700;gap:4px;grid-template-columns:auto 1fr}.budget-tradeoff-toggle input{accent-color:var(--lav);margin:2px 0 0}.budget-tradeoff-toggle small{color:var(--surface-muted,var(--muted));font-size:10px;font-weight:500;grid-column:2;line-height:1.4}@media(max-width:720px){.budget-tradeoff{align-items:flex-start;flex-direction:column;gap:14px}.budget-tradeoff-toggle{flex-basis:auto;width:100%}}


/* budget-tradeoffs-soft.css */
/* A calmer treatment for the budget trade-off notice across every theme. */
.budget-tradeoff{
  background:color-mix(in srgb,var(--paper) 92%,var(--lav) 8%)!important;
  border-color:color-mix(in srgb,var(--line) 78%,var(--lav) 22%)!important;
  box-shadow:none;
}
.budget-tradeoff.is-short{
  background:color-mix(in srgb,var(--paper) 91%,#e98662 9%)!important;
  border-color:color-mix(in srgb,var(--line) 74%,#e98662 26%)!important;
}
.budget-tradeoff-items span{
  background:color-mix(in srgb,var(--paper) 90%,var(--lav) 4%)!important;
  border:1px solid color-mix(in srgb,var(--line) 84%,var(--lav) 16%);
}
.budget-tradeoff.is-short .budget-tradeoff-items span{
  background:color-mix(in srgb,var(--paper) 90%,#e98662 4%)!important;
  border-color:color-mix(in srgb,var(--line) 84%,#e98662 16%);
}


/* credit-card-payments.css */
.credit-card-payment-reminders{margin-top:18px}.credit-card-reminder-heading{margin-bottom:10px}.credit-card-reminder-heading h2{margin-bottom:4px}.credit-card-reminder-heading p{color:var(--surface-muted,var(--muted));font-size:12px;margin:0}.credit-card-reminder-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card-payment-reminder{align-items:center;background:var(--accent-soft,#f3f0fb);border:1px solid var(--border-strong,#e4dff1);border-radius:11px;display:flex;justify-content:space-between;padding:16px}.card-payment-reminder h3{font:700 16px 'Playfair Display';margin:8px 0 4px}.card-payment-reminder p,.card-payment-reminder small{color:var(--surface-muted,var(--muted));display:block;font-size:11px;margin:0}.card-payment-reminder strong{font:700 20px 'Playfair Display';margin-left:14px}.credit-card-payment-planner{margin-top:17px}.card-payment-plan-list{display:grid;gap:10px;margin-top:15px}.card-payment-plan-list form{align-items:end;border-top:1px solid var(--line);display:grid;gap:11px;grid-template-columns:minmax(150px,1fr) 120px minmax(150px,1fr) auto;padding-top:12px}.card-payment-plan-list form:first-child{border-top:0;padding-top:0}.card-payment-plan-list b,.card-payment-plan-list small{display:block}.card-payment-plan-list small,.credit-card-payment-note{color:var(--surface-muted,var(--muted));font-size:11px;margin-top:4px}.card-payment-plan-list label{display:grid;font-size:11px;font-weight:700;gap:5px}.card-payment-plan-list input,.card-payment-plan-list select{background:var(--surface,#fff);border:1px solid var(--border-strong,var(--line));border-radius:7px;color:var(--surface-text,var(--ink));font:12px 'DM Sans';padding:8px}.credit-card-payment-note{margin-bottom:0}.legacy-card-payment{align-items:center;background:#fff3ee;border:1px solid #f1cabc;border-radius:8px;display:flex;font-size:12px;font-weight:600;gap:12px;justify-content:space-between;margin-top:14px;padding:10px 12px}.legacy-card-payment .plain-button{color:#ae513c}@media(max-width:720px){.card-payment-plan-list form{align-items:stretch;grid-template-columns:1fr}.card-payment-plan-list form .secondary-btn{width:100%}.legacy-card-payment{align-items:flex-start;flex-direction:column}}


/* settings-save-feedback.css */
.haven-save-toast{align-items:center;background:#287b5f;border:1px solid #1c694d;border-radius:9px;box-shadow:0 12px 28px #192b232b;color:#fff;display:flex;font:700 12px 'DM Sans';gap:8px;max-width:calc(100vw - 32px);padding:12px 15px;position:fixed;right:22px;top:88px;z-index:11000;animation:haven-save-in .2s ease-out}@keyframes haven-save-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.haven-save-toast{left:16px;right:16px;top:max(72px,env(safe-area-inset-top));justify-content:center}}


/* bank-sync-reliability.css */
.bank-sync-health{margin-top:16px}.bank-sync-health.has-sync-error{border-color:#e9b49c}.bank-sync-health-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:15px 0}.bank-sync-health-grid article{background:var(--accent-soft,#f4f1fb);border:1px solid var(--line);border-radius:9px;padding:12px}.bank-sync-health-grid span,.bank-sync-health-grid small{color:var(--surface-muted,var(--muted));display:block;font-size:10px}.bank-sync-health-grid span{font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bank-sync-health-grid b{display:block;font:700 22px 'Playfair Display';margin:6px 0}.bank-sync-review-link{cursor:pointer}.bank-sync-review-link:hover,.bank-sync-review-link:focus-visible{border-color:var(--lav);box-shadow:0 0 0 2px color-mix(in srgb,var(--lav) 15%,transparent);outline:0}.bank-sync-recovery{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding-top:12px}.bank-sync-recovery b,.bank-sync-recovery small{display:block}.bank-sync-recovery small{color:var(--surface-muted,var(--muted));font-size:11px;line-height:1.45;max-width:620px}.duplicate-review-panel{margin:15px 0}.duplicate-review-list{display:grid;gap:10px}.duplicate-review-list article{border-top:1px solid var(--line);padding-top:10px}.duplicate-group-head,.duplicate-transaction{align-items:center;display:flex;gap:10px;justify-content:space-between}.duplicate-group-head{font-size:12px;margin-bottom:7px}.duplicate-transaction{border-radius:7px;background:var(--accent-soft,#f4f1fb);font-size:11px;margin-top:6px;padding:9px}.duplicate-transaction span{flex:1}@media(max-width:720px){.bank-sync-health-grid{grid-template-columns:1fr}.bank-sync-recovery{align-items:flex-start;flex-direction:column}.bank-sync-recovery .plain-button{padding-left:0}.duplicate-group-head,.duplicate-transaction{align-items:flex-start;flex-wrap:wrap}.duplicate-transaction span{flex-basis:100%}}


/* accounts-sync-freeze.css */
.accounts-layout-is-frozen{position:relative}
.accounts-sync-visual-freeze{position:absolute;z-index:3;pointer-events:none;background:var(--paper);overflow:hidden}


/* accounts-layout.css */
#accountsWorkspace{display:grid;gap:26px}.accounts-layout-section{display:grid;gap:13px}.accounts-layout-heading h2{margin:0;font-size:18px}.accounts-primary .account-total{margin:0}.accounts-primary .accounts-grid{margin-top:2px}.accounts-connections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.accounts-connections>.accounts-layout-heading{grid-column:1/-1}.accounts-connections #bankSyncHealth,.accounts-connections #bankConnectionsPanel{margin:0!important;min-width:0}.accounts-activity #accountReconciliation,.accounts-credit #creditCardHub,.accounts-credit #creditCardPaymentPlanner{margin:0}.accounts-credit{gap:14px}.accounts-credit #creditCardPaymentPlanner{margin-top:0}@media(max-width:900px){.accounts-connections{grid-template-columns:1fr}}@media(max-width:720px){#accountsWorkspace{gap:20px}.accounts-layout-section{gap:11px}.accounts-layout-heading h2{font-size:17px}}


/* money-checkup.css */
.money-checkup{margin-top:17px}.money-checkup-status{align-self:flex-start;border-radius:999px;font-size:10px;font-weight:700;padding:6px 9px;white-space:nowrap}.money-checkup-status.needs-review{background:#fff0e8;color:#ae513c}.money-checkup-status.clear{background:#e6f3ee;color:#287b5f}.money-checkup-list{display:grid;gap:0;margin-top:14px}.money-checkup-list article{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:11px 0}.money-checkup-list article>div{align-items:center;display:flex;gap:10px}.money-checkup-list b,.money-checkup-list small{display:block}.money-checkup-list b{font-size:12px}.money-checkup-list small{color:var(--surface-muted,var(--muted));font-size:10px;margin-top:3px}.money-checkup-icon{align-items:center;border-radius:50%;display:flex;flex:0 0 auto;font-weight:700;height:28px;justify-content:center;width:28px}.money-checkup-icon.review{background:#fff0e8;color:#ae513c}.money-checkup-icon.watch{background:#fff4dd;color:#a36b00}.money-checkup-icon.clear{background:#e6f3ee;color:#287b5f}@media(max-width:720px){.money-checkup .panel-head{display:block}.money-checkup-status{display:inline-block;margin-top:9px}.money-checkup-list article{align-items:flex-start;flex-direction:column}.money-checkup-list article>div{align-items:flex-start}.money-checkup-list .plain-button{padding-left:38px}}


/* transactions-workflow.css */
.transaction-workflow-summary{margin:-12px 0 18px;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(120deg,var(--lav-light,#efedfa),var(--surface,#fff));display:flex;align-items:center;justify-content:space-between;gap:16px}.transaction-workflow-copy .eyebrow{margin-bottom:5px}.transaction-workflow-copy strong{display:block;font:700 17px 'Playfair Display',serif;color:var(--ink)}.transaction-workflow-copy span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.transaction-workflow-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}.transaction-workflow-actions small{color:var(--muted);font-size:10px}.transaction-workflow-actions button:disabled{opacity:.65;cursor:default}.transaction-quick-filters{display:flex;gap:7px;flex-wrap:wrap;padding:10px 15px;border-bottom:1px solid var(--line);background:var(--surface,#fff)}.transaction-quick-filters button{border:1px solid var(--line);border-radius:999px;background:var(--surface,#fff);color:var(--muted);padding:6px 10px;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.transaction-quick-filters button.is-active{background:var(--lav);border-color:var(--lav);color:#fff}.bulk-transaction-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--lav-light,#efedfa);color:var(--ink)}.bulk-transaction-actions[hidden]{display:none!important}.bulk-transaction-actions strong{font-size:12px;margin-right:2px}.bulk-category-control{display:flex;align-items:center;gap:7px}.bulk-category-control span{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.bulk-category-control select{min-height:34px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:var(--surface,#fff);color:var(--ink);font:12px 'DM Sans',sans-serif}.bulk-category-control .secondary-btn{padding:8px 11px}@media(max-width:720px){.transaction-workflow-summary{align-items:flex-start;flex-direction:column;margin-top:-15px}.transaction-workflow-actions{justify-content:flex-start}.transaction-quick-filters{overflow-x:auto;flex-wrap:nowrap}.transaction-quick-filters button{white-space:nowrap}.bulk-transaction-actions{align-items:flex-start;flex-direction:column}.bulk-category-control{width:100%;flex-wrap:wrap}.bulk-category-control select{flex:1;min-width:135px}}


/* theme-component-contrast.css */
/*
   A component can have its own card background, so it cannot rely on the
   page-level text color. Keep those nested surfaces readable in every dark
   preset and custom dark color combination.
*/
.dark-mode {
  --surface: #292632;
  --surface-soft: #34303d;
  --line: #514b5d;
  --border-strong: #5d5568;
}

.dark-mode .savings-planner-summary article,
.dark-mode .cash-outlook-payday-setup,
.dark-mode .dashboard-order-list > div,
.dark-mode .bill-confirmed-payments > div,
.dark-mode .bill-suggestions > div,
.dark-mode .bill-payment-finder > div {
  background: color-mix(in srgb, var(--lav) 16%, #34303d);
  border-color: var(--border-strong);
  color: var(--surface-text);
}

.dark-mode .savings-planner-heading p,
.dark-mode .savings-planner-form label,
.dark-mode .savings-planner-summary span,
.dark-mode .savings-planner-summary small,
.dark-mode .savings-planner-details p,
.dark-mode .savings-planner-details li,
.dark-mode .savings-planner-details small,
.dark-mode .cash-outlook-payday-setup p,
.dark-mode .cash-outlook-payday-setup label {
  color: var(--surface-muted);
}

.dark-mode .savings-planner-summary b,
.dark-mode .savings-planner-details b,
.dark-mode .cash-outlook-payday-setup b,
.dark-mode .dashboard-order-list > div,
.dark-mode .bill-confirmed-payments > div,
.dark-mode .bill-suggestions > div,
.dark-mode .bill-payment-finder > div {
  color: var(--surface-text);
}

.dark-mode .savings-planner-form input,
.dark-mode .savings-planner-form select,
.dark-mode .dashboard-order-actions .plain-button,
.dark-mode .dashboard-density-choice select {
  background: var(--date-surface);
  border-color: var(--border-strong);
  color: var(--surface-text);
}

.dark-mode .transaction-workflow-summary {
  background: linear-gradient(120deg, color-mix(in srgb, var(--lav) 18%, #34303d), var(--surface));
  border-color: var(--border-strong);
}

/* Haven Coach has its own nested surface variables.  Without these values it
   kept a white card while inheriting the dark page's light text color. */
.dark-mode .coach-panel {
  background: var(--panel);
  border-color: var(--border-strong);
  color: var(--surface-text);
}

.dark-mode .coach-intro,
.dark-mode .coach-form {
  border-color: var(--border-strong);
}

.dark-mode .coach-intro h2,
.dark-mode .coach-prompts button,
.dark-mode .coach-message,
.dark-mode .coach-form input {
  color: var(--surface-text);
}

.dark-mode .coach-intro p,
.dark-mode .coach-disclaimer,
.dark-mode .coach-message b {
  color: var(--surface-muted);
}

.dark-mode .coach-prompts button,
.dark-mode .coach-message {
  background: var(--surface-soft);
  border-color: var(--border-strong);
}

.dark-mode .coach-prompts button:hover,
.dark-mode .coach-prompts button:focus-visible {
  background: color-mix(in srgb, var(--lav) 22%, var(--surface));
}

.dark-mode .coach-form input {
  background: var(--input);
  border-color: var(--border-strong);
}

/* Older core cards were authored before the shared surface tokens existed. */
.dark-mode .bill-card,
.dark-mode .goal-card,
.dark-mode .wish-card,
.dark-mode .account-card,
.dark-mode .projection,
.dark-mode .filter-btn,
.dark-mode .search-box,
.dark-mode .month-select {
  background: var(--surface);
  border-color: var(--border-strong);
  color: var(--surface-text);
}

.dark-mode .bill-card h2,
.dark-mode .goal-card h2,
.dark-mode .wish-card h2,
.dark-mode .account-card h2,
.dark-mode .bill-card b,
.dark-mode .wish-card b,
.dark-mode .account-card b,
.dark-mode .projection b {
  color: var(--surface-text);
}

.dark-mode .donut::after {
  background: var(--surface);
}

.dark-mode .donut b {
  color: var(--surface-text);
}

/* Dashboard alerts are clickable; their old hover fill was a fixed light
   color, which hid the dark-theme text as soon as the pointer touched them. */
.dark-mode .alert-item[role='button']:hover,
.dark-mode .alert-item[role='button']:focus-visible {
  background: color-mix(in srgb, var(--lav) 18%, var(--surface-soft));
  outline: none;
}

.dark-mode .alert-item[role='button'] b {
  color: var(--surface-text);
}

.dark-mode .alert-item[role='button'] p {
  color: var(--surface-muted) !important;
}

/* The cloud-sync conflict notice is a warning surface, not a light card. */
.dark-mode .cloud-sync-conflict {
  background: color-mix(in srgb, #d99b61 18%, var(--surface-soft));
  border-color: color-mix(in srgb, #d99b61 58%, var(--border-strong));
  color: var(--surface-text);
}

.dark-mode .cloud-sync-conflict span {
  color: var(--surface-muted);
}

/* Amount fields keep their dollar prefix inside the same dark control rather
   than leaving a narrow light strip visible beside the number. */
.dark-mode .money-field {
  background: var(--date-surface);
  border-color: var(--border-strong);
}

.dark-mode .money-field > span:first-child {
  background: transparent;
  color: var(--surface-text);
  min-width: 24px;
}

.dark-mode .money-field > input {
  background: transparent !important;
  border: 0 !important;
  color: var(--surface-text) !important;
}


/* transactions-month-archive.css */
.transactions-month-archives{display:grid;gap:10px;margin-top:22px}.transactions-month-archives>.eyebrow{margin:0 0 1px}.transactions-month-archives .monthly-transaction-archive{margin-top:0}


/* plaid-available-balance.css */
.available-balance-note {
  display: block;
  margin: -3px 0 8px;
  color: var(--muted, #706b78);
  font-size: 0.74rem;
  font-weight: 600;
}


/* reusable-shared-expenses.css */
.shared-trip-history {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #e8e1d8);
}
.shared-trip-history > div { display: flex; justify-content: space-between; gap: 12px; color: var(--ink, #302c3b); }
.shared-trip-history > div span { color: var(--muted, #706b78); font-size: .82rem; text-align: right; }
.shared-trip-history article { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; margin-top: 10px; padding: 10px 0 0; border-top: 1px solid var(--line, #eee8e0); }
.shared-trip-history article span { display: grid; gap: 3px; }
.shared-trip-history article small { color: var(--muted, #706b78); }
.shared-trip-history article strong { color: var(--ink, #302c3b); }
@media (max-width: 640px) { .shared-trip-history > div, .shared-trip-history article { grid-template-columns: 1fr; display: grid; } .shared-trip-history > div span { text-align: left; } }


/* cash-outlook-savings-pause.css */
.cash-savings-pause {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 13px 0;
  padding: 11px 12px;
  border: 1px solid var(--line, #e8e1d8);
  border-radius: 9px;
  background: var(--soft, #f7f4fb);
  color: var(--ink, #302c3b);
}
.cash-savings-pause input { margin-top: 3px; accent-color: var(--lav, #7569c0); }
.cash-savings-pause span { display: grid; gap: 3px; }
.cash-savings-pause small { color: var(--muted, #706b78); }


/* recently-deleted.css */
.recently-deleted-panel { margin-top: 18px; border: 1px solid var(--line, #e8e1d8); border-radius: 12px; background: var(--surface, #fff); overflow: hidden; }
.recently-deleted-panel summary { padding: 14px 16px; cursor: pointer; color: var(--ink, #302c3b); font-weight: 700; }
.recently-deleted-panel summary small { margin-left: 6px; color: var(--muted, #706b78); }
.recently-deleted-panel > p { margin: 0; padding: 0 16px 12px; color: var(--muted, #706b78); font-size: .82rem; }
.recently-deleted-list { border-top: 1px solid var(--line, #e8e1d8); }
.recently-deleted-list article { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; padding: 11px 16px; border-bottom: 1px solid var(--line, #e8e1d8); }
.recently-deleted-list article > div { display: grid; gap: 3px; }
.recently-deleted-list small { color: var(--muted, #706b78); font-size: .78rem; }
.recently-deleted-type { padding: 4px 7px; border-radius: 999px; background: var(--soft, #f3effb); color: var(--lav, #7569c0); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.recently-deleted-clear { margin: 12px 16px; }
@media (max-width: 640px) { .recently-deleted-list article { grid-template-columns: 1fr auto; } .recently-deleted-type { grid-column: 1 / -1; width: max-content; } }


/* archive-transaction-selection.css */
.archive-filter-toolbar { display: grid; grid-template-columns: minmax(150px, .85fr) minmax(145px, .65fr) 1.5fr auto; gap: 9px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--line, #e8e1d8); border-bottom: 1px solid var(--line, #e8e1d8); background: var(--soft, #f7f4fb); }
.archive-filter-toolbar .search-box { margin: 0; }
.archive-filter-toolbar select { min-height: 36px; border: 1px solid var(--line, #e8e1d8); border-radius: 7px; padding: 6px 8px; background: var(--surface, #fff); color: var(--ink, #302c3b); font: 600 12px 'DM Sans', sans-serif; }
.archive-category-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.archive-category-filters button { border: 1px solid var(--line, #e8e1d8); border-radius: 999px; padding: 6px 9px; background: var(--surface, #fff); color: var(--muted, #706b78); font: 600 11px 'DM Sans', sans-serif; cursor: pointer; }
.archive-category-filters button.is-active { background: var(--lav, #7569c0); border-color: var(--lav, #7569c0); color: #fff; }
.archive-delete-button { justify-self: end; border: 1px solid #ca4e54; border-radius: 7px; padding: 8px 10px; background: transparent; color: #a93a40; font: 700 11px 'DM Sans', sans-serif; cursor: pointer; }
.archive-delete-button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 760px) { .archive-filter-toolbar { grid-template-columns: 1fr; } .archive-category-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; } .archive-category-filters button { white-space: nowrap; } .archive-delete-button { justify-self: start; } }


/* interface-polish.css */
/* Keep action controls tidy on desktop and comfortable to tap on phones. */
#transactions .transaction-workflow-actions{gap:8px}
#transactions .transaction-workflow-actions button,#transactions .bulk-transaction-actions button{min-height:38px}
#transactions .section-title-row{gap:12px}
#transactions td .edit-item+.edit-item{margin-left:7px}
.security-delete{background:var(--paper)!important;border-color:var(--border-strong,var(--line))!important;color:var(--surface-text,var(--ink))!important}
.security-delete h3{color:var(--surface-text,var(--ink))!important}
.security-delete .danger-btn{background:#b04444!important;border-color:#b04444!important;color:#fff!important;font-weight:700}
.security-delete .danger-btn:disabled{background:color-mix(in srgb,#b04444 42%,var(--surface))!important;color:color-mix(in srgb,#fff 68%,var(--surface-text,var(--ink)))!important}
@media(max-width:720px){
  #transactions .page-title{display:grid!important;gap:13px!important;padding-bottom:18px!important}
  #transactions .page-title{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  #transactions .page-title>div,#transactions .page-title>.primary-btn,#transactions .page-title>.secondary-btn{grid-column:1!important;width:100%!important}
  #transactions .page-title>.primary-btn,#transactions .page-title>.secondary-btn{justify-self:stretch;margin:0!important;min-height:46px}
  #transactions .table-toolbar{display:grid;gap:9px;grid-template-columns:1fr}
  #transactions .table-toolbar .filter-btn{min-height:44px;width:100%}
  #transactions .transaction-workflow-actions{display:grid;gap:8px;width:100%}
  #transactions .transaction-workflow-actions button{min-height:44px;width:100%}
  #transactions .bulk-transaction-actions{gap:9px;padding:12px}
  #transactions .bulk-category-control{display:grid;gap:8px;grid-template-columns:1fr auto;width:100%}
  #transactions .bulk-category-control span{grid-column:1/-1}
  #transactions .bulk-category-control select{min-height:42px;width:100%}
  #transactions .bulk-category-control .secondary-btn{min-height:42px}
  #transactions .bulk-transaction-actions button{min-height:42px}
  #transactions .table-toolbar{align-items:stretch}
  #transactions td .edit-item+.edit-item{margin-left:5px}
  .settings-panel>.save-settings{display:block;float:none;margin:18px 0 calc(26px + env(safe-area-inset-bottom));min-height:46px;width:100%}
  .security-delete .danger-btn{justify-self:stretch;min-height:44px;width:100%}
}


/* layout-alignment.css */
/* Keep the savings-plan inputs on one visual baseline even when the
   calculated contribution has supporting text below it. */
.savings-planner-form { align-items: start; }
.savings-planner-form label { align-self: start; }
.savings-planner-form .primary-btn { align-self: end; }

/* Transactions has two related actions. Treat them as one group so the
   title area keeps the same height and accent-bar spacing as other pages. */
#transactions .transaction-page-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
#transactions .transaction-page-actions .primary-btn,
#transactions .transaction-page-actions .secondary-btn {
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 720px) {
  #transactions .page-title > .transaction-page-actions {
    display: grid;
    grid-column: 1;
    gap: 10px;
    width: 100%;
  }
  #transactions .transaction-page-actions .primary-btn,
  #transactions .transaction-page-actions .secondary-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 100%;
  }
}


/* haven-tour.css */
.haven-tour-overlay {
  inset: 0;
  pointer-events: auto;
  position: fixed;
  z-index: 82;
}
.haven-tour-spotlight {
  border: 3px solid var(--accent, var(--lav));
  border-radius: 13px;
  box-shadow: 0 0 0 9999px #17131aa8, 0 0 0 6px color-mix(in srgb, var(--accent, var(--lav)) 22%, transparent), 0 12px 38px #0003;
  pointer-events: none;
  position: fixed;
  opacity: 1;
  transition: height .24s cubic-bezier(.22,.8,.28,1), left .24s cubic-bezier(.22,.8,.28,1), opacity .16s ease, top .24s cubic-bezier(.22,.8,.28,1), width .24s cubic-bezier(.22,.8,.28,1);
  z-index: 81;
}
.haven-tour-spotlight.is-moving { opacity: .22; }
.haven-tour-spotlight.is-settled { animation: haven-tour-settle .34s ease-out; }
.haven-tour-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 22px 70px #0006;
  color: var(--surface-text, var(--ink));
  max-width: 420px;
  padding: 27px;
  position: fixed;
  width: calc(100% - 40px);
  z-index: 83;
  transition: opacity .14s ease, transform .18s cubic-bezier(.22,.8,.28,1);
}
.haven-tour-overlay.is-changing .haven-tour-card { opacity: .72; transform: translateY(5px) scale(.995); }
.haven-tour-card h2 { font-size: 27px; margin: 13px 0 10px; }
.haven-tour-body { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 0; }
.haven-tour-close { background: var(--paper); border: 0; border-radius: 8px; color: var(--muted); cursor: pointer; font-size: 25px; line-height: 1; min-height: 36px; position: absolute; right: 12px; top: 11px; width: 36px; }
.haven-tour-progress { background: var(--line); border-radius: 999px; height: 6px; margin-right: 45px; overflow: hidden; }
.haven-tour-progress i { background: var(--accent, var(--lav)); display: block; height: 100%; transition: width .2s; }
.haven-tour-count { color: var(--muted); font-size: 10px; font-weight: 700; position: absolute; right: 27px; top: 48px; }
.haven-tour-card .eyebrow { margin-top: 17px; }
.haven-tour-actions { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: 21px; padding-top: 17px; }
.haven-tour-actions > div { display: flex; gap: 10px; }
.haven-tour-reopen { color: var(--muted); font-size: 10px; line-height: 1.45; margin: 15px 0 0; text-align: center; }
.haven-tour-settings-button { margin-left: auto; }
@keyframes haven-tour-settle { 0% { box-shadow: 0 0 0 9999px #17131aa8, 0 0 0 3px color-mix(in srgb, var(--accent, var(--lav)) 18%, transparent), 0 12px 38px #0003; } 55% { box-shadow: 0 0 0 9999px #17131aa8, 0 0 0 10px color-mix(in srgb, var(--accent, var(--lav)) 30%, transparent), 0 12px 38px #0003; } }
@media (max-width: 720px) {
  .haven-tour-card { bottom: 0; left: 0 !important; max-height: 48dvh; max-width: none; overflow: auto; padding: 23px 20px calc(17px + env(safe-area-inset-bottom)); top: auto !important; width: 100%; }
  .haven-tour-card h2 { font-size: 23px; }
  .haven-tour-card .eyebrow { margin-top: 14px; }
  .haven-tour-body { font-size: 12px; }
  .haven-tour-actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .haven-tour-actions > div { display: grid; grid-template-columns: 1fr 1.35fr; }
  .haven-tour-actions .plain-button, .haven-tour-actions .primary-btn { min-height: 42px; }
  #settings .haven-tour-settings-button { display: block !important; margin: 15px 0 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .haven-tour-spotlight, .haven-tour-card, .haven-tour-progress i { animation: none !important; transition-duration: .01ms !important; }
}


/* dashboard-charts.css */
.cashflow .chart-wrap { min-height: 220px; }
.cashflow .y-axis { min-width: 56px; font-variant-numeric: tabular-nums; }
.dashboard-chart-controls,.dashboard-spending-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.chart-segment{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border-strong,var(--line));background:var(--surface-soft,var(--surface,#fff));border-radius:8px}.chart-segment button{border:0;background:transparent;color:var(--surface-text,var(--ink));opacity:.78;padding:5px 7px;border-radius:5px;font:700 10px 'DM Sans';cursor:pointer}.chart-segment button:hover{opacity:1;background:var(--surface,#fff)}.chart-segment button.selected{background:var(--surface,#fff);color:var(--surface-text,var(--ink));opacity:1;box-shadow:0 1px 3px #0003}.chart-pending-toggle{display:flex!important;align-items:center;gap:4px;font:700 10px 'DM Sans'!important;color:var(--surface-text,var(--ink))!important;opacity:.82}.chart-pending-toggle input{accent-color:var(--lav)}
.live-bar-group { cursor:pointer;border:0;background:transparent;padding:0; }
.live-bar-group:hover .bar,.live-bar-group.selected .bar{filter:brightness(.85);outline:2px solid color-mix(in srgb,var(--lav) 45%,transparent);outline-offset:2px}
.live-bar-group .bar { min-height:0; transition:height .25s ease; }
.live-bar-group .bar[style*="height:0"] { display:none; }
.dashboard-chart-insight{margin:14px 0 0;padding:10px 12px;border:1px solid var(--border-strong,var(--line));border-radius:8px;background:var(--surface-soft,var(--surface,#fff));color:var(--surface-text,var(--ink));font-size:11px;line-height:1.5;box-shadow:inset 3px 0 0 var(--lav)}.cashflow .dashboard-chart-insight{margin-top:32px}.dashboard-chart-insight b{display:block;color:var(--surface-text,var(--ink));font-size:11px}.dashboard-chart-insight span{color:var(--surface-text,var(--ink));opacity:.78}.dashboard-chart-insight button{border:0;background:transparent;color:var(--surface-text,var(--ink));font:700 11px 'DM Sans';cursor:pointer;padding:0 0 0 4px;text-decoration:underline;text-decoration-color:var(--lav);text-decoration-thickness:2px}
.category-legend{display:grid;gap:4px;line-height:normal}.category-chart-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;grid-template-areas:'dot name amount' 'dot detail detail';align-items:center;column-gap:7px;row-gap:2px;width:100%;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--surface-text,var(--ink));padding:6px;text-align:left;cursor:pointer;font:600 11px 'DM Sans'}.category-chart-item:hover,.category-chart-item.selected{border-color:var(--lav);background:var(--accent-soft,#f3f0fb)}.category-chart-item i{grid-area:dot;width:8px;height:8px;border-radius:50%}.category-chart-item span{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-chart-item b{grid-area:amount;color:var(--surface-text,var(--ink));font-variant-numeric:tabular-nums;white-space:nowrap}.category-chart-item small{grid-area:detail;color:var(--surface-muted,var(--muted));font-size:9px;font-weight:600}.chart-see-budget{white-space:nowrap}
.dashboard-chart-empty { color:var(--surface-muted,var(--muted)); font-size:12px; line-height:1.5; margin:0; }
.donut { box-shadow:inset 0 0 0 1px var(--border-strong,var(--line)); }
@media (max-width:720px) {
  .cashflow .chart-wrap { min-height:190px; }
  .cashflow .y-axis { min-width:48px; }
  .bar-chart { padding:0 3px; }
  .bar-group { width:34px; }
  .category-legend { width:100%; }
  .dashboard-chart-controls,.dashboard-spending-controls{justify-content:flex-start;margin-top:9px}.panel-head{align-items:flex-start}.dashboard-chart-insight{font-size:10px}
}


/* investment-networth-upgrade.css */
.contribution-editor-copy{color:var(--surface-muted,var(--muted));font-size:12px;line-height:1.5;margin:-3px 0 3px}.contribution-editor-preview{padding:14px;border-radius:9px;background:var(--accent-soft,#f3f0fb);display:grid;gap:3px}.contribution-editor-preview span,.contribution-editor-preview small{color:var(--surface-muted,var(--muted));font-size:11px}.contribution-editor-preview b{font:700 24px 'Playfair Display';color:var(--surface-text,var(--ink))}.networth-big{display:flex;align-items:center;justify-content:space-between;gap:20px}.networth-hero-main>span{color:var(--surface-muted,var(--muted))}.networth-hero-main>b{font:700 36px 'Playfair Display';display:block;margin:8px 0}.networth-hero-main p{font-size:12px;margin:0}.networth-hero-actions{display:grid;justify-items:end;gap:8px;max-width:250px}.networth-hero-actions small{color:var(--surface-muted,var(--muted));font-size:10px;line-height:1.4;text-align:right}.networth-overview-upgraded{grid-template-columns:repeat(4,1fr)}.networth-overview-upgraded article small{display:block;color:var(--surface-muted,var(--muted));font-size:10px;margin-top:4px}.networth-trend-card{grid-column:span 2}.worth-trend-area{fill:var(--accent-soft,#f3f0fb);opacity:.75}.networth-no-history{min-height:220px;display:grid;place-content:center;justify-items:start;gap:8px;padding:26px;border:1px dashed var(--border-strong,var(--line));border-radius:9px;color:var(--surface-text,var(--ink))}.networth-no-history span{color:var(--surface-muted,var(--muted));font-size:11px;line-height:1.5;max-width:420px}.networth-no-history .secondary-btn{margin-top:4px}.networth-mix-card .worth-bars{margin-top:20px}.networth-mix-layout{display:flex;align-items:center;gap:20px;margin-top:16px}.networth-mix-donut{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.networth-mix-donut:after{content:"";position:absolute;width:98px;height:98px;border-radius:50%;background:var(--surface,#fff);box-shadow:inset 0 0 0 1px var(--border-strong,var(--line))}.networth-mix-donut>div{z-index:1;text-align:center}.networth-mix-donut b{font:700 15px 'Playfair Display';display:block}.networth-mix-donut span{color:var(--surface-muted,var(--muted));font-size:10px}.networth-mix-legend{display:grid;gap:5px;flex:1}.networth-mix-legend button{display:grid;grid-template-columns:9px 1fr auto;grid-template-areas:'dot name percent' 'dot amount amount';gap:2px 7px;align-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--surface-text,var(--ink));padding:6px;text-align:left;font:600 11px 'DM Sans';cursor:pointer}.networth-mix-legend button:hover{border-color:var(--lav);background:var(--accent-soft,#f3f0fb)}.networth-mix-legend i{grid-area:dot;width:8px;height:8px;border-radius:50%}.networth-mix-legend span{grid-area:name}.networth-mix-legend b{grid-area:percent}.networth-mix-legend small{grid-area:amount;color:var(--surface-muted,var(--muted));font-size:9px}.networth-range{white-space:nowrap}@media(max-width:760px){.networth-big{align-items:flex-start;flex-direction:column}.networth-hero-actions{justify-items:start;max-width:none}.networth-hero-actions small{text-align:left}.networth-overview-upgraded{grid-template-columns:repeat(2,1fr)}.networth-trend-card{grid-column:auto}.networth-mix-layout{align-items:flex-start;flex-direction:column}.networth-range{margin-top:8px}}


/* networth-trend-fix.css */
.networth-no-history {
  min-height: 220px;
  display: grid;
  place-content: center;
  justify-items: start;
  gap: 8px;
  padding: 26px;
  border: 1px dashed var(--border-strong, var(--line));
  border-radius: 9px;
  color: var(--surface-text, var(--ink));
}

.networth-no-history span {
  max-width: 420px;
  color: var(--surface-muted, var(--muted));
  font-size: 11px;
  line-height: 1.5;
}

.networth-no-history .secondary-btn { margin-top: 4px; }

@media (max-width: 760px) {
  .networth-no-history { min-height: 180px; padding: 20px; }
}


/* dashboard-networth-mobile.css */
/* The live dashboard sparkline needs its own reserved space on a phone. */
@media (max-width: 720px) {
  .kpi-card.networth {
    min-height: 194px;
    padding-bottom: 66px;
  }

  .kpi-card.networth strong {
    font-size: 27px;
    margin: 13px 0 6px;
  }

  .kpi-card.networth p {
    line-height: 1.4;
    margin: 0;
    max-width: 265px;
  }

  .kpi-card.networth .sparkline {
    bottom: 15px;
    height: 34px;
    left: 16px;
    right: 16px;
  }

  .kpi-card.networth .sparkline svg {
    display: block;
    height: 34px;
    overflow: visible;
  }
}

@media (max-width: 390px) {
  .kpi-card.networth { min-height: 188px; }
  .kpi-card.networth strong { font-size: 25px; }
}


/* system-health.css */
.system-health-overview{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:17px}.system-health-overview>strong{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:25px}.system-health-overview.healthy>strong{background:#e7f3ee;color:#3b9275}.system-health-overview.warning>strong{background:#fff4df;color:#a56b17}.system-health-overview.error>strong{background:#fff0e9;color:#c85f45}.system-health-overview span,.system-health-overview p{color:var(--muted);font-size:11px}.system-health-overview h2{font-size:23px;margin:5px 0}.system-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.system-check{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px;min-height:205px}.system-check>div{display:flex;align-items:center;gap:7px}.system-check small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.system-check-dot{width:9px;height:9px;border-radius:50%;background:#3b9275}.system-check.warning .system-check-dot{background:#d99a36}.system-check.error{border-color:#e5a38f}.system-check.error .system-check-dot{background:#d06449}.system-check h2{margin:17px 0 7px}.system-check p,.system-check time{color:var(--muted);font-size:11px;line-height:1.5}.system-check time{display:block;margin-top:14px}.system-guide-jump{border:0;background:transparent;color:var(--accent);font:inherit;font-size:11px;font-weight:700;padding:14px 0 0;cursor:pointer}.system-health-notes{margin-top:17px}.system-health-notes p{color:var(--muted);font-size:12px}.system-health-error{border-color:#e5a38f}.troubleshooting-library{margin-top:28px}.troubleshooting-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.troubleshooting-heading h2{font-size:24px;margin:4px 0}.troubleshooting-heading p{color:var(--muted);font-size:12px;margin:0}.troubleshooting-heading>span{background:#fff0e9;color:#a64e37;border-radius:20px;padding:8px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.troubleshooting-guide{background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:10px;scroll-margin-top:20px}.troubleshooting-guide[open]{border-color:#b9d7cd}.troubleshooting-guide summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;align-items:center;gap:18px}.troubleshooting-guide summary::-webkit-details-marker{display:none}.troubleshooting-guide summary:after{content:'+';margin-left:auto;font-size:22px;color:var(--muted)}.troubleshooting-guide[open] summary:after{content:'−'}.troubleshooting-guide summary span{font-size:14px;font-weight:800;min-width:150px}.troubleshooting-guide summary small{color:var(--muted);line-height:1.45}.troubleshooting-body{border-top:1px solid var(--line);padding:22px 20px;display:grid;grid-template-columns:1.5fr 1fr;gap:32px}.troubleshooting-body h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.troubleshooting-body ol{margin:0;padding-left:20px}.troubleshooting-body li,.troubleshooting-body p{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:9px}.troubleshooting-body aside>h3:not(:first-child){margin-top:18px}.troubleshooting-warning{background:#fff7f3;border-left:3px solid #d06449;border-radius:5px;padding:12px 14px;margin-top:18px}.troubleshooting-warning b{font-size:11px;text-transform:uppercase;color:#a64e37}.troubleshooting-warning p{margin:4px 0 0}@media(max-width:1050px){.system-health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.system-health-grid{grid-template-columns:1fr}.system-health-overview{align-items:flex-start}.system-health-overview>strong{width:40px;height:40px}.troubleshooting-heading{align-items:flex-start;gap:12px}.troubleshooting-heading>span{white-space:nowrap}.troubleshooting-guide summary{align-items:flex-start;gap:7px;flex-direction:column;padding-right:45px;position:relative}.troubleshooting-guide summary:after{position:absolute;right:18px;top:17px}.troubleshooting-body{grid-template-columns:1fr;gap:20px}}
.admin-portal-nav{position:relative}.admin-health-badge{position:absolute;right:14px;width:9px;height:9px;border-radius:50%;background:#d99a36;box-shadow:0 0 0 3px rgba(217,154,54,.2)}.admin-health-badge.error{background:#d06449;box-shadow:0 0 0 3px rgba(208,100,73,.2)}.admin-portal-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px}.admin-portal-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 18px;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.admin-portal-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.admin-portal-panel{display:none}.admin-portal-panel.active{display:block}.admin-health-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-health-toolbar h2{margin:0 0 4px}.admin-health-toolbar p,.admin-members-intro p{margin:0;color:var(--muted);font-size:12px}.admin-members-page{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.admin-members-intro{margin-bottom:20px}.admin-members-intro h2{margin:4px 0}.admin-members-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.admin-members-columns h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.admin-members-page .admin-invite-form{max-width:none}.admin-members-page .admin-user-list article{background:var(--surface,#fff)}@media(max-width:720px){.admin-health-toolbar{align-items:flex-start;gap:12px}.admin-portal-tabs button{padding:11px 12px}.admin-members-page{padding:17px}.admin-members-columns{grid-template-columns:1fr}}
#adminportal{--admin-surface:var(--surface,#fff);--admin-soft:var(--surface-soft,color-mix(in srgb,var(--accent,var(--lav)) 7%,var(--admin-surface)));--admin-text:var(--surface-text,var(--ink));--admin-muted:var(--surface-muted,var(--muted));--admin-border:var(--border-strong,var(--line));color:var(--admin-text)}#adminportal .system-health-overview,#adminportal .system-check,#adminportal .troubleshooting-guide,#adminportal .admin-members-page{background:var(--admin-surface);border-color:var(--admin-border);color:var(--admin-text)}#adminportal .system-health-overview h2,#adminportal .system-check h2,#adminportal .troubleshooting-heading h2,#adminportal .troubleshooting-guide summary span,#adminportal .troubleshooting-body h3,#adminportal .admin-health-toolbar h2,#adminportal .admin-members-page h2,#adminportal .admin-members-page h3{color:var(--admin-text)}#adminportal .system-health-overview span,#adminportal .system-health-overview p,#adminportal .system-check p,#adminportal .system-check time,#adminportal .system-check small,#adminportal .system-health-notes p,#adminportal .troubleshooting-heading p,#adminportal .troubleshooting-guide summary small,#adminportal .troubleshooting-body li,#adminportal .troubleshooting-body p,#adminportal .admin-health-toolbar p,#adminportal .admin-members-intro p,#adminportal .admin-user-list small{color:var(--admin-muted)}#adminportal .admin-portal-tabs,#adminportal .troubleshooting-body,#adminportal .system-check details{border-color:var(--admin-border)}#adminportal .admin-portal-tabs button{color:var(--admin-muted)}#adminportal .admin-portal-tabs button:hover{background:var(--admin-soft)}#adminportal .admin-portal-tabs button.active{color:var(--admin-text);border-bottom-color:var(--accent,var(--lav));background:color-mix(in srgb,var(--accent,var(--lav)) 9%,transparent)}#adminportal .system-health-overview.healthy>strong{background:color-mix(in srgb,#3b9275 20%,var(--admin-surface));color:color-mix(in srgb,#3b9275 78%,var(--admin-text))}#adminportal .system-health-overview.warning>strong{background:color-mix(in srgb,#d99a36 22%,var(--admin-surface));color:color-mix(in srgb,#d99a36 76%,var(--admin-text))}#adminportal .system-health-overview.error>strong{background:color-mix(in srgb,#d06449 22%,var(--admin-surface));color:color-mix(in srgb,#d06449 78%,var(--admin-text))}#adminportal .system-check.error{border-color:color-mix(in srgb,#d06449 55%,var(--admin-border))}#adminportal .troubleshooting-guide[open]{border-color:color-mix(in srgb,var(--accent,var(--lav)) 52%,var(--admin-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,var(--lav)) 12%,transparent)}#adminportal .troubleshooting-heading>span{background:color-mix(in srgb,#d06449 15%,var(--admin-surface));color:color-mix(in srgb,#d06449 72%,var(--admin-text))}#adminportal .troubleshooting-warning{background:color-mix(in srgb,#d06449 11%,var(--admin-surface));border-left-color:color-mix(in srgb,#d06449 75%,var(--accent,var(--lav)))}#adminportal .troubleshooting-warning b{color:color-mix(in srgb,#d06449 72%,var(--admin-text))}#adminportal .admin-user-list article{background:var(--admin-soft);border-color:var(--admin-border);color:var(--admin-text)}#adminportal .admin-invite-form input,#adminportal .admin-invite-form select{background:var(--input,var(--admin-surface));border-color:var(--admin-border);color:var(--admin-text)}#adminportal .new-invite-code{background:color-mix(in srgb,var(--accent,var(--lav)) 10%,var(--admin-surface));border-color:var(--accent,var(--lav));color:var(--admin-text)}#adminportal .new-invite-code code{background:var(--admin-soft);color:var(--admin-text)}


/* early-access-admin.css */
.early-access-admin{border-top:1px solid var(--admin-border,var(--line));grid-column:1/-1;margin-top:28px;padding-top:24px}.early-access-heading{align-items:start;display:flex;gap:18px;justify-content:space-between}.early-access-heading h3{margin:3px 0 5px!important}.early-access-heading p:not(.eyebrow){color:var(--admin-muted,var(--muted));font-size:11px;margin:0}.early-access-list{display:grid;gap:12px;margin-top:17px}.early-access-list>article{background:var(--admin-soft,var(--surface));border:1px solid var(--admin-border,var(--line));border-radius:10px;padding:16px}.application-top{align-items:start;display:flex;gap:12px;justify-content:space-between}.application-top strong,.application-top a{display:block}.application-top a{color:var(--accent,var(--lav));font-size:11px;margin-top:3px}.application-status{background:var(--surface);border:1px solid var(--admin-border,var(--line));border-radius:12px;font-size:9px;font-weight:700;padding:4px 7px;text-transform:capitalize}.status-invited{color:#3b9275}.status-declined{color:#b45549}.status-reviewing{color:#a36f25}.early-access-list dl{display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin:14px 0}.early-access-list dl div{min-width:0}.early-access-list dt{color:var(--admin-muted,var(--muted));font-size:9px;font-weight:700;text-transform:uppercase}.early-access-list dd{font-size:11px;margin:4px 0 0;overflow-wrap:anywhere}.application-challenge{font-size:12px;line-height:1.55;margin:10px 0}.early-access-list article>small{color:var(--admin-muted,var(--muted));font-size:9px}.application-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.application-actions .primary-btn{padding:8px 11px}.application-actions .decline{color:#b45549}.application-invite{align-items:center;background:color-mix(in srgb,var(--accent,var(--lav)) 10%,var(--admin-surface,#fff));border:1px solid var(--accent,var(--lav));border-radius:8px;display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding:10px}.application-invite[hidden]{display:none}.application-invite code{background:var(--admin-surface,#fff);border-radius:5px;font-weight:700;padding:5px 7px}@media(max-width:720px){.early-access-list dl{grid-template-columns:1fr 1fr}.early-access-heading{align-items:stretch;flex-direction:column}.early-access-heading button{width:100%}}
