/* Refinamiento visual de la maqueta; no modifica reglas ni datos. */
:root{--blue:#214b70;--bg:#f5f7fa;--ink:#203447;--line:#e3e9ef;--green:#24735c;--amber:#8a5b12}
body{font-family:'Segoe UI Variable Text','Segoe UI',sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}
.shell{grid-template-columns:248px minmax(0,1fr)}
aside{background:#fff;color:var(--ink);padding:35px 24px;border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650;letter-spacing:-.8px;flex-wrap:wrap}
.brand::before{content:'';display:block;width:32px;height:36px;background:var(--blue);clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,62% 100%,62% 53%,38% 53%,38% 100%,0 100%)}
.brand small{width:100%;color:#758493;font-size:11px;letter-spacing:.2px;margin:0 0 0 44px}
nav{margin-top:58px;gap:10px}nav button{display:flex;align-items:center;gap:13px;color:#657584;padding:13px 14px;font-size:14px;font-weight:500;border-radius:9px;transition:background .15s,color .15s}
nav button svg{width:21px;height:21px;flex:none;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
nav button:hover{background:#f3f6f9;color:var(--blue)}nav button.active{background:#eaf1f7;color:#214b70;font-weight:650}
.footnote{color:#768493;border-top:1px solid var(--line);padding-top:18px;line-height:1.8;bottom:30px;width:195px;font-size:12px}
main{max-width:1550px;padding:28px 4.5vw 60px}
.demo{font-size:11px;border:0;color:#7a8997;align-items:center;margin-bottom:32px;padding:0 0 20px;border-bottom:1px solid var(--line)}.demo b{color:#7e6136;font-weight:600}
h1{font-family:'Segoe UI Variable Display','Segoe UI',sans-serif;font-size:clamp(30px,3.1vw,44px);font-weight:600;letter-spacing:-1.65px;line-height:1.15;margin:0 0 12px}h2{font-size:18px;font-weight:650;letter-spacing:-.3px}h3{font-weight:600}
.intro{font-size:15px;line-height:1.7;margin:0 0 30px}.top{margin-bottom:18px}.top .intro{margin-bottom:0}
.btn{font-size:13px;letter-spacing:.1px;padding:12px 18px;border-radius:8px;box-shadow:0 1px 2px #20344706;transition:background .15s,box-shadow .15s}.btn:hover{background:#edf3f8;border-color:#b9cbd9}.btn.primary:hover{background:#173951;color:white}.btn.primary{box-shadow:0 4px 10px #214b7014}
.panel{border-radius:14px;padding:28px 30px;margin-bottom:24px;box-shadow:0 3px 15px #25445a04}.columns{gap:24px;grid-template-columns:1.3fr 1fr}
#inicio .columns>.panel:first-child{background:#214b70;color:white;border-color:#214b70;position:relative;overflow:hidden}
#inicio .columns>.panel:first-child::after{content:'';position:absolute;pointer-events:none;width:210px;height:210px;border:1px solid #ffffff0d;border-radius:50%;right:-85px;top:-90px;box-shadow:0 0 0 28px #ffffff03,0 0 0 58px #ffffff03}
#inicio .columns>.panel:first-child .muted{color:#cfdae4}#inicio .columns>.panel:first-child .moneyline{border-color:#ffffff25}#inicio .columns>.panel:first-child .tag{color:#e7eff5;background:#ffffff18;border:1px solid #ffffff24}
.big{font-size:48px;font-weight:550;letter-spacing:-1.6px;margin:12px 0 16px;font-variant-numeric:tabular-nums}.moneyline{padding:16px 0;font-size:14px}.moneyline strong{font-size:16px;font-weight:600}.tag{border-radius:5px;font-size:11px;padding:5px 9px}.subtitle{line-height:1.7;font-size:12px}.item{padding:22px 0}.item p{font-size:13px;line-height:1.6}.item h3{font-size:15px}.muted{color:#71818f}
.totalstrip{gap:0;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:8px}.totalstrip>div{font-size:12px;color:#6b7c8b;padding-right:20px}.totalstrip>div+div{padding-left:25px;border-left:1px solid var(--line)}.totalstrip strong{font-size:30px;letter-spacing:-.7px;color:var(--ink);font-weight:600;margin-top:9px}.totalstrip strong.warning{color:var(--amber)}
.housegrid{background:#f6f8fb;padding:22px;border:1px solid #e7edf3;border-radius:10px;gap:12px}.housegrid button{background:white;border:1px solid #d6e1ea;box-shadow:0 2px 3px #29496106;border-radius:6px;min-height:61px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.housegrid button::before{content:'';width:15px;height:12px;border:1.4px solid #8fa8bb;border-top:0;clip-path:polygon(0 25%,50% 0,100% 25%,100% 100%,0 100%);background:#eaf0f5}.housegrid button:hover{border-color:var(--blue);background:#eaf1f7}.housegrid button.selected{background:var(--blue);color:white}.housegrid button.selected::before{background:#cbdce9;border-color:#cbdce9}
.chips{gap:8px}.chips .btn{box-shadow:none;font-size:12px;border-radius:20px;padding:8px 16px}.note{border-left:2px solid #7d9eb9;border-radius:0 8px 8px 0;background:#edf3f8;color:#506b80;line-height:1.7;font-size:13px;padding:16px 20px}
label{font-size:13px;font-weight:600;margin-bottom:9px}input,select{font-size:14px;padding:13px;border-color:#ced9e2;border-radius:7px}input::placeholder{color:#8e9da9}.fields{gap:10px 24px}form.panel{max-width:820px}.field{margin-bottom:17px}.empty{font-size:14px}.status{font-size:14px}
@media(min-width:801px) and (max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}aside{padding:30px 16px}.brand{font-size:21px}.footnote{width:170px}main{padding-left:28px;padding-right:28px}.columns{grid-template-columns:1fr}.housegrid{grid-template-columns:repeat(6,1fr)}.totalstrip strong{font-size:24px}}
@media(max-width:800px){.shell{display:block}aside{border-bottom:1px solid var(--line);padding:18px 22px;height:auto}.brand{font-size:21px;gap:10px;flex-wrap:nowrap}.brand::before{width:24px;height:27px}.brand small{display:block;width:auto;margin:0 0 0 auto;font-size:10px;letter-spacing:0}.footnote{display:none}nav{background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 25px #1c3c5005;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:2px}nav button{flex-direction:column;gap:4px;font-size:10px;padding:8px 1px;border-radius:8px;color:#63798b}nav button svg{width:21px;height:21px}nav button.active{background:#edf3f8}main{padding:19px 20px 115px}.demo{display:block;font-size:10px;line-height:1.8;padding-bottom:14px;margin-bottom:25px}.demo>span{display:block}h1{font-size:31px;letter-spacing:-1px}.intro{font-size:13px;line-height:1.7;margin-bottom:24px}.top{gap:18px;margin-bottom:22px}.top>.btn{align-self:stretch;text-align:center}.panel{padding:23px 22px;border-radius:12px;margin-bottom:18px}.columns{display:block}.big{font-size:42px}.moneyline{font-size:13px}.moneyline strong{font-size:15px}.totalstrip{display:block;padding-bottom:10px}.totalstrip>div,.totalstrip>div+div{border-left:0;padding:10px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.totalstrip strong{font-size:22px;margin:0;white-space:nowrap}.housegrid{grid-template-columns:repeat(5,1fr);gap:8px;padding:12px;margin-left:-7px;margin-right:-7px}.housegrid button{min-height:57px;padding:8px 1px;font-size:13px}.chips .btn{font-size:11px;padding:8px 12px}.item{flex-wrap:wrap;padding:19px 0}.item .btn{padding:10px 15px;font-size:12px}.fields{display:block}.note{font-size:12px}.btn{min-height:42px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.finance-tabs{margin:0 0 24px}.finance-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.finance-metrics .panel{margin:0 0 12px}.metric strong{display:block;font-size:clamp(23px,3vw,34px);overflow-wrap:anywhere;letter-spacing:-1px}.metric small{display:block;color:#63798b;margin-top:10px}.metric p{margin-top:0}#finanzas .item strong{white-space:nowrap}@media(max-width:800px){nav{grid-template-columns:repeat(5,1fr)}.finance-metrics{grid-template-columns:1fr;gap:6px}.finance-tabs{gap:6px}.finance-tabs .btn{flex:1;min-width:40%}}

#mgBody .comparison{border-left:3px solid #d5e3ec;padding-left:15px;margin:12px 0}#mgBody .item{align-items:flex-start}#mgBody .item>.chips{max-width:260px}#gestion .filters label{min-width:240px;flex:1}#gestion .filters select{max-width:100%}#mgBody a.btn{display:inline-block;text-decoration:none}@media(max-width:800px){nav{grid-template-columns:repeat(6,1fr)}#gestion .filters{display:block}#gestion .filters label{min-width:0;width:100%;margin-bottom:16px}nav button{font-size:9px}}

.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px}.module-grid .panel{margin:0}.module-grid .chips{align-items:flex-start}.module-grid .btn{white-space:normal;text-align:left}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted,#687b80)}
