*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#213e35;font-family:'DM Sans',Arial,sans-serif;font-size:15px}main{max-width:1180px;margin:auto;padding:30px 36px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce2d9;padding-bottom:25px}.brand{display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:2px}.logo{background:#183f33;color:#fff;border-radius:14px;padding:10px 15px;font-size:24px}.brand small{font-size:10px;letter-spacing:2px}.private{font-size:12px;background:#e8ede4;border-radius:30px;padding:8px 14px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px 0 20px}h1{font-family:Manrope,Arial,sans-serif;font-size:38px;letter-spacing:-1.8px;margin:8px 0 14px;font-weight:800}p{color:#738077;line-height:1.55;margin:8px 0 18px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:#75887a}.month{min-width:165px}nav{display:flex;gap:8px;border-bottom:1px solid #dce2d9;padding-bottom:12px}button{font:inherit;cursor:pointer;border:1px solid #cbd6cc;background:#fff;color:#244c3c;border-radius:9px;padding:11px 18px;font-weight:600;min-height:44px}nav button{background:transparent;border:0}nav button.active{background:#193f33;color:white}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(.95)}.status{height:36px;padding:8px 0;font-size:12px;color:#956224}.metrics{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin-bottom:26px}.metrics article{background:#fff;padding:25px;border-radius:17px;border:1px solid #e3e7df}.metrics .hero{background:#1c493a;color:#fff;border:0}.hero p{color:#afc7b7}.metrics h2{font-size:30px;margin:18px 0 10px;letter-spacing:-1px}.metrics small{font-size:10px;letter-spacing:1.6px}.metrics em{font-style:normal;font-size:12px;letter-spacing:0;color:#7e897e}.metrics p{font-size:12px;margin-bottom:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid #e1e6dd;border-radius:17px;padding:28px;margin-bottom:24px}.panel h2{font-family:Manrope,Arial,sans-serif;font-size:21px;margin:0 0 7px;letter-spacing:-.6px}.panel p{font-size:13px}.panel h3{font-size:25px;margin:18px 0}.panel form{display:grid;gap:13px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}input,select{font:inherit;font-size:16px;padding:12px;border:1px solid #dce2d9;border-radius:8px;background:#fafbf8;color:#264439;width:100%;min-width:0;min-height:46px}input:focus,select:focus{outline:2px solid #72ac8d;outline-offset:1px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{background:#214e3b;color:#fff;border:0}.panel form small,.fine{font-size:11px;color:#879184;line-height:1.6}small{display:block;font-weight:400;margin-top:4px} .donut{width:216px;height:216px;margin:28px auto;border-radius:50%;display:grid;place-items:center}.donut>div{width:158px;height:158px;border-radius:50%;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.donut strong{font-size:28px}.donut small{color:#839183}.legend{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef0ea;font-size:12px}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:9px;height:9px;border-radius:50%}.legend b{text-align:right}.legend small{font-size:10px;color:#7a877c}.empty{text-align:center;padding:20px;color:#8a958b}.row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e9ede6;padding:16px 0}.row>div:last-child{text-align:right}.row small,.holding small{font-size:11px;color:#809084;line-height:1.5}.text{border:0;padding:0;background:transparent;min-height:30px;font-size:11px;color:#9b635c}.up{color:#168367}.down{color:#b56b58}.accounts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.accounts .panel{padding:22px}.gold{background:#6d5731!important}.holding{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:15px;padding:20px 0;border-top:1px solid #e9ede6}.holding b{font-size:14px}.panel>button{margin:8px 8px 8px 0}a{color:#287351}footer{padding:18px 0;display:flex;justify-content:space-between;border-top:1px solid #dce2d9;font-size:10px;letter-spacing:1px;color:#839082}footer span{letter-spacing:0} @media(max-width:760px){main{padding:20px 16px 85px}header{padding-bottom:18px}.private{font-size:10px}.intro{display:block;padding:24px 0 12px}h1{font-size:30px}.month{max-width:190px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics article:first-child{grid-column:1/-1}.metrics article{padding:20px}.metrics h2{font-size:24px}.two,.accounts{grid-template-columns:1fr;gap:0}.panel{padding:22px}.holding{grid-template-columns:1fr 1fr}nav{position:sticky;top:0;z-index:2;background:#f5f6f2;padding:10px 0;justify-content:space-between}nav button{padding:10px;font-size:13px}.row strong{font-size:13px}.row b{font-size:13px}footer{font-size:9px}}

