@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#172536;background:#f6f8fb;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:10px;font:800 1.35rem Manrope,sans-serif;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:#286fda;border-radius:11px;color:white;font-size:1.1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e8ecf2;display:flex;flex-direction:column;padding:30px 18px}.sidebar .brand{padding:0 12px 48px}.side-section,.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.13em;color:#64788f}.side-section{padding:0 16px 12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:14px;padding:12px 16px;color:#596a7d;border-radius:10px;font-weight:700}.sidebar nav a span{font-size:1.25rem;width:20px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#eaf2ff;color:#145bc0}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:11px;padding:18px 10px 0;border-top:1px solid #edf0f3}.avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#dceaff;color:#195cbd;font-weight:800;font-size:.8rem}.sidebar-bottom small{display:block;color:#7c8b9b;margin-top:3px}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid #e8ecf2;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:.9rem;font-weight:700}.topbar a{color:#1762ca}.crumb{color:#93a1b0;font-weight:500}.content{max-width:1500px;margin:auto;padding:42px}.page-heading,.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading h1{font:800 clamp(1.7rem,3vw,2.3rem) Manrope,sans-serif;letter-spacing:-.05em;margin:8px 0 7px}.muted{color:#75869a;margin:0}.month-picker{display:flex;align-items:center;gap:18px;background:white;border:1px solid #e4e9f1;border-radius:12px;padding:7px}.month-picker strong{min-width:130px;text-align:center;font-size:.9rem}.month-picker button{border:0;background:#f2f6fb;border-radius:8px;width:34px;height:34px;font-size:1.4rem;color:#425977}.preview-banner{margin:30px 0 24px;padding:13px 18px;display:flex;align-items:center;gap:10px;background:#eaf3ff;border:1px solid #cbdffc;border-radius:10px;color:#315b91;font-size:.9rem}.preview-banner span:last-child{color:#58799d}.preview-dot{width:8px;height:8px;border-radius:50%;background:#347ee0;flex:none}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stat{background:white;padding:23px 25px;border:1px solid #e8ecf2;border-radius:15px;box-shadow:0 5px 18px #132b4808}.stat>span{display:block;color:#728398;font-size:.9rem;font-weight:700}.stat strong{display:block;font:800 clamp(1.45rem,2vw,2rem) Manrope,sans-serif;letter-spacing:-.045em;margin:15px 0 3px}.stat small{color:#8a9aac}.section{margin-top:40px}.section h2{font:800 1.2rem Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 5px}.section-head{margin-bottom:19px}.paycheck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.paycheck-card{background:#162d4c;color:white;border-radius:16px;padding:22px;min-height:193px;display:flex;flex-direction:column}.paycheck-card:nth-child(2){background:#174875}.paycheck-card:nth-child(3){background:#21648d}.paycheck-top,.paycheck-bottom{display:flex;justify-content:space-between;gap:10px}.paycheck-top{font-size:.76rem;letter-spacing:.1em;font-weight:800;color:#bcd5f0}.paycheck-card strong{font:800 1.65rem Manrope,sans-serif;letter-spacing:-.04em;margin-top:24px}.paycheck-card p{margin:2px 0 20px;color:#c3d4e5;font-size:.84rem}.paycheck-bottom{align-items:center;border-top:1px solid #ffffff30;padding-top:12px;margin-top:auto;color:#c3d4e5;font-size:.75rem}.paycheck-bottom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paycheck-bottom a{font-size:1.2rem}.search-label input{background:white;border:1px solid #dfe7f0;border-radius:9px;padding:11px 14px;width:235px;outline-color:#286fda}.table-scroll{overflow:auto;background:#fff;border:1px solid #e8ecf2;border-radius:14px}table{border-collapse:collapse;width:100%;min-width:700px;text-align:left}th{background:#fbfcfe;color:#73859a;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}th,td{padding:15px 19px;border-bottom:1px solid #edf1f5}tbody tr:last-child td{border-bottom:0}td{color:#617287;font-size:.88rem}.payee,.amount{font-weight:700;color:#1e3046}.right{text-align:right}.pill{display:inline-block;background:#eaf2ff;color:#2667bd;border-radius:6px;padding:4px 8px;font-weight:800}.payment{font-size:.82rem}.empty{background:#fff;padding:25px;text-align:center;color:#75869a}footer{color:#98a6b5;margin:42px 0 10px;font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-page{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(350px,46%) 1fr}.login-aside{background:linear-gradient(150deg,#112c4a,#174d7a);color:white;padding:48px clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between}.brand-light .brand-mark{background:#4b92f5}.aside-copy{max-width:540px}.aside-copy .eyebrow{color:#9ac5f9}.aside-copy h1{font:800 clamp(2.5rem,4.3vw,4.5rem)/1.12 Manrope,sans-serif;letter-spacing:-.06em;margin:18px 0 23px}.aside-copy p{color:#c1d6eb;font-size:1.12rem;line-height:1.7}.aside-foot{color:#9cb8d3;font-size:.9rem}.login-content{display:grid;place-items:center;padding:36px}.login-card{width:min(100%,420px)}.login-card h2{font:800 2rem Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0 8px}.login-card form{display:grid;margin-top:35px}.login-card label{font-size:.9rem;font-weight:700;margin-bottom:8px}.login-card input{width:100%;border:1px solid #dbe3ed;border-radius:9px;padding:13px 14px;margin-bottom:22px;outline-color:#286fda}.password-wrap{position:relative}.password-wrap input{padding-right:75px}.password-wrap button{position:absolute;right:12px;top:12px;border:0;background:none;color:#286fda;font-size:.85rem;font-weight:700}.button{border:0;border-radius:9px;padding:14px 20px;font-weight:800}.primary{background:#286fda;color:white}.primary:hover{background:#195cbf}.sign-in{margin-top:5px}.demo-note{font-size:.83rem;line-height:1.5;color:#77899c;margin:24px 0 12px}.demo-link{color:#1762ca;font-weight:800;font-size:.9rem}.mobile-brand{display:none}@media(max-width:1050px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.content{padding:28px}.topbar{padding:0 28px}.stats,.paycheck-grid{gap:10px}.stat,.paycheck-card{padding:17px}}@media(max-width:760px){.app-shell{display:block}.sidebar{padding:15px 18px;display:block}.sidebar .brand{padding:0}.side-section,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:17px}.sidebar nav a{white-space:nowrap;padding:9px 12px}.topbar{height:50px;padding:0 20px}.content{padding:25px 18px}.page-heading{align-items:flex-start;flex-direction:column}.preview-banner{align-items:flex-start;flex-wrap:wrap}.stats,.paycheck-grid{grid-template-columns:1fr}.stat{padding:20px}.section-head{align-items:flex-start;flex-direction:column}.search-label,.search-label input{width:100%}.login-shell{display:block}.login-aside{display:none}.login-content{min-height:100vh;padding:30px}.mobile-brand{display:flex;margin-bottom:65px}.login-card h2{font-size:1.75rem}}
/* Bill payment workspace */
.bill-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.bill-controls input,.bill-controls select{background:#fff;border:1px solid #dfe7f0;border-radius:9px;padding:11px 13px;color:#26394e;min-height:44px;outline-color:#286fda}.bill-controls input{width:min(270px,75vw)}.result-count{margin-left:auto;color:#75869a;font-size:.85rem}.payment-table{min-width:920px}.payment-table td{padding-top:12px;padding-bottom:12px}.payee-button{border:0;background:none;color:#1e3046;font-weight:700;text-align:left;padding:4px 0;text-decoration:underline;text-decoration-color:#b7c9df;text-underline-offset:4px}.payee-button:hover{color:#1762ca}.check-label{display:inline-flex;align-items:center;justify-content:center;min-width:35px;min-height:35px;cursor:pointer}.check-label input{width:19px;height:19px;accent-color:#286fda;cursor:pointer}.bill-dialog{border:0;border-radius:17px;width:min(620px,calc(100vw - 28px));max-height:min(88vh,850px);padding:0;box-shadow:0 25px 90px #10243e55;color:#1e3046}.bill-dialog::backdrop{background:#091a2b99}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:26px 28px;border-bottom:1px solid #e9eef4}.dialog-head h2{font:800 1.4rem Manrope,sans-serif;margin:8px 0 0}.close-button{background:#f2f6fb;border:0;border-radius:8px;width:36px;height:36px;font-size:1.5rem;color:#455d77}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px;padding:10px 28px 20px}.detail{border-bottom:1px solid #edf1f5;padding:14px 0;min-width:0}.detail span{display:block;color:#75869a;font-size:.78rem;margin-bottom:5px}.detail strong{display:block;overflow-wrap:anywhere;font-size:.92rem}.detail a{color:#1762ca}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px 25px}.secondary{background:#eaf2ff;color:#175dbb}@media(max-width:760px){.bill-controls>*{flex:1 1 140px}.bill-controls input,.bill-controls select{width:100%}.result-count{flex-basis:100%;margin-left:0}.detail-grid{grid-template-columns:1fr}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1 1 150px}}
.stat-link{position:relative;display:block;transition:box-shadow .15s,transform .15s}.stat-link:hover{box-shadow:0 10px 25px #132b481a;transform:translateY(-2px)}.stat-link:focus-visible{outline:3px solid #286fda;outline-offset:3px}.stat-arrow{position:absolute;top:21px;right:22px;color:#286fda!important;font-size:1.2rem!important}.unpaid-filter{display:flex;align-items:center;gap:7px;color:#4e6075;font-size:.88rem;font-weight:700;white-space:nowrap}.unpaid-filter input{width:18px;height:18px;accent-color:#286fda}
.nav-group{display:grid;gap:4px}.nav-parent{display:flex;align-items:center;gap:14px;padding:12px 16px;color:#596a7d;border-radius:10px;font-weight:700}.nav-parent span{font-size:1.25rem;width:20px;text-align:center}.nav-parent:hover,.nav-parent.active{background:#eaf2ff;color:#145bc0}.subnav{display:grid;gap:2px;padding-left:34px}.sidebar nav .subnav a{padding:9px 12px;font-size:.88rem}.specific-page .bill-controls label:has(#method-filter),.specific-page .bill-controls label:has(#unpaid-only){display:none}@media(max-width:760px){.sidebar nav .nav-group{display:flex;align-items:center}.sidebar nav .subnav{display:flex;padding-left:0}.sidebar nav .subnav a{white-space:nowrap}.sidebar nav .nav-parent{white-space:nowrap;padding:9px 12px}}
.month-input-label{display:flex;align-items:center;gap:10px;color:#536980;font-weight:700;font-size:.9rem}.month-input-label input{border:1px solid #dfe7f0;border-radius:9px;background:#fff;padding:10px;color:#26394e;font:inherit}.row-actions{white-space:nowrap}.row-actions button{border:0;background:none;color:#1762ca;font-weight:700;padding:6px;margin-right:5px}.row-actions button:last-child{color:#ae4051}.row-actions button:hover{text-decoration:underline}.manage-dialog{width:min(720px,calc(100vw - 28px))}.form-grid{padding:22px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid label{display:grid;gap:6px;font-size:.85rem;font-weight:700;color:#455d76}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{min-width:0;width:100%;border:1px solid #dce5ef;border-radius:8px;padding:10px 12px;font:inherit;color:#233c57;background:white}.form-grid input:focus,.form-grid select:focus{outline:2px solid #286fda}.form-scope{margin:0 28px;padding:12px 14px;border-radius:8px;background:#eaf3ff;color:#315b91;font-size:.85rem;line-height:1.5}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.month-input-label{width:100%;justify-content:space-between}}
.amount-form{margin:0 28px;padding:16px 0;border-top:1px solid #edf1f5}.amount-form label{display:block;font-weight:800;color:#26394e;font-size:.9rem;margin-bottom:8px}.amount-form-row{display:flex;gap:10px}.amount-form input{width:100%;min-width:0;border:1px solid #dce5ef;border-radius:8px;padding:11px 12px;font:inherit}.amount-form input:focus{outline:2px solid #286fda}.amount-form small{display:block;margin-top:7px;color:#75869a;line-height:1.4}@media(max-width:480px){.amount-form-row{flex-direction:column}}
.payment-table{min-width:1120px}.payment-form{margin:0 28px;padding:16px 0;border-top:1px solid #edf1f5}.payment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.payment-form label{display:grid;gap:7px;color:#26394e;font-size:.88rem;font-weight:800}.payment-form input{min-width:0;width:100%;border:1px solid #dce5ef;border-radius:8px;padding:10px 12px;font:inherit}.payment-form input:focus{outline:2px solid #286fda}.payment-form small{display:block;color:#75869a;line-height:1.4;margin-top:8px}@media(max-width:480px){.payment-form-grid{grid-template-columns:1fr}}
/* Financial Freedom identity */
.brand{font-size:1.12rem;letter-spacing:-.025em;line-height:1.15;min-width:0}.brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex:none}.brand-name{display:block;max-width:118px}.sidebar .brand{padding:0 7px 42px;gap:9px}.brand-light{font-size:1.32rem}.brand-light .brand-logo{width:62px;height:62px}.brand-light .brand-name{max-width:170px}.mobile-brand .brand-logo{width:56px;height:56px}.mobile-brand .brand-name{max-width:190px}@media(max-width:760px){.sidebar .brand{padding:0}.sidebar .brand-name{max-width:none}.sidebar .brand-logo{width:40px;height:40px}}
/* Compact coin and quarterly reserves */
.brand-logo,.sidebar .brand-logo{width:30px;height:30px}.brand-light .brand-logo,.mobile-brand .brand-logo{width:36px;height:36px}.sidebar .brand{gap:10px}.brand-name{max-width:145px}.brand-light .brand-name,.mobile-brand .brand-name{max-width:210px}.sidebar nav .brand-logo{width:30px;height:30px}.quarterly-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.fund-list{display:grid;gap:16px}.fund-card{background:#fff;border:1px solid #e7edf4;border-radius:15px;padding:22px 24px}.fund-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fund-heading h3{font:800 1.12rem Manrope,sans-serif;margin:0 0 5px}.fund-heading span{color:#718398;font-size:.85rem}.fund-heading>strong{white-space:nowrap;font:800 1.35rem Manrope,sans-serif}.fund-heading>strong small{font:500 .75rem 'DM Sans',sans-serif;color:#8291a0;display:block;text-align:right;margin-top:2px}.fund-meta{display:flex;gap:12px 25px;flex-wrap:wrap;border-top:1px solid #edf1f5;margin-top:17px;padding-top:17px;color:#718398;font-size:.85rem}.fund-meta b{color:#253a51;margin-left:5px}.fund-action{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:18px}.fund-action label{display:grid;gap:6px;color:#425a73;font-weight:700;font-size:.85rem}.fund-action input{width:160px;border:1px solid #dce5ef;border-radius:8px;padding:10px 12px;font:inherit}.fund-action .button{padding:11px 16px}.undo-fund{border:0;background:none;color:#ae4051;font-weight:700;padding:10px}.fund-alert{margin:14px 0 0;color:#a55027;font-size:.84rem}.fund-bill-link{display:inline-block;color:#1762ca;font-weight:700;font-size:.85rem;margin-top:14px}.quarterly-fields{grid-column:1/-1;border:1px solid #dce7f4;border-radius:10px;background:#f7faff;padding:18px}.quarterly-fields[hidden]{display:none!important}.quarterly-fields>strong{font:800 1rem Manrope,sans-serif}.quarterly-fields p{color:#68809a;font-size:.85rem;line-height:1.5;margin:7px 0 14px}.quarterly-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:1050px){.quarterly-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.quarterly-stats{grid-template-columns:1fr}.fund-heading{flex-direction:column}.fund-heading>strong small{text-align:left}.quarterly-field-grid{grid-template-columns:1fr}}
/* Income planning and exports */
.section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-actions .button,.section-head>.button{white-space:nowrap}.paycheck-card.income-aware,.paycheck-card.income-card{min-height:290px}.paycheck-income,.income-card-lines{display:grid;gap:9px;margin:20px 0 18px;color:#c5d8eb;font-size:.86rem}.paycheck-income span,.income-card-lines span{display:flex;justify-content:space-between;gap:12px}.paycheck-income b,.income-card-lines b{color:white}.paycheck-remain,.income-card-remain{border-top:1px solid #ffffff3a;padding-top:13px;color:#c5d8eb;font-size:.8rem}.paycheck-remain strong,.income-card-remain strong{display:block;color:white;font:800 1.5rem Manrope,sans-serif;margin:2px 0}.paycheck-remain small,.income-card-remain small{display:block;font-size:.75rem;color:#bdd4e8}.income-card-remain{margin-top:auto}.income-aware .paycheck-bottom{margin-top:13px}.income-card .income-card-lines{margin-bottom:22px}@media(max-width:760px){.section-actions{width:100%}.section-actions .search-label{flex:1 1 100%}.section-actions .button{flex:1 1 auto;text-align:center}.section-head>.button{width:100%;text-align:center}}
.manage-table thead button[data-sort]{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:inherit;font:inherit;font-weight:800;letter-spacing:inherit;text-transform:inherit;padding:4px 0;text-align:left}.manage-table thead button[data-sort]:hover{color:#1762ca}.manage-table thead button[data-sort]:focus-visible{outline:2px solid #286fda;outline-offset:3px;border-radius:3px}.manage-table th.right button[data-sort]{margin-left:auto}.sort-arrow{display:inline-block;min-width:1em;color:#1762ca;font-size:1rem;line-height:1}

.cloud-status,.cloud-import{background:#fff5d7;color:#473811;padding:12px 18px;margin:12px;border-radius:8px}.cloud-status[hidden]{display:none}.cloud-import button{margin-left:12px}.auth-signout{border:0;background:none;color:inherit;cursor:pointer;font:inherit}

.quarterly-saved-summary{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:.8rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,rgba(127,127,127,.06));font-size:.9rem}.quarterly-saved-summary span{display:flex;gap:.35rem;align-items:baseline}.quarterly-saved-summary b{font-variant-numeric:tabular-nums}

.override-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.override-heading strong{display:block;font-size:.92rem}.override-heading small{margin-top:4px}.override-badge{white-space:nowrap;background:#fff3cd;color:#725600;border:1px solid #f1d982;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800}.override-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:10px}.override-grid label{display:grid;gap:7px;font-weight:800;color:#26394e;font-size:.85rem}.override-grid input,.override-grid select{width:100%;min-width:0;border:1px solid #dce5ef;border-radius:8px;padding:10px 12px;font:inherit;background:#fff;color:#26394e}.override-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}@media(max-width:560px){.override-heading{display:block}.override-badge{display:inline-block;margin-top:8px}.override-badge[hidden]{display:none}.override-grid{grid-template-columns:1fr}.override-actions button{flex:1 1 180px}}
/* In-column filters and sortable headers */
.filterable-table thead{position:sticky;top:0;z-index:2}.sortable-head th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}.sortable-head th[data-sort]::after{content:' ↕';font-size:.72rem;color:#9aaabd}.sortable-head th.sort-asc::after{content:' ↑';color:#286fda}.sortable-head th.sort-desc::after{content:' ↓';color:#286fda}.column-filters th{padding:7px 6px;background:#f6f9fc;border-top:1px solid #e5ebf2}.column-filters input,.column-filters select{width:100%;min-width:74px;border:1px solid #d9e3ee;border-radius:7px;background:#fff;color:#334a62;padding:7px 8px;font:600 .76rem 'DM Sans',sans-serif;outline-color:#286fda}.column-filters th:first-child input{min-width:130px}.table-result-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}.table-result-bar .result-count{margin-left:0}.clear-filters{border:0;background:none;color:#286fda;font-weight:700;cursor:pointer;padding:5px}.clear-filters:hover{text-decoration:underline}
.fund-filter-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(130px,1fr)) auto auto;gap:10px;align-items:end;background:#f6f9fc;border:1px solid #e5ebf2;border-radius:11px;padding:12px;margin:0 0 16px}.fund-filter-row label{display:grid;gap:5px;color:#64778b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.fund-filter-row input,.fund-filter-row select{width:100%;border:1px solid #d9e3ee;border-radius:8px;background:#fff;color:#334a62;padding:9px 10px;font:600 .82rem 'DM Sans',sans-serif;min-height:40px}.fund-filter-row .result-count{align-self:center;margin:0;white-space:nowrap}@media(max-width:900px){.fund-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-filter-row .result-count{grid-column:1/-1}}@media(max-width:520px){.fund-filter-row{grid-template-columns:1fr}}

/* ===== Financial Freedom organic-green premium redesign ===== */
:root{
  --ink:#F5F7EF;--muted-green:#B7C9A8;--green:#53734B;--deep-green:#243B2F;
  --bg:#0b1712;--bg-2:#102019;--panel:#13271f;--panel-2:#183126;--panel-3:#1d382c;
  --line:#345444;--line-soft:#294538;--glow:#79ef8e;--success:#58e87a;--danger:#ff8f8f;
  --shadow:0 18px 55px rgba(0,0,0,.25);
  color:var(--ink);background:var(--bg)
}
body{background:radial-gradient(circle at 75% 0%,rgba(83,115,75,.16),transparent 30%),var(--bg);color:var(--ink)}
.app-shell{grid-template-columns:250px minmax(0,1fr);background:transparent}
.sidebar{margin:12px 0 12px 12px;padding:22px 14px;background:linear-gradient(180deg,#162d23,#102019);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);min-height:calc(100vh - 24px);position:sticky;top:12px;height:calc(100vh - 24px)}
.sidebar .brand{padding:8px 10px 34px;color:var(--ink)}.brand-logo{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(121,239,142,.22))}.brand-name{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.025em}.side-section,.eyebrow{color:var(--muted-green)}
.sidebar nav{gap:7px}.sidebar nav a{color:#c9d5c5;border:1px solid transparent;border-radius:10px;padding:12px 13px}.sidebar nav a:hover{background:#1d382c;border-color:#355747;color:#fff}.sidebar nav a.active{background:linear-gradient(90deg,#284a39,#203d30);border-color:#4f725e;color:#fff;box-shadow:inset 3px 0 0 var(--glow)}
.subnav{border-left-color:#365747!important}.subnav a{font-size:.82rem!important}.sidebar-bottom{border-top-color:var(--line-soft);color:var(--ink)}.avatar{background:#294a39;color:#dff2d9;border:1px solid #53734B}.sidebar-bottom small{color:#8fa691}
.main{background:transparent}.topbar{height:70px;margin:12px 12px 0 12px;padding:0 24px;background:rgba(19,39,31,.88);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:16px;color:#dce7d9}.topbar .crumb{color:#819986}.topbar a{color:#dff7da;border:1px solid #4e705c;border-radius:9px;padding:8px 13px;background:#1c382b}.topbar a:hover{border-color:var(--glow);box-shadow:0 0 18px rgba(121,239,142,.22)}
.content{padding:32px 38px 46px}.page-heading{position:relative;padding:25px 28px;background:linear-gradient(135deg,#183126 0%,#13271f 60%,#1d382c 100%);border:1px solid #3d604d;border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}.page-heading:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 10%,rgba(183,201,168,.12),transparent 28%);pointer-events:none}.page-heading>div,.page-heading>button{position:relative;z-index:1}.page-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,3rem);line-height:1.02;letter-spacing:-.035em;color:#fff}.muted{color:#a9bba9}.eyebrow{font-weight:800;letter-spacing:.16em}.month-picker{background:#102019;border-color:#41614f;color:#eef4eb}.month-picker button{background:#203e30;color:#dcead8}.month-picker button:hover{background:#2c503d;color:#fff}
.hero-heading{min-height:210px;display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:center}.hero-copy{max-width:650px}.hero-coin{position:relative;width:150px;height:150px;display:grid;place-items:center}.hero-coin img{width:118px;height:118px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 16px 20px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(121,239,142,.2))}.coin-halo{position:absolute;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle,rgba(121,239,142,.18),rgba(83,115,75,.06) 45%,transparent 70%);box-shadow:0 0 55px rgba(121,239,142,.13)}
.preview-banner{background:#142a20;border-color:#3e624e;color:#c6d8c2}.preview-banner span:last-child{color:#9eb39f}.preview-dot{background:var(--glow);box-shadow:0 0 10px var(--glow)}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:linear-gradient(145deg,#162c22,#12241c);border-color:#345443;border-radius:14px;box-shadow:0 12px 35px rgba(0,0,0,.14)}.stat>span{color:#9eb29f}.stat strong{font-family:Georgia,'Times New Roman',serif;color:#fff}.stat small{color:#819986}.stat-link:hover{border-color:#5f826b;box-shadow:0 14px 38px rgba(0,0,0,.24),0 0 18px rgba(121,239,142,.08)}
.section h2{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;color:#fff}.paycheck-card,.paycheck-card:nth-child(2),.paycheck-card:nth-child(3){background:linear-gradient(145deg,#1d392c,#13271f);border:1px solid #3d604d;box-shadow:0 15px 35px rgba(0,0,0,.18)}.paycheck-card:nth-child(2){background:linear-gradient(145deg,#234433,#172d23)}.paycheck-card:nth-child(3){background:linear-gradient(145deg,#294a38,#193126)}.paycheck-top{color:#b8d1b2}.paycheck-card p,.paycheck-bottom,.paycheck-income,.income-card-lines,.paycheck-remain,.income-card-remain{color:#adc0ac}.paycheck-card strong,.paycheck-income b,.income-card-lines b{color:#fff}
.table-scroll{background:#12251d;border-color:#345443;box-shadow:0 14px 40px rgba(0,0,0,.14)}table{color:#dbe5d8}th{background:#193127;color:#afc0ad}th,td{border-bottom-color:#294538}td{color:#b7c6b5}.payee,.amount,.payee-button{color:#edf4e9}.payee-button{text-decoration-color:#53734B}.payee-button:hover{color:#bfe8b5}.filterable-table thead{position:sticky}.column-filters th{background:#162c22;border-top-color:#345443}.column-filters input,.column-filters select,.fund-filter-row input,.fund-filter-row select,.bill-controls input,.bill-controls select,.search-label input,.override-grid input,.override-grid select{background:#0f2119;border-color:#3b5b49;color:#eff5ec;outline-color:var(--glow)}input::placeholder{color:#738a78}.sortable-head th.sort-asc::after,.sortable-head th.sort-desc::after,.sort-arrow{color:var(--glow)}
.button{border:1px solid #4d705a;border-radius:10px;transition:.18s ease}.primary{background:#102019;color:#fff;border-color:#69df7e;box-shadow:0 0 0 1px rgba(105,223,126,.12),0 0 20px rgba(105,223,126,.28)}.primary:hover{background:#183126;border-color:#7bf092;box-shadow:0 0 28px rgba(105,223,126,.38);transform:translateY(-1px)}.secondary{background:#1b3529;color:#dbe9d7;border-color:#456752}.secondary:hover{background:#244535;border-color:#63876e}.clear-filters,.detail a,.demo-link{color:#a8e49f}.pill{background:#294a38;color:#dff3da}
.check-label input{accent-color:#58e87a;filter:drop-shadow(0 0 4px rgba(88,232,122,.28))}.check-label input:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.fund-filter-row,.quarterly-saved-summary{background:#142a20!important;border-color:#345443!important}.fund-filter-row label{color:#9eb09d}.result-count{color:#8fa391}.empty{background:#12251d;color:#8fa391}.cloud-status,.cloud-import{background:#2e3a25;color:#e9efcf}.override-badge{background:#31442b;color:#d9efcb;border-color:#57734c}.override-grid label{color:#b9c9b7}
.bill-dialog{background:#13271f;color:#eef4eb;border:1px solid #466854;box-shadow:0 30px 100px rgba(0,0,0,.65)}.bill-dialog::backdrop{background:#06100bd9}.dialog-head{border-bottom-color:#2d4b3b}.dialog-head h2{font-family:Georgia,'Times New Roman',serif}.close-button{background:#203d30;color:#dce8d9}.detail{border-bottom-color:#294538}.detail span{color:#8fa391}.detail strong{color:#edf4ea}
footer{color:#6f8775}.login-page{background:var(--bg)}.login-aside{background:linear-gradient(145deg,#0f2119,#243B2F);color:#fff}.aside-copy .eyebrow{color:#b7c9a8}.aside-copy h1,.login-card h2{font-family:Georgia,'Times New Roman',serif}.aside-copy p,.aside-foot{color:#b7c9a8}.login-content{background:#0b1712}.login-card{background:#13271f;border:1px solid #345443;border-radius:18px;padding:32px;box-shadow:var(--shadow)}.login-card input{background:#0f2119;border-color:#3b5b49;color:#fff;outline-color:var(--glow)}.password-wrap button{color:#a8e49f}
@media(max-width:1180px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-heading{grid-template-columns:minmax(0,1fr) 130px}.hero-month{grid-column:1/-1;width:max-content}.hero-coin{width:120px;height:120px}.hero-coin img{width:96px;height:96px}}
@media(max-width:760px){.sidebar{margin:0;border-radius:0;min-height:auto;height:auto;position:static;border-width:0 0 1px}.sidebar nav{padding-bottom:3px}.topbar{margin:0;border-radius:0;border-width:0 0 1px}.content{padding:20px 14px 36px}.page-heading{padding:22px}.hero-heading{display:flex;min-height:0}.hero-coin{position:absolute;right:8px;top:8px;opacity:.17}.hero-month{width:100%}.stats{grid-template-columns:1fr}.login-card{padding:24px}}

/* ===== Soft-white Organic Green theme override ===== */
:root{
  --ink:#243B2F;--muted-green:#53734B;--green:#53734B;--deep-green:#243B2F;
  --bg:#F7F8F3;--bg-2:#F2F5ED;--panel:#FFFFFF;--panel-2:#F5F7EF;--panel-3:#EEF3E8;
  --line:#D7E0D0;--line-soft:#E5EADF;--glow:#6EDB7A;--success:#43C965;
  --shadow:0 14px 38px rgba(36,59,47,.09);
  color:var(--ink);background:var(--bg)
}
body{background:linear-gradient(180deg,#FBFCF8 0%,#F5F7EF 100%);color:var(--ink)}
.app-shell{background:transparent}
.sidebar{background:linear-gradient(180deg,#FFFFFF,#F5F7EF);border-color:var(--line);box-shadow:var(--shadow)}
.sidebar .brand,.brand-name{color:var(--deep-green)}.brand-logo{filter:drop-shadow(0 5px 12px rgba(83,115,75,.15))}
.side-section,.eyebrow{color:#6D8069}.sidebar nav a{color:#526452}.sidebar nav a:hover{background:#EEF3E8;border-color:#CAD8C3;color:#243B2F}.sidebar nav a.active{background:linear-gradient(90deg,#E4EEDD,#F3F7EF);border-color:#B7C9A8;color:#243B2F;box-shadow:inset 3px 0 0 #58C96A}.subnav{border-left-color:#D4DFCE!important}.sidebar-bottom{border-top-color:#DCE5D7;color:#243B2F}.avatar{background:#E3EDDD;color:#365A3D;border-color:#B7C9A8}.sidebar-bottom small{color:#7A8C77}
.topbar{background:rgba(255,255,255,.92);border-color:var(--line);color:#405441;box-shadow:0 8px 25px rgba(36,59,47,.05)}.topbar .crumb{color:#82917E}.topbar a{color:#365D3C;border-color:#B9CDB2;background:#F5F8F1}.topbar a:hover{background:#EDF5E9;border-color:#75C780;box-shadow:0 0 16px rgba(88,201,106,.16)}
.page-heading{background:linear-gradient(135deg,#FFFFFF 0%,#F5F7EF 62%,#EAF1E5 100%);border-color:#D3DFCD;box-shadow:var(--shadow)}.page-heading:before{background:radial-gradient(circle at 78% 10%,rgba(83,115,75,.10),transparent 30%)}.page-heading h1{color:#243B2F}.muted{color:#71816D}.month-picker{background:#fff;border-color:#D5DFD0;color:#243B2F}.month-picker button{background:#EDF3E9;color:#3F6144}.month-picker button:hover{background:#DFEBDD;color:#243B2F}.hero-coin img{filter:drop-shadow(0 14px 18px rgba(36,59,47,.18)) drop-shadow(0 0 15px rgba(88,201,106,.12))}.coin-halo{background:radial-gradient(circle,rgba(88,201,106,.13),rgba(183,201,168,.08) 48%,transparent 72%);box-shadow:0 0 45px rgba(88,201,106,.08)}
.preview-banner{background:#EEF5EA;border-color:#D1E0CB;color:#426348}.preview-banner span:last-child{color:#6D8069}.preview-dot{background:#58C96A;box-shadow:0 0 8px rgba(88,201,106,.4)}
.stat{background:#fff;border-color:#DCE4D8;box-shadow:0 10px 30px rgba(36,59,47,.06)}.stat>span{color:#71816D}.stat strong{color:#243B2F}.stat small{color:#899685}.stat-link:hover{border-color:#B7C9A8;box-shadow:0 14px 34px rgba(36,59,47,.10),0 0 16px rgba(88,201,106,.06)}
.section h2{color:#243B2F}.paycheck-card,.paycheck-card:nth-child(2),.paycheck-card:nth-child(3){background:linear-gradient(145deg,#FFFFFF,#F2F6EE);color:#243B2F;border-color:#D4DFCE;box-shadow:0 12px 30px rgba(36,59,47,.07)}.paycheck-card:nth-child(2){background:linear-gradient(145deg,#FAFCF7,#EAF2E5)}.paycheck-card:nth-child(3){background:linear-gradient(145deg,#F7FAF4,#E4EEDF)}.paycheck-top{color:#62775F}.paycheck-card p,.paycheck-bottom,.paycheck-income,.income-card-lines,.paycheck-remain,.income-card-remain{color:#71816D}.paycheck-card strong,.paycheck-income b,.income-card-lines b{color:#243B2F}.paycheck-bottom{border-top-color:#DCE5D7}
.table-scroll{background:#fff;border-color:#DCE4D8;box-shadow:0 12px 30px rgba(36,59,47,.06)}table{color:#405441}th{background:#F5F7EF;color:#657662}th,td{border-bottom-color:#E5EADF}td{color:#5E705C}.payee,.amount,.payee-button{color:#243B2F}.payee-button{text-decoration-color:#B7C9A8}.payee-button:hover{color:#48734E}.column-filters th{background:#FAFBF7;border-top-color:#DCE4D8}.column-filters input,.column-filters select,.fund-filter-row input,.fund-filter-row select,.bill-controls input,.bill-controls select,.search-label input,.override-grid input,.override-grid select{background:#fff;border-color:#CED9C8;color:#304832;outline-color:#58C96A}input::placeholder{color:#98A493}
.button{border-color:#AFC5A8}.primary{background:#FFFFFF;color:#243B2F;border-color:#58C96A;box-shadow:0 0 0 1px rgba(88,201,106,.08),0 0 18px rgba(88,201,106,.22)}.primary:hover{background:#F3F9F0;border-color:#43C965;box-shadow:0 0 24px rgba(88,201,106,.30)}.secondary{background:#EDF3E9;color:#365D3C;border-color:#C6D5C0}.secondary:hover{background:#E2ECDE;border-color:#AFC5A8}.clear-filters,.detail a,.demo-link{color:#477A4E}.pill{background:#E6F0E1;color:#365D3C}.check-label input{accent-color:#43C965}
.fund-filter-row,.quarterly-saved-summary{background:#F7F9F4!important;border-color:#DCE4D8!important}.fund-filter-row label{color:#71816D}.result-count{color:#7A8976}.empty{background:#fff;color:#7A8976}.cloud-status,.cloud-import{background:#EEF3E8;color:#405441}.override-badge{background:#E8F1E3;color:#426348;border-color:#C5D7BE}.override-grid label{color:#657662}
.bill-dialog{background:#fff;color:#243B2F;border-color:#D2DDCC;box-shadow:0 30px 90px rgba(36,59,47,.24)}.bill-dialog::backdrop{background:rgba(36,59,47,.35)}.dialog-head{border-bottom-color:#E1E8DD}.dialog-head h2{color:#243B2F}.close-button{background:#EEF3E8;color:#526452}.detail{border-bottom-color:#E5EADF}.detail span{color:#7A8976}.detail strong{color:#243B2F}
footer{color:#7B8B77}.login-page{background:#F7F8F3}.login-aside{background:linear-gradient(145deg,#F5F7EF,#E6EFE1);color:#243B2F;border-right:1px solid #D7E0D0}.aside-copy .eyebrow{color:#53734B}.aside-copy h1,.login-card h2{color:#243B2F}.aside-copy p,.aside-foot{color:#667862}.login-content{background:#FBFCF8}.login-card{background:#fff;border-color:#D7E0D0;box-shadow:var(--shadow)}.login-card input{background:#fff;border-color:#CBD7C5;color:#243B2F;outline-color:#58C96A}.password-wrap button{color:#477A4E}

/* ===== Site-wide spacing and margin refinement ===== */
@media (min-width: 761px){
  .app-shell{grid-template-columns:242px minmax(0,1fr);column-gap:0}
  .sidebar{margin:14px 0 14px 14px;min-height:calc(100vh - 28px);height:calc(100vh - 28px)}
  .topbar{margin:14px 18px 0 22px;padding-left:28px;padding-right:28px}
  .content{max-width:1540px;margin:0 auto;padding:36px 46px 52px}
  .page-heading{padding:28px 32px}
  .section{margin-top:42px}
  .section-head{margin-bottom:20px}
  .stats,.paycheck-grid{gap:20px}
  .stat,.paycheck-card{padding:24px 26px}
  .table-scroll{margin-top:4px}
  th,td{padding-left:20px;padding-right:20px}
  .column-filters th{padding:9px 7px}
  .fund-filter-row{padding:14px 16px;gap:12px;margin-bottom:20px}
  .bill-controls{gap:12px;margin-bottom:20px}

  /* Native dialogs are centered in the usable content area, not under the sidebar. */
  .bill-dialog{position:fixed;left:242px;right:0;margin:auto}
  .dialog-head{padding:28px 32px}
  .detail-grid{padding:14px 32px 24px;gap:0 28px}
  .dialog-actions{padding:20px 32px 28px}
  .payment-section,.override-section{padding-left:32px!important;padding-right:32px!important}
}

/* Consistent breathing room inside forms and editing surfaces. */
.bill-dialog form{min-width:0}
.override-heading{margin-bottom:16px}
.override-grid{gap:14px 16px}
.override-grid label{gap:8px}
.override-grid input,.override-grid select{padding:11px 13px}
.override-actions{margin-top:16px}
.detail{padding:16px 0}

@media (max-width: 1050px) and (min-width:761px){
  .app-shell{grid-template-columns:210px minmax(0,1fr)}
  .content{padding:30px 30px 44px}
  .topbar{margin-left:18px;margin-right:14px}
  .bill-dialog{left:210px;width:min(620px,calc(100vw - 238px))}
}

@media (max-width:760px){
  .content{padding:24px 18px 40px}
  .page-heading{padding:22px 20px}
  .section{margin-top:32px}
  .section-head{margin-bottom:16px}
  .table-scroll{border-radius:12px}
  .bill-dialog{left:0;right:0;margin:auto;width:calc(100vw - 24px)}
  .dialog-head{padding:22px 20px}
  .detail-grid{padding:10px 20px 18px}
  .dialog-actions{padding:16px 20px 22px}
  .payment-section,.override-section{padding-left:20px!important;padding-right:20px!important}
}
