/* Cotizador PaaS · dark interactive layer. White is reserved for the final document. */
body{
  --deep-blue:#fff;
  --fg:#fff;
  --fg-muted:var(--ip-text-secondary);
  --fg-subtle:var(--ip-text-muted);
  --fg-on-dark-muted:var(--ip-text-secondary);
  --surface-2:var(--ip-bg-1);
  --border:var(--ip-border);
  --border-strong:var(--ip-border-strong);
  --red-50:rgba(234,23,68,.10);
  --red-100:rgba(234,23,68,.16);
  --red-300:#ff8ba3;
  --grad-dark:linear-gradient(135deg,var(--ip-bg-2),var(--ip-bg-3));
  background:var(--ip-bg-0);
  color:#fff;
}
.cfg-app{min-height:100vh;padding-top:112px;background:radial-gradient(700px 440px at 90% 3%,rgba(234,23,68,.16),transparent 68%),linear-gradient(160deg,var(--ip-bg-0),var(--ip-bg-1) 58%,var(--ip-bg-0));color:#fff}
.cfg-wrap{max-width:940px!important}
.cfg-intro{padding:58px 24px 42px;text-align:center}.cfg-intro-inner{max-width:820px;margin:auto}.cfg-intro h1{margin:15px 0 16px;font-size:clamp(38px,5.6vw,68px);line-height:1.02;letter-spacing:-.04em}.cfg-intro h1 span{background:linear-gradient(120deg,#ff6d89,var(--ip-accent) 68%);-webkit-background-clip:text;background-clip:text;color:transparent}.cfg-intro p{max-width:660px;margin:auto;font-size:16px;line-height:1.7;color:var(--ip-text-secondary)}
.cfg-wizard-head{position:sticky;top:96px;z-index:35;background:rgba(8,20,32,.92)!important;border-color:var(--ip-border-soft)!important;backdrop-filter:var(--ip-blur);box-shadow:0 14px 36px rgba(0,0,0,.22)}
.cfg-wizard-head .cfg-wrap{padding-top:22px!important;padding-bottom:20px!important}
.cfg-app h1,.cfg-app h2,.cfg-app h3,.cfg-app h4,.cfg-app [style*="color:var(--deep-blue)"]{color:#fff!important}
.cfg-app [style*="color:var(--fg-muted)"],.cfg-app [style*="color:var(--fg-subtle)"]{color:var(--ip-text-secondary)!important}
.cfg-app [style*="border-bottom:1px solid var(--border)"],.cfg-app [style*="border-top:1px solid var(--border)"]{border-color:var(--ip-border)!important}
.cfg-scroll{min-height:500px;scroll-margin-top:218px}.cfg-scroll>.cfg-wrap{padding-top:46px!important;padding-bottom:80px!important}
.cfg-step-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.cfg-app .cfg-step-nav .cfg-step-btn{height:58px!important;min-width:0;padding:8px 7px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--ip-border)!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;color:var(--ip-text-muted)!important;cursor:default!important;transition:background var(--ip-motion-base),border-color var(--ip-motion-base),transform var(--ip-motion-base)!important}
.cfg-app .cfg-step-nav .cfg-step-btn span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);font:800 9px/1 var(--ip-font-mono)}
.cfg-app .cfg-step-nav .cfg-step-btn small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;font-weight:700;color:inherit}
.cfg-app .cfg-step-nav .cfg-step-btn.is-active{background:rgba(234,23,68,.13)!important;border-color:rgba(234,23,68,.62)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(234,23,68,.08)!important}
.cfg-app .cfg-step-nav .cfg-step-btn.is-active span{background:var(--ip-accent);color:#fff;box-shadow:0 0 15px rgba(234,23,68,.45)}
.cfg-app .cfg-step-nav .cfg-step-btn.is-done{cursor:pointer!important;color:var(--ip-text-primary)!important;border-color:rgba(52,211,153,.22)!important}
.cfg-app .cfg-step-nav .cfg-step-btn.is-done:hover{transform:translateY(-1px);background:rgba(52,211,153,.08)!important;border-color:rgba(52,211,153,.45)!important}.cfg-app .cfg-step-nav .cfg-step-btn.is-done span{background:rgba(52,211,153,.14);color:var(--ip-success)}
.cfg-app .cfg-step-nav .cfg-step-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cfg-bar{box-shadow:0 -16px 44px rgba(0,0,0,.34)}
.cfg-bar .cfg-wrap{padding-top:15px!important;padding-bottom:15px!important}
.cfg-required{display:block;margin-top:3px;font-size:10px;font-weight:600;color:#ff9aae}.cfg-actions button{min-height:44px}.cfg-price .cfg-num{color:#fff!important;text-shadow:0 0 20px rgba(255,255,255,.12)}

/* Dynamic controls are generated inline by the existing pricing engine. */
.cfg-app button[data-act]:not([data-act="next"]):not([data-act="openQuote"]):not([data-act="submitQuote"]):not([data-act="printQuote"]){background:rgba(255,255,255,.045)!important;color:var(--ip-text-primary)!important;border-color:var(--ip-border)!important}
.cfg-app button[data-act]:hover{border-color:rgba(255,255,255,.24)!important}
.cfg-app button[data-act][style*="background:var(--accent)"],
.cfg-app button[data-act][style*="background:var(--deep-blue)"],
.cfg-app button[data-act="next"],
.cfg-app button[data-act="openQuote"],
.cfg-app button[data-act="submitQuote"],
.cfg-app button[data-act="printQuote"]{background:var(--ip-accent)!important;color:#fff!important;border-color:var(--ip-accent)!important;box-shadow:var(--ip-shadow-accent)!important}
.cfg-app button[data-act][style*="background:var(--red-50)"]{background:rgba(234,23,68,.12)!important;border-color:rgba(234,23,68,.58)!important}
.cfg-app button[data-act][style*="2px solid var(--accent)"]{background:rgba(234,23,68,.14)!important;border-color:var(--ip-accent)!important;box-shadow:0 0 0 2px rgba(234,23,68,.6),0 12px 30px -8px rgba(234,23,68,.55)!important}
.cfg-app button.cfg-step-btn[style*="background:var(--red-300)"]{background:#ff8ba3!important}
.cfg-app button[data-act][disabled]{opacity:.42!important;box-shadow:none!important;cursor:not-allowed!important}
.cfg-app button[data-act="dec"],.cfg-app button[data-act="inc"]{background:rgba(255,255,255,.06)!important;color:#fff!important}
.cfg-app button[data-act="reset"]{background:transparent!important;color:var(--ip-text-secondary)!important}

/* Keep the journey states stronger than the generic generated-button rules above. */
#cfg-app .cfg-step-nav button.cfg-step-btn.is-future{background:rgba(255,255,255,.035)!important;color:var(--ip-text-muted)!important;border-color:var(--ip-border)!important}
#cfg-app .cfg-step-nav button.cfg-step-btn.is-active{background:rgba(234,23,68,.13)!important;color:#fff!important;border-color:rgba(234,23,68,.62)!important;box-shadow:0 0 0 2px rgba(234,23,68,.08)!important}
#cfg-app .cfg-step-nav button.cfg-step-btn.is-done{background:rgba(52,211,153,.045)!important;color:var(--ip-text-primary)!important;border-color:rgba(52,211,153,.22)!important}

.cfg-app input:not(.cfg-quote--document input),.cfg-app select,.cfg-app textarea{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:var(--ip-border)!important}
.cfg-app input::placeholder{color:var(--ip-text-muted)}
.cfg-app input:focus,.cfg-app select:focus,.cfg-app textarea:focus{border-color:var(--ip-accent)!important;box-shadow:0 0 0 3px rgba(234,23,68,.1)!important}
.cfg-app [style*="background:#fff"]:not(.cfg-quote--document):not(.cfg-quote--document *){background:rgba(255,255,255,.04)!important}
.cfg-app [style*="background:var(--surface-2)"]{background:rgba(255,255,255,.035)!important}
.cfg-app [style*="box-shadow:var(--shadow-sm)"],.cfg-app [style*="box-shadow:var(--shadow-md)"]{box-shadow:var(--ip-shadow-card)!important}

.cfg-assessment-context{max-width:940px;margin:0 auto 22px;padding:0 24px}
.cfg-assessment-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 19px;border:1px solid rgba(191,234,90,.22);border-radius:17px;background:linear-gradient(135deg,rgba(191,234,90,.075),rgba(255,255,255,.025));box-shadow:0 16px 46px rgba(0,0,0,.2)}
.cfg-assessment-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(191,234,90,.12);color:var(--ip-intelligence);font:800 13px/1 var(--ip-font-mono)}
.cfg-assessment-copy strong{display:block;font-size:13px;color:#fff}.cfg-assessment-copy span{display:block;margin-top:3px;font-size:11.5px;line-height:1.45;color:var(--ip-text-secondary)}
.cfg-assessment-card a{font-size:11px;font-weight:700;color:var(--ip-intelligence);white-space:nowrap}

.cfg-quote-overlay{background:rgba(1,10,16,.82)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.cfg-quote--form{background:var(--ip-surface-glass-strong)!important;border:1px solid var(--ip-border)!important;color:#fff;box-shadow:0 34px 100px rgba(0,0,0,.55)!important}
.cfg-quote--form [style*="color:var(--deep-blue)"]{color:#fff!important}.cfg-quote--form [style*="color:var(--fg-muted)"],.cfg-quote--form [style*="color:var(--fg-subtle)"]{color:var(--ip-text-secondary)!important}
.cfg-quote--form input{background:rgba(255,255,255,.055)!important;border-color:var(--ip-border)!important;color:#fff!important}
.cfg-quote--document{--deep-blue:#031927;--fg:#031927;--fg-muted:#5c6a7a;--fg-subtle:#6b7a8a;--border:#e6ebf0;--border-strong:#cfd7df;--fg-on-dark-muted:rgba(255,255,255,.7);background:#fff!important;color:#031927!important}
.cfg-quote--document [style*="background:#fff"]{background:#fff!important}

@media(max-width:720px){.cfg-app{padding-top:100px}.cfg-wrap{padding-left:16px!important;padding-right:16px!important}.cfg-wizard-head{top:91px}.cfg-step-nav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:1px 1px 7px;scrollbar-width:none}.cfg-step-nav::-webkit-scrollbar{display:none}.cfg-app .cfg-step-nav .cfg-step-btn{flex:0 0 112px;scroll-snap-align:start}.cfg-scroll{scroll-margin-top:210px}.cfg-assessment-context{padding:0 16px}.cfg-assessment-card{grid-template-columns:auto minmax(0,1fr)}.cfg-assessment-card>a{grid-column:2}.cfg-bar .cfg-wrap{align-items:flex-end!important}.cfg-actions{gap:7px!important}.cfg-bar button{padding-left:16px!important;padding-right:16px!important}}
@media(max-width:480px){.cfg-scroll>.cfg-wrap{padding-top:32px!important}.cfg-wizard-head .cfg-wrap{padding-top:15px!important;padding-bottom:12px!important}.cfg-app .cfg-step-nav .cfg-step-btn{height:50px!important;flex-basis:96px}.cfg-app .cfg-step-nav .cfg-step-btn small{font-size:8px}.cfg-assessment-card{padding:15px}.cfg-size-suggest-grid{grid-template-columns:1fr!important}.cfg-bar-inner{align-items:stretch!important;gap:9px!important}.cfg-price .cfg-num{font-size:18px!important}.cfg-required{max-width:130px}.cfg-bar button{font-size:12px!important;padding:11px 13px!important}.cfg-actions button:first-child{width:44px;overflow:hidden;white-space:nowrap;padding-left:13px!important;padding-right:13px!important}}
@media(prefers-reduced-motion:reduce){.cfg-app *{scroll-behavior:auto!important}}
@media print{body{--deep-blue:#031927;--fg:#031927;--fg-muted:#5c6a7a;--fg-subtle:#6b7a8a;--border:#e6ebf0;--border-strong:#cfd7df;background:#fff!important;color:#031927!important}.cfg-quote--document{background:#fff!important}}
