/* Portal BAC — cascarón compartido para las calculadoras */
:root{--red:#E10520;--red-hover:#C00418;--red-dark:#C00418;--red2:#F2105B;--red-gradient:linear-gradient(110deg,#E10520 0%,#F2105B 50%,#8164D6 100%);--purple:#3B2283;--purple-deep:#15176F;--purple-light:#8164D6;--ink:#0a0b1f;--dark:#0a0b1f;--black:#0a0b1f;--gray-text:rgba(10,11,31,.72);--gray:rgba(10,11,31,.72);--gray-light:#F7F6FC;--gray-mid:rgba(59,34,131,.10);--field-bg:#F7F6FC;--paper:#F5F4FA;--soft:#F5F4FA;--soft2:#ECE9F6;--line:rgba(10,11,31,.1);--ink-soft:rgba(10,11,31,.72);--radius:14px;--radius-sm:8px}
html,body{background:var(--soft) !important;padding:0 !important;margin:0}
body::before{display:none !important;content:none !important}
body,body *:not(svg):not(svg *){font-family:'Lato',sans-serif !important}
body{line-height:1.1;color:var(--ink)}
body *{font-weight:400}
b,strong,h1,h2,h3,h4,th,label,legend,.btn,.chip,.card-label,.field-label,.stat .val,.stat .lbl,.result-amount,dl.stats dd,.range-amount,.chart-stat .val,.chart-stat .lbl,.section-title,.section-num,.money input,.percent input,#monto,.pr-title,.pr-sec-title,.pr-est-main .amt,.pr-client .k,.pr-client strong,.pr-head-meta .doc,.result-title,.result-eyebrow,.pr-table td,tr.now td,.seg span,.portal-nav .t,.portal-nav a.on,.portal-nav .g,.portal-top .w,.portal-top .who b,.portal-crumb b,.btn-pdf,.pdf-btn,.chip,.ph h2,input,select{font-weight:700}
input,select,p,td,.header-sub,.subtitle,.section-note,.range-examples,.footer-note,.disclaimer,.result-per,dl.stats dt,.pr-lead,.pr-table th,.warn,.pr-foot,.pr-note{font-weight:400}
a{color:var(--purple);text-decoration:none}a:hover{color:var(--red)}

/* Cabecera y menú del portal */
.portal-top{display:flex;align-items:center;justify-content:space-between;height:85px;box-sizing:border-box;padding:26px 64px 26px 24px;background:#fff;border-bottom:1px solid var(--line)}
.portal-top .brand{display:flex;align-items:center;gap:10px}
.portal-top img.logo{height:32px !important;width:auto !important;display:block !important;min-height:0 !important;padding:0 !important;margin:0 !important;background:none !important;border-radius:0 !important;box-shadow:none !important}
.portal-top .w{font-size:21px;letter-spacing:.12em;color:var(--red);line-height:1.1}
.portal-top .w .sep{display:inline-block;width:1px;height:18px;background:var(--red);margin:0 6px;vertical-align:-3px}
.portal-top .w .tag{display:block;font-weight:400;color:var(--ink);letter-spacing:.28em;font-size:10px;margin-top:3px}
.portal-top .who{font-size:13px;color:var(--ink-soft)}.portal-top .who b{color:var(--ink)}
.portal-body{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 85px)}
.portal-nav{background:#fff;border-right:1px solid var(--line);padding:36px 20px 36px 32px;display:flex;flex-direction:column;gap:2px}
.portal-nav .t{font-size:13px;letter-spacing:2.08px;text-transform:uppercase;color:var(--purple);margin-bottom:18px}
.portal-nav a{position:relative;display:block;padding:8px 0 8px 18px;font-size:14px;color:var(--ink-soft);border-radius:0}
.portal-nav a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line)}
.portal-nav a.on{color:var(--red);background:none}.portal-nav a.on::before{background:var(--red)}
.portal-nav a:hover{color:var(--purple);background:none}.portal-nav a:hover::before{background:var(--purple)}
.portal-nav .g{font-size:11px;letter-spacing:1.98px;text-transform:uppercase;color:var(--purple-light);margin:19px 0 6px}
.portal-nav a.back{padding-left:0;color:var(--purple)}.portal-nav a.back::before{display:none}
.portal-main{padding:40px 56px 56px;min-width:0;background:#fff}
.portal-crumb{font-size:13px;color:var(--ink-soft);margin-bottom:18px}
.portal-crumb a{color:var(--purple)}.portal-crumb b{color:var(--ink)}
.portal-crumb span{margin:0 8px;opacity:.5}
.portal-title{font-size:32px;color:var(--purple);letter-spacing:-.01em;margin:0 0 8px}
.portal-sub{font-size:16px;color:var(--ink-soft);line-height:1.3;margin:0 0 28px}
.portal-nav .back{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:13px}

/* Neutralizar la cabecera original */
.top-bar,.header .logo,.logo-img,.top-bar-logo{display:none !important}
.container{max-width:none;margin:0}
.header{padding:0 !important;overflow:visible}
.header h1,.header-title,.header-sub,.header .subtitle{display:none}
.header-body,.card,.section,.chart-col,.result-section,.pr-est{box-shadow:none !important;border:1px solid var(--line)}
.header-body,.section,.chart-col,.card{border-radius:var(--radius);background:#fff}
.section-head{background:linear-gradient(90deg,#E30613 0%,#f2105b 55%,#9e49a3 100%)}
.section-num,.vc-section-num{background:rgba(0,0,0,.22) !important;color:#fff !important}
.section-title{letter-spacing:.08em}
.result-section{background:var(--purple);border:none;box-shadow:none;padding:2.5rem 1.75rem}
.chip{color:var(--purple);border-color:var(--purple)}.chip:hover{background:var(--purple);color:#fff}
.seg input:checked + span{background:var(--purple);color:#fff}
.seg.plans input:checked + span{background:var(--purple);color:#fff}
.seg{border:1px solid var(--soft2) !important;border-radius:12px !important;background:var(--soft) !important;align-items:stretch;height:48px;line-height:0}
.seg label{display:flex;margin:0 !important;padding:0 !important;line-height:1.1}
.seg span{height:46px !important;width:100%;border-left-color:var(--soft2) !important;font-weight:700 !important}
.seg.plans{height:auto !important;line-height:1.1;border:0 !important;background:none !important;display:grid !important;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;overflow:visible !important}
.seg.plans label{display:block}
.seg.plans span{border:1px solid var(--soft2) !important;border-radius:12px !important;background:var(--soft) !important;height:46px !important}
.seg.plans input:checked + span{background:var(--purple) !important;border-color:var(--purple) !important;color:#fff}
input:focus,select:focus,.client-field input:focus{border-color:var(--purple) !important;box-shadow:0 0 0 3px rgba(129,100,214,.2) !important}
.money>span,.percent>span,.amount-wrap>span{color:var(--purple)}
.money input,.amount-wrap input,#monto{padding-left:36px !important}
.amount-wrap>span{left:14px !important}
.bar{background:var(--purple)}
tr.now td{background:#EFEBFA}
.body-wrap{padding:0 !important;gap:20px}
.pr-rule{background:var(--purple)}
.btn-pdf,.pdf-btn{background:var(--red);border-radius:8px;letter-spacing:.02em;font-size:13px;box-shadow:none}
.btn-pdf:hover,.pdf-btn:hover{background:var(--red-hover)}
.pdf-btn{position:static;margin-bottom:16px}
.disclaimer{padding:16px 0 0}
.title-row>div:first-child:empty,.title-row>div:first-child:has(h1){display:none}
.quote-meta{flex:1;width:100%}
.header-content,.header-body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin-bottom:16px}
.header-body .header-content{border:0;padding:0;margin:0;background:transparent}
.header-content .title-row{background:transparent !important;border:0 !important;padding:0 !important;box-shadow:none !important;border-radius:0 !important}
.client-fields,.quote-meta{display:flex;gap:16px;flex-wrap:wrap;width:100%}
.client-field,.quote-field{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:8px}
.client-field label,.quote-field .card-label{font-size:13px;letter-spacing:0;text-transform:none;color:rgba(10,11,31,.62);font-weight:700}
.quote-field>div{margin-top:0 !important}
.client-field input,.quote-field input{height:46px !important;padding:0 16px !important;font-size:14px !important;line-height:44px !important;border:1px solid var(--soft2) !important;border-radius:12px !important;background:var(--soft) !important;color:var(--ink) !important;font-weight:400 !important}
.client-field input::placeholder,.quote-field input::placeholder{color:rgba(10,11,31,.4)}
.client-field input[type=date]::-webkit-date-and-time-value,.quote-field input[type=date]::-webkit-date-and-time-value{line-height:44px !important;min-height:44px !important}
input[type=text],input[type=number],input[type=date],select{padding-left:14px !important;padding-right:14px !important;background:#F7F6FC;border-color:rgba(59,34,131,.10)}
.money input{padding-left:32px !important}
.pdf-btn{margin:0 0 16px}
.card.pf,.card.prod,.card.inf{border-top:1px solid var(--line) !important}
.card.prod{background:#FCF1F3;border-color:#F3D6DC !important}
.card.pf{background:#F5F4FA;border-color:#E6E1F3 !important}
.card.inf{background:#FBF6EA;border-color:#EDE0C2 !important}
.card.prod input,.card.prod select,.card.pf input,.card.pf select,.card.inf input,.card.inf select{background:#fff !important}
.client-fields{border-top:0 !important;margin-top:0 !important;padding-top:0 !important}
.quote-meta .card{border:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important}
[style*="font-weight:600"],[style*="font-weight:800"]{font-weight:700 !important}
.footer-note{text-align:left;color:var(--ink-soft)}

/* Formularios: etiquetas en minúscula, más aire, menos peso visual */
.field label,.field legend,.card-label,.field-label,.range-label,.card-title .name{text-transform:none !important;letter-spacing:0 !important;font-size:13px !important;color:rgba(10,11,31,.62) !important;font-weight:700 !important;margin-bottom:8px !important}
.section-body{gap:22px !important;padding:1.4rem 1.6rem !important}
.section-note,.range-examples,.hint,.chart-sub{color:rgba(10,11,31,.55) !important;line-height:1.45 !important}
.row2{gap:0 18px !important}
.range-box{background:#fff !important;border:1px solid var(--line) !important;border-left:1px solid var(--line) !important;border-radius:12px !important;padding:16px 18px !important}
.range-amount{color:var(--purple) !important;font-size:20px !important;font-weight:700 !important;margin:2px 0 4px}
.range-examples{margin-top:6px !important}
@media (max-width:900px){.portal-body{grid-template-columns:1fr}.portal-nav{display:none}.portal-top,.portal-main{padding-left:20px;padding-right:20px}}
@media print{.portal-top,.portal-nav,.portal-crumb,.portal-title,.portal-sub{display:none !important}.portal-body{display:block}.portal-main{padding:0}}

.chatbot{position:fixed;right:28px;bottom:28px;width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:0 10px 28px rgba(21,23,111,.22);display:flex;align-items:center;justify-content:center;z-index:50}
.chatbot img{width:44px;height:44px;object-fit:contain}
.chatbot::after{content:"";position:absolute;right:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#24CCC7;border:2px solid #fff}
@media print{.chatbot{display:none !important}}

/* Footer del portal y logout */
.portal-foot{display:flex;justify-content:space-between;align-items:center;padding:22px 64px;font-size:12px;color:var(--ink-soft);border-top:1px solid var(--line);background:#fff}
.portal-foot b{color:var(--purple);letter-spacing:.72px;font-weight:700}
.portal-foot .r{display:flex;align-items:center;gap:28px}
.social{display:flex;align-items:center;gap:10px}
.social .lbl{font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--purple)}
.social a{width:28px;height:28px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--purple)}
.social a:hover{background:var(--purple);color:#fff}
.social svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-top .logout{margin-left:18px;font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--red)}.portal-top .logout:hover{color:var(--purple)}
@media print{.portal-foot{display:none !important}}