.budgethead,.budgetline{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:center}.budgethead{font-size:12px;padding:12px 0}.comparison{padding:16px 0}.bar{height:9px;background:#eef1e9;border-radius:8px;overflow:hidden;margin:7px 0}.bar i{display:block;height:100%;border-radius:8px}.barlabel{display:flex;justify-content:space-between;font-size:11px;color:#7b8a7d}@media(max-width:760px){.budgethead,.budgetline{gap:7px;grid-template-columns:1.1fr .8fr 1.2fr}.budgetline input{font-size:13px;padding:8px}.budgetline label{font-size:11px}nav button{padding:10px 6px;font-size:12px}}
nav{overflow-x:auto;justify-content:flex-start}nav button{white-space:nowrap;flex-shrink:0}
.price-table{overflow:auto}.price-table table{width:100%;border-collapse:collapse;font-size:12px}.price-table th,.price-table td{text-align:right;padding:10px;border-bottom:1px solid #e9ede6}.price-table th:first-child,.price-table td:first-child{text-align:left}.holding button{margin:6px 5px 0 0}
summary{cursor:pointer;font-weight:600;padding:10px 0;min-height:44px}details form{margin-top:12px}.accounthead{display:flex;justify-content:space-between;align-items:center;position:relative;gap:8px}.accountmenu summary{list-style:none;letter-spacing:2px;padding:8px}.accountmenu[open]{position:absolute;right:0;top:0;background:#fff;border:1px solid #dce2d9;border-radius:12px;padding:12px;width:270px;z-index:5;box-shadow:0 10px 40px #23453522}.accountmenu[open] summary{text-align:right}.categoryedit{grid-template-columns:1fr auto auto!important;gap:8px!important;margin-bottom:10px}.categoryedit button{padding:9px 12px}@media(max-width:760px){.categoryedit{grid-template-columns:1fr 1fr!important}.categoryedit input{grid-column:1/-1}.accountmenu[open]{width:260px}}
.tabsave{display:flex;align-items:center;gap:16px;padding-top:15px}.tabsave span{font-size:12px;color:#7b8b7d}.saved{color:#177b57;font-weight:700}.status{height:auto;min-height:36px}.bar{height:12px}@media(max-width:760px){.tabsave{gap:10px}.tabsave span{font-size:10px}.tabsave button{white-space:nowrap;font-size:13px}}
.chartfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0 14px}@media(max-width:760px){.chartfilters{grid-template-columns:1fr 1fr}.chartfilters label:last-child:nth-child(3){grid-column:1/-1}}
.paydetails{margin-top:10px;text-align:left;max-width:300px;width:280px}.paydetails summary{color:#25613f}.schedule-row>div:last-child{text-align:left;flex-shrink:0}@media(max-width:760px){.schedule-row{flex-direction:column}.paydetails{width:100%;max-width:none}.schedule-row>div:last-child{width:100%}}
.investments{font-family:Arial,sans-serif}.investment-preview{background:#edf3eb;border-radius:10px;padding:16px;margin:10px 0}.investment-preview small{line-height:1.7}.investment-item{border-top:1px solid #e3e9df;padding:18px 0}.investment-item h3{margin:0 0 10px}.investments .row>div:last-child{text-align:right}.investments .paydetails{text-align:right}.investments input[type=date]{direction:ltr}.investments .fine{line-height:1.8}
.overview-choice{display:flex;align-items:center;gap:12px;margin:12px 0}.overview-choice input{width:20px;height:20px}

.overview-accounts{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin-bottom:18px}.overview-accounts .panel{padding:14px 16px;margin-bottom:0;border-radius:12px;min-width:0}.overview-accounts .panel h3{font-size:16px;margin:8px 0;overflow-wrap:anywhere}.overview-accounts .panel h2{font-size:20px;letter-spacing:-.4px;margin:0}.overview-accounts .panel>small{font-size:10px}.account-fx{font-size:11px;color:#738077;line-height:1.5;margin-top:8px}@media(max-width:760px){.overview-accounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-accounts .panel{padding:12px}.overview-accounts .panel h2{font-size:18px;overflow-wrap:anywhere}}

.compact-accounts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:20px}.compact-accounts .panel{padding:14px 16px;margin-bottom:0;border-radius:12px;min-width:0}.compact-accounts .panel h2{font-size:16px;margin:6px 0;overflow-wrap:anywhere}.compact-accounts .panel h3{font-size:20px;margin:8px 0;overflow-wrap:anywhere}.compact-accounts .panel>p{font-size:12px;margin:6px 0}.compact-accounts .eyebrow{font-size:9px;letter-spacing:1px;margin:0}.compact-accounts .accounthead{align-items:flex-start}.compact-accounts .account-fx{font-size:10px}@media(max-width:760px){.compact-accounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-accounts .panel{padding:12px}.compact-accounts .panel h3{font-size:18px}.compact-accounts .accountmenu[open]{width:min(260px,calc(100vw - 40px))}.compact-accounts .panel:nth-child(odd) .accountmenu[open]{left:0;right:auto}}

.collapsible-section{position:relative}.collapsible-section>.section-toggle{position:absolute;right:6px;top:6px;display:flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:7px;margin:0;border:0;background:transparent;color:inherit;z-index:1}.section-toggle:focus-visible{outline:2px solid #72ac8d;outline-offset:1px}.collapsed-title{font-weight:600;padding-right:34px;overflow-wrap:anywhere}.collapsible-section.is-collapsed{display:block!important;min-height:48px;padding:14px 16px!important;margin-bottom:16px}.metrics .collapsible-section.is-collapsed{margin-bottom:0}.collapsible-section.accounts.is-collapsed,.collapsible-section.metrics.is-collapsed{background:#fff;border:1px solid #e1e6dd;border-radius:12px}.collapsible-section .accounthead{padding-right:25px}.collapsible-section>div>h2:first-child,.collapsible-section>div>h3:first-child{padding-right:24px}.metrics .hero>.section-toggle{color:#fff}
.metrics.collapsible-section{padding-top:38px}.metrics.collapsible-section.is-collapsed{padding-top:14px!important}.panel>div>button:not(.section-toggle){margin:8px 8px 8px 0}.compact-accounts .collapsible-section .accounthead{padding-right:30px}

.chart-canvas{height:300px;width:100%;min-width:0;margin:20px 0}.chart-controls h2{margin-bottom:16px}.visa-usage{height:24px;border-radius:12px;background:#d8e9de;overflow:hidden;margin:20px 0}.visa-usage>div{height:100%;background:#d46d72}.chart-canvas .recharts-wrapper{font-size:12px}@media(max-width:760px){.chart-canvas{height:260px}}

.gold-owner-summary .gold-summary-total{font-size:24px;font-weight:700;color:#6d5731;margin:12px 0 4px}.gold-summary-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e9ede6;padding:14px 0}.gold-summary-row:first-of-type{margin-top:14px}.gold-summary-row b{font-size:14px;text-align:right}.gold-summary-row small{font-size:11px;color:#809084}.gold-owner-summary>div>h2:first-child{padding-right:28px}

@media(max-width:760px){main.payment-page{padding:12px 14px 16px}.payment-page header{padding-bottom:10px}.payment-page .logo{font-size:18px;padding:7px 11px;border-radius:10px}.payment-page .brand{gap:9px;font-size:13px}.payment-page .brand small{font-size:8px}.payment-page .intro,.payment-page .tabsave,.payment-page footer{display:none}.payment-page nav{position:static;padding:8px 0;min-height:52px}.payment-page nav button{min-height:40px;padding:8px 10px}.payment-page .status{font-size:11px;padding:5px 0;min-height:25px}.payment-page .payment-panel{padding:16px;margin:0;border-radius:12px}.payment-page .payment-panel h2{font-size:20px;margin:0 0 12px}.payment-page .payment-panel>div>p{display:none}.payment-page .payment-panel form{gap:10px}.payment-page .payment-panel label{gap:5px;font-size:11px}.payment-page .payment-panel input:not([type=hidden]),.payment-page .payment-panel select{min-height:44px;padding:9px;font-size:16px}.payment-page .payment-panel .pair{gap:10px}.payment-page .payment-panel form>small{font-size:10px;line-height:1.4;margin-top:0}.payment-page .payment-panel form>button{min-height:44px;padding:10px;margin:2px 0 0}.payment-page .private{padding:6px 10px;font-size:9px}}

.payment-activity-summary{margin-top:14px}.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payment-summary-grid small{font-size:9px;color:#738077}.payment-summary-grid strong{display:block;font-size:17px;margin-top:5px;overflow-wrap:anywhere}@media(max-width:760px){.payment-page .payment-activity-summary{padding:12px 14px;margin:10px 0 0;border-radius:12px}.payment-page .payment-activity-summary h2{font-size:15px;margin-bottom:10px}.payment-page .payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payment-page .payment-summary-grid strong{font-size:16px;margin-top:2px}.payment-page .payment-summary-grid small{font-size:8px;margin-top:0}}

.bank-activity-row{display:flex;align-items:center;gap:9px;border-top:1px solid #e9ede6;padding:10px 0}.bank-activity-icon{width:30px;height:30px;display:grid;place-items:center;background:#f5e7e2;color:#a75d4f;border-radius:50%;flex-shrink:0}.bank-activity-icon.incoming{background:#e2f1e9;color:#168367}.bank-activity-description{flex:1;min-width:0}.bank-activity-description strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-activity-row small{font-size:9px;color:#738077}.bank-activity-amount{text-align:right;font-size:13px}.activity-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.activity-pagination button{min-height:32px;padding:5px 10px;font-size:11px}
@media(max-width:1024px){main.payment-page{padding:8px 12px 10px}.payment-page .intro,.payment-page .tabsave,.payment-page footer{display:none}.payment-page header{padding-bottom:7px}.payment-page .logo{font-size:17px;padding:6px 10px}.payment-page nav{padding:6px 0;min-height:44px}.payment-page nav button{min-height:36px;padding:7px 9px}.payment-page .status{min-height:20px;padding:3px 0;font-size:10px}.payment-page .payment-panel{padding:12px;margin:0}.payment-page .payment-panel h2{font-size:18px;margin-bottom:8px}.payment-page .payment-panel>div>p,.payment-page .payment-panel form>small{display:none}.payment-page .payment-panel form{gap:7px}.payment-page .payment-panel label{font-size:11px;gap:4px}.payment-page .payment-panel input:not([type=hidden]),.payment-page .payment-panel select{font-size:16px;min-height:42px;height:42px;padding:8px}.payment-page .payment-panel form>button{min-height:42px;padding:8px}.payment-page .payment-activity-summary{padding:10px 12px;margin:8px 0 0}.payment-page .payment-activity-summary h2{font-size:15px;margin-bottom:8px}.payment-page .payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}.payment-page .payment-summary-grid strong{font-size:13px}.payment-page .payment-summary-grid small{font-size:7px;line-height:1.4}.payment-page .bank-activity-row{padding:7px 0}}

.payment-page .payment-panel form>.payment-balance,.payment-page .payment-panel form>.repeat-hint{display:block!important;color:#287351;font-size:10px}.activity-search{margin:10px 0 0}.activity-filters summary{font-size:11px;padding:6px 0;min-height:30px}.activity-actions{display:flex;justify-content:flex-end;gap:8px}.activity-actions button{font-size:10px;padding:4px 9px;min-height:28px}.edit-transaction{margin-top:14px;padding:12px;border:1px solid #dce2d9;border-radius:10px}.edit-transaction h3{font-size:16px;margin:0 0 10px}.backup-reminder{background:#edf3eb;padding:12px;border-radius:10px;margin:10px 0}.backup-reminder p{margin:6px 0;font-size:11px}.backup-reminder small{font-size:10px}.price-health{font-size:11px!important;background:#f2f5ef;padding:8px;border-radius:8px}.gold-owner-gain{font-size:12px!important;font-weight:600}
@media(max-width:1024px){main{padding:10px 12px 24px}header{padding-bottom:8px}.logo{font-size:18px;padding:7px 11px;border-radius:10px}.brand{font-size:13px;gap:9px}.brand small{font-size:8px}.private{font-size:9px;padding:6px 10px}.intro{padding:10px 0;display:flex;align-items:center;gap:10px}.intro .eyebrow,.intro>div>p:not(.eyebrow){display:none}.intro h1{font-size:20px;letter-spacing:-.6px;margin:0}.intro .month{min-width:130px;width:140px;font-size:10px}.intro .month input{min-height:38px;padding:7px;font-size:14px}nav{padding:6px 0}nav button{min-height:36px;padding:7px 9px;font-size:12px}.tabsave{padding-top:8px;gap:10px}.tabsave button{padding:7px 12px;min-height:36px;font-size:12px}.tabsave span{font-size:9px}.status{min-height:24px;padding:4px 0;font-size:10px}.panel{padding:14px;margin-bottom:12px;border-radius:12px}.panel h2{font-size:17px}.panel h3{font-size:19px;margin:10px 0}.panel p{font-size:12px;margin:7px 0 10px}.panel form{gap:9px}label{font-size:11px;gap:5px}input,select{min-height:42px;padding:8px;font-size:16px}.metrics{gap:10px;margin-bottom:14px}.metrics article{padding:14px}.metrics h2{font-size:23px;margin:10px 0 5px}.metrics p{font-size:11px}.metrics small{font-size:9px}.two{gap:12px}.holding{gap:10px;padding:12px 0}.row{padding:11px 0}.panel button{font-size:12px}.collapsible-section.is-collapsed{min-height:44px;padding:12px 14px!important;margin-bottom:12px}.chart-canvas{height:250px}.gold-owner-summary .gold-summary-total{font-size:21px}.gold-summary-row{padding:10px 0}.accountmenu[open]{z-index:6}}

.debt-item{border-top:1px solid #e9ede6;margin-top:12px;padding-top:5px}.debt-item details{margin:6px 0}.debt-item summary{font-size:12px}.debt-item .row{border:0}

/* Keep one clear expand/collapse arrow on native details sections. */
details:not(.accountmenu)>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
details:not(.accountmenu)>summary::-webkit-details-marker{display:none}
details:not(.accountmenu)>summary::marker{content:''}
details:not(.accountmenu)>summary::after{content:'›';display:inline-block;flex:0 0 auto;font-size:20px;line-height:1;transform:rotate(90deg);transition:transform .15s ease}
details:not(.accountmenu)[open]>summary::after{transform:rotate(-90deg)}

.money-gate{max-width:480px;margin:8vh auto;padding:28px}.money-gate .brand{margin-bottom:35px}.money-gate h1{margin:20px 0}.money-gate form{margin:24px 0}.money-gate>button{width:100%;margin:10px 0}.security-error{color:#a52c33!important;line-height:1.6}.money-security-bar{max-width:1180px;margin:auto;padding:12px 36px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.money-security-bar button{font-size:12px}.money-offline-status{font-size:12px;color:#587266}.security-actions{display:flex;flex-wrap:wrap;gap:8px}.security-panel{grid-column:1/-1}.security-panel form{max-width:450px}@media(max-width:760px){.money-security-bar{padding:12px 16px 0}.money-gate{margin:4vh auto}.security-panel{grid-column:auto}}
