.promo-public-state{max-width:760px;margin:80px auto;padding:28px;border:1px solid #dbe4ef;border-radius:14px;font-family:Inter,Arial,sans-serif;color:#0f172a;background:#fff}.promo-public-state strong{font-size:22px}.promo-public-state p{color:#64748b}.promo-portal,.promo-document{--promo-accent:#1769e0;max-width:1060px;margin:32px auto;padding:0 26px 40px;font-family:Inter,Arial,sans-serif;color:#0f172a}.promo-portal__header,.promo-document__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-radius:14px 14px 0 0;background:#0b1f35;color:#fff;border-bottom:3px solid var(--promo-accent)}.promo-portal__header div,.promo-document__header div{display:grid;gap:2px}.promo-portal__header strong,.promo-document__header strong{font-size:18px}.promo-portal__header span,.promo-document__header span{font-size:11px;opacity:.72}.promo-status{padding:6px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.promo-portal__hero,.promo-document__hero{display:flex;justify-content:space-between;gap:30px;padding:32px 0 24px;border-bottom:1px solid #dbe4ef}.promo-portal__hero>div:first-child,.promo-document__hero>div:first-child{max-width:650px}.promo-portal__hero small{font-weight:700;color:var(--promo-accent)}.promo-portal h1,.promo-document h1{font-size:30px;line-height:1.15;margin:7px 0 10px}.promo-portal p,.promo-document p{color:#475569;line-height:1.6}.promo-portal__customer{min-width:210px;display:grid;align-content:start;gap:4px;padding:14px 16px;border:1px solid #dbe4ef;border-radius:10px}.promo-portal__customer span,.promo-portal__customer small{color:#64748b}.promo-document__hero dl{min-width:230px;margin:0}.promo-document__hero dl div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.promo-document__hero dt{color:#64748b}.promo-document__hero dd{margin:0;font-weight:700;text-align:right}.promo-portal__image,.promo-document__image{margin:24px 0;border:1px solid #dbe4ef;border-radius:12px;overflow:hidden;background:#f8fafc;text-align:center}.promo-portal__image img,.promo-document__image img{max-width:100%;max-height:420px;object-fit:contain}.promo-portal__product,.promo-document__product{display:flex;align-items:baseline;gap:12px;margin:24px 0}.promo-portal__product span,.promo-document__product span{color:#64748b}.promo-portal__product strong,.promo-document__product strong{font-size:18px}.promo-portal__product small,.promo-document__product small{color:#64748b}.promo-document__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.promo-document__card,.promo-document__terms{border:1px solid #dbe4ef;border-radius:12px;padding:18px;background:#fff}.promo-document__card h2,.promo-document__terms h2{font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;color:#334155}.promo-row{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #edf2f7}.promo-row:last-child{border-bottom:0}.promo-row span{color:#64748b}.promo-row--total strong{color:var(--promo-accent);font-size:18px}.promo-document__terms{margin-top:18px}.promo-document__terms p{margin:0}.promo-document__contact{display:flex;gap:12px;margin-top:18px;padding:18px;border-top:1px solid #dbe4ef}.promo-document__contact span{color:#64748b}.promo-document__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.promo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;background:#fff;text-decoration:none;font-weight:700}.promo-btn--primary{border-color:var(--promo-accent);background:var(--promo-accent);color:#fff}.promo-muted{color:#64748b}@media(max-width:760px){.promo-portal,.promo-document{margin:0 auto;padding:0 14px 28px}.promo-portal__hero,.promo-document__hero{display:grid}.promo-document__grid{grid-template-columns:1fr}.promo-portal__header,.promo-document__header{border-radius:0}.promo-portal h1,.promo-document h1{font-size:24px}}
.promo-accept{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px;border:1px solid color-mix(in srgb,var(--promo-accent) 35%,#dbe4ef);border-radius:12px;background:color-mix(in srgb,var(--promo-accent) 5%,#fff)}.promo-accept>div:first-child{display:grid;gap:4px}.promo-accept span{color:#64748b;font-size:13px}.promo-accept__buttons{display:flex;gap:8px;flex-wrap:wrap}.promo-btn{font:inherit;cursor:pointer}.promo-btn:disabled{opacity:.55;cursor:not-allowed}.promo-error{display:block;color:#b42318;margin-top:8px}@media(max-width:760px){.promo-accept{align-items:stretch;flex-direction:column}.promo-accept__buttons{width:100%}.promo-accept__buttons .promo-btn{flex:1}}

/* FIX33: Customer quote portal dark-theme contrast */
.promo-portal{color:#eaf2ff}
.promo-portal__hero{border-bottom-color:#31445d}
.promo-portal__hero h1{color:#f8fbff}
.promo-portal__hero p{color:#9fb0c7}
.promo-portal__customer{border-color:#52637a;background:#0b1524}
.promo-portal__customer strong{color:#f8fbff}
.promo-portal__customer span,.promo-portal__customer small{color:#9fb0c7}
.promo-portal__product span,.promo-portal__product small{color:#8fa3bd}
.promo-portal__product strong{color:#f8fbff}
.promo-portal .promo-document__contact{border-top-color:#31445d;color:#f8fbff}
.promo-portal .promo-document__contact strong{color:#f8fbff}
.promo-portal .promo-document__contact span{color:#9fb0c7}
.promo-portal .promo-document__card,.promo-portal .promo-document__terms,.promo-portal .promo-accept{color:#0f172a}
.promo-portal .promo-document__card p,.promo-portal .promo-document__terms p{color:#475569}
.promo-portal .promo-accept strong{color:#0f172a}

/* FIX184: customer portal progress is driven by the persisted quote-request status. */
.promo-progress{margin-top:22px;padding:18px;border:1px solid #31445d;border-radius:12px;background:#0b1524}.promo-progress__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.promo-progress__heading h2{margin:0;color:#f8fbff;font-size:17px}.promo-progress__heading p{margin:4px 0 0;color:#9fb0c7;font-size:13px}.promo-progress__state{flex:0 0 auto;padding:5px 9px;border:1px solid #52637a;border-radius:999px;color:#cfe0f5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.promo-progress__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.promo-progress__step{display:flex;gap:11px;min-height:82px;padding:13px;border:1px solid #31445d;border-radius:10px;background:#0e1b2c}.promo-progress__marker{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#24364d;color:#b9c8da;font-weight:800}.promo-progress__step>div{display:grid;align-content:start;gap:4px}.promo-progress__step strong{color:#f8fbff;font-size:13px}.promo-progress__step small{color:#8fa3bd;line-height:1.45}.promo-progress__step--current{border-color:color-mix(in srgb,var(--promo-accent) 70%,#31445d);box-shadow:inset 3px 0 0 var(--promo-accent)}.promo-progress__step--current .promo-progress__marker{background:var(--promo-accent);color:#fff}.promo-progress__step--done .promo-progress__marker{background:#0f9f79;color:#fff}.promo-progress__step--closed .promo-progress__marker{background:#6b7280;color:#fff}@media(max-width:760px){.promo-progress__heading{display:grid}.promo-progress__steps{grid-template-columns:1fr}}


/* FIX190: keep the public quote portal visually consistent with the dark NOVOGEX shell. */
.promo-portal .promo-document__card,
.promo-portal .promo-document__terms{
  background:#0b1524;
  border-color:#31445d;
  color:#eaf2ff;
}
.promo-portal .promo-document__card h2,
.promo-portal .promo-document__terms h2{color:#cfe0f5}
.promo-portal .promo-row{border-bottom-color:#24364d}
.promo-portal .promo-row span{color:#9fb0c7}
.promo-portal .promo-row strong{color:#f8fbff}
.promo-portal .promo-row--total strong{color:var(--promo-accent)}
.promo-portal .promo-document__card p,
.promo-portal .promo-document__terms p{color:#9fb0c7}


/* FIX197: make the sparse customer price summary useful without inventing a price. */
.promo-portal .promo-price-summary__note{margin:18px 0 14px;padding:12px 14px;border:1px solid #24364d;border-radius:9px;background:#0e1b2c;color:#9fb0c7!important;font-size:13px;line-height:1.45}
.promo-price-summary__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.promo-price-summary__meta>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #24364d;border-radius:9px;background:#0e1b2c}
.promo-price-summary__meta span{color:#8fa3bd;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.promo-price-summary__meta strong{color:#f8fbff;font-size:13px}
@media(max-width:760px){.promo-price-summary__meta{grid-template-columns:1fr}}
