:root{--ink:#172523;--muted:#6d7a77;--line:#dde5e2;--paper:#f5f7f4;--white:#fff;--forest:#123f38;--forest-2:#1b5b50;--mint:#dcefe7;--lime:#b9d86f;--terracotta:#c96d50;--sand:#eee8dd;--shadow:0 12px 34px rgba(25,54,48,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#0d302b;color:#eef8f3;padding:28px 18px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 26px}.brand-mark{width:40px;height:40px;border:1px solid #78948d;border-radius:13px;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;color:#d6eaa7}.brand strong{display:block;font:600 20px Georgia,serif}.brand span,.profile span{display:block;color:#9ab0aa;font-size:11px;margin-top:2px}.home-switcher{border-top:1px solid #315049;border-bottom:1px solid #315049;padding:18px 8px;margin-bottom:18px}.home-switcher>span{color:#91a9a3;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.home-switcher button{width:100%;display:flex;justify-content:space-between;background:none;border:0;color:white;padding:8px 0 0;text-align:left}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#b9cbc6;border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:12px;text-align:left;width:100%}.nav-item span{width:20px;text-align:center;font-size:17px}.nav-item:hover,.nav-item.active{background:#214c45;color:#fff}.sidebar-footer{margin-top:auto}.profile{border-top:1px solid #315049;margin-top:12px;padding:18px 8px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#dbeab4;color:#21433c;display:grid;place-items:center;font-weight:700;font-size:12px}.profile strong{font-size:13px}main{min-width:0}.topbar{height:91px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.topbar-copy{flex:1}.topbar-copy span,.section-label{font-size:10px;color:#7b8885;letter-spacing:.14em;font-weight:700}.topbar h1{margin:3px 0 0;font:600 24px Georgia,serif}.topbar-actions{display:flex;gap:10px}.primary-button,.ghost-button,.wide-button{border-radius:9px;padding:11px 16px;border:1px solid var(--forest);font-weight:650}.primary-button{background:var(--forest);color:white}.primary-button:hover{background:var(--forest-2)}.ghost-button{background:white;color:var(--ink);border-color:var(--line)}.wide-button{width:100%;background:white;border-color:var(--line);color:var(--forest)}.menu-button{display:none;background:none;border:0;font-size:22px;margin-right:14px}.view{display:none;padding:30px 34px 50px}.view.active{display:block}.welcome-row,.section-toolbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.welcome-row h2,.section-toolbar h2,.empty-view h2{font:600 28px Georgia,serif;margin:0 0 5px}.welcome-row p,.section-toolbar p,.empty-view p{margin:0;color:var(--muted)}.period-control{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:7px;border-radius:10px}.period-control button,.icon-button,.close-button{border:0;background:transparent}.period-control button{font-size:20px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card{background:white;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:0 5px 16px rgba(34,55,50,.03)}.metric-card.dark{background:var(--forest);color:white;border-color:var(--forest)}.metric-card span{font-size:12px;color:var(--muted)}.metric-card.dark span,.metric-card.dark small{color:#bdd0cb}.metric-card strong{display:block;font:600 27px Georgia,serif;margin:12px 0 8px}.metric-card small{color:var(--muted)}.metric-card small b{color:#68a886}.metric-card small .warning{color:var(--terracotta)}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:18px}.panel h3{font:600 20px Georgia,serif;margin:4px 0 0}.text-button{border:0;background:transparent;color:var(--forest);font-weight:650;padding:4px}.chart{height:220px;display:flex;padding-top:12px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;color:#98a39f;font-size:10px;padding-bottom:22px}.chart-bars{flex:1;border-bottom:1px solid var(--line);margin-left:12px;display:flex;gap:13px;justify-content:space-around;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(33.33% - 1px),#eef2f0 33.33%)}.bar-group{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center}.bar-group>div{width:100%;height:calc(100% - 23px);display:flex;align-items:end;justify-content:center;gap:4px}.bar-group i{display:block;width:12px;background:#d4ddd9;border-radius:5px 5px 0 0}.bar-group i+ i{background:var(--forest)}.bar-group.current i{background:#d9a48e}.bar-group.current i+i{background:#1d6659}.bar-group span{font-size:11px;color:var(--muted);margin-top:8px}.chart-legend{display:flex;gap:18px;justify-content:center;margin-top:12px;font-size:11px;color:var(--muted)}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.expense-dot{background:#d4ddd9}.income-dot{background:var(--forest)}.budget-list{display:grid;gap:16px;margin-bottom:21px}.budget-row>div:first-child{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.budget-row strong{font-size:12px}.progress{height:7px;background:#edf1ef;border-radius:20px;overflow:hidden}.progress i{height:100%;display:block;background:var(--forest);border-radius:20px}.progress i.alert{background:var(--terracotta)}.activity-panel,.remittance-card{min-height:300px}.transaction-list{display:grid}.transaction-item{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf1ef}.transaction-item:first-child{border-top:0}.transaction-icon{width:38px;height:38px;border-radius:11px;background:var(--sand);display:grid;place-items:center}.transaction-item strong,.transaction-item span{display:block;font-size:13px}.transaction-item small{display:block;color:var(--muted);margin-top:3px}.transaction-amount{text-align:right}.transaction-amount.income{color:#2c7969}.status-pill{font-size:11px;background:var(--mint);color:#226052;padding:6px 9px;border-radius:20px;font-weight:700}.remittance-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:20px 0}.remittance-route>div:last-child{text-align:right}.remittance-route span,.remittance-route small{display:block;color:var(--muted);font-size:11px}.remittance-route strong{display:block;font:600 22px Georgia,serif;margin:6px 0}.route-arrow{font-size:24px;color:var(--terracotta);text-align:center}.route-arrow small{margin-top:5px}.rate-row{border-top:1px solid var(--line);padding:13px 0 18px;display:flex;justify-content:space-between;font-size:12px}.toolbar-actions{display:flex;gap:10px}.toolbar-actions input,.toolbar-actions select,.form-grid input,.form-grid select,.route-box input,.route-box select{border:1px solid var(--line);background:white;border-radius:9px;padding:11px 12px;color:var(--ink)}.toolbar-actions input{min-width:250px}.table-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#f8faf8;padding:14px 16px}td{padding:15px 16px;border-top:1px solid #edf1ef;font-size:13px}td.amount{text-align:right;font-weight:700}.type-chip{display:inline-block;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:700;background:#f6e9e3;color:#9c523d}.type-chip.income{background:var(--mint);color:#286655}.info-banner{display:flex;gap:13px;background:#e7f1ed;border:1px solid #cfe2da;padding:15px;border-radius:12px;margin-bottom:16px}.info-banner>span{width:26px;height:26px;border-radius:50%;background:var(--forest);color:white;display:grid;place-items:center;font-family:Georgia,serif}.info-banner p{margin:3px 0 0;color:var(--muted);font-size:12px}.remittance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.remittance-summary article{background:white;border:1px solid var(--line);border-radius:12px;padding:17px}.remittance-summary span{color:var(--muted);font-size:11px}.remittance-summary strong{display:block;font:600 21px Georgia,serif;margin-top:8px}.empty-view{max-width:520px;margin:11vh auto;text-align:center;background:white;border:1px solid var(--line);border-radius:18px;padding:50px;box-shadow:var(--shadow)}.empty-view p{margin:10px 0 24px;line-height:1.6}.empty-icon{width:58px;height:58px;border-radius:17px;background:var(--mint);display:grid;place-items:center;margin:0 auto 18px;font-size:24px;color:var(--forest)}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(8,27,24,.58);z-index:20;padding:25px;overflow:auto}.modal-backdrop.open{display:grid;place-items:center}.modal{width:min(580px,100%);background:white;border-radius:18px;padding:25px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal.wide{width:min(780px,100%)}.modal-header{display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{font:600 25px Georgia,serif;margin:5px 0}.close-button{font-size:27px;color:var(--muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#edf2ef;border-radius:10px;padding:4px;margin-bottom:20px}.segmented input{display:none}.segmented span{display:block;text-align:center;padding:9px;border-radius:7px;font-size:13px;font-weight:700}.segmented input:checked+span{background:white;box-shadow:0 2px 7px rgba(0,0,0,.08);color:var(--forest)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.route-box label{font-size:11px;color:var(--muted);font-weight:650}.form-grid input,.form-grid select,.route-box input,.route-box select{display:block;width:100%;margin-top:6px}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.remittance-form-route{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:10px;margin-bottom:18px}.route-box{border:1px solid var(--line);background:#f8faf8;border-radius:12px;padding:15px}.route-box>span{font-size:9px;letter-spacing:.13em;color:var(--muted);font-weight:700}.amount-pair{display:grid;grid-template-columns:1.4fr .8fr;gap:8px;margin-top:12px}.route-symbol{text-align:center;font-size:25px;color:var(--terracotta)}.calculated-rate{background:#eef4f1;border-radius:10px;padding:12px 15px;display:flex;justify-content:space-between;margin-top:15px;font-size:12px}.toast{position:fixed;right:25px;bottom:25px;background:#123f38;color:white;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;z-index:30}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.metric-grid,.remittance-summary{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:220px 1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-270px;z-index:15;width:250px;transition:.25s}.sidebar.open{left:0}.menu-button{display:block}.topbar{padding:0 18px}.topbar-copy span{display:none}.topbar h1{font-size:20px}.topbar-actions .ghost-button{display:none}.primary-button{padding:10px 12px}.view{padding:22px 16px}.welcome-row,.section-toolbar{align-items:start;gap:15px;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:15px}.metric-card strong{font-size:22px}.toolbar-actions{width:100%;flex-direction:column}.toolbar-actions input{min-width:0;width:100%}.remittance-summary{grid-template-columns:1fr 1fr}.form-grid,.remittance-form-route{grid-template-columns:1fr}.route-symbol{transform:rotate(90deg)}.topbar-actions .primary-button{font-size:0}.topbar-actions .primary-button span{font-size:18px}.welcome-row h2{font-size:25px}}
@media(max-width:460px){.metric-grid,.remittance-summary{grid-template-columns:1fr}.panel{padding:17px}.period-control{width:100%;justify-content:space-between}.modal-backdrop{padding:10px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* Product configuration prototype */
.period-filter{display:flex;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.period-filter label{font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:750}.period-filter select,.period-filter input{display:block;margin-top:5px;border:0;background:#f3f6f4;border-radius:7px;padding:8px 10px;color:var(--ink);font-weight:650}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-title{display:flex;justify-content:space-between;gap:6px;align-items:start}.metric-title>span{line-height:1.35}.metric-title i{font-style:normal;width:17px;height:17px;flex:0 0 17px;border:1px solid #b9c5c1;border-radius:50%;display:grid;place-items:center;font:600 10px Georgia,serif;color:#7c8a86}.metric-card.dark .metric-title i{border-color:#63817a;color:#d6e7e2}.metric-grid.five .metric-card strong{font-size:23px}.recurring-list,.reserve-mini-list{display:grid;gap:10px}.recurring-entry,.reserve-mini{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-top:1px solid #edf1ef}.recurring-entry:first-child,.reserve-mini:first-child{border-top:0}.recurring-symbol,.reserve-symbol{width:36px;height:36px;border-radius:10px;background:#edf3f0;color:var(--forest);display:grid;place-items:center}.recurring-entry strong,.recurring-entry small,.reserve-mini strong,.reserve-mini small{display:block}.recurring-entry strong,.reserve-mini strong{font-size:13px}.recurring-entry small,.reserve-mini small{font-size:10px;color:var(--muted);margin-top:3px}.recurring-entry>strong,.reserve-mini>strong{text-align:right}.panel-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:12px;padding-top:14px;font-size:12px}.panel-total strong{font-size:14px}.account-summary,.reserve-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.account-summary{grid-template-columns:repeat(2,1fr)}.account-summary article,.reserve-summary article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.account-summary span,.reserve-summary span{color:var(--muted);font-size:11px}.account-summary strong,.reserve-summary strong{display:block;font:600 24px Georgia,serif;margin:9px 0 4px}.account-summary small{color:var(--muted)}.registry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.registry-panel,.settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow)}.registry-list{display:grid;gap:10px}.registry-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid #e6ece9;border-radius:11px;padding:13px}.registry-badge{width:40px;height:40px;border-radius:11px;background:var(--mint);display:grid;place-items:center;font-weight:800;color:var(--forest);font-size:12px}.registry-item strong,.registry-item small{display:block}.registry-item strong{font-size:13px}.registry-item small{font-size:10px;color:var(--muted);margin-top:4px}.registry-value{text-align:right}.registry-value strong{font:600 16px Georgia,serif}.registry-value small{font-size:9px}.registry-list.compact{margin-top:18px}.registry-list.compact .registry-item{grid-template-columns:34px 1fr auto;padding:10px}.registry-list.compact .registry-badge{width:32px;height:32px}.reserve-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reserve-card-item{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.reserve-card-item .reserve-head{display:flex;justify-content:space-between;align-items:start}.reserve-card-item h3{font:600 19px Georgia,serif;margin:3px 0}.reserve-card-item .reserve-amount{font:600 27px Georgia,serif;margin:23px 0 7px}.reserve-card-item>small{color:var(--muted)}.reserve-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);margin-top:17px;padding-top:15px}.reserve-stats span,.reserve-stats strong{display:block}.reserve-stats span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.reserve-stats strong{font-size:12px;margin-top:4px}.settings-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.settings-card.full{grid-column:1/-1}.settings-card h3{font:600 20px Georgia,serif;margin:4px 0 0}.inline-form{display:flex;gap:8px}.inline-form input,.stacked-form input,.stacked-form select{border:1px solid var(--line);border-radius:9px;padding:11px 12px;width:100%}.inline-form input{flex:1}.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.category-tag{display:flex;align-items:center;gap:7px;background:#edf3f0;color:#284e47;border-radius:22px;padding:7px 10px;font-size:11px}.category-tag button{border:0;background:transparent;color:#84938f;padding:0;font-size:15px}.stacked-form>label{display:block;font-size:11px;color:var(--muted);font-weight:650;margin-bottom:12px}.stacked-form .form-grid{margin-bottom:12px}.stacked-form .form-grid label{font-size:10px}.settings-copy{color:var(--muted);max-width:780px;line-height:1.6}.segmented.three{grid-template-columns:repeat(3,1fr)}.movement-help{background:#eef4f1;color:#46635d;border-radius:9px;padding:11px 13px;font-size:11px;margin-top:14px}.empty-message{padding:22px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:10px}.danger-link{border:0;background:transparent;color:#a65d49;font-size:10px}.owner-pill{display:inline-block;background:#f0ece3;color:#665d4e;border-radius:20px;padding:4px 7px;font-size:9px;font-weight:700}.transaction-item small{line-height:1.35}
@media(max-width:1250px){.metric-grid.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.registry-grid,.settings-grid{grid-template-columns:1fr}.settings-card.full{grid-column:auto}.reserve-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.period-filter{width:100%;align-items:stretch}.period-filter label{flex:1}.period-filter select,.period-filter input{width:100%}.metric-grid.five{grid-template-columns:1fr 1fr}.registry-grid,.reserve-cards{grid-template-columns:1fr}.account-summary,.reserve-summary{grid-template-columns:1fr 1fr}.settings-card{padding:17px}}
@media(max-width:460px){.metric-grid.five,.account-summary,.reserve-summary{grid-template-columns:1fr}.period-filter{flex-direction:column}.inline-form{flex-direction:column}.segmented.three{grid-template-columns:1fr}}

.metric-grid.seven{grid-template-columns:repeat(4,minmax(0,1fr))}.investment-metric{border-color:#c7d9d2;background:#f5faf7}.investment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.investment-summary article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.investment-summary span,.investment-summary small{color:var(--muted);font-size:11px}.investment-summary strong{display:block;font:600 23px Georgia,serif;margin:9px 0 4px}.positive-value{color:#287563!important}.negative-value{color:#a3523f!important}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.hidden-field{display:none!important}.disabled-field{opacity:.55}.remittance-purpose{margin-bottom:16px}.income-category{background:#e8f2ed;color:#236151}
@media(max-width:1250px){.metric-grid.seven{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.investment-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.metric-grid.seven{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.metric-grid.seven,.investment-summary{grid-template-columns:1fr}}

.settings-actions{display:flex;gap:10px;margin-top:18px}.product-registration{display:flex;flex-direction:column}.product-registration .settings-actions{align-self:flex-end}.currency-display{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.currency-display select{border:0;background:#f1f5f3;border-radius:6px;padding:5px 8px;color:var(--ink);font-weight:750}.investment-actions{align-items:stretch}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;margin:28px 0 12px}.portfolio-heading h2{font:600 25px Georgia,serif;margin:4px 0 0}.portfolio-heading select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;color:var(--ink)}.investment-groups{display:grid;gap:16px}.asset-group{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.asset-group>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line)}.asset-group-title{display:flex;align-items:center;gap:10px}.asset-group-title>span,.asset-identity>span{width:34px;height:34px;border-radius:9px;background:#f4ead3;color:#7d622a;display:grid;place-items:center;font-weight:800;font-size:11px}.asset-group-title h3{font:600 18px Georgia,serif;margin:0}.asset-group-title small{color:var(--muted)}.asset-group-stats{display:grid;grid-template-columns:repeat(4,auto);gap:28px;text-align:right}.asset-group-stats span,.asset-group-stats strong{display:block}.asset-group-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.asset-group-stats strong{font-size:12px;margin-top:4px}.asset-table-wrap{overflow:auto}.asset-group table{min-width:940px}.asset-identity{display:flex;align-items:center;gap:10px}.asset-identity strong,.asset-identity small{display:block}.return-chip{display:inline-flex;padding:5px 8px;border-radius:16px;font-size:10px;font-weight:750}.return-chip.up{color:#18745f;background:#e2f5ee}.return-chip.down{color:#a24637;background:#fae9e5}
.pending-value{color:var(--muted);font-size:.82rem;font-weight:700}
.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 12px;color:var(--ink);font:inherit;resize:vertical;min-height:82px}.field-hint{display:block;margin-top:6px;color:#87938f;font-size:9px;font-weight:500;line-height:1.35}
.settings-divider{height:1px;background:var(--line);margin:22px 0}.budget-settings-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.budget-settings-heading strong,.budget-settings-heading small{display:block}.budget-settings-heading small,.budget-settings-heading>span{color:var(--muted);font-size:10px;margin-top:4px}.budget-settings-list{display:grid;gap:9px}.budget-setting-row{display:grid;grid-template-columns:minmax(180px,1fr) 190px auto;align-items:end;gap:12px;border:1px solid #e6ece9;border-radius:11px;padding:12px 14px;background:#fafcfb}.budget-setting-row>div strong,.budget-setting-row>div small{display:block}.budget-setting-row>div strong{font-size:13px}.budget-setting-row>div small{color:var(--muted);font-size:9px;margin-top:4px}.budget-setting-row label{color:var(--muted);font-size:9px;font-weight:700}.budget-setting-row input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff}.budget-setting-row .ghost-button{padding:9px 12px}
.allocation-overview{grid-template-columns:repeat(4,1fr)}.allocation-overview,.allocation-plan-summary{display:grid;gap:8px;margin-bottom:18px}.allocation-plan-summary{grid-template-columns:repeat(3,1fr)}.allocation-overview>div,.allocation-plan-summary>div{border:1px solid var(--line);background:#f7faf8;border-radius:10px;padding:10px 12px}.allocation-overview span,.allocation-plan-summary span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.allocation-overview strong,.allocation-plan-summary strong{display:block;margin-top:5px;font-size:13px}.allocation-overview>div:last-child strong{color:var(--forest)}.allocation-plan-summary .over{background:#fff4ef;border-color:#efc7b7}.allocation-plan-summary .over strong{color:var(--terracotta)}.allocation-row>div:first-child{align-items:end}.allocation-row span b,.allocation-row span small{display:block}.allocation-row span small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:400;max-width:420px}.allocation-setting-row{grid-template-columns:minmax(230px,1fr) 145px 165px auto}.allocation-setting-row select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink)}.allocation-setting-name{position:relative;padding-top:20px}.allocation-kind{position:absolute;top:0;left:0;border-radius:12px;padding:3px 7px;font-size:8px!important;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.allocation-kind.expense{background:#f6e9e3;color:#9c523d}.allocation-kind.investment{background:#e6eee9;color:#245f53}.allocation-kind.reserve{background:#f5ecd4;color:#846622}.rollover-toggle{display:flex!important;align-items:center;gap:6px;margin-top:9px;color:var(--forest)!important;font-size:9px!important}.rollover-toggle input{width:auto!important;margin:0!important}.carryover-balance-label{display:grid!important;grid-template-columns:minmax(0,1fr) 95px;align-items:center;gap:8px;margin-top:7px;color:var(--muted)!important}.carryover-balance-label input{margin:0!important;padding:6px 8px!important}.carryover-balance-label.is-hidden{display:none!important}
.forecast-panel .panel-heading p{margin:5px 0 0;color:var(--muted);font-size:10px}.forecast-actions{display:flex;align-items:center;gap:8px}.compact-button{padding:8px 11px;font-size:11px}.forecast-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.forecast-summary>div{border:1px solid var(--line);border-radius:11px;padding:13px;background:#f8faf8}.forecast-summary span,.forecast-summary strong,.forecast-summary small{display:block}.forecast-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.forecast-summary strong{font:600 19px Georgia,serif;margin:7px 0 4px}.forecast-summary small{font-size:9px;color:var(--muted);line-height:1.35}.forecast-summary .negative{background:#fff4ef;border-color:#efc7b7}.forecast-summary .negative strong{color:var(--terracotta)}.forecast-breakdown{display:grid;gap:8px;margin-top:13px}.forecast-breakdown>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:8px;font-size:10px}.forecast-scenarios{border-top:1px solid var(--line);margin-top:15px;padding-top:14px}.forecast-scenarios-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:8px}.forecast-scenarios-heading strong,.forecast-scenarios-heading small{display:block}.forecast-scenarios-heading strong{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.forecast-scenarios-heading small{color:var(--muted);font-size:9px;margin-top:3px}.forecast-scenarios-heading>span{font:600 16px Georgia,serif}.forecast-scenario-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.forecast-scenario-row>div strong,.forecast-scenario-row>div small{display:block}.forecast-scenario-row>div strong{font-size:11px}.forecast-scenario-row>div small{font-size:9px;color:var(--muted);margin-top:3px}.forecast-scenario-row>span{font-weight:700;font-size:11px}.forecast-scenario-empty{border:1px dashed var(--line);border-radius:10px;padding:12px;color:var(--muted);font-size:10px;line-height:1.5}.recurring-income-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.recurring-income-summary span{border-radius:20px;background:#e8f1ed;color:#285f54;padding:6px 9px;font-size:9px;font-weight:750}
.dashboard-grid .spending-panel{grid-column:1/-1}.remittance-calculator{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:var(--shadow);margin-bottom:16px}.calculator-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.calculator-heading h3{font:600 22px Georgia,serif;margin:5px 0}.calculator-heading p{margin:0;color:var(--muted);font-size:12px}.simulation-pill{background:#f4ead3;color:#7d622a;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:750}.calculator-grid{display:grid;grid-template-columns:.8fr 1.15fr 1.2fr 1fr .75fr;gap:12px;align-items:end}.calculator-grid>label{color:var(--muted);font-size:10px;font-weight:700}.calculator-grid>label>input,.calculator-grid>label>select,.money-input,.rate-input{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:#fff;min-height:44px}.calculator-grid>label>input,.calculator-grid>label>select{padding:10px 11px}.money-input,.rate-input{display:flex;align-items:center;overflow:hidden}.money-input input,.rate-input input{min-width:0;flex:1;border:0;padding:10px 11px;background:transparent}.money-input select{border:0;border-left:1px solid var(--line);background:#f4f7f5;padding:10px 8px;font-weight:750}.rate-input{padding-left:10px;gap:5px}.rate-input span,.rate-input>b{white-space:nowrap;color:var(--ink);font-size:10px}.rate-input input{text-align:right;font-weight:750}.calculator-result{display:grid;grid-template-columns:1.3fr 1fr auto;gap:18px;align-items:center;background:#edf4f1;border-radius:12px;padding:16px 18px;margin-top:16px}.calculator-result span,.calculator-result small,.calculator-result strong{display:block}.calculator-result span{color:var(--muted);font-size:10px}.calculator-result strong{font:600 22px Georgia,serif;margin:5px 0}.calculator-result small{color:var(--muted);font-size:9px}
.automatic-quote{display:flex;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:#f4f7f5;padding:8px 11px;flex-direction:column;justify-content:center}.automatic-quote strong{color:var(--ink);font-size:11px}.automatic-quote small{color:var(--muted);font-size:8px;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.obligation-metric{border-color:#e6c5bb;background:#fff8f5}.obligation-metric strong{color:#a3523f}.protected-balance{border-color:#c7d9d2;background:#f5faf7}.account-summary.four{grid-template-columns:repeat(4,1fr)}.risk-banner{background:#fff0eb;border-color:#edc5b8}.risk-banner>span{background:#a3523f}.registry-panel.full{margin-top:18px}.card-finance-item{border:1px solid #e6ece9;border-radius:12px;padding:14px;background:#fafcfb}.card-finance-head{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}.card-finance-head strong,.card-finance-head small{display:block}.card-finance-head strong{font-size:13px}.card-finance-head small{font-size:9px;color:var(--muted);margin-top:4px}.card-finance-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 9px}.card-finance-values span,.card-finance-values strong{display:block}.card-finance-values span{font-size:9px;color:var(--muted)}.card-finance-values strong{font:600 16px Georgia,serif;margin-top:4px}.card-finance-item>small{display:block;color:var(--muted);font-size:9px;margin-top:7px}.invoice-status{display:inline-flex;width:max-content;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:750;background:#eef2f0;color:#50615d}.invoice-status.open{background:#f4ead3;color:#7d622a}.invoice-status.closed{background:#e5eef7;color:#3f617e}.invoice-status.overdue{background:#fae6e0;color:#9d4938}.invoice-status.paid{background:#e2f3ec;color:#276b5b}.card-invoices-panel{margin-top:18px}.card-invoices-list{display:grid;gap:9px}.invoice-row{display:grid;grid-template-columns:minmax(260px,1.5fr) 1fr .8fr auto;align-items:center;gap:16px;border:1px solid #e5ebe8;border-radius:11px;padding:13px 14px}.invoice-row>div>strong,.invoice-row>div>small,.invoice-row>div>span{display:block}.invoice-row>div>strong{font-size:12px;margin-top:5px}.invoice-row>div>small,.invoice-row>div>span{font-size:9px;color:var(--muted);margin-top:3px}.invoice-row .invoice-status{color:inherit}.paid-mark{color:#287563;font-size:11px;font-weight:750}.payment-help{border-left:3px solid var(--forest)}button:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:1050px){.investment-actions{width:100%;flex-wrap:wrap}.asset-group>header{align-items:flex-start;flex-direction:column}.asset-group-stats{width:100%;grid-template-columns:repeat(4,1fr);text-align:left}}
@media(max-width:760px){.investment-actions{flex-direction:column}.currency-display{justify-content:space-between}.asset-group-stats{grid-template-columns:1fr 1fr;gap:14px}.settings-actions{width:100%;flex-direction:column}.product-registration .settings-actions{align-self:stretch}.portfolio-heading{align-items:stretch;flex-direction:column;gap:10px}}
@media(max-width:900px){.allocation-overview{grid-template-columns:repeat(2,1fr)}.forecast-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.forecast-panel .panel-heading,.forecast-actions{align-items:stretch;flex-direction:column}.forecast-actions button{width:100%}.forecast-summary{grid-template-columns:1fr}.forecast-scenario-row{grid-template-columns:1fr auto}.forecast-scenario-row button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.budget-settings-heading{align-items:start;flex-direction:column;gap:5px}.budget-setting-row{grid-template-columns:1fr}.budget-setting-row .ghost-button{width:100%}.allocation-overview,.allocation-plan-summary{grid-template-columns:1fr}}
@media(max-width:1050px){.calculator-grid{grid-template-columns:1fr 1fr}.calculator-grid>label:first-child{grid-column:1/-1}.calculator-result{grid-template-columns:1fr 1fr}.calculator-result .primary-button{grid-column:1/-1}}
@media(max-width:760px){.dashboard-grid .spending-panel{grid-column:auto}.calculator-heading{flex-direction:column}.calculator-grid,.calculator-result{grid-template-columns:1fr}.calculator-grid>label:first-child,.calculator-result .primary-button{grid-column:auto}.calculator-result .primary-button{width:100%}}
@media(max-width:1050px){.account-summary.four{grid-template-columns:1fr 1fr}.invoice-row{grid-template-columns:1fr 1fr}.invoice-row .ghost-button,.invoice-row .paid-mark{justify-self:start}}
@media(max-width:760px){.account-summary.four,.invoice-row{grid-template-columns:1fr}.card-finance-head{grid-template-columns:40px 1fr}.card-finance-head .invoice-status{grid-column:1/-1}.card-invoices-panel .panel-heading{flex-direction:column;gap:12px}.card-invoices-panel .primary-button{width:100%}}
.recurring-settings-summary{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.recurring-settings-summary span{background:#edf3f0;color:#365c55;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:700}.recurring-settings-summary span:nth-child(2){background:#f0f1f0;color:#6b7673}.recurring-settings-summary span:last-child{background:#f4ead3;color:#7d622a}.recurring-settings-list{display:grid;gap:9px}.recurring-setting-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(150px,.8fr) minmax(230px,1fr) auto;align-items:center;gap:16px;border:1px solid #e4ebe8;border-radius:12px;padding:14px;background:#fbfcfb}.recurring-setting-row.paused{background:#f7f7f6;opacity:.78}.recurring-setting-main strong,.recurring-setting-main small,.recurring-setting-detail span,.recurring-setting-detail strong,.recurring-setting-detail small{display:block}.recurring-setting-main strong{font-size:13px;margin-top:6px}.recurring-setting-main small,.recurring-setting-detail span,.recurring-setting-detail small{color:var(--muted);font-size:9px;margin-top:4px}.recurring-setting-detail strong{font-size:11px;margin-top:5px}.recurring-status{display:inline-flex;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.recurring-status.active{background:#e2f3ec;color:#276b5b}.recurring-status.paused{background:#eceeec;color:#68736f}.recurring-setting-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.recurring-setting-actions .ghost-button{padding:8px 10px}.recurring-setting-actions .text-button,.recurring-setting-actions .danger-link{padding:6px}.form-grid input[readonly]{background:#f3f6f4;color:var(--muted)}
@media(max-width:1050px){.recurring-setting-row{grid-template-columns:1fr 1fr}.recurring-setting-actions{justify-content:flex-start}}
@media(max-width:760px){.recurring-setting-row{grid-template-columns:1fr}.recurring-setting-actions{justify-content:stretch}.recurring-setting-actions button{flex:1}.settings-card#recurringSettings .panel-heading{align-items:stretch;flex-direction:column;gap:12px}.settings-card#recurringSettings .primary-button{width:100%}}
.transaction-filters{align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.toolbar-filter-label{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.toolbar-filter-label span{display:block;margin-bottom:5px}.toolbar-filter-label input{min-width:150px}.transaction-results-bar{display:flex;justify-content:space-between;align-items:center;margin:-10px 0 10px;color:var(--muted);font-size:10px}.transaction-results-bar strong{color:var(--ink);font-size:11px}.transaction-actions{display:flex;gap:5px;align-items:center;white-space:nowrap}.transaction-actions .ghost-button{padding:7px 9px;font-size:10px}.transaction-actions .danger-link{padding:7px 5px}.protected-transaction{display:inline-block;color:var(--muted);font-size:9px;max-width:110px;line-height:1.3}.table-card table.transactions-table{min-width:980px}
@media(max-width:1050px){.transaction-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.transaction-filters{justify-content:flex-start;width:100%}}
@media(max-width:760px){.transaction-filters{display:grid;grid-template-columns:1fr 1fr}.transaction-filters>input:first-child{grid-column:1/-1;min-width:0;width:100%}.toolbar-filter-label input{min-width:0;width:100%}.transaction-filters .ghost-button{width:100%}.transaction-results-bar{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:460px){.transaction-filters{grid-template-columns:1fr}.transaction-filters>input:first-child{grid-column:auto}}
.investment-history-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow);margin:20px 0}.investment-history-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.investment-history-heading h2{font:600 23px Georgia,serif;margin:4px 0}.investment-history-heading p{margin:0;color:var(--muted);font-size:11px}.investment-history-filters{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.investment-history-filters input,.investment-history-filters select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;color:var(--ink)}.investment-history-filters>input{min-width:230px}.investment-history-table{min-width:1120px}.investment-history-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.investment-history-actions .ghost-button{padding:7px 9px;font-size:10px}.investment-edit-total{display:flex;justify-content:space-between;align-items:center;background:#edf4f1;border-radius:10px;padding:13px 15px;margin-top:14px}.investment-edit-total span{color:var(--muted);font-size:10px}.investment-edit-total strong{font:600 18px Georgia,serif}
.investment-entry-total{display:flex;justify-content:space-between;align-items:center;background:#e9edef;border-radius:10px;padding:14px 16px;margin-top:16px}.investment-entry-total span{font-weight:750}.investment-entry-total strong{font:700 20px Georgia,serif}.investment-operation label{cursor:pointer}.investment-operation-chip{display:inline-block;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;margin-bottom:4px}.investment-operation-chip.buy{background:var(--mint);color:#286655}.investment-operation-chip.sell{background:#fae8e2;color:#9d4938}.investment-history-table td.amount.sell{color:#28705f}.investment-history-table td.amount.buy{color:#9d4938}.form-grid label>small{font-size:9px;font-weight:500;color:#9aa4a1}
@media(max-width:1050px){.investment-history-heading{align-items:flex-start;flex-direction:column}.investment-history-filters{justify-content:flex-start;width:100%}}
@media(max-width:760px){.investment-history-panel{padding:16px}.investment-history-filters{display:grid;grid-template-columns:1fr 1fr}.investment-history-filters>input{grid-column:1/-1;min-width:0;width:100%}.investment-history-filters .ghost-button{width:100%}}
@media(max-width:460px){.investment-history-filters{grid-template-columns:1fr}.investment-history-filters>input{grid-column:auto}}

.auth-gate{display:none;position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 15% 15%,#244f47 0,#0d302b 38%,#09231f 100%);padding:24px;overflow:auto}.auth-gate.visible{display:grid;place-items:center}.auth-card{width:min(480px,100%);background:#fff;border:1px solid rgba(255,255,255,.3);border-radius:22px;padding:32px;box-shadow:0 35px 100px rgba(0,0,0,.35)}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.auth-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--forest);color:#d6eaa7;font:600 24px Georgia,serif}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font:600 19px Georgia,serif}.auth-brand small{font-size:10px;color:var(--muted);margin-top:2px}.auth-card h1{font:600 30px Georgia,serif;margin:8px 0 10px}.auth-card>p{color:var(--muted);font-size:13px;line-height:1.55}.google-login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 15px;font-weight:700;margin-top:22px}.google-login-button span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f4f6f5;color:#356bca}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.email-login-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.email-login-form label{font-size:10px;color:var(--muted);font-weight:700}.email-login-form input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-top:6px}.auth-message{min-height:20px;margin:14px 0 4px!important;font-size:10px!important}.auth-message.success{color:#26725f}.auth-message.error{color:#a3523f}.local-mode-button{display:block;margin:8px auto}.auth-security-note{display:block;border-top:1px solid var(--line);padding-top:16px;margin-top:18px;color:var(--muted);text-align:center}.cloud-state{border:1px solid #315049;border-radius:10px;padding:9px 10px;margin:0 5px 10px}.cloud-state small{display:block;color:#9ab0aa;font-size:9px;line-height:1.35;margin-top:5px}.cloud-status-badge{display:inline-flex;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#556c67;color:#fff}.cloud-status-badge.online{background:#3c876f}.cloud-status-badge.syncing{background:#b38a3d}.cloud-status-badge.error{background:#b35e48}.profile-copy{min-width:0;flex:1}.profile-copy strong,.profile-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sign-out-button{border:0;background:transparent;color:#9ab0aa;padding:5px;font-size:16px}.sign-out-button:hover{color:#fff}
.auth-card [hidden]{display:none!important}.auth-card #authLoginPanel>p,.auth-onboarding>p{color:var(--muted);font-size:13px;line-height:1.55}.auth-onboarding-form{display:grid;gap:14px;margin-top:22px}.auth-onboarding-form label{font-size:10px;color:var(--muted);font-weight:700}.auth-onboarding-form input,.auth-onboarding-form select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-top:6px;background:#fff;color:var(--ink)}.auth-onboarding-form .primary-button{width:100%;margin-top:4px}
@media(max-width:560px){.auth-card{padding:24px}.auth-card h1{font-size:25px}.email-login-form{grid-template-columns:1fr}.email-login-form .primary-button{width:100%}}
.sidebar{overflow-y:auto}.metric-link{display:block;margin-top:8px;padding:0;font-size:10px}.recurring-page-layout{display:grid;gap:18px}.recurring-page-period{padding:24px}.recurring-page-period .panel-heading{align-items:flex-end}.recurring-page-period .panel-heading p{margin:7px 0 0;color:var(--muted);font-size:11px}.recurring-page-period .recurring-list{margin-top:4px}.recurring-period-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);margin-top:14px;padding-top:16px}.recurring-period-totals>div{background:#f4f7f5;border-radius:10px;padding:13px 15px}.recurring-period-totals span,.recurring-period-totals strong{display:block}.recurring-period-totals span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.recurring-period-totals strong{font:600 18px Georgia,serif;margin-top:5px}.recurring-page-period .recurring-entry{padding:14px 0;grid-template-columns:38px minmax(0,1fr) auto auto}.recurring-confirmation-alert{display:flex;align-items:center;gap:12px;background:#fff4eb;border:1px solid #efc2ad;border-radius:12px;padding:13px 15px;margin-bottom:18px;color:#7f4938}.recurring-confirmation-alert[hidden]{display:none}.recurring-confirmation-alert>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:white;font-weight:800}.recurring-confirmation-alert strong,.recurring-confirmation-alert small{display:block}.recurring-confirmation-alert small{margin-top:3px;color:#8b695e;font-size:10px}.recurring-occurrence-status{display:inline-flex;margin-top:7px;border-radius:20px;padding:4px 8px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.recurring-occurrence-status.confirmed{background:#e2f3ec;color:#276b5b}.recurring-occurrence-status.scheduled{background:#edf1ef;color:#65736f}.recurring-occurrence-status.pending-confirmation{background:#f8e3d9;color:#9a4e38}.recurring-entry.pending-confirmation{background:#fffaf7;border:1px solid #f3d7ca;border-radius:11px;padding:13px 12px;margin-top:8px}.recurring-entry.pending-confirmation+.recurring-entry{border-top:0}.recurring-entry-action{min-width:0}.recurring-confirm-button{border:1px solid #a9523c;background:var(--terracotta);color:white;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:750;white-space:nowrap}.recurring-confirm-button:hover{background:#9b4b37}.recurring-page-layout #recurringSettings{width:100%}
.recurring-section{margin-top:18px}.recurring-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0 9px;margin-top:10px}.recurring-section-heading strong{font-size:13px;color:var(--ink)}.recurring-section-heading small{font-size:9px;color:var(--muted);text-align:right}.recurring-settings-list+.recurring-section-heading{margin-top:22px}
.recurring-income-period{border-color:#c7e3d8;background:linear-gradient(180deg,#f8fcfa 0%,#fff 100%)}.recurring-income-period .recurring-symbol{background:#dff2ea;color:#176653}.recurring-confirmation-alert.income-alert{background:#eef9f4;border-color:#aed8c8;color:#245e51}.recurring-confirmation-alert.income-alert>span{background:#277561}.recurring-confirm-button.income{background:#176653;border-color:#176653}.recurring-confirm-button.income:hover{background:#124f41}.income-entry.pending-confirmation{background:#f7fcfa;border-color:#c5e4d8}
@media(max-width:760px){.recurring-toolbar{align-items:stretch;flex-direction:column;gap:14px}.recurring-toolbar .primary-button{width:100%}.recurring-page-period{padding:17px}.recurring-page-period .panel-heading{align-items:stretch;flex-direction:column;gap:12px}.recurring-page-period .period-filter{width:100%}.recurring-page-period .period-filter label,.recurring-page-period .period-filter input{width:100%}.recurring-period-totals{grid-template-columns:1fr}.recurring-page-period .recurring-entry{grid-template-columns:38px 1fr auto}.recurring-page-period .recurring-entry>strong{grid-column:3;grid-row:1}.recurring-entry-action{grid-column:2/-1}.recurring-confirm-button{width:100%;margin-top:6px}}

/* Cotações de remessa: comparação antes e depois da tarifa. */
.calculated-rate{padding:14px 15px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.calculated-rate>div+div{border-left:1px solid #cadbd4;padding-left:18px}
.calculated-rate span,.calculated-rate strong,.calculated-rate small{display:block}
.calculated-rate span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.calculated-rate strong{margin:5px 0;font-size:13px}
.calculated-rate small{color:var(--muted);font-size:9px}
@media(max-width:760px){.calculated-rate{grid-template-columns:1fr}.calculated-rate>div+div{border-left:0;border-top:1px solid #cadbd4;padding-left:0;padding-top:12px}}

/* Saldos que permanecem em plataformas de câmbio. */
.platform-balances-panel{margin-bottom:16px}.platform-balances-panel[hidden]{display:none}.platform-balances-panel .panel-heading{margin-bottom:12px}.platform-balances-panel .panel-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.platform-balances-list{display:grid;gap:10px}.platform-balance-item{display:grid;grid-template-columns:42px minmax(180px,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#f8faf8}.platform-balance-copy strong,.platform-balance-copy small,.platform-balance-value strong,.platform-balance-value small{display:block}.platform-balance-copy small,.platform-balance-value small{color:var(--muted);font-size:9px;margin-top:4px}.platform-balance-value{text-align:right}.platform-balance-value strong{font:600 20px Georgia,serif}.platform-balance-actions{display:flex;gap:8px}.platform-balance-actions button{white-space:nowrap;font-size:11px}.platform-balance-item .registry-badge{width:42px;height:42px}
@media(max-width:900px){.platform-balance-item{grid-template-columns:42px 1fr auto}.platform-balance-actions{grid-column:2/-1}.platform-balance-actions button{flex:1}}
@media(max-width:560px){.platform-balance-item{grid-template-columns:42px 1fr}.platform-balance-value{grid-column:2;text-align:left}.platform-balance-actions{grid-column:1/-1;flex-direction:column}}
.account-balance-button{margin:0}
.financial-product-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px}.financial-product-actions .ghost-button{padding:8px 12px;font-size:10px}.financial-product-actions .text-button,.financial-product-actions .danger-link{padding:8px 0;font-size:10px}.financial-product-closed{background:#f7f8f7;opacity:.76}.closed-pill{display:inline-block;background:#eceeed;color:#65716d;border-radius:20px;padding:3px 6px;font-size:8px;font-weight:800;text-transform:uppercase}.card-finance-actions{justify-content:flex-start;margin-top:12px}
.type-chip.recurring{background:#f4ead3;color:#7d622a}
.type-chip.remittance{background:#e8eef7;color:#3f5f87}
.type-chip.card-expense{background:#efe7f7;color:#684d86}.type-chip.card-recurring{background:#e8ddf3;color:#5a3f78}
.type-chip.cash-withdrawal,.type-chip.cash-deposit{background:#f5ead0;color:#795d20}
.financial-products-layout{display:grid;gap:18px}.financial-product-section .panel-heading{align-items:center}.financial-product-section .panel-heading p,.card-invoices-panel .panel-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.card-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-guidance{display:flex;align-items:flex-start;gap:10px;background:#eef4f1;border-radius:10px;padding:12px 14px;margin-bottom:14px}.invoice-guidance>span{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font:600 12px Georgia,serif}.invoice-guidance p{margin:1px 0 0;color:#50645f;font-size:11px;line-height:1.45}.invoice-status.partial{background:#fff0d7;color:#80601e}.invoice-card{border:1px solid #e5ebe8;border-radius:11px;overflow:hidden;background:#fff}.invoice-card .invoice-row{border:0;border-radius:0}.invoice-details{border-top:1px solid #edf1ef;background:#fafcfb;padding:0 14px}.invoice-details summary{cursor:pointer;color:var(--forest);font-size:10px;font-weight:750;padding:11px 0}.invoice-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:2px 0 14px}.invoice-details-grid>div>strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}.invoice-detail-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf1ef;padding:7px 0;font-size:10px}.invoice-detail-row span{color:#586864}.invoice-detail-row strong{white-space:nowrap}.invoice-detail-row.payment strong{color:#287563}@media(max-width:900px){.card-products-grid,.invoice-details-grid{grid-template-columns:1fr}}@media(max-width:760px){.financial-product-section .panel-heading{align-items:stretch;flex-direction:column;gap:12px}.financial-product-section .panel-heading button{width:100%}}
.account-summary.cards-summary{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.account-summary.cards-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.account-summary.cards-summary{grid-template-columns:1fr}}
.invoice-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.invoice-review-list{display:grid;gap:10px;margin-top:14px}.invoice-review-row{display:grid;grid-template-columns:minmax(220px,1fr) 145px auto;align-items:center;gap:12px;border:1px solid #dfe8e4;border-radius:12px;padding:13px;background:#fff}.invoice-review-row.outside{border-color:#ead7ac;background:#fffaf0}.invoice-review-row>div{display:grid;gap:4px}.invoice-review-row small{color:var(--muted)}.invoice-review-row label{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.invoice-review-row input{width:100%}.review-included-mark{display:inline-flex;justify-content:center;border-radius:999px;padding:7px 10px;background:#def2e9;color:#236853;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-review-preview{grid-column:2/-1}.invoice-review-row.outside .invoice-review-preview{color:#80601e}@media(max-width:760px){.invoice-actions{justify-content:flex-start}.invoice-review-row{grid-template-columns:1fr}.invoice-review-preview{grid-column:auto}.invoice-review-row .ghost-button{width:100%}}
.invoice-review-section{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid #e3eae7}.invoice-review-section>div:first-child h3{margin:0 0 4px}.invoice-review-section>div:first-child p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.invoice-review-row.recurring-missing{border-color:#e5c98f;background:#fff9ec}.invoice-review-row.recurring-missing.selected{border-color:#88b6a6;background:#eff8f4}.review-missing-mark{display:inline-flex;justify-content:center;border-radius:999px;padding:7px 10px;background:#f4ead3;color:#7d622a;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-review-row.recurring-missing.selected .review-missing-mark{background:#def2e9;color:#236853}.invoice-review-row.recurring-missing.selected .review-missing-mark{font-size:0}.invoice-review-row.recurring-missing.selected .review-missing-mark:after{content:"Selecionada";font-size:10px}
.invoice-missing-warning{padding:10px 14px;border-top:1px solid #ecd9af;background:#fff8e9;color:#765b27;font-size:11px}
.invoice-status.paid-late{background:#fae6e0;color:#9d4938}.invoice-late-warning{background:#fff4ef;border-top:1px solid #f0d5ca;color:#8b4d3e;padding:9px 14px;font-size:10px}.invoice-detail-row.payment.late span,.invoice-detail-row.payment.late strong{color:#a3523f}
.reserve-summary article small{display:block;color:var(--muted);font-size:9px}.reserve-card-item{display:grid;grid-template-rows:116px 92px 46px 1fr;min-height:406px}.reserve-head{min-width:0;height:116px;gap:10px}.reserve-identity{min-width:0}.reserve-head>div>small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.reserve-purpose{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reserve-card-item .status-pill{display:flex;align-items:center;justify-content:center;flex:0 0 84px;width:84px;min-height:44px;text-align:center;line-height:1.2}.reserve-balance-block{height:92px;padding-top:8px}.reserve-card-item .reserve-balance-block .reserve-amount{margin:0 0 7px}.reserve-balance-block>small{display:block;color:var(--muted);line-height:1.35}.reserve-card-actions{height:46px}.reserve-card-actions .primary-button{width:100%;height:46px}.reserve-stats.four{grid-template-columns:repeat(2,1fr);align-content:start}.reserve-history-panel{margin-top:18px}.reserve-history-panel .panel-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.reserve-movements-list{display:grid}.reserve-movement-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:13px 0}.reserve-movement-row:first-child{border-top:0}.reserve-movement-row>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 9px}.reserve-movement-row>div>small{grid-column:2;color:var(--muted);font-size:9px}.reserve-movement-type{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:750;background:#e5f1ed;color:#276b5b}.reserve-movement-type.withdrawal,.reserve-movement-type.tax{background:#fae8e2;color:#9d4938}.reserve-movement-type.yield{background:#f4ead3;color:#7d622a}.reserve-account-field.hidden-field{display:none}.segmented.four{grid-template-columns:repeat(4,1fr)}.modal-context{margin:5px 0 0;color:var(--muted);font-size:11px}@media(max-width:950px){.segmented.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.reserve-card-item{grid-template-rows:auto auto auto auto;min-height:0}.reserve-head,.reserve-balance-block,.reserve-card-actions{height:auto}.reserve-balance-block{padding:18px 0}.reserve-card-actions .primary-button{height:auto}}@media(max-width:560px){.reserve-stats.four{grid-template-columns:1fr}.reserve-movement-row{align-items:flex-start;flex-direction:column}.reserve-movement-row>strong{padding-left:0}}
.category-tag .category-edit-button{font-size:9px;font-weight:750;color:var(--forest);padding:2px 4px;border-radius:5px}.category-tag .category-edit-button:hover{background:#dce9e4}

/* Detalhamento rápido do saldo atual por conta. */
.metric-info-wrap{position:relative;display:inline-flex;flex:0 0 auto}
.metric-info-button{width:17px;height:17px;padding:0;border:1px solid #b9c5c1;border-radius:50%;display:grid;place-items:center;background:transparent;color:#7c8a86;font:600 10px Georgia,serif;line-height:1}
.metric-card.dark .metric-info-button{border-color:#63817a;color:#d6e7e2}
.metric-info-button:focus-visible{outline:2px solid #d6eaa7;outline-offset:3px}
.balance-breakdown-tooltip{position:absolute;z-index:15;top:calc(100% + 10px);right:0;width:310px;padding:15px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(8,35,31,.2);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s;pointer-events:none;text-align:left}
.metric-info-wrap:hover .balance-breakdown-tooltip,.metric-info-wrap:focus-within .balance-breakdown-tooltip{opacity:1;visibility:visible;transform:translateY(0)}
.balance-breakdown-tooltip>strong,.balance-breakdown-tooltip>span{display:block}
.balance-breakdown-tooltip>strong{font:600 16px Georgia,serif;margin-bottom:6px}
.metric-card.dark .balance-breakdown-tooltip{color:var(--ink)}
.metric-card.dark .balance-breakdown-tooltip span{color:inherit}
.balance-tooltip-explanation{color:var(--muted);font-size:10px;line-height:1.45;margin-bottom:10px}
.balance-tooltip-accounts{border-top:1px solid var(--line)}
.balance-tooltip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}
.balance-tooltip-row>span:last-child{text-align:right}
.balance-tooltip-row b,.balance-tooltip-row small{display:block}
.balance-tooltip-row b{font-size:11px}
.balance-tooltip-row small{font-size:9px;color:var(--muted);margin-top:3px}
.balance-tooltip-total{display:flex!important;justify-content:space-between;gap:14px;padding-top:10px;font-size:11px}
.balance-tooltip-total span{color:var(--muted)}
.balance-tooltip-empty{padding:10px 0;color:var(--muted);font-size:10px}
.metric-card.dark .balance-breakdown-tooltip .balance-tooltip-explanation,.metric-card.dark .balance-breakdown-tooltip .balance-tooltip-row small,.metric-card.dark .balance-breakdown-tooltip .balance-tooltip-total>span,.metric-card.dark .balance-breakdown-tooltip .balance-tooltip-empty{color:var(--muted)}
@media(max-width:560px){.balance-breakdown-tooltip{position:fixed;top:110px;left:18px;right:18px;width:auto}}

/* Seletor da moeda usada nos totais consolidados. */
.main-currency-control{display:grid;gap:3px}
.main-currency-control>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}
.main-currency-control select{min-width:110px;height:43px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:0 12px;font-weight:700}
@media(max-width:560px){.main-currency-control>span{display:none}.main-currency-control select{min-width:96px}}

/* Navegação contextual e preferência visual. */
.theme-toggle-button{width:43px;height:43px;align-self:end;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);display:grid;place-items:center;font-size:19px;line-height:1;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.theme-toggle-button:hover{background:#eef4f1;border-color:#bfd1ca}
.theme-toggle-button:active{transform:scale(.96)}
.theme-toggle-button:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.transaction-toolbar{margin-bottom:16px}
.transaction-filters{margin-bottom:18px}
.transaction-results-bar{margin-top:0}
@media(max-width:760px){.transaction-toolbar .primary-button{width:100%}.topbar-actions{align-items:end}.theme-toggle-button{flex:0 0 43px}}
.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.history-pagination button[hidden]{display:none}.reserve-history-heading{align-items:flex-end;gap:20px}.reserve-history-filters{align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.reserve-history-filters>input{min-width:220px}.reserve-history-filters select{max-width:190px}.reserve-history-panel .transaction-results-bar{margin:16px 0 4px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:1180px){.reserve-history-heading{align-items:flex-start;flex-direction:column}.reserve-history-filters{justify-content:flex-start;width:100%}}
@media(max-width:760px){.reserve-history-filters{display:grid;grid-template-columns:1fr 1fr}.reserve-history-filters>input{grid-column:1/-1;min-width:0;width:100%}.reserve-history-filters .toolbar-filter-label input,.reserve-history-filters select,.reserve-history-filters .ghost-button{width:100%;max-width:none}.history-pagination{align-items:stretch;flex-direction:column}.history-pagination .ghost-button{width:100%}}
@media(max-width:460px){.reserve-history-filters{grid-template-columns:1fr}.reserve-history-filters>input{grid-column:auto}}

/* Tema escuro: preferência local, sem alterar os dados financeiros. */
html[data-theme="dark"]{color-scheme:dark;--ink:#e7efec;--muted:#9bada7;--line:#30453f;--paper:#0f1715;--white:#18231f;--mint:#274038;--sand:#322f29;--shadow:0 12px 34px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .sidebar{background:#091f1b}
html[data-theme="dark"] .topbar{background:rgba(15,23,21,.94);border-color:var(--line)}
html[data-theme="dark"] .theme-toggle-button{background:#18231f;color:#f0d98b}
html[data-theme="dark"] .theme-toggle-button:hover{background:#22322d;border-color:#4c6b62}
html[data-theme="dark"] :is(
  .metric-card:not(.dark),
  .panel,
  .table-card,
  .remittance-summary article,
  .empty-view,
  .modal,
  .period-filter,
  .account-summary article,
  .reserve-summary article,
  .registry-panel,
  .settings-card,
  .reserve-card-item,
  .asset-group,
  .invoice-card,
  .invoice-review-row,
  .balance-breakdown-tooltip,
  .auth-card,
  .registry-item,
  .platform-balance-item,
  .route-box,
  .investment-summary article,
  .investment-history-panel,
  .remittance-calculator,
  .card-finance-item
){background:#18231f;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] :is(input,select,textarea,.ghost-button,.wide-button,.currency-display,.main-currency-control select){background:#111a17;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#71827c}
html[data-theme="dark"] :is(th,.invoice-details){background:#131d1a;color:var(--muted)}
html[data-theme="dark"] :is(td,.transaction-item,.recurring-entry,.reserve-mini,.invoice-detail-row,.reserve-movement-row){border-color:#293c36}
html[data-theme="dark"] :is(.period-filter select,.period-filter input,.segmented,.recurring-period-totals>div,.automatic-quote,.calculator-result,.investment-entry-total,.investment-edit-total,.movement-help,.invoice-guidance,.info-banner,.calculated-rate){background:#202f2a;color:var(--ink);border-color:#365047}
html[data-theme="dark"] :is(.forecast-summary>div,.allocation-overview>div,.allocation-plan-summary>div){background:#202f2a;color:var(--ink);border-color:#365047}
html[data-theme="dark"] :is(.forecast-summary>div.negative,.allocation-plan-summary .over){background:#35231e;border-color:#704735}
html[data-theme="dark"] .allocation-overview>div:last-child strong{color:#85c4b3}
.dashboard-nav-button{padding:8px 11px;font-size:10px;white-space:nowrap;background:transparent;color:var(--forest);border-color:var(--line)}.dashboard-nav-button:hover{background:#f1f5f3;border-color:#cbd8d3}.metric-card .dashboard-nav-button{align-self:flex-start;margin-top:10px}html[data-theme="dark"] .dashboard-nav-button{background:transparent;color:#85c4b3;border-color:#365047}html[data-theme="dark"] .dashboard-nav-button:hover{background:#20332d;border-color:#4a665d}
html[data-theme="dark"] .segmented input:checked+span{background:#344940;color:#f1f7f4;box-shadow:none}
html[data-theme="dark"] :is(.text-button,.wide-button,.category-edit-button,.invoice-details summary){color:#85c4b3}
html[data-theme="dark"] :is(.registry-badge,.recurring-symbol,.reserve-symbol){background:#27423a;color:#9bd6c6}
html[data-theme="dark"] .status-pill{background:#28463d;color:#9ed9c8}
html[data-theme="dark"] .investment-operation-chip.buy{background:#21483c;color:#92d5bf}
html[data-theme="dark"] .investment-operation-chip.sell{background:#4b2d26;color:#f0a18c}
html[data-theme="dark"] .invoice-status{background:#293934;color:#c5d6d0}
html[data-theme="dark"] .invoice-status.open{background:#493d23;color:#efd58a}
html[data-theme="dark"] .invoice-status.closed{background:#263d50;color:#a9cce4}
html[data-theme="dark"] .invoice-status.overdue,
html[data-theme="dark"] .invoice-status.paid-late{background:#512f28;color:#f1a28d}
html[data-theme="dark"] .invoice-status.paid{background:#21483c;color:#9bd6c6}
html[data-theme="dark"] .invoice-status.partial{background:#4a3c20;color:#efd17c}
html[data-theme="dark"] :is(.positive-value,.transaction-amount.income,.paid-mark,.invoice-detail-row.payment strong){color:#6ac8ac!important}
html[data-theme="dark"] :is(.negative-value,.investment-history-table td.amount.buy,.invoice-detail-row.payment.late strong){color:#e68168!important}
html[data-theme="dark"] :is(.invoice-guidance p,.invoice-detail-row span){color:var(--muted)}
html[data-theme="dark"] .recurring-period-totals>div{background:#20362f;border:1px solid #3d5d53}
html[data-theme="dark"] .recurring-period-totals span{color:#b8cbc5}
html[data-theme="dark"] .recurring-period-totals strong{color:#f4faf7}
html[data-theme="dark"] .chart-bars{border-color:var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(33.33% - 1px),#263832 33.33%)}
html[data-theme="dark"] :is(.progress,.allocation-progress){background:#293934}
html[data-theme="dark"] .metric-card.dark{background:#164a41;border-color:#286b5e}
html[data-theme="dark"] .metric-card.dark :is(span,small){color:#c0d7d0}
html[data-theme="dark"] .modal-backdrop{background:rgba(2,8,7,.76)}
html[data-theme="dark"] .recurring-entry.pending-confirmation{background:#2b211d;border-color:#624233}
html[data-theme="dark"] .recurring-confirmation-alert{background:#2f211b;border-color:#6c4636;color:#efc2ae}
html[data-theme="dark"] .recurring-confirmation-alert small{color:#d8a792}
html[data-theme="dark"] .recurring-setting-row{background:#192823;border-color:#365047;color:var(--ink)}
html[data-theme="dark"] .recurring-setting-row.paused{background:#171f1c}
html[data-theme="dark"] .recurring-status.active{background:#21483c;color:#9bd6c6}
html[data-theme="dark"] .recurring-status.paused{background:#293934;color:#c5d6d0}
html[data-theme="dark"] .recurring-settings-summary span{background:#263b34;color:#c9ddd7}
html[data-theme="dark"] .recurring-settings-summary span:nth-child(2){background:#293330;color:#c5d1cd}
html[data-theme="dark"] .recurring-settings-summary span:last-child{background:#493d23;color:#efd58a}
html[data-theme="dark"] .recurring-setting-actions .danger-link{color:#e68168}
html[data-theme="dark"] .recurring-income-period{background:#15251f;border-color:#315047}
html[data-theme="dark"] .recurring-confirmation-alert.income-alert{background:#19332b;border-color:#356254;color:#cce8df}
html[data-theme="dark"] .income-entry.pending-confirmation{background:#172b24;border-color:#31584c}
html[data-theme="dark"] .invoice-review-row.outside,
html[data-theme="dark"] .invoice-review-row.recurring-missing{background:#2a2519;border-color:#665832}
html[data-theme="dark"] .invoice-review-row.recurring-missing.selected{background:#17352d;border-color:#4f8c7b}
html[data-theme="dark"] .financial-product-closed{background:#141c1a}
html[data-theme="dark"] .category-tag{background:#263b34;color:#cae0d9}
html[data-theme="dark"] .owner-pill{background:#39352e;color:#d4cbbd}
html[data-theme="dark"] .toast{background:#27695d;color:#fff}
html[data-theme="dark"] .budget-setting-row{background:#1b2925;border-color:#365047;color:var(--ink)}
html[data-theme="dark"] .budget-setting-row :is(strong,.rollover-toggle){color:#eaf3ef!important}
html[data-theme="dark"] .budget-setting-row :is(small,label,.carryover-balance-label){color:#aebfba!important}
html[data-theme="dark"] .allocation-kind.expense{background:#4b2d26;color:#f0a18c}
html[data-theme="dark"] .allocation-kind.investment{background:#21483c;color:#9bd6c6}
html[data-theme="dark"] .allocation-kind.reserve{background:#493d23;color:#efd58a}

/* Relatórios financeiros */
.reports-toolbar{align-items:flex-end}.reports-toolbar .toolbar-filter-label{min-width:150px}.reports-toolbar select{width:100%}
.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px}
.report-summary article{display:grid;gap:7px;min-height:130px;padding:21px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:var(--shadow)}
.report-summary article>span{color:var(--muted);font-size:11px}.report-summary article>strong{font:600 28px Georgia,serif}.report-summary article>small{color:var(--muted);font-size:10px;line-height:1.4}
.report-summary article.negative{border-color:#e4b9ab;background:#fff8f5}
.reports-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:18px;align-items:start}
.reports-grid .panel{min-width:0}.reports-grid .panel-heading p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.report-chart{height:260px;display:grid;grid-template-columns:repeat(12,minmax(22px,1fr));align-items:end;gap:10px;margin-top:20px;padding:20px 8px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#edf1ef 25%)}
.report-bar-group{height:100%;display:grid;grid-template-rows:1fr 24px;gap:7px;align-items:end;text-align:center;color:var(--muted);font-size:9px;text-transform:capitalize}
.report-bars{height:100%;display:flex;justify-content:center;align-items:flex-end;gap:2px}.report-bars i{display:block;flex:1;max-width:10px;min-height:0;border-radius:5px 5px 0 0}
.report-expense-bar{background:#d17a60}.report-income-bar{background:#155347}.report-reserve-bar{background:#b58b4f}.report-investment-bar{background:#7060a8}
.reserve-dot{background:#b58b4f}.investment-dot{background:#7060a8}
.report-monthly-table-wrap{max-height:315px;overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:12px}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:right;font-size:10px}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table tr:last-child td{border-bottom:0}
.report-category-list{display:grid;margin-top:14px}.report-category-row{padding:13px 0;border-bottom:1px solid var(--line)}.report-category-row:last-child{border-bottom:0}.report-category-row>div:first-child{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:8px}.report-category-row span{display:grid;gap:3px}.report-category-row small{color:var(--muted);font-size:9px}.report-category-row b{white-space:nowrap;font-size:11px}
.report-currency-table{margin-top:14px;box-shadow:none}.report-currency-table td small{display:block;color:var(--muted);margin-top:3px}
.report-insights{display:grid;margin-top:14px}.report-insights>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.report-insights>div:last-child{border-bottom:0}.report-insights span{color:var(--muted);font-size:10px}.report-insights strong{text-align:right;font-size:11px}
html[data-theme="dark"] .report-summary article{background:#18231f;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .report-summary article.negative{background:#35231e;border-color:#704735}
html[data-theme="dark"] .report-chart{border-color:var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#263832 25%)}
html[data-theme="dark"] .report-expense-bar{background:#d9795e}html[data-theme="dark"] .report-income-bar{background:#4fae95}
html[data-theme="dark"] .report-reserve-bar{background:#d5ae70}html[data-theme="dark"] .report-investment-bar{background:#a697db}
@media(max-width:1100px){.report-summary{grid-template-columns:repeat(2,1fr)}.reports-grid{grid-template-columns:1fr}}
@media(max-width:700px){.reports-toolbar{align-items:stretch;flex-direction:column}.reports-toolbar .toolbar-filter-label{width:100%}.report-summary{grid-template-columns:1fr 1fr}.report-chart{gap:4px;padding-inline:2px}.report-monthly-table-wrap{overflow-x:auto}}
@media(max-width:480px){.report-summary{grid-template-columns:1fr}.report-chart{height:210px}.report-bar-group{font-size:8px}.report-bars{gap:1px}}
/* Dinheiro em espécie */
.cash-metric{background:#fffaf0;border-color:#e8d7ad}
.cash-summary{margin-top:22px}
.cash-wallets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cash-wallets-grid .registry-item{margin:0;min-width:0}
.cash-wallet-item .registry-badge{background:#f5ead0;color:#795d20}
.cash-history-panel{margin-top:22px}
.cash-movements-list{display:grid}
.cash-movement-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.cash-movement-row:last-child{border-bottom:0}
.cash-movement-row>div{display:grid;gap:3px}
.cash-movement-row small{color:var(--muted)}
.cash-movement-type{width:fit-content;padding:4px 8px;border-radius:999px;background:#f5ead0;color:#795d20;font-size:.68rem;font-weight:800;text-transform:uppercase}
html[data-theme="dark"] .cash-metric{background:#211f18;border-color:#52492f}
html[data-theme="dark"] .cash-wallet-item .registry-badge,
html[data-theme="dark"] .cash-movement-type,
html[data-theme="dark"] .type-chip.cash-withdrawal,
html[data-theme="dark"] .type-chip.cash-deposit{background:#3b3321;color:#f2d98e}
@media(max-width:900px){.cash-wallets-grid{grid-template-columns:1fr}.cash-movement-row{align-items:flex-start}}

/* Comprovantes privados de transações */
.attachment-field input[type="file"]{padding:.65rem;cursor:pointer}
.attachment-field input[type="file"]::file-selector-button{margin-right:.75rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.attachment-selection{display:none;margin-top:.55rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}
.attachment-selection.has-file{display:block}
.attachment-selection.is-valid{border-color:#b9dbcf;background:#edf7f3;color:#155e4b}
.attachment-selection.is-invalid{border-color:#e9b7a7;background:#fff1eb;color:#9a442e}
[data-theme="dark"] .attachment-selection.is-valid{border-color:#2f695b;background:#17352e;color:#9ad9c6}
[data-theme="dark"] .attachment-selection.is-invalid{border-color:#81493b;background:#35221d;color:#f3b4a2}
.attachment-prepare-button{width:100%;margin-top:.55rem;background:var(--paper)}
.attachment-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.attachment-link:hover{text-decoration:underline}
.attachment-manager{padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.attachment-manager-title{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.attachment-manager-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 0}
.attachment-manager-file{display:flex;align-items:center;gap:.55rem;min-width:0}
.attachment-kind{flex:none;padding:.28rem .45rem;border-radius:999px;background:#eee9df;color:#675d4b;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.attachment-kind.scan{background:#dff1ea;color:#276756}
.attachment-manager-row .attachment-link{max-width:calc(100% - 4rem);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-theme="dark"] .attachment-kind{background:#39352e;color:#d6cdbf}
[data-theme="dark"] .attachment-kind.scan{background:#21483c;color:#9bd6c6}

/* Preparação local de comprovantes */
.receipt-scanner-modal{width:min(1050px,100%)}
.receipt-scanner-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:18px;align-items:start}
.receipt-scanner-preview{display:grid;place-items:center;min-height:500px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#dfe5e2;overflow:auto}
.receipt-crop-surface{position:relative;display:inline-block;max-width:100%;line-height:0}
.receipt-crop-surface canvas{display:block;max-width:100%;max-height:68vh;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.18)}
.receipt-crop-box{position:absolute;left:0;top:0;width:100%;height:100%;border:2px dashed #e5ffad;box-shadow:0 0 0 9999px rgba(5,19,16,.58);cursor:move;touch-action:none}
.crop-grid-line{position:absolute;display:block;pointer-events:none;opacity:.62}
.crop-grid-line.vertical{top:0;bottom:0;border-left:1px dashed rgba(240,255,215,.72)}
.crop-grid-line.horizontal{left:0;right:0;border-top:1px dashed rgba(240,255,215,.72)}
.crop-grid-line.vertical.one{left:33.333%}.crop-grid-line.vertical.two{left:66.666%}
.crop-grid-line.horizontal.one{top:33.333%}.crop-grid-line.horizontal.two{top:66.666%}
.crop-handle{position:absolute;width:18px;height:18px;border:2px dotted #12483f;border-radius:50%;background:#eeffba;box-shadow:0 1px 5px rgba(0,0,0,.38);transform:translate(-50%,-50%)}
.crop-handle.nw{left:0;top:0;cursor:nwse-resize}.crop-handle.n{left:50%;top:0;cursor:ns-resize}.crop-handle.ne{left:100%;top:0;cursor:nesw-resize}
.crop-handle.e{left:100%;top:50%;cursor:ew-resize}.crop-handle.se{left:100%;top:100%;cursor:nwse-resize}.crop-handle.s{left:50%;top:100%;cursor:ns-resize}
.crop-handle.sw{left:0;top:100%;cursor:nesw-resize}.crop-handle.w{left:0;top:50%;cursor:ew-resize}
.receipt-scanner-controls{display:grid;gap:13px}
.receipt-scanner-controls>label{color:var(--muted);font-size:.72rem;font-weight:750}
.receipt-scanner-controls select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.scanner-quality{display:grid;gap:5px;padding:14px;border:1px solid #b9dbcf;border-radius:12px;background:#edf7f3;color:#155e4b}
.scanner-quality strong{font-size:.92rem}.scanner-quality span{font-size:.72rem;line-height:1.45}.scanner-quality small{opacity:.8;font-size:.63rem}
.scanner-quality.medium{border-color:#e4cf96;background:#fff8e8;color:#7a5c19}
.scanner-quality.low{border-color:#e9b7a7;background:#fff1eb;color:#9a442e}
.scanner-button-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.scanner-button-row button{padding:9px 7px;font-size:.7rem}
.scanner-crop-instructions{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.scanner-crop-instructions strong{color:var(--ink);font-size:.74rem}
.scanner-crop-instructions span{color:var(--muted);font-size:.67rem;line-height:1.45}
.scanner-crop-instructions small{color:var(--forest);font-size:.64rem;font-weight:800}
.scanner-output-info{display:grid;gap:4px;padding:12px;border-radius:11px;background:var(--soft);border:1px solid var(--line)}
.scanner-output-info span{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.scanner-output-info strong{font-size:.76rem}
.scanner-message{min-height:1rem;margin:0;color:var(--terracotta);font-size:.7rem;font-weight:750}
[data-theme="dark"] .receipt-scanner-preview{background:#0e1714;border-color:var(--line)}
[data-theme="dark"] .scanner-crop-instructions{background:#172720}
[data-theme="dark"] .scanner-quality{border-color:#2f695b;background:#17352e;color:#9ad9c6}
[data-theme="dark"] .scanner-quality.medium{border-color:#6b5a2e;background:#342d1c;color:#efd58a}
[data-theme="dark"] .scanner-quality.low{border-color:#81493b;background:#35221d;color:#f3b4a2}
@media(max-width:820px){.receipt-scanner-layout{grid-template-columns:1fr}.receipt-scanner-preview{min-height:320px}.scanner-button-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.receipt-scanner-preview{padding:12px;min-height:260px}.crop-handle{width:22px;height:22px}.scanner-button-row{grid-template-columns:1fr}.attachment-manager-file{align-items:flex-start;flex-direction:column}}
