:root{--ink:#112d3a;--navy:#0b3445;--teal:#078f8a;--mint:#c8f0e6;--paper:#f5f7f6;--white:#fff;--line:#d9e2e1;--muted:#64777c;--amber:#e9a23b;--red:#c74a43;--shadow:0 14px 36px rgba(17,45,58,.08);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:9;background:#fff;padding:10px}.topbar{height:76px;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;gap:42px;background:var(--navy);color:white;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-family:Georgia,serif;font-size:22px}.brand-mark{width:34px;height:42px;border:1px solid #8fc9c6;display:grid;place-items:center;border-radius:50% 50% 45% 45%;color:#8ee2da;font-style:italic}.brand small{display:block;font:10px "Segoe UI",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9ec0c7}.topbar nav{display:flex;gap:4px;height:100%}.nav-link{border:0;background:transparent;color:#a9c1c7;padding:0 15px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent}.nav-link:hover,.nav-link:focus-visible{color:white}.nav-link.active{color:white;border-color:#61d2c7}.periodo{margin-left:auto;text-align:right}.periodo span{display:block;color:#94b0b8;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.periodo strong{font-size:14px}.page{display:none;max-width:1380px;margin:auto;padding:52px clamp(18px,4vw,56px) 76px}.page.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.page-head.compact{margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}h1{font:clamp(38px,5vw,70px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0;max-width:820px}h2{font:26px/1.1 Georgia,serif;margin:0}.lead{max-width:720px;color:var(--muted);font-size:16px;line-height:1.55;margin:15px 0 0}.stamp{min-width:160px;border-left:1px solid var(--line);padding-left:24px}.stamp span,.stamp small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.stamp strong{font:30px Georgia,serif;display:block;margin:5px 0}.alert{display:flex;align-items:center;gap:15px;border-radius:14px;padding:15px 18px;margin-bottom:20px;background:#fff0ee;border:1px solid #f0cac6}.alert-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--red);font-weight:800}.alert div{flex:1}.alert p{margin:3px 0 0;color:#765450;font-size:13px}.alert button,.text-button{border:0;background:transparent;color:var(--teal);font-weight:800;cursor:pointer}.alert button{border:1px solid #dda49f;border-radius:20px;padding:9px 14px;color:#8c322d}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:126px}.kpi.primary{background:var(--navy);color:white;border-color:var(--navy)}.kpi span,.sim-result span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kpi.primary span,.kpi.primary small{color:#a8c3c8}.kpi strong{display:block;font:31px Georgia,serif;margin:13px 0 6px}.kpi small{color:var(--muted)}.kpi-grid.mini{grid-template-columns:repeat(3,1fr);max-width:760px}.kpi-grid.mini .kpi{min-height:100px}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-12{grid-column:span 12}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);padding:6px 9px;border-radius:20px}.category-row{display:grid;grid-template-columns:145px 1fr 110px;align-items:center;gap:12px;margin:14px 0;font-size:13px}.category-row strong{text-align:right}.bar-track{height:9px;background:#e8eeee;border-radius:9px;overflow:hidden}.bar-fill{height:100%;background:var(--teal);border-radius:9px}.issuer-card{padding:17px 0;border-bottom:1px solid var(--line)}.issuer-card:first-child{padding-top:0}.issuer-card:last-child{border:0}.issuer-top{display:flex;justify-content:space-between}.issuer-card strong{font-size:18px}.issuer-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:8px 0}.progress{height:6px;background:#e6ecec;border-radius:6px;overflow:hidden}.progress i{display:block;height:100%;background:var(--teal)}.commitment-track{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:165px;padding-top:15px}.month-column{text-align:center}.month-bar{margin:auto;width:min(58px,80%);background:linear-gradient(180deg,#47bbb2,var(--navy));border-radius:8px 8px 2px 2px;min-height:5px;position:relative}.month-bar span{position:absolute;top:-23px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;white-space:nowrap}.month-column small{display:block;margin-top:8px;color:var(--muted)}.footnote{font-size:11px;color:var(--muted);line-height:1.5;margin:18px 0 0}.toolbar{display:flex;gap:12px;align-items:end;margin-bottom:16px}.toolbar label,.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.search{flex:1}input,select{width:100%;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:12px 13px;font:14px "Segoe UI",sans-serif;outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(7,143,138,.12)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;padding:14px 16px;background:#edf2f1}td{padding:13px 16px;border-top:1px solid #e9eeee}tr:hover td{background:#f9fbfa}.money{text-align:right;font-weight:700}.category-select{padding:7px 9px;min-width:130px}.decision-ruler{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:16px;border-radius:var(--radius);overflow:hidden}.decision{padding:22px;background:white;border-top:5px solid var(--teal)}.decision.warn{border-color:var(--amber)}.decision.danger{border-color:var(--red)}.decision span{font-size:11px;color:var(--muted);text-transform:uppercase}.decision strong{display:block;font:23px Georgia,serif;margin:8px 0}.decision small{color:var(--muted);line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid.single{grid-template-columns:1fr}.sim-result{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--navy);color:white;border-radius:14px;padding:18px;margin-top:20px}.sim-result span{color:#9dbcc3}.sim-result strong{display:block;font:20px Georgia,serif;margin-top:8px}.projection-item{display:grid;grid-template-columns:65px 1fr auto;gap:10px;align-items:center;margin:14px 0}.projection-item span{font-size:12px;color:var(--muted)}.projection-bar{height:8px;background:#e7eeee;border-radius:8px}.projection-bar i{display:block;height:100%;border-radius:8px;background:var(--amber)}.projection-item strong{font-size:13px}.invest-note{display:flex;align-items:center;gap:15px;background:var(--mint);padding:16px 20px;border-radius:14px;margin-bottom:16px;font-size:13px}.invest-note strong{margin-right:auto}.invest-note i{color:var(--teal)}.investment-row{display:grid;grid-template-columns:150px 1fr 110px;gap:12px;align-items:center;margin:14px 0}.investment-row label{font-size:12px;font-weight:700}.investment-row label small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.investment-row input{padding:7px 8px}.investment-row strong{text-align:right}.investment-map{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.investment-map div{padding:6px 24px;border-left:1px solid var(--line)}.investment-map div:first-child{border-left:0;padding-left:0}.investment-map strong,.investment-map span{display:block}.investment-map strong{font:22px Georgia,serif}.investment-map span{color:var(--teal);font-size:11px;text-transform:uppercase;font-weight:800;margin:7px 0}.investment-map p{font-size:13px;line-height:1.5;color:var(--muted)}footer{display:flex;justify-content:space-between;padding:24px clamp(18px,4vw,56px);background:#e8eeee;color:var(--muted);font-size:11px}@media(max-width:900px){.topbar{height:auto;flex-wrap:wrap;padding-top:12px;gap:10px}.topbar nav{order:3;width:100%;overflow:auto;height:48px}.nav-link{white-space:nowrap}.page{padding-top:35px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.span-5,.span-7{grid-column:span 12}.decision-ruler{grid-template-columns:repeat(2,1fr)}.periodo{display:none}}@media(max-width:600px){h1{font-size:42px}.page-head{align-items:start}.stamp{display:none}.kpi-grid,.kpi-grid.mini{grid-template-columns:1fr}.toolbar{display:grid}.alert{align-items:start;flex-wrap:wrap}.category-row{grid-template-columns:95px 1fr 85px}.decision-ruler{grid-template-columns:1fr}.form-grid,.sim-result,.investment-map{grid-template-columns:1fr}.investment-map div{border-left:0;border-top:1px solid var(--line);padding:18px 0}.investment-map div:first-child{border-top:0}.invest-note{align-items:flex-start;flex-direction:column}.invest-note i{transform:rotate(90deg)}footer{display:grid;gap:8px}}
@media(prefers-reduced-motion:no-preference){.page.active{animation:reveal .28s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}

/* Mobile data controls: keep editable rates legible on narrow screens. */
input,select{min-width:0}input[type=number]{appearance:textfield}
@media(max-width:600px){.investment-row{grid-template-columns:minmax(0,1fr) 76px}.investment-row strong{grid-column:1/-1;text-align:left;padding-bottom:10px;border-bottom:1px solid var(--line)}.investment-row:last-child strong{border-bottom:0}}

/* Dark premium dashboard — obsidian ledger */
:root{--ink:#ecf1ef;--navy:#07151c;--teal:#78b7ad;--mint:#152d2e;--paper:#081219;--white:#101d24;--line:#26353b;--muted:#8b9ba0;--amber:#c8a96a;--red:#dc746d;--shadow:0 24px 60px rgba(0,0,0,.28);--radius:14px}
html{background:#071016}body{background:radial-gradient(circle at 82% -12%,rgba(49,91,92,.2),transparent 28%),linear-gradient(180deg,#0a151c 0%,#071016 100%);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
.topbar{height:82px;background:rgba(7,18,24,.9);border-bottom:1px solid rgba(200,169,106,.22);backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.18)}
.brand{font-size:21px;letter-spacing:.01em}.brand-mark{border-color:var(--amber);color:var(--amber);box-shadow:inset 0 0 20px rgba(200,169,106,.1)}.brand small{color:#879ba0}.nav-link{color:#7f9299;font-size:12px;letter-spacing:.04em}.nav-link:hover,.nav-link:focus-visible{color:#f4eee0}.nav-link.active{color:#f4eee0;border-color:var(--amber)}.periodo span{color:#71878e}.periodo strong{color:#e6d8ba}
.page{max-width:1500px;padding-top:40px}.page-head{align-items:center;margin-bottom:26px;padding-bottom:25px;border-bottom:1px solid rgba(200,169,106,.15)}.page-head.compact{margin-bottom:24px}h1{font-size:clamp(34px,4vw,58px);color:#f2f4ef;text-shadow:0 1px 18px rgba(255,255,255,.03)}h2{color:#edf1ee;font-size:23px}.eyebrow{color:var(--amber)}.lead{color:#8fa0a5;max-width:780px}.stamp{border-color:#35454a}.stamp span,.stamp small{color:#73868c}.stamp strong{color:#d9c18f}
.alert{background:linear-gradient(90deg,rgba(105,37,39,.24),rgba(29,23,26,.55));border-color:rgba(220,116,109,.3);box-shadow:inset 3px 0 0 var(--red)}.alert p{color:#b99d9b}.alert button{border-color:rgba(220,116,109,.38);color:#eda29d;background:rgba(220,116,109,.06)}.alert button:hover{background:rgba(220,116,109,.13)}
.kpi-grid{gap:12px}.kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(18,33,41,.96),rgba(13,25,32,.96));border-color:#26383f;box-shadow:0 14px 40px rgba(0,0,0,.16)}.kpi:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:.38}.kpi.primary{background:linear-gradient(135deg,#162f32,#0d2027);border-color:rgba(200,169,106,.45);box-shadow:inset 0 1px rgba(255,255,255,.04),0 18px 50px rgba(0,0,0,.24)}.kpi.primary:before{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(200,169,106,.15);border-radius:50%;right:-48px;top:-65px}.kpi.primary:after{background:linear-gradient(90deg,transparent,var(--amber),transparent);opacity:.8}.kpi span,.sim-result span{color:#82959b}.kpi.primary span,.kpi.primary small{color:#9fafa9}.kpi strong{color:#f0eee6;letter-spacing:-.02em}.kpi.primary strong{color:#f1dfb8}.kpi small{color:#7f9298}
.panel{background:linear-gradient(145deg,rgba(16,29,36,.97),rgba(10,22,29,.97));border-color:#23353c;box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.025)}.panel-head{border-bottom:1px solid rgba(255,255,255,.055);padding-bottom:17px;margin-bottom:21px}.tag{border-color:#34464c;color:#819399;background:#0d1a20}.text-button{color:#9ac8c1}.category-row{color:#c8d1ce}.bar-track,.progress,.projection-bar{background:#1c2b31}.bar-fill{background:linear-gradient(90deg,#315c5b,#7bbab0);box-shadow:0 0 12px rgba(120,183,173,.2)}.issuer-card{border-color:#24363c}.issuer-card strong{color:#e4d3af}.issuer-meta{color:#7f9298}.progress i{box-shadow:0 0 10px rgba(120,183,173,.22)}.month-bar{background:linear-gradient(180deg,#c8a96a 0%,#506f6c 48%,#193039 100%);box-shadow:0 -4px 18px rgba(200,169,106,.12)}.month-bar span{color:#dbe2de}.month-column small,.footnote{color:#75898f}
input,select{background:#0a171d;border-color:#2c3d43;color:#e7eeeb;box-shadow:inset 0 1px 4px rgba(0,0,0,.18)}input::placeholder{color:#5e7177}input:focus,select:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(200,169,106,.12)}select option{background:#0d1a20;color:#e7eeeb}.table-wrap{background:#0d1b22;border-color:#26383f;box-shadow:var(--shadow)}th{background:#12242b;color:#82969c;border-bottom:1px solid #2b3d43}td{border-color:#1e3037;color:#c9d3d0}tr:hover td{background:#14262d}.category-select{background:#101f26}
.decision-ruler{gap:8px;background:transparent}.decision{background:linear-gradient(150deg,#101f27,#0b181e);border:1px solid #26383f;border-top:3px solid var(--teal);border-radius:12px}.decision.warn{border-top-color:var(--amber)}.decision.danger{border-top-color:var(--red)}.decision span{color:#809197}.decision strong{color:#e9e8df}.decision small{color:#84969b}.form-grid label{color:#82959b}.sim-result{background:linear-gradient(135deg,#193638,#0b1b22);border:1px solid rgba(200,169,106,.28)}.sim-result strong{color:#e7d5af}.projection-bar i{background:linear-gradient(90deg,#755f38,var(--amber));box-shadow:0 0 10px rgba(200,169,106,.18)}
.invest-note{background:linear-gradient(90deg,rgba(32,70,68,.5),rgba(20,41,42,.45));border:1px solid rgba(120,183,173,.2);color:#b8cbc6}.invest-note strong{color:#e4d3af}.invest-note i{color:var(--amber)}.investment-row strong{color:#e3d1ab}.investment-row label{color:#cdd7d3}.investment-row label small{color:#788b91}.investment-map div{border-color:#27393f}.investment-map strong{color:#e8e8df}.investment-map span{color:#c7aa6e}.investment-map p{color:#809399}
footer{background:#071016;border-top:1px solid #1d2d33;color:#64777d}
::-webkit-scrollbar{width:10px;height:8px}::-webkit-scrollbar-track{background:#071016}::-webkit-scrollbar-thumb{background:#2b3d43;border-radius:8px;border:2px solid #071016}
@media(max-width:900px){.topbar{background:rgba(7,18,24,.96)}.page{padding-top:30px}}
@media(max-width:600px){.page-head{padding-bottom:20px}.kpi,.panel{box-shadow:0 14px 32px rgba(0,0,0,.2)}.investment-row strong{border-color:#26383f}}

/* Operational finance workspace */
@media(min-width:901px){body{padding-left:232px}.topbar{position:fixed;left:0;top:0;bottom:0;width:232px;height:auto;padding:22px 16px;display:flex;flex-direction:column;align-items:stretch;gap:28px;border-right:1px solid #26353b;border-bottom:0}.brand{padding:0 8px}.topbar nav{display:flex;flex-direction:column;width:100%;height:auto;gap:3px}.nav-link{text-align:left;height:42px;padding:0 13px;border:0;border-left:3px solid transparent;border-radius:6px}.nav-link.active{border-left-color:var(--amber);border-bottom:0;background:#12252c}.periodo{margin:auto 8px 0;text-align:left;border-top:1px solid #26353b;padding-top:17px}footer{margin-left:0}}
.page{padding-top:26px}.page-head,.page-head.compact{align-items:flex-end;margin-bottom:16px;padding-bottom:16px}.page-head h1{font-family:"Segoe UI",Arial,sans-serif;font-size:28px;line-height:1.15;letter-spacing:-.025em;font-weight:650}.page-head .lead{font-size:13px;margin-top:7px;max-width:850px}.eyebrow{font-family:"Segoe UI",Arial,sans-serif;font-size:9px}.stamp strong{font-family:"Segoe UI",Arial,sans-serif;font-size:18px}.kpi{min-height:104px;padding:16px}.kpi strong{font-family:"Segoe UI",Arial,sans-serif;font-size:25px;font-weight:650;margin:10px 0 4px}.panel{padding:18px}.panel-head{margin-bottom:16px;padding-bottom:12px}.panel-head h2{font-family:"Segoe UI",Arial,sans-serif;font-size:17px;font-weight:650}.alert{padding:11px 15px}.dashboard-grid{gap:12px}.cash-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px}.cash-main{min-width:0}.cash-kpis{margin-bottom:12px}.assumptions-panel{grid-row:span 2}.assumptions-panel label small{font-size:10px;color:#64777d;text-transform:none;letter-spacing:0;font-weight:400}.insight-banner{display:grid;grid-template-columns:minmax(260px,1.2fr) 1fr auto;align-items:center;gap:22px;background:#0e2027;border:1px solid #294048;border-left:3px solid var(--amber);border-radius:8px;padding:13px 16px;margin-bottom:12px}.insight-banner div span,.summary-item span{display:block;color:var(--amber);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.insight-banner div strong{display:block;margin-top:4px;font-size:15px}.insight-banner p,.insight-banner small{margin:0;color:#8fa0a5;font-size:12px}.insight-banner small{color:#c6d0cd}.cash-chart{height:205px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end;padding:12px 6px 0;border-bottom:1px solid #304148}.cash-month{text-align:center;display:grid;grid-template-rows:142px 22px 20px;align-items:end}.cash-values{height:135px;display:flex;align-items:end;justify-content:center;gap:5px}.cash-bar{width:18px;min-height:2px;border-radius:3px 3px 0 0}.cash-bar.income{background:#5f9d8d}.cash-bar.out{background:#c5a363}.cash-balance{font-size:10px;color:#8fc7b8}.cash-balance.negative,.negative{color:#e07a73!important}.cash-month>span{font-size:10px;color:#72868c}.chart-legend{display:flex;gap:13px;font-size:10px;color:#83959b}.chart-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.legend-income:before{background:#5f9d8d}.legend-out:before{background:#c5a363}.legend-balance:before{background:#8fc7b8}.finance-row{margin-top:12px}.financial-statement{display:grid}.statement-row{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-bottom:1px solid #24353b}.statement-row span{font-size:12px}.statement-row small{display:block;color:#667a80;font-size:9px;margin-top:2px}.statement-row strong{font-size:13px}.statement-row.subtotal{background:#11242b;padding:11px 9px}.statement-row.total{border-top:1px solid #a78c55;border-bottom:0;margin-top:4px;padding-top:13px}.statement-row.total strong,.statement-row.positive strong{color:#99c6ba}.executive-summary{display:grid;gap:14px}.summary-item{border-left:2px solid #354950;padding-left:12px}.summary-item strong{display:block;font-size:13px;margin:4px 0}.summary-item p{font-size:11px;line-height:1.45;color:#7f9298;margin:0}
@media(max-width:900px){.cash-layout{grid-template-columns:1fr}.cash-kpis{grid-template-columns:repeat(2,1fr)}.insight-banner{grid-template-columns:1fr}.topbar{gap:8px}.page-head h1{font-size:25px}}
@media(max-width:600px){.cash-kpis{grid-template-columns:1fr}.cash-chart{overflow-x:auto;grid-template-columns:repeat(6,90px)}.chart-legend{display:none}}

/* Power BI-like interaction states */
.bi-filterbar{display:grid;grid-template-columns:150px 210px 210px 1fr auto;gap:10px;align-items:end;background:#0c1b22;border:1px solid #25373e;border-radius:8px;padding:10px 12px;margin-bottom:12px}.bi-filterbar label{display:grid;gap:4px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#7e9197}.bi-filterbar select{height:34px;padding:7px 10px;font-size:11px;border-radius:5px}.filter-title span{display:block;color:var(--amber);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.filter-title strong{font-size:11px}.filter-context{align-self:center;color:#899ba0;font-size:11px}.reset-filter{height:34px;border:1px solid #35484f;border-radius:5px;background:#12242b;color:#bdc9c6;padding:0 12px;font-size:10px;font-weight:700;cursor:pointer}.reset-filter:hover{border-color:var(--amber);color:#ead7af}.reset-filter:disabled{opacity:.35;cursor:default}.bi-select{font:inherit;color:inherit;cursor:pointer}.category-row.bi-select{width:100%;border:1px solid transparent;background:transparent;text-align:left;border-radius:4px;padding:4px}.category-row.bi-select:hover{background:#15272e;border-color:#294048}.category-row.bi-select.selected{background:#1a3036;border-color:#b0935a}.bi-select.dimmed{opacity:.28}.issuer-card.bi-select{display:block;width:100%;background:transparent;color:inherit;border-top:0;border-left:0;border-right:0;text-align:left;cursor:pointer}.issuer-card.bi-select:hover{background:#13252c}.issuer-card.bi-select.selected{background:#172a30;box-shadow:inset 3px 0 var(--amber);padding-left:10px}.month-column.bi-select{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:5px}.month-column.bi-select:hover{background:#14262d}.cash-month{border:1px solid transparent;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:5px;padding:2px}.cash-month:hover{background:#14262d}.cash-month.selected{background:#142a31;border-color:#9a814f;box-shadow:inset 0 -2px var(--amber)}.cash-month:focus-visible,.bi-select:focus-visible,.reset-filter:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
@media(max-width:1100px){.bi-filterbar{grid-template-columns:130px 1fr 1fr}.filter-context{grid-column:1/3}.reset-filter{grid-column:3}}
@media(max-width:600px){.bi-filterbar{grid-template-columns:1fr}.filter-title,.filter-context,.reset-filter{grid-column:auto}.issuer-card.bi-select.selected{padding-left:8px}}

/* Family viability workspace */
.viability-panel{margin-top:12px}.viability-layout{display:grid;grid-template-columns:270px 1.25fr 1fr;gap:20px;align-items:stretch}.viability-controls{display:grid;gap:15px;padding-right:18px;border-right:1px solid #26383f}.viability-controls label{display:grid;grid-template-columns:1fr auto;gap:7px;color:#84979c;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.viability-controls label input{grid-column:1/-1}.viability-controls label strong{color:#e3d0a8}.viability-controls input[type=range]{height:5px;padding:0;border:0;background:#24383f;accent-color:var(--amber)}.viability-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.viability-kpis>div{background:#0b1a21;border:1px solid #26383f;border-radius:7px;padding:13px}.viability-kpis span{display:block;color:#7e9197;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.viability-kpis strong{display:block;margin:8px 0 4px;font-size:20px;color:#e9e8df}.viability-kpis small{color:#687b81;font-size:10px}.viability-analysis{border-left:3px solid #536970;background:#0c1b22;padding:16px}.viability-analysis span{color:#82949a;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.viability-analysis strong{display:block;font-size:16px;margin:7px 0}.viability-analysis p{color:#87999e;font-size:12px;line-height:1.55;margin:0}.viability-analysis.good{border-color:#69a997}.viability-analysis.good strong{color:#91c7b8}.viability-analysis.warn{border-color:var(--amber)}.viability-analysis.warn strong{color:#e1c583}.viability-analysis.danger{border-color:var(--red)}.viability-analysis.danger strong{color:#e9948e}
@media(max-width:1150px){.viability-layout{grid-template-columns:240px 1fr}.viability-analysis{grid-column:1/-1}.nav-link{font-size:11px}}
@media(max-width:700px){.viability-layout{grid-template-columns:1fr}.viability-controls{border-right:0;border-bottom:1px solid #26383f;padding:0 0 16px}.viability-analysis{grid-column:auto}.viability-kpis{grid-template-columns:1fr 1fr}}

/* Ownership and household budget */
.ownership-list{display:grid;gap:7px}.ownership-list.cards{grid-template-columns:repeat(2,1fr)}.ownership-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#0b1a21;border:1px solid #24373e;border-radius:7px;padding:12px;width:100%;color:inherit;text-align:left}.ownership-row strong,.ownership-row small{display:block}.ownership-row strong{font-size:12px}.ownership-row small{color:#71858b;font-size:9px;margin-top:4px}.ownership-row b{color:#e4d0a6;font-size:13px;white-space:nowrap}.ownership-row.bi-select:hover{border-color:#947c4c;background:#11252c}.nature-select{padding:7px 9px;min-width:105px}.budget-filters{grid-template-columns:160px 220px 220px 1fr}.budget-bars{display:grid;gap:9px}.budget-row{display:grid;grid-template-columns:130px 1fr 110px 145px;gap:12px;align-items:center;border-bottom:1px solid #21333a;padding:8px 0}.budget-row>div:first-child strong,.budget-row>div:first-child small{display:block}.budget-row>div:first-child small{color:#6d8086;font-size:9px;margin-top:3px}.budget-row>b{text-align:right;font-size:12px}.budget-row label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;color:#75888e;font-size:9px;text-transform:uppercase}.budget-row input{height:30px;padding:5px 8px;font-size:11px}.budget-progress{height:7px;background:#1c2d34;border-radius:4px;overflow:hidden}.budget-progress i{display:block;height:100%;background:#67a797;border-radius:4px}.budget-row.warn .budget-progress i{background:var(--amber)}.budget-row.over .budget-progress i{background:var(--red)}.budget-row.unset .budget-progress i{width:0!important}.nature-breakdown{display:grid;gap:8px}.nature-row{display:grid;grid-template-columns:85px 1fr 105px;gap:10px;align-items:center;width:100%;background:transparent;border:1px solid transparent;border-radius:5px;padding:8px;color:inherit;text-align:left}.nature-row:hover,.nature-row.selected{background:#13262d;border-color:#8b7549}.nature-row>div{height:7px;background:#1d2e35;border-radius:4px;overflow:hidden}.nature-row i{display:block;height:100%;background:linear-gradient(90deg,#456f69,#c2a362)}.nature-row strong{text-align:right;font-size:11px}.budget-guidance{margin-top:18px;padding:13px;border-left:3px solid var(--amber);background:#0b1a21}.budget-guidance strong{font-size:12px}.budget-guidance p{font-size:10px;line-height:1.5;color:#7d9096;margin:7px 0 0}
.bi-filterbar:has(#dashboard-holder){grid-template-columns:120px 170px 190px 190px 1fr auto}
@media(max-width:1200px){.budget-row{grid-template-columns:110px 1fr 95px 125px}.bi-filterbar:has(#dashboard-holder){grid-template-columns:100px repeat(3,1fr)}.bi-filterbar:has(#dashboard-holder) .filter-context{grid-column:1/4}.bi-filterbar:has(#dashboard-holder) .reset-filter{grid-column:4}}
@media(max-width:800px){.ownership-list.cards{grid-template-columns:1fr}.budget-filters{grid-template-columns:1fr 1fr}.budget-filters .filter-title,.budget-filters .filter-context{grid-column:1/-1}.budget-row{grid-template-columns:100px 1fr 90px}.budget-row label{grid-column:1/-1}.bi-filterbar:has(#dashboard-holder){grid-template-columns:1fr 1fr}.bi-filterbar:has(#dashboard-holder) .filter-title,.bi-filterbar:has(#dashboard-holder) .filter-context{grid-column:1/-1}.bi-filterbar:has(#dashboard-holder) .reset-filter{grid-column:auto}}
@media(max-width:520px){.budget-row{grid-template-columns:1fr 85px}.budget-progress{grid-column:1/-1;grid-row:2}.budget-row>b{grid-column:2;grid-row:1}.nature-row{grid-template-columns:75px 1fr}.nature-row strong{grid-column:1/-1}.viability-kpis{grid-template-columns:1fr}}

/* Invoice ledger and manual transaction entry */
.invoice-workspace{display:grid;gap:12px;margin-bottom:14px}.workspace-toolbar{display:flex;align-items:end;gap:10px;background:#0c1b22;border:1px solid #273940;border-radius:8px;padding:12px}.workspace-toolbar>div{margin-right:auto}.workspace-toolbar h2{font-family:"Segoe UI",Arial,sans-serif;font-size:17px}.workspace-toolbar label{display:grid;gap:4px;color:#788b91;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.workspace-toolbar select{height:34px;padding:6px 9px}.import-status{align-self:center;color:#88b9ad;border:1px solid #315148;background:#102821;border-radius:15px;padding:6px 10px;font-size:9px;text-transform:uppercase}.invoice-kpis{margin-bottom:0}.invoice-table-wrap{overflow:auto;background:#0b1920;border:1px solid #26383f;border-radius:8px}.invoice-table{min-width:1160px}.invoice-table td small{display:block;color:#6d8187;font-size:9px;margin-top:3px}.invoice-table select,.invoice-table input{height:31px;padding:5px 7px;font-size:10px;border-radius:5px}.invoice-table [data-plan-payer]{min-width:175px}.invoice-table input{width:75px}.invoice-table select:disabled,.invoice-table input:disabled{opacity:.32}.monthly-panel{box-shadow:none}.monthly-card-chart{display:grid;gap:5px;overflow-x:auto}.month-head,.monthly-card-row{display:grid;grid-template-columns:230px repeat(6,minmax(115px,1fr));gap:6px;align-items:center;min-width:980px}.month-head{color:#6e8288;font-size:9px;text-transform:uppercase;text-align:center}.month-head span{text-align:left}.monthly-card-row{min-height:38px;border-top:1px solid #1e3037}.monthly-card-row>strong{font-size:10px;color:#b8c5c1}.monthly-card-row>div{position:relative;height:25px;background:#0a171d;border-radius:3px;overflow:hidden;text-align:right}.monthly-card-row i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#284d4b,#6ba89c);opacity:.55}.monthly-card-row span{position:relative;z-index:1;display:block;padding:6px;font-size:9px}.monthly-card-row.total{border-top:1px solid #9a814f}.monthly-card-row.total>strong,.monthly-card-row.total span{color:#dfc78f;font-weight:700}.manual-entry{background:#0c1b22;border:1px solid #2b3e45;border-radius:8px;margin-bottom:12px}.manual-entry summary{cursor:pointer;padding:12px 15px;color:#ddc68f;font-size:11px;font-weight:700}.manual-entry[open] summary{border-bottom:1px solid #283b42}.manual-entry form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:13px}.manual-entry label{display:grid;gap:4px;color:#788b91;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.manual-entry button{align-self:end;height:38px;border:1px solid #a48a54;background:#19302f;color:#ead7ae;border-radius:6px;font-weight:700;cursor:pointer}.manual-entry button:hover{background:#23413d}.manual-entry [role=status]{align-self:center;color:#8fc3b5;font-size:10px}
@media(max-width:900px){.workspace-toolbar{flex-wrap:wrap}.workspace-toolbar>div{width:100%}.manual-entry form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.manual-entry form{grid-template-columns:1fr}.workspace-toolbar label{flex:1}.import-status{width:100%;text-align:center}}
.section-divider{display:flex;align-items:end;justify-content:space-between;gap:15px;border-top:1px solid #314149;padding-top:18px;margin:8px 0 12px}.section-divider h2{font-family:"Segoe UI",Arial,sans-serif;font-size:17px}.section-divider span{color:#71868c;font-size:10px;border:1px solid #2c3e45;border-radius:14px;padding:6px 9px}

/* Short pages and monthly financial statement */
.dashboard-evolution{min-height:300px}.page-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.page-actions button{display:grid;gap:5px;text-align:left;min-height:108px;padding:17px;border:1px solid #2a3d44;border-radius:9px;background:linear-gradient(145deg,#102129,#0a171d);color:#dfe6e2;cursor:pointer}.page-actions button:hover,.page-actions button:focus-visible{border-color:#a48a54;background:#142a31;outline:none;box-shadow:0 0 0 2px rgba(200,169,106,.13)}.page-actions span{color:var(--amber);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.page-actions strong{font-size:13px}.page-actions small{color:#71868c;font-size:10px}.compact-actions{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:760px}.header-action{align-self:center;border:1px solid #3a4c52;border-radius:6px;background:#102129;color:#d8c494;padding:10px 14px;font-size:10px;font-weight:700;cursor:pointer}.header-action:hover,.header-action:focus-visible{border-color:var(--amber);outline:2px solid rgba(200,169,106,.15);outline-offset:2px}.statement-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;align-items:start}.statement-main{display:grid;gap:12px;min-width:0}.evolution-wrap{border-radius:6px;box-shadow:none}.evolution-table{min-width:900px}.evolution-table th,.evolution-table td{padding:11px 12px}.evolution-table thead th{text-align:right}.evolution-table thead th:first-child,.evolution-table tbody th{text-align:left}.evolution-table tbody th{color:#aebbb7;font-size:11px;font-weight:600;background:#0d1b22;border-top:1px solid #1e3037}.evolution-table td{font-size:11px}.evolution-table tr.subtotal th,.evolution-table tr.subtotal td{background:#11242b;font-weight:700}.evolution-table tr.total th,.evolution-table tr.total td{border-top:1px solid #a78c55;color:#e5d09f;font-weight:800}.evolution-table tr.balance th,.evolution-table tr.balance td{background:#162d31;color:#9bcabb;font-weight:800}.evolution-month{width:100%;border:1px solid transparent;border-radius:4px;background:transparent;color:#82969c;padding:6px;font:inherit;font-weight:700;cursor:pointer}.evolution-month:hover,.evolution-month:focus-visible,.evolution-month.selected{color:#eed9aa;border-color:#8f7849;background:#172b31;outline:none}
@media(max-width:1000px){.statement-layout{grid-template-columns:1fr}.assumptions-panel .form-grid.single{grid-template-columns:repeat(2,1fr)}.page-actions{grid-template-columns:1fr}}
@media(max-width:600px){.assumptions-panel .form-grid.single,.compact-actions{grid-template-columns:1fr}.page-actions button{min-height:90px}.header-action{width:100%}}

/* Mobile containment for the financial evolution */
.statement-main>.panel{min-width:0;max-width:100%}.evolution-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:600px){.page-head,.page-head.compact{display:grid;grid-template-columns:1fr;align-items:start}.statement-layout,.statement-main,.statement-main>.panel{width:100%;max-width:100%;min-width:0}.evolution-wrap:after{content:"Deslize para ver os próximos meses →";position:sticky;left:10px;display:block;width:max-content;padding:8px 10px;color:#80949a;font-size:9px;text-transform:uppercase;letter-spacing:.08em}}

.assumption-month-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:0 0 7px}.assumption-month-tabs button{height:30px;border:1px solid #2b3e45;border-radius:5px;background:#0a171d;color:#71858b;font-size:9px;font-weight:800;cursor:pointer}.assumption-month-tabs button:hover,.assumption-month-tabs button:focus-visible,.assumption-month-tabs button.selected{border-color:#a48a54;background:#172b31;color:#ead4a4;outline:none}.assumption-period-label{margin:0 0 15px;color:#80949a;font-size:9px;text-transform:uppercase;letter-spacing:.08em}

/* Rolling calendar and family balance sheet */
.cash-chart{height:220px;grid-template-columns:repeat(12,minmax(90px,1fr));overflow-x:auto;overscroll-behavior-inline:contain}.planning-controls{display:grid;grid-template-columns:1fr 100px;gap:8px;margin-bottom:10px}.planning-controls label{display:grid;gap:4px;color:#7e9197;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.planning-controls input,.planning-controls select{height:34px;padding:6px 8px;font-size:10px}.assumption-month-tabs{display:flex;grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:3px}.assumption-month-tabs button{flex:0 0 42px}.balance-entry{display:grid;grid-template-columns:1.2fr 1fr 110px auto;gap:7px;margin-bottom:13px}.balance-entry input,.balance-entry select{height:35px;padding:6px 9px;font-size:10px}.balance-entry button{border:1px solid #9b814d;border-radius:5px;background:#17302f;color:#ead5a8;padding:0 11px;font-size:10px;font-weight:700;cursor:pointer}.balance-list{display:grid;gap:6px}.balance-row{display:grid;grid-template-columns:1fr auto 26px;align-items:center;gap:10px;padding:10px;border:1px solid #24373e;border-radius:6px;background:#0b1a21}.balance-row strong,.balance-row small{display:block}.balance-row strong{font-size:11px}.balance-row small{margin-top:3px;color:#71858b;font-size:9px}.balance-row b{font-size:12px;color:#e4d0a6}.balance-row button{border:0;background:transparent;color:#8a9b9f;font-size:17px;cursor:pointer}.balance-row.automatic{grid-template-columns:1fr auto auto}.balance-row.automatic span{color:#7bb2a5;font-size:8px;text-transform:uppercase}.empty-balance{padding:18px;border:1px dashed #2e4249;border-radius:6px;color:#71858b;font-size:10px;text-align:center}.ratio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ratio-card{padding:13px;border:1px solid #2a3d44;border-left:3px solid #536970;border-radius:6px;background:#0b1a21}.ratio-card.good{border-left-color:#69a997}.ratio-card.warn{border-left-color:var(--amber)}.ratio-card.danger{border-left-color:var(--red)}.ratio-card span{color:#7d9096;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ratio-card strong{display:block;margin:8px 0 5px;font-size:20px}.ratio-card p{margin:0;color:#71858b;font-size:10px;line-height:1.4}
@media(max-width:900px){.balance-entry{grid-template-columns:1fr 1fr}.ratio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cash-chart{grid-template-columns:repeat(12,90px)}}@media(max-width:520px){.planning-controls,.balance-entry,.ratio-grid{grid-template-columns:1fr}}

.rollover-panel{margin-top:12px}.rollover-entry{display:grid;grid-template-columns:120px 1.2fr 1.2fr repeat(3,130px) auto;gap:8px;align-items:end;margin:14px 0}.rollover-entry label{display:grid;gap:4px;color:#7d9096;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.rollover-entry input,.rollover-entry select{height:35px;padding:6px 8px;font-size:10px}.rollover-entry button{height:35px;border:1px solid #9b814d;border-radius:5px;background:#17302f;color:#ead5a8;padding:0 12px;font-size:10px;font-weight:700;cursor:pointer}.rollover-list{display:grid;gap:6px}.rollover-row{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(105px,1fr)) 28px;gap:10px;align-items:center;padding:11px;border:1px solid #263940;border-radius:6px;background:#0b1a21}.rollover-row strong,.rollover-row small,.rollover-row span,.rollover-row b{display:block}.rollover-row small{color:#71858b;font-size:9px;margin-top:4px}.rollover-row span{color:#71858b;font-size:8px;text-transform:uppercase}.rollover-row b{margin-top:4px;font-size:11px}.rollover-row button{border:0;background:transparent;color:#84969b;font-size:18px;cursor:pointer}@media(max-width:1200px){.rollover-entry{grid-template-columns:repeat(3,1fr)}.rollover-row{grid-template-columns:1.5fr repeat(2,1fr)}.rollover-row button{grid-column:3;grid-row:1;justify-self:end}}@media(max-width:650px){.rollover-entry,.rollover-row{grid-template-columns:1fr}.rollover-row button{grid-column:1;grid-row:1;justify-self:end}}

.mobile-month-nav{display:none}.mobile-month-nav button{width:42px;height:38px;border:1px solid #35484f;border-radius:6px;background:#102129;color:#e1c98f;font-size:16px}.mobile-month-nav button:disabled{opacity:.28}.mobile-month-nav strong{text-transform:capitalize;font-size:12px}
@media(max-width:600px){.mobile-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 12px;padding:7px;border:1px solid #2b3e45;border-radius:7px;background:#0b1a21}.assumption-month-tabs{display:none}.assumption-period-label{text-align:center}.evolution-wrap{overflow:visible}.evolution-wrap:after{display:none}.evolution-table{min-width:0!important;width:100%;table-layout:fixed}.evolution-table thead th:not(:first-child):not(.active-period),.evolution-table tbody td:not(.active-period){display:none}.evolution-table thead th:first-child,.evolution-table tbody th{width:58%;white-space:normal}.evolution-table th,.evolution-table td{padding:10px 7px}.evolution-table thead th.active-period{width:42%}.evolution-month{font-size:11px}.statement-main>.panel{padding:13px}}

.finance-bridge{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin-bottom:12px;padding:12px 14px;border:1px solid #2b4148;border-left:3px solid var(--amber);border-radius:7px;background:#0d2027}.finance-bridge>div span,.finance-bridge>div small{display:block;color:#71858b;font-size:9px}.finance-bridge>div span{text-transform:uppercase;letter-spacing:.08em}.finance-bridge>div strong{display:block;margin:4px 0;font-size:15px}.finance-bridge button{border:1px solid #8e7749;border-radius:5px;background:#17302f;color:#ead5a8;padding:9px 11px;font-size:10px;cursor:pointer}.rollover-detected{display:grid;grid-template-columns:220px 1fr;gap:14px;margin:12px 0;padding:12px;border:1px solid #2a3d44;border-radius:7px;background:#0b1920}.rollover-detected>div:first-child span,.rollover-detected>div:first-child strong{display:block}.rollover-detected>div:first-child span{color:var(--amber);font-size:9px;text-transform:uppercase}.rollover-detected>div:first-child strong{margin-top:5px;font-size:12px}.rollover-detected>div:last-child{display:flex;gap:6px;overflow-x:auto}.rollover-detected button{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:0 0 250px;padding:9px;border:1px solid #2d4249;border-radius:5px;background:#10242b;color:#dce4e0;text-align:left;cursor:pointer}.rollover-detected button:hover{border-color:#9a814f}.rollover-detected button span,.rollover-detected button strong,.rollover-detected button small{display:block}.rollover-detected button span{font-size:10px}.rollover-detected button small{margin-top:3px;color:#71858b;font-size:8px}.rollover-detected button strong{text-align:right;font-size:10px}.rollover-detected p{margin:0;color:#71858b;font-size:10px}@media(max-width:700px){.finance-bridge,.rollover-detected{grid-template-columns:1fr}.finance-bridge button{width:100%}}
