:root{--text:#063b4b;--muted:#4f7480;--bg:#f3f8f7;--surface:#fff;--border:#d9e6e2;--track:#e6f0ec;--accent:#6cb298;--accent-hover:#59977f;--accent-soft:#6cb29829;--soft-green:#e8f3ef;--navy:#063b4b;--gold:#ffc95c;--shadow:0 10px 28px #063b4b1a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}button,input,select{font:inherit}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:38px;line-height:1.05}h2{letter-spacing:0;font-size:20px;line-height:1.2}@media (width<=640px){h1{font-size:31px}}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:22px 0 48px}.auth-shell{place-items:center;min-height:100svh;padding:24px;display:grid;position:relative}.auth-back-button{top:calc(env(safe-area-inset-top,0px) + 24px);color:var(--muted);background:0 0;padding:0;font-weight:700;position:absolute;left:24px}.auth-back-button:hover{color:var(--accent);background:0 0}.auth-panel{border:1px solid var(--border);background:var(--surface);width:min(460px,100%);box-shadow:var(--shadow);border-radius:8px;gap:22px;padding:28px;display:grid}.auth-intro{gap:10px;display:grid}.auth-intro p:last-child{color:var(--muted)}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--muted);gap:7px;font-size:14px;font-weight:700;display:grid}.password-field{align-items:center;display:flex;position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{width:32px;height:32px;color:var(--muted);background:0 0;place-items:center;padding:0;font-size:16px;line-height:1;display:inline-grid;position:absolute;right:4px}.password-toggle:hover{color:var(--text);background:0 0}.link-button{color:var(--accent);transform-origin:0;background:0 0;justify-self:start;padding:0;transition:color .15s,transform .15s}.link-button:hover{color:var(--navy);background:0 0;transform:scale(1.04)}.form-error{color:#991b1b;background:#fee2e2;border-radius:6px;padding:10px 12px;font-weight:700}.auth-notice{color:var(--accent-hover);background:var(--soft-green);border-radius:6px;padding:10px 12px;font-weight:700}.app-header{z-index:15;width:100%;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 32px);margin:0 auto;padding:12px 0;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:800}button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:6px;padding:10px 14px;font-weight:700}button:hover{background:var(--accent-hover)}.brand-button{background:0 0;align-items:center;gap:12px;padding:0;display:inline-flex}.brand-button:hover{background:0 0}.brand-logo{object-fit:contain;width:64px;height:64px;display:block}.brand-name{color:var(--accent);font-size:26px;font-weight:900;line-height:1}.header-actions{align-items:center;gap:24px;display:flex}.top-nav{align-items:center;gap:12px;display:flex}.top-nav button{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:999px;padding:12px 24px;font-size:16px;font-weight:800}.top-nav button:hover{color:var(--accent);background:0 0}.top-nav button.active{color:#fff;background:var(--accent)}.menu-wrap{position:relative}.hamburger-button{place-items:center;gap:4px;width:44px;height:40px;padding:9px;display:inline-grid}.hamburger-button span{background:#fff;border-radius:999px;width:20px;height:2px;display:block}.nav-menu{z-index:10;border:1px solid var(--border);background:var(--surface);width:230px;box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.nav-menu button{width:100%;color:var(--text);background:var(--soft-green);text-align:left}.nav-menu button.active{color:#fff;background:var(--accent)}.mobile-menu-item{display:none}.nav-menu .logout-button{color:#991b1b;background:#fee2e2}.menu-user{color:var(--muted);font-size:13px;font-weight:700}.page-section,.stacked{gap:20px;display:grid}.page-section{position:relative}.page-section:before{content:"";z-index:-1;pointer-events:none;background-image:url(/dollar-pattern.svg);background-repeat:repeat;width:100vw;position:absolute;top:-22px;bottom:-88px;left:50%;transform:translate(-50%)}.dashboard-toolbar{justify-content:space-between;align-items:center;gap:18px;display:flex}.review-banner{color:var(--navy);background:var(--gold);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.review-banner p{font-weight:700}.review-banner-actions{gap:10px;display:flex}.new-month-banner{color:var(--accent-hover);background:var(--soft-green);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.new-month-banner p{font-weight:700}.connect-bank-banner{color:#fff;background:var(--navy);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.connect-bank-banner p{font-weight:700}.connect-bank-banner button{color:var(--navy);background:var(--gold)}.connect-bank-banner button:hover{background:#ffd97a}.connected-bank-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.connected-bank-list li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.review-banner-actions button{color:#fff;background:var(--navy)}.review-banner-actions button:hover{background:#052d3a}.review-banner-actions .secondary-button{background:#2f6b85}.review-banner-actions .secondary-button:hover{background:#24505f}.bank-connect{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.bank-connect button:disabled{cursor:not-allowed;opacity:.58}.bank-action-group{align-items:center;gap:10px;display:flex}.section-heading{gap:4px;display:grid}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.view-toggle{gap:8px;display:flex}.view-toggle button{width:36px;height:36px;color:var(--muted);background:var(--soft-green);place-items:center;padding:0;display:inline-grid}.view-toggle button.active{color:#fff;background:var(--accent)}.view-toggle button svg{fill:currentColor;width:18px;height:18px}.section-heading p,.muted{color:var(--muted)}.category-group{gap:12px;display:grid}.category-group+.category-group{border-top:1px solid var(--muted);padding-top:20px}.category-group-drop{border:2px dashed #0000;border-radius:8px;padding:4px;transition:border-color .15s,background .15s}.category-group-drop.drag-over{border-color:var(--accent);background:var(--soft-green)}.drag-preview{cursor:grabbing;width:260px;transform:rotate(-2deg);box-shadow:0 16px 32px #063b4b4d}.category-group-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:15px;font-weight:800}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.summary-card,.category-card,.goal-card,.form-card,.table-card,.report-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.summary-card{gap:8px;padding:18px;display:grid}.summary-card span,.category-card label,.goal-card label{color:var(--muted);font-size:14px;font-weight:700}.summary-card strong{color:var(--text);font-size:27px;line-height:1}.summary-card.good strong{color:#047857}.summary-card.warning strong,.overspent-row td:last-child{color:#dc2626}.account-accordion{margin-top:-8px}.account-accordion-toggle{color:var(--muted);background:0 0;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:800;display:inline-flex}.account-accordion-toggle:hover{color:var(--accent);background:0 0}.account-accordion-arrow{transition:transform .2s}.account-accordion-arrow.open{transform:rotate(180deg)}.account-accordion-panel{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.account-accordion-panel.open{grid-template-rows:1fr}.account-accordion-inner{min-height:0;overflow:hidden}.account-accordion-list{flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.account-pill{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.account-pill strong{color:var(--accent)}.card-grid,.reports-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card-list{gap:10px;display:grid}.category-card,.goal-card{gap:14px;padding:18px;display:grid}.goal-edit-form{gap:12px;display:grid}.goal-date-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-card.overspent{background:#fff7f7;border-color:#fecaca}.category-card.row-layout{flex-wrap:wrap;align-items:center;gap:24px;padding:12px 18px;display:flex}.category-card.row-layout .category-heading{flex:1;min-width:180px}.category-card.row-layout .category-focus{flex:2;min-width:260px}.category-card.row-layout .assigned-compact{width:160px}.category-heading,.category-money,.report-stat{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-heading{align-items:flex-start}.category-card.row-layout .category-heading.is-editing{flex:1 0 100%}.category-title-group{align-items:center;gap:8px;min-width:0;display:flex}.category-heading h3{white-space:nowrap;min-width:0;margin:0;font-size:18px;overflow:hidden}.category-heading-actions{align-items:center;gap:8px;display:flex}.drag-handle{width:28px;height:28px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.drag-handle:hover{color:var(--accent);background:0 0}.drag-handle svg{fill:currentColor;width:18px;height:18px}.category-card.dragging{z-index:10;box-shadow:var(--shadow)}.category-name-input{padding:6px 9px;font-size:16px;font-weight:700}.category-edit-form{flex:1;gap:8px;display:grid}.category-edit-form select{padding:6px 9px}.category-edit-actions{gap:8px;display:flex}.icon-button.danger{color:#b91c1c;background:#fee2e2}.icon-button.danger:hover{color:#fff;background:#b91c1c}.status-pill{color:#991b1b;background:#fee2e2;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.danger-text{color:#fff;background:#b91c1c}.danger-text:hover{background:#991b1b}.category-mobile-actions{display:none}.category-mobile-actions button{flex:1;padding:8px;font-size:13px}.category-mobile-actions .danger-text{color:#fff;background:#b91c1c}.category-mobile-actions .danger-text:hover{background:#991b1b}.category-card label,.goal-card label{gap:7px;display:grid}input,select{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:10px 12px}input:focus,select:focus{border-color:var(--accent);outline:3px solid var(--accent-soft)}.category-focus{grid-template-columns:1fr 1fr;gap:12px;display:grid}.category-focus div{border:1px solid var(--border);background:#fbfefc;border-radius:8px;gap:4px;padding:12px;display:grid}.category-focus span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.category-focus strong{color:var(--text);font-size:24px;line-height:1.05}.assigned-compact{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,120px);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:grid}.assigned-compact input{text-align:right;padding:7px 9px;font-size:16px}.assigned-compact strong{color:var(--muted);font-size:14px}.form-card,.table-card,.report-card{padding:20px}.add-toggle-button{justify-self:start}.form-actions{justify-content:flex-end;gap:10px;display:flex}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.form-grid label{color:var(--muted);gap:7px;font-size:14px;font-weight:700;display:grid}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:12px 8px}tfoot td{border-bottom:0;border-top:2px solid var(--border);font-weight:800}th{color:var(--muted);text-transform:uppercase;font-size:13px}.table-card th:not(:first-child),.table-card td:not(:first-child){text-align:right}.table-select{min-width:160px;padding:7px 9px}.month-list{flex-wrap:wrap;gap:8px;display:flex}.month-button{color:var(--text);background:var(--soft-green)}.month-button.active{color:#fff;background:var(--accent)}.assigned-cell,.remaining-positive,.remaining-negative{font-weight:800}.assigned-cell{justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button{width:30px;height:30px;color:var(--accent);background:var(--soft-green);place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:#fff;background:var(--accent)}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}.remaining-positive{color:#fff;background:var(--accent);border-radius:999px;padding:3px 10px;display:inline-block}.remaining-negative{color:#dc2626;padding:3px 10px 3px 0}.remaining-text-positive{color:#047857;font-weight:800}.remaining-text-negative{color:#dc2626;font-weight:800}.category-name-cell{align-items:center;gap:6px;display:inline-flex}.category-row-arrow{color:var(--muted);transition:transform .2s;display:none}.category-row-arrow.open{transform:rotate(180deg)}.category-detail-row{display:none}.category-detail{gap:10px;padding:4px 0 10px;display:grid}.category-detail>div{color:var(--muted);justify-content:space-between;align-items:center;font-weight:700;display:flex}.category-detail>div strong{color:var(--text)}.description-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.transaction-table-desktop{margin-top:8px}.transaction-date-row td{color:var(--accent-hover);background:var(--soft-green);border-bottom:0;padding:3px 8px;font-size:13px;font-weight:800}.transaction-table-desktop th:nth-child(2),.transaction-table-desktop th:nth-child(3),.transaction-table-desktop td:nth-child(2),.transaction-table-desktop td:nth-child(3){text-align:left}.transaction-table-desktop td:first-child,.transaction-table-desktop td:nth-child(4){font-size:17px}.transaction-list-mobile{display:none}.transaction-group{margin-top:20px}.transaction-group:first-of-type{margin-top:14px}.transaction-group-heading{color:var(--accent-hover);background:var(--soft-green);border-radius:6px;margin:0 0 8px;padding:5px 12px;font-size:15px;font-weight:800}.transaction-list{gap:2px;display:grid}.transaction-row-card{cursor:pointer;border-radius:8px;padding:3px 8px}.transaction-row-card+.transaction-row-card{border-top:1px solid var(--border)}.transaction-row-card:hover{background:var(--soft-green)}.transaction-row-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.transaction-row-left{gap:3px;min-width:0;display:grid}.transaction-desc{text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin:0;font-weight:800;overflow:hidden}.transaction-category-select{color:#fff;background:var(--navy);border:0;border-radius:6px;justify-self:start;width:auto;padding:4px 10px;font-size:12px;font-weight:700}.transaction-category-static{color:var(--muted);font-size:12px;font-weight:700}.transaction-row-amount{color:var(--text);flex-shrink:0;font-weight:800}.transaction-row-detail{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.transaction-type-pill{text-transform:capitalize;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.transaction-type-pill.income{color:#047857;background:#d1fae5}.transaction-type-pill.expense{color:#b91c1c;background:#fee2e2}.icon-button.navy{color:#fff;background:var(--navy);transition:transform .15s,background .15s}.icon-button.navy:hover{background:#052d3a;transform:scale(1.05)}.transaction-row-actions{justify-content:flex-end;align-items:center;gap:6px;padding-right:8px;display:flex}.transaction-edit-form{align-items:center;gap:6px;display:flex}.transaction-edit-form input{min-width:0}.filter-wrap{justify-self:start;position:relative}.filter-toggle{border:1px solid var(--accent);color:var(--text);background:var(--soft-green);align-items:center;gap:8px;padding:9px 13px;display:inline-flex}.filter-toggle:hover{color:#fff;background:var(--accent)}.filter-toggle-arrow{transition:transform .2s}.filter-toggle-arrow.open{transform:rotate(180deg)}.filter-menu{z-index:10;border:1px solid var(--border);background:var(--surface);width:240px;max-height:320px;box-shadow:var(--shadow);border-radius:8px;gap:4px;padding:12px;display:grid;position:absolute;top:calc(100% + 10px);left:0;overflow-y:auto}.filter-option{color:var(--text);align-items:center;gap:10px;padding:6px 4px;font-size:14px;font-weight:600;display:flex}.filter-option input{width:auto}.filter-clear{justify-self:start;margin-top:4px;font-size:13px}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-size{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.pagination-size select{width:auto;padding:6px 9px}.pagination-pages{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pagination-pages button:not(.secondary-button){width:34px;height:34px;color:var(--text);background:0 0;padding:0}.pagination-pages button:not(.secondary-button):hover{background:var(--soft-green)}.pagination-pages button.active{color:#fff;background:var(--accent)}.pagination-pages button:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{color:var(--muted);font-weight:700}.progress-track{background:var(--track);border-radius:999px;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--navy), var(--accent));height:100%}.report-card{align-content:start;gap:12px;display:grid}.report-stat strong{font-size:24px}.report-chart-scroll{overflow-x:auto}.modal-backdrop{z-index:20;background:#0f172a47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.edit-modal{border:1px solid var(--border);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:22px;display:grid}.edit-modal label{color:var(--muted);gap:7px;font-size:14px;font-weight:700;display:grid}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.review-group{margin-top:20px}.review-group:first-of-type{margin-top:14px}.review-list{gap:10px;display:grid}.review-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.review-card-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.review-card-left{gap:6px;min-width:0;display:grid}.review-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.review-actions button{flex:1;min-width:90px;padding:8px 10px;font-size:13px}.review-confirm-button{color:#fff;background:var(--accent)}.review-confirm-button:hover{background:var(--accent-hover)}.review-list-mobile{display:none}.review-table-desktop .review-actions{border-top:0;margin-top:0;padding-top:0}.review-table-desktop .review-actions button{flex:none;min-width:90px}.split-count-picker,.split-forms{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.split-count-picker label{max-width:220px;color:var(--muted);gap:7px;font-size:14px;font-weight:700;display:grid}.split-forms{gap:10px;display:grid}.split-form-row{grid-template-columns:2fr 1fr 1.4fr;gap:8px;display:grid}.split-total{color:var(--muted);font-weight:700}.disconnect-list{gap:10px;display:grid}.disconnect-group{gap:7px;display:grid}.disconnect-option{color:var(--text);background:var(--soft-green);text-align:left;justify-content:space-between;align-items:center;gap:14px;display:flex}.disconnect-option:hover{color:#fff;background:#b91c1c}.disconnect-option small{color:inherit;opacity:.75}.account-disconnect-option{background:#fff;margin-left:16px}.secondary-button{color:var(--text);background:var(--soft-green)}.disconnect-bank-button{border:1px solid var(--accent);padding:8px 13px}.secondary-button:hover{color:#fff;background:var(--accent)}.app-footer{color:#fff;background:var(--accent);width:100%;margin-top:40px}.footer-inner{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 20px}.footer-columns{grid-template-columns:1.2fr 1fr 1fr;gap:24px;display:grid}.footer-brand strong{font-size:22px;font-weight:900}.footer-brand p{color:#ffffffbf;margin-top:6px}.footer-heading{color:#ffffffbf;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:13px;font-weight:800}.footer-links{gap:8px;display:grid}.footer-links button{color:#fff;text-align:left;opacity:.85;background:0 0;padding:0;font-weight:600}.footer-links button:hover{color:var(--gold);opacity:1;background:0 0;text-decoration:underline}.footer-contact a{color:#fff;font-weight:600}.footer-contact a:hover{color:var(--gold)}.footer-bottom{color:#ffffffb3;text-align:center;border-top:1px solid #fff3;margin-top:24px;padding-top:16px;font-size:13px}@media (width<=900px){.transaction-table-desktop{display:none}.transaction-list-mobile,.review-list-mobile{display:block}.split-form-row{grid-template-columns:1fr}.review-actions button{min-width:0}.footer-columns{grid-template-columns:1fr;gap:20px}.app-header-inner{align-items:center}.top-nav{display:none}.mobile-menu-item{display:block}.summary-grid,.card-grid,.reports-grid,.form-grid{grid-template-columns:1fr}.dashboard-toolbar,.bank-connect,.bank-action-group{flex-direction:column;align-items:flex-start}.table-card{overflow-x:auto}.category-table th:nth-child(2),.category-table th:nth-child(3),.category-table td:nth-child(2),.category-table td:nth-child(3),.monthly-table th:nth-child(2),.monthly-table th:nth-child(3),.monthly-table td:nth-child(2),.monthly-table td:nth-child(3){display:none}.category-row{cursor:pointer}.category-row-arrow{display:inline-block}.category-detail-row{display:table-row}.view-toggle{display:none}.category-card,.category-card.row-layout{flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.category-card .category-heading,.category-card.row-layout .category-heading{flex:1;min-width:120px}.category-card .category-heading.is-editing,.category-card.row-layout .category-heading.is-editing{flex:1 0 100%}.category-card .category-focus,.category-card.row-layout .category-focus{flex:2;gap:6px;min-width:170px}.category-card .assigned-compact,.category-card.row-layout .assigned-compact{border-top:0;width:120px;padding-top:0;display:none}.category-card .assigned-compact.expanded{flex-basis:100%;display:grid}.category-card .category-heading h3{font-size:14px}.category-card .category-focus div{gap:2px;padding:6px 8px}.category-card .category-focus span{font-size:9px}.category-card .category-focus strong{font-size:14px}.category-card .assigned-compact span{font-size:12px}.category-card .assigned-compact strong{font-size:13px}.category-card .status-pill{padding:3px 6px;font-size:10px}.category-card .icon-button{width:26px;height:26px}.category-card .icon-button svg{width:13px;height:13px}.category-card{cursor:pointer}.category-card .category-heading-actions .icon-button,.category-card .status-pill{display:none}.category-mobile-actions{flex-basis:100%;gap:8px;margin-top:4px;display:flex}}@media (width<=480px){.app-shell{width:calc(100% - 20px);padding:16px 0 32px}.app-header-inner{padding:10px 0}.brand-logo{width:44px;height:44px}.brand-name{font-size:20px}.summary-card,.goal-card,.form-card,.table-card,.report-card,.edit-modal{padding:14px}.summary-card strong{font-size:22px}.icon-button{width:34px;height:34px}th,td{padding:10px 6px}.dashboard-toolbar,.bank-connect,.bank-action-group{gap:10px}}.landing-page{background:var(--bg);min-height:100svh}.landing-nav{width:100%;padding-top:env(safe-area-inset-top,0px);background:var(--navy)}.landing-nav-inner{align-items:center;gap:32px;width:min(1180px,100% - 32px);margin:0 auto;padding:16px 0;display:flex}.landing-brand{color:#fff;align-items:center;gap:10px;font-size:20px;font-weight:900;display:flex}.landing-brand-logo{object-fit:contain;width:34px;height:34px;display:block}.landing-nav-link{color:#fffc;font-weight:700;text-decoration:none}.landing-nav-link:hover{color:#fff}.landing-nav-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.landing-login-button{color:#fff;background:0 0;padding:0;font-weight:700}.landing-login-button:hover{color:var(--gold);background:0 0}.landing-cta-button{color:var(--navy);background:var(--gold);border-radius:999px;padding:12px 22px;font-weight:800}.landing-cta-button:hover{background:#ffd97a}.landing-cta-button.large{padding:16px 30px;font-size:16px}.landing-hero{background:linear-gradient(135deg, var(--navy), var(--accent-hover) 70%, var(--accent));padding-bottom:90px;position:relative;overflow:hidden}.landing-hero-inner{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:40px;width:min(1180px,100% - 32px);margin:0 auto;padding:72px 0 40px;display:grid;position:relative}.landing-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:800}.landing-hero-copy h1{color:#fff;margin-top:12px;font-size:46px;font-weight:900;line-height:1.1}.landing-subtext{color:#ffffffd9;max-width:440px;margin-top:18px;font-size:18px;font-style:italic}.landing-hero-copy .landing-cta-button{margin-top:26px}.landing-hero-visual{place-items:center;display:grid;position:relative}.landing-phone{background:#0b2732;border:6px solid #0b2732;border-radius:36px;width:min(300px,100%);padding:10px;box-shadow:0 24px 50px #063b4b59}.landing-phone-screen{background:var(--surface);border-radius:26px;gap:12px;padding:22px 18px;display:grid}.landing-phone-title{color:var(--navy);font-size:22px;font-weight:900}.landing-phone-pill{color:var(--navy);background:var(--soft-green);border-radius:999px;justify-content:space-between;align-items:center;padding:10px 16px;font-weight:700;display:flex}.landing-phone-pill strong{color:var(--accent-hover)}.landing-phone-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:12px;font-weight:800}.landing-phone-row{border:1px solid var(--border);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:700;display:flex}.landing-phone-summary{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}.landing-phone-summary div{background:var(--bg);border-radius:10px;padding:10px 12px}.landing-phone-summary p{color:var(--muted);font-size:12px;font-weight:700}.landing-phone-summary strong{color:var(--navy);font-size:16px}.landing-badge{width:44px;height:44px;color:var(--navy);background:var(--gold);border-radius:999px;place-items:center;font-weight:900;display:grid;position:absolute;box-shadow:0 10px 20px #063b4b40}.landing-badge-1{background:var(--accent);color:#fff;top:6%;left:4%}.landing-badge-2{top:60%;right:0}.landing-badge-3{background:var(--accent);color:#fff;bottom:4%;left:12%}.landing-wave{background:var(--bg);clip-path:ellipse(60% 100% at 50% 100%);height:70px;position:absolute;bottom:0;left:0;right:0}.landing-features{grid-template-columns:repeat(3,1fr);gap:24px;width:min(1180px,100% - 32px);margin:0 auto;padding:56px 0 72px;display:grid}.landing-feature-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:8px;padding:24px;display:grid}.landing-feature-icon{font-size:28px}.landing-feature-card h2{color:var(--navy)}.landing-feature-card p{color:var(--muted)}@media (width<=900px){.landing-hero-inner{text-align:center;grid-template-columns:1fr;padding-top:48px}.landing-hero-copy{justify-items:center;display:grid}.landing-subtext{max-width:none}.landing-hero-copy h1{font-size:34px}.landing-nav-link{display:none}.landing-features{grid-template-columns:1fr}}
