:root{--navy:#102e48;--deep:#082136;--blue:#1164e9;--blue-dark:#0c4ebc;--ink:#182f45;--muted:#64748a;--line:#dfe6ef;--paper:#f5f8fc;--green:#14745b;--radius:14px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #5a9bfd;outline-offset:4px}[hidden]{display:none!important}.topbar{height:100px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.2;font-size:14px}.brand strong{font-size:19px;letter-spacing:-.5px}.brand-symbol{width:42px;height:44px;border-radius:10px;background:var(--blue);font-size:40px;line-height:37px;color:white;text-align:center;font-weight:800}.creditors{display:flex;align-items:center;gap:26px;font-size:25px;font-weight:750;letter-spacing:-1px;color:var(--navy)}.creditors span{height:25px;width:1px;background:#ccd5df}.top-note{font-size:14px;color:var(--muted)}.workspace{max-width:1512px;margin:auto;min-height:calc(100vh - 100px);display:grid;grid-template-columns:minmax(310px,35%) 1fr}.sidebar{background:var(--navy);color:white;padding:65px 12% 30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#a6c7e4;margin:0 0 26px}h1{font-size:clamp(30px,2.8vw,43px);line-height:1.18;font-weight:650;letter-spacing:-1.6px;margin:0 0 22px}.intro{color:#b9cbdb;font-size:16px;max-width:290px;margin:0}.steps{list-style:none;padding:0;margin:58px 0 50px;display:grid;gap:30px}.steps li{display:flex;align-items:center;gap:17px;color:#a3b7c9}.steps li>span{border:1px solid #476077;border-radius:50%;width:42px;height:42px;flex:none;display:grid;place-items:center;font-size:13px;letter-spacing:1px}.steps strong{display:block;font-size:15px;font-weight:600}.steps small{font-size:13px;display:block;margin-top:3px}.steps li.active{color:white}.steps li.active>span{background:#c7efff;color:#073451;border-color:#c7efff}.steps li.done>span{border-color:#92d1f0;color:#92d1f0}.sidebar-bottom{margin-top:auto;display:flex;gap:13px;align-items:center;border-top:1px solid #355169;padding-top:22px;color:#b9cbdb;font-size:13px}.sidebar-bottom p{margin:0}.small-mark{font-size:22px;color:#9fdbef}main{min-width:0;padding:30px clamp(25px,5vw,76px) 0;display:flex;flex-direction:column}.main-top{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:40px;margin-bottom:42px}.main-top>span{font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}.screen{width:100%;max-width:740px;margin:0 auto;animation:appear .25s ease}.section-kicker{color:var(--blue);font-size:12px;letter-spacing:1.7px;font-weight:750;margin:0 0 12px}h2{font-size:clamp(29px,2.9vw,40px);letter-spacing:-1.4px;line-height:1.16;font-weight:650;margin:0 0 17px}.subtitle{color:var(--muted);margin:0 0 30px;line-height:1.6}#cpf-form{padding:30px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #19334704;margin-top:34px}label{font-size:14px;font-weight:600;display:block;margin-bottom:9px}#cpf{display:block;width:100%;padding:17px 18px;border:1px solid #bfccdb;border-radius:8px;background:#fff;font-size:23px;letter-spacing:2px;color:var(--ink)}input::placeholder{color:#8c9caf}.field-help{font-size:13px;color:var(--muted);margin:10px 0 20px;line-height:1.6}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:13px 22px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;text-align:center}.primary{background:var(--blue);color:white;border:1px solid var(--blue)}.primary:hover:not(:disabled){background:var(--blue-dark)}.primary>span{margin-left:auto;font-size:23px;line-height:1}.secondary{background:white;color:var(--ink);border:1px solid #cbd7e3}.secondary:hover{background:#eef4fc}.full{width:100%}.text-button{background:transparent;border:0;padding:7px 0;color:var(--blue);font-size:14px;font-weight:600;text-align:left}.text-button:hover{text-decoration:underline}.lookup-note{display:flex;align-items:center;gap:13px;font-size:13px;color:var(--muted);margin:19px 0 36px}.lookup-note p{margin:0}.lookup-note>span{font-size:30px;color:#47718d}.feature-row{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:27px}.feature-row strong{display:block;font-size:13px}.feature-row span{display:block;font-size:12px;color:var(--muted);margin-top:4px}footer{margin-top:auto;padding:45px 0 22px;display:flex;justify-content:space-between;gap:20px;color:#6f7f91;font-size:12px}.notice,.alert{border-radius:8px;padding:14px 18px;margin-bottom:22px;font-size:14px}.notice{background:#fff5dc;border:1px solid #e9d496;color:#755008}.alert{background:#fff0ef;border:1px solid #e8bdb9;color:#922e27}.alert:focus{outline:2px solid #d6948f}#loading{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:14px;color:var(--blue)}.spinner{width:20px;height:20px;border:2px solid #c5d8f4;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}.balance-bar{background:var(--navy);color:white;padding:20px 24px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:20px}.balance-bar span{font-size:14px}.balance-bar strong{font-size:26px;white-space:nowrap}.card-list{display:grid;gap:16px;margin:25px 0}.debt-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:var(--radius)}.debt-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.debt-top h3{margin:0;font-size:20px}.debt-top p{font-size:13px;color:var(--muted);margin:3px 0}.debt-value{text-align:right;font-size:21px;font-weight:700;white-space:nowrap}.debt-card details{margin:16px 0;font-size:14px}.debt-card summary{cursor:pointer;color:var(--muted)}.debt-card table{width:100%;font-size:13px;border-collapse:collapse;margin-top:12px}.debt-card td,.debt-card th{padding:8px 4px;text-align:left;border-bottom:1px solid var(--line)}.debt-card th{color:var(--muted);font-weight:500}.debt-card td:last-child,.debt-card th:last-child{text-align:right}.empty-state{text-align:center;padding:30px 20px}.empty-state>span{color:var(--green);font-size:36px}.empty-state p{color:var(--muted)}.back{margin:0 0 22px}.due-bar{font-size:14px;color:var(--muted);padding:15px 0 23px}.due-bar strong{color:var(--ink)}fieldset{padding:0;margin:0;border:0;display:grid;gap:12px}.plan-card{display:flex;align-items:flex-start;gap:14px;background:white;border:1px solid #cbd7e3;border-radius:12px;padding:19px 21px;margin:0;cursor:pointer}.plan-card:has(input:checked){border:2px solid var(--blue);padding:18px 20px;background:#f0f6ff}.plan-card input{margin-top:7px;accent-color:var(--blue);width:18px;height:18px;flex:none}.plan-content{flex:1;min-width:0}.plan-title{font-size:18px;font-weight:650;display:block}.plan-description{display:block;color:var(--muted);font-size:13px;margin-top:4px;font-weight:400}.plan-total{display:block;font-size:14px;margin-top:10px}.review{background:#eaf1fa;border-radius:12px;padding:24px;margin-top:23px}.review h3{font-size:16px;margin:0 0 15px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;font-size:14px}dt{color:var(--muted)}dd{margin:0;font-weight:600;text-align:right}.consent{display:flex;align-items:start;gap:10px;border-top:1px solid #ccd8e7;padding-top:18px;margin:18px 0 0;font-size:13px;font-weight:400}.consent input{margin-top:4px;width:17px;height:17px;flex:none;accent-color:var(--blue)}#confirm-button{margin-top:20px}#refresh-pending{margin-top:12px}.success-mark{width:58px;height:58px;border-radius:50%;background:#d9eee7;color:var(--green);display:grid;place-items:center;font-size:27px;margin-bottom:22px}.bill-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px}.bill-card-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:12px;gap:14px}.bill-card-top>span:first-child{font-size:20px;font-weight:700}.tag{font-size:10px;background:#eef3f8;padding:5px 9px;border-radius:5px;letter-spacing:1px}.bill-card dl{margin-bottom:24px}textarea{resize:none;width:100%;padding:14px;border:1px solid #cbd7e3;border-radius:7px;word-break:break-all;font-size:15px;line-height:1.7;color:var(--ink);background:var(--paper)}#download,#issue-bill{margin-top:15px}#copy-feedback{display:block;font-size:13px;color:var(--green);margin-top:9px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(min-width:1450px){.workspace{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:1000px){.top-note{display:none}.sidebar{padding:48px 28px 28px}.workspace{grid-template-columns:310px 1fr}main{padding:25px 28px 0}.main-top{margin-bottom:28px}.feature-row{grid-template-columns:1fr;gap:14px}.feature-row>div{display:flex;justify-content:space-between;gap:12px}.feature-row span{margin:0}}@media(max-width:760px){.topbar{height:78px;padding:0 22px}.brand strong{font-size:16px}.brand{font-size:12px}.brand-symbol{height:36px;width:34px;font-size:33px;line-height:31px}.creditors{font-size:19px;gap:13px}.workspace{display:block}.sidebar{padding:22px 24px}.sidebar>div:first-child,.sidebar-bottom{display:none}.steps{display:flex;justify-content:space-between;gap:12px;margin:0}.steps li{gap:8px;flex:1}.steps li>span{width:29px;height:29px;font-size:10px}.steps strong{font-size:11px;line-height:1.4}.steps small{display:none}main{padding:22px 22px 0;min-height:calc(100vh - 151px)}.main-top{margin-bottom:26px;min-height:25px}.main-top>span{font-size:10px;letter-spacing:1px}.main-top .text-button{font-size:12px}h2{font-size:30px;letter-spacing:-1px}.subtitle{font-size:15px}.desktop-break{display:none}#cpf-form{padding:22px;margin-top:24px}.feature-row{margin-bottom:18px}.balance-bar{align-items:flex-start;flex-direction:column;gap:5px;padding:18px 20px}.balance-bar strong{font-size:28px}.debt-card{padding:20px}.debt-top{flex-wrap:wrap}.debt-value{font-size:22px}.bill-card{padding:22px}.due-bar{padding-top:0}.plan-card{padding:16px}.plan-card:has(input:checked){padding:15px}.review{padding:20px}footer{padding-top:38px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Negotiation optimized for touch, comparison and bounded option lists. */
.quote-reference{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:17px 0 21px;margin-top:-8px}.quote-reference>span{max-width:240px;font-size:14px;color:var(--muted)}.quote-reference strong{font-size:23px;white-space:nowrap}
.date-picker-card{display:grid;grid-template-columns:1fr auto;gap:10px 20px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:28px}.date-picker-card label{font-size:16px;margin:0 0 4px}.date-help{margin:0;font-size:13px;color:var(--muted)}.date-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.date-actions input{min-height:46px;width:174px;padding:9px 12px;color:var(--ink);background:#f5f8fc;border:1px solid #bdcddb;border-radius:8px;font-size:16px;min-width:0}.date-actions button{font-size:13px;min-height:34px;padding:4px}.date-note{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.5}
#plans-list{gap:25px}.option-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.option-heading h3{font-size:18px;margin:0}.option-heading>span{font-size:12px;color:var(--muted)}#cash-options{display:grid;gap:12px}
.cash-card{background:#eef9f4;border-color:#aed5c2;padding:22px}.cash-card .plan-title{font-size:32px;line-height:1.2;letter-spacing:-1px}.cash-card:has(input:checked){background:#e7f7ee;border-color:#14745b;padding:21px}.cash-card input{accent-color:#14745b}.cash-card .plan-content{display:flex;flex-direction:column;align-items:flex-start}.discount-badge{display:inline-block;width:fit-content;max-width:100%;font-size:12px;line-height:1.4;font-weight:700;color:#126344;background:#daf1e5;padding:5px 9px;border-radius:5px;margin-bottom:10px}.cash-card .discount-badge{color:white;background:#14745b}.original-price{display:block;text-decoration:line-through;color:#667d72;font-size:14px;font-weight:400;margin-bottom:3px}.savings-text{display:block;font-size:14px;color:#126344;font-weight:650;margin-top:12px}.installment-price{display:block;font-size:17px;color:var(--ink);margin:2px 0 6px;font-weight:650}.scroll-help{margin:-4px 0 12px;color:var(--muted);font-size:13px}
.installment-scroll{display:grid;gap:12px;max-height:380px;overflow-y:auto;overflow-x:hidden;padding:4px 10px 4px 4px;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#809eba #e5edf5;border-radius:10px;scroll-padding:8px;-webkit-overflow-scrolling:touch;box-shadow:inset 0 -7px 9px -8px #4d6b84}
.installment-scroll::-webkit-scrollbar{width:8px}.installment-scroll::-webkit-scrollbar-track{background:#e5edf5;border-radius:8px}.installment-scroll::-webkit-scrollbar-thumb{background:#809eba;border-radius:8px}.installment-scroll .plan-card{padding:16px;min-width:0}.installment-scroll .plan-card:has(input:checked){padding:15px}.installment-scroll .plan-title{font-size:16px}.installment-scroll .plan-total{padding-top:9px;border-top:1px solid var(--line);font-weight:650}.installment-scroll .savings-text{margin-top:5px}
.payment-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;border:1px solid #bed5f1;border-radius:12px;background:#edf5ff;padding:20px;margin-top:22px}.payment-comparison>div{min-width:0}.payment-comparison>div+div{border-left:1px solid #c4d9ee;padding-left:22px}.payment-comparison span{font-size:13px;color:#526e88;display:block}.payment-comparison strong{font-size:23px;display:block;letter-spacing:-.4px;margin-top:4px}.payment-comparison p{grid-column:1/-1;margin:0;font-size:14px;color:#285482}
.review dt,.review dd{font-size:14px}.review dd{max-width:65%}.consent{font-size:14px;line-height:1.5}.consent input{width:21px;height:21px}.confirm-dock{position:sticky;bottom:0;background:rgba(245,248,252,.97);padding:14px 0 18px;margin-top:20px;border-top:1px solid var(--line);z-index:2}.confirm-dock #confirm-button{margin-top:10px;min-height:52px}.confirm-dock #selected-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;color:var(--muted)}.confirm-dock #selected-total{font-size:22px;color:var(--ink);white-space:nowrap}
@media(max-width:760px){.quote-reference{gap:12px;margin-top:-10px;padding:12px 0 18px}.quote-reference>span{font-size:13px;max-width:170px}.quote-reference strong{font-size:21px}.date-picker-card{grid-template-columns:1fr;padding:16px;gap:12px;margin-bottom:24px}.date-actions{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}.date-actions input{flex:1;width:auto;max-width:210px}.date-actions button{min-height:44px;white-space:nowrap}.date-note{font-size:12px}.option-heading h3{font-size:18px}.option-heading>span{font-size:12px}.cash-card{padding:18px}.cash-card:has(input:checked){padding:17px}.cash-card .plan-title{font-size:32px}.installment-scroll{max-height:350px;max-height:min(46svh,370px);min-height:235px;padding-right:7px;gap:10px}.installment-scroll .plan-card{gap:11px}.discount-badge{font-size:12px}.savings-text{font-size:13px}.payment-comparison{padding:17px;gap:11px 15px}.payment-comparison>div+div{padding-left:15px}.payment-comparison strong{font-size:23px}.payment-comparison p{font-size:13px}.review{padding:18px}.review dl>div{gap:12px}.confirm-dock{margin-left:-22px;margin-right:-22px;padding:12px 22px max(14px,env(safe-area-inset-bottom));box-shadow:0 -8px 18px #162e4510;backdrop-filter:blur(10px)}.confirm-dock #confirm-button{font-size:14px;padding:13px 10px}.confirm-dock #selected-total{font-size:23px}#plans-screen>.subtitle{margin-bottom:23px}}
@media(max-width:360px){.quote-reference{align-items:flex-start;flex-direction:column;gap:2px}.quote-reference>span{max-width:none}.date-actions{flex-wrap:wrap}.date-actions input{max-width:none;width:100%}.payment-comparison strong{font-size:20px}}

/* Brand palettes from the official Crefaz and Consiga sites. */
:root,[data-portfolio="all"]{
 --navy:#213458;--deep:#172641;--blue:#213458;--blue-dark:#182947;--button-text:#fff;--link:#213458;--accent:#e67817;--accent-text:#192b49;
 --paper:#f5f7fa;--brand-soft:#eef2f8;--brand-border:#c5cfdf;--brand-ink:#213458;--brand-muted:#546684;--focus:#e67817;
 --cash-bg:#f2f5f9;--cash-selected:#eaf0f8;--cash-border:#bac7dc;--discount-bg:#213458;--discount-text:#fff;--savings:#213458;--dock:#f5f7faf5;
}
[data-portfolio="crefaz"]{
 --navy:#213458;--deep:#172641;--blue:#345477;--blue-dark:#294564;--button-text:#fff;--link:#345477;--accent:#7693b5;--accent-text:#172641;
 --paper:#f7f8fb;--brand-soft:#edf2f8;--brand-border:#ccd8e6;--brand-ink:#213458;--brand-muted:#536982;--focus:#345477;
 --cash-bg:#f1f5fa;--cash-selected:#e5edf7;--cash-border:#bfcede;--discount-bg:#345477;--discount-text:#fff;--savings:#345477;--dock:#f7f8fbf5;
}
[data-portfolio="consiga"]{
 --navy:#006a3f;--deep:#064600;--blue:#006a3f;--blue-dark:#00552f;--button-text:#fff;--link:#005832;--accent:#ffb104;--accent-text:#064600;
 --paper:#f5f8f6;--brand-soft:#ecf6ee;--brand-border:#b8d6c5;--brand-ink:#064600;--brand-muted:#496955;--focus:#008651;
 --cash-bg:#f0f8ec;--cash-selected:#e5f3df;--cash-border:#b7d1a4;--discount-bg:#ffb104;--discount-text:#064600;--savings:#005b34;--dock:#f5f8f6f5;
}
.topbar{border-top:4px solid var(--accent);height:100px}.creditors{gap:24px}.creditors img{display:block;max-width:146px;width:auto;height:38px;object-fit:contain;transition:opacity .2s}.creditors #header-consiga{height:35px;max-width:144px}.creditors .other-portfolio{opacity:.45}.brand-symbol{background:var(--blue);color:var(--button-text)}.top-note{color:var(--brand-ink)}
.sidebar{background:var(--navy);border-top:0}.eyebrow{color:#fff}.intro,.sidebar-bottom{color:#e0e8f0}.sidebar-bottom{border-top-color:#ffffff40}.small-mark{color:var(--accent)}.steps li{color:#e0e8f0}.steps li>span{border-color:#ffffff70}.steps li.active>span{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.steps li.done>span{border-color:var(--accent);color:#fff}.steps small{color:inherit}.primary{color:var(--button-text);border-color:var(--blue);background:var(--blue)}.primary:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}.text-button,.section-kicker,#loading{color:var(--link)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.installment-scroll:focus-visible{outline-color:var(--focus)}.secondary:hover{background:var(--brand-soft)}.spinner{border-color:var(--brand-border);border-top-color:var(--blue)}
.plan-card:has(input:checked){background:var(--brand-soft);border-color:var(--blue)}.plan-card input,.consent input{accent-color:var(--link)}.cash-card{background:var(--cash-bg);border-color:var(--cash-border)}.cash-card:has(input:checked){background:var(--cash-selected);border-color:var(--link)}.cash-card input{accent-color:var(--link)}.discount-badge{background:var(--brand-soft);color:var(--link)}.cash-card .discount-badge{background:var(--discount-bg);color:var(--discount-text)}.savings-text{color:var(--savings)}.original-price{color:var(--brand-muted)}.review{background:var(--brand-soft)}.consent{border-color:var(--brand-border)}
.payment-comparison{background:var(--brand-soft);border-color:var(--brand-border)}.payment-comparison>div+div{border-color:var(--brand-border)}.payment-comparison span{color:var(--brand-muted)}.payment-comparison strong,.payment-comparison p{color:var(--brand-ink)}.confirm-dock{background:var(--dock)}.installment-scroll{scrollbar-color:var(--brand-muted) var(--brand-soft)}.installment-scroll::-webkit-scrollbar-track{background:var(--brand-soft)}.installment-scroll::-webkit-scrollbar-thumb{background:var(--brand-muted)}
.debt-card{border-top:4px solid var(--blue)}.debt-logo{display:block;height:30px;max-width:145px;width:auto;object-fit:contain}.debt-top h3{margin-bottom:10px}.balance-bar{background:var(--navy)}
@media(max-width:760px){.topbar{height:82px;padding-left:18px;padding-right:18px;gap:14px}.creditors{gap:11px}.creditors img{max-width:88px;height:25px}.creditors #header-consiga{max-width:91px;height:24px}.creditors span{height:23px}.brand{gap:8px}.brand strong{font-size:14px}.brand{font-size:11px}.brand-symbol{width:31px;height:33px;font-size:29px;line-height:29px}.debt-logo{height:28px;max-width:140px}}
@media(max-width:360px){.topbar{padding-left:12px;padding-right:12px;gap:10px}.creditors{gap:8px}.creditors img{max-width:75px;height:23px}.creditors #header-consiga{max-width:78px;height:22px}.brand-symbol{display:none}}

/* Compact installment choices: details remain in the selected-plan review. */
.installment-scroll{max-height:250px;min-height:0;gap:8px;padding:3px 8px 3px 3px}
.installment-scroll .compact-plan{padding:12px 14px;gap:11px;align-items:center;border-radius:9px}
.installment-scroll .compact-plan:has(input:checked){padding:11px 13px}
.compact-plan input{margin:0;width:19px;height:19px}
.compact-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;line-height:1.45;font-size:14px;font-weight:500}
.compact-heading strong{font-size:15px;font-weight:700}
.compact-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:5px}
.compact-total{font-size:13px;font-weight:650}
.compact-meta .discount-badge{font-size:11px;padding:3px 6px;margin:0;line-height:1.4}
.installment-scroll .compact-plan .savings-text{font-size:12px;line-height:1.4;margin-top:4px}
@media(max-width:760px){
 .installment-scroll{max-height:240px;min-height:0;gap:7px}
 .installment-scroll .compact-plan{padding:11px 10px;gap:9px}
 .installment-scroll .compact-plan:has(input:checked){padding:10px 9px}
 .compact-heading{font-size:13px;gap:1px 5px}.compact-heading strong{font-size:14px}
 .compact-meta{gap:4px 7px}.compact-total{font-size:13px}
 .compact-meta .discount-badge{font-size:11px}
}

/* Installment count remains prominent in compact choices. */
.compact-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 40px;align-self:center}
.installment-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:4px 5px;border-radius:6px;background:var(--brand-soft);color:var(--brand-ink);font-size:16px;font-weight:800;line-height:1.2;white-space:nowrap}
.compact-choice input{flex:none}
@media(max-width:760px){.compact-choice{flex-basis:36px;gap:5px}.installment-count-badge{min-width:34px;font-size:15px;padding:4px}}
#review{scroll-margin-top:24px}

.debt-status{display:grid;gap:5px;margin:14px 0;padding:14px;border-radius:9px;background:var(--brand-soft);color:var(--brand-ink);font-size:14px;line-height:1.5}
.debt-status>strong:first-child{font-size:16px}
.debt-overdue{margin-top:5px}
.debt-protest-status{font-size:12px;line-height:1.5;color:var(--brand-muted);margin:0 0 16px}
.phone-field{margin:20px 0}.phone-field input{width:100%;max-width:360px;margin-top:8px}
#phone-dialog{width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--brand-border);border-radius:18px;padding:26px;color:var(--brand-ink);background:var(--paper);box-shadow:0 20px 70px #17264140}
#phone-dialog::backdrop{background:#101b32a6}
#phone-dialog h2{font-size:24px;margin:0 0 12px}
#phone-dialog p{line-height:1.5}
#phone-dialog .phone-field input{max-width:none}
#phone-dialog #phone-error{color:#a32424;font-size:14px}
#phone-cancel{margin-top:12px}
@media(max-width:480px){#phone-dialog{padding:22px 18px}}
/* Full-screen processing feedback for consultation and agreement requests. */
body.is-processing{overflow:hidden}
body.is-processing>.topbar,body.is-processing>.workspace{filter:blur(5px);pointer-events:none;user-select:none}
#loading{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;margin:0;padding:24px;background:rgba(20,34,53,.38);color:var(--brand-ink)}
#loading[hidden]{display:none}
.loading-panel{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:390px;padding:32px 24px;text-align:center;background:var(--paper);border:1px solid var(--brand-border);border-radius:20px;box-shadow:0 20px 70px #17264140}
.loading-panel .spinner{width:48px;height:48px;flex-shrink:0;border-width:4px}
.loading-panel strong{font-size:23px}
.loading-panel #loading-text{font-size:16px;line-height:1.5}
.loading-panel small{font-size:13px;line-height:1.5;color:var(--brand-muted)}
@media(prefers-reduced-motion:reduce){.loading-panel .spinner{animation:none}}
.payment-intent{padding:16px;border:1px solid var(--brand-border);border-radius:10px;background:var(--paper);margin-top:16px}.payment-intent strong{display:inline-block;margin-bottom:6px}
.debt-customer{display:flex;flex-direction:column;gap:5px;margin:12px 0 16px;color:var(--brand-ink);overflow-wrap:anywhere}.debt-customer strong{font-size:15px;line-height:1.5}.debt-customer span{font-size:13px;color:var(--brand-muted)}
.debt-negative-status{display:flex;flex-direction:column;gap:5px;margin:14px 0;padding:12px 14px;border:1px solid var(--brand-border);border-radius:9px;color:var(--brand-ink);font-size:14px}.debt-negative-status span{color:var(--brand-muted);font-size:13px}
/* Polished phone field with a clear, accessible focus treatment. */
#phone-dialog .phone-field{margin:24px 0}
#phone-dialog .phone-field label{display:block;margin-bottom:9px;font-size:13px;font-weight:700;color:var(--brand-ink)}
#phone-dialog .phone-field input{display:block;box-sizing:border-box;width:100%;max-width:none;min-height:56px;margin:0;padding:15px 17px;appearance:none;-webkit-appearance:none;border:1px solid var(--brand-border);border-radius:12px;background:#fff;color:var(--brand-ink);font-family:inherit;font-size:18px;line-height:1.4;letter-spacing:.4px;box-shadow:0 2px 5px #17264106;transition:border-color .18s,box-shadow .18s}
#phone-dialog .phone-field input::placeholder{color:var(--brand-muted);opacity:.75}
#phone-dialog .phone-field input:focus,#phone-dialog .phone-field input:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-color:var(--focus);box-shadow:0 0 0 5px var(--brand-soft)}
#phone-dialog .phone-field .field-help{margin:12px 0 0;font-size:12px;line-height:1.65}
#phone-dialog .primary{min-height:52px;border-radius:11px}
#phone-dialog #phone-cancel{display:block;width:100%;text-align:center;padding:12px;border-radius:10px}
@media(prefers-reduced-motion:reduce){#phone-dialog .phone-field input{transition:none}}
.bill-payment-option{margin-top:24px;padding:22px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:14px}
.payment-option-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}
.payment-option-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:var(--paper);color:var(--brand-ink);font-size:24px;font-weight:700}
.payment-option-heading h3{margin:0 0 6px;font-size:18px;line-height:1.35;color:var(--brand-ink)}
.payment-option-heading p{margin:0;font-size:14px;line-height:1.6;color:var(--brand-muted)}
.bill-payment-option label{display:block;margin-bottom:8px;font-size:12px;font-weight:650;color:var(--brand-muted)}
#digitable-line{box-sizing:border-box;width:100%;min-height:78px;padding:14px;border:1px dashed var(--brand-border);border-radius:10px;background:#fff;color:var(--brand-ink);font-family:ui-monospace,Consolas,monospace;font-size:15px;line-height:1.7;resize:none;overflow-wrap:anywhere}
#copy-line{display:flex;justify-content:center;align-items:center;gap:10px;min-height:54px;margin-top:12px;border-radius:10px;font-size:15px;font-weight:700;white-space:normal}
#copy-feedback:not(:empty){display:block;margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--paper);color:var(--brand-ink);font-size:14px;font-weight:650;line-height:1.5}
#download.bill-download-option{display:flex;align-items:center;gap:14px;margin-top:18px;padding:18px;text-align:left;border:1px solid var(--brand-border);border-radius:14px;text-decoration:none;background:#fff;color:var(--brand-ink)}
#download.bill-download-option[hidden]{display:none}
.bill-download-option>span:nth-child(2){flex:1;min-width:0}
.bill-download-option strong{display:block;font-size:16px}
.bill-download-option small{display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.5;color:var(--brand-muted)}
#download.bill-download-option:hover{background:var(--brand-soft);border-color:var(--blue)}
@media(max-width:480px){.bill-payment-option{padding:16px}.payment-option-heading{gap:10px}.payment-option-heading h3{font-size:17px}#digitable-line{font-size:14px;min-height:94px}#download.bill-download-option{padding:16px}}
/* Emphasize the review and consent step in each portfolio theme. */
#review{padding:24px;border:2px solid var(--blue);border-radius:18px;background:#fff;box-shadow:0 8px 26px #17264112;overflow:hidden}
.review-heading{margin:-24px -24px 22px;padding:22px 24px;background:var(--navy);color:#fff}
.review-step-label{display:block;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:1.2px;color:#e0e8f0}
#review .review-heading h3{margin:0 0 8px;font-size:23px;line-height:1.3;color:#fff}
.review-heading p{margin:0;font-size:14px;line-height:1.6;color:#e0e8f0}
#review-values>div:last-child{margin-top:12px;padding:16px;border-radius:10px;background:var(--brand-soft);border:1px solid var(--brand-border);font-weight:700}
#review-values>div:last-child dt{color:var(--brand-ink);font-weight:700}
#review-values>div:last-child dd{font-size:23px;color:var(--brand-ink);line-height:1.35}
#review>.consent{font-size:14px;line-height:1.6}
#review .consent input{width:22px;height:22px;flex:0 0 22px}
#review .payment-intent{background:var(--brand-soft)}
@media(max-width:480px){#review{padding:18px}.review-heading{margin:-18px -18px 18px;padding:20px 18px}#review .review-heading h3{font-size:21px}#review-values>div:last-child{padding:13px}#review-values>div:last-child dd{font-size:21px}}
#copy-line{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;padding:16px 12px}
#copy-line>span{margin:0;flex:0 0 auto}
#copy-line>span:last-child{margin-left:0}
#download .boleto-icon{width:46px;height:50px;flex-basis:46px;border:1px solid var(--brand-border);background:var(--brand-soft)}
#download .boleto-icon svg{display:block;flex:none}
.existing-agreement-note{padding:14px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);font-weight:650;line-height:1.6}
.active-agreement-notice{display:flex;flex-direction:column;gap:9px;margin:20px 0;padding:20px;border:2px solid var(--blue);border-radius:14px;background:var(--brand-soft);color:var(--brand-ink)}.active-agreement-notice[hidden]{display:none}.active-agreement-notice strong{font-size:20px;line-height:1.35}.active-agreement-notice span{font-size:17px;font-weight:650;line-height:1.5}