/* Hoja de la cotización (quote-sheet.js): la vista previa del panel y la página pública del cliente. Es un papel: siempre claro, también con el tema oscuro, y se imprime tal cual. */
.qsh{container-type:inline-size;container-name:qsh;box-sizing:border-box;background:#fff;color:#0f2342;border:1px solid #dbe5f3;border-radius:14px;padding:20px;font:14px/1.45 Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;text-align:left}
.qsh *{box-sizing:border-box}
.qsh i{font-style:normal}
.qsh-i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qsh-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap}
.qsh-brand{display:flex;align-items:center;gap:10px}
.qsh-waves{width:40px;height:33px;fill:none;stroke:#1c7ae0;stroke-width:4.200;stroke-linecap:round;stroke-linejoin:round}
.qsh-brand b{display:block;font-size:24px;line-height:1.05;font-weight:800;letter-spacing:-.02em;color:#1c7ae0}
.qsh-brand b span{color:#0d2a57}
.qsh-brand small{display:block;margin-top:2px;font-size:11.500px;font-weight:500;color:#41567a}
.qsh-meta{display:grid;gap:1px;text-align:right;font-size:12.500px;color:#3b5075;white-space:nowrap}
.qsh-meta b{font-size:13.500px;color:#0d2a57;font-weight:800;letter-spacing:.01em}
.qsh-meta b span{font-weight:600}
.qsh-meta b span i{font-weight:500;color:#6b7fa0}
.qsh-for{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.2fr);gap:0;margin-top:18px;align-items:stretch;border-radius:10px;overflow:hidden}
.qsh-to{display:grid;gap:2px;align-content:start;padding:4px 14px 4px 2px;font-size:13px;color:#3b5075}
.qsh-to small{font-size:13px;color:#52668a}
.qsh-to strong{font-size:19px;line-height:1.2;color:#0d2a57;font-weight:800;margin-bottom:2px}
.qsh-to strong i{font-weight:600;color:#6b7fa0;font-size:16px}
.qsh-to span{display:flex;gap:7px;align-items:flex-start}
.qsh-to span .qsh-i{margin-top:3px;color:#52668a}
.qsh-ban{position:relative;min-height:112px;border-radius:10px;overflow:hidden;background:#cfe6f7}
.qsh-ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qsh-ban::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.7) 16%,rgba(255,255,255,0) 42%)}
.qsh-ban p{position:absolute;z-index:2;right:12px;bottom:12px;margin:0;max-width:62%;text-align:right;color:#fff;font-weight:700;font-size:15.500px;line-height:1.25;text-shadow:0 1px 8px rgba(6,26,60,.7)}
.qsh-sec{margin-top:18px}
.qsh-sec h4,.qsh-cond h4{margin:0 0 7px;font-size:16px;font-weight:800;color:#0d2a57}
.qsh-tw{border:1px solid #dbe5f3;border-radius:10px;overflow:hidden}
.qsh-table{width:100%;border-collapse:collapse;font-size:13px}
.qsh-table th{background:#eaf0f9;color:#2b4166;font-weight:600;font-size:12.500px;padding:8px 10px;text-align:left}
.qsh-table td{padding:8px 10px;border-top:1px solid #e3ebf6;vertical-align:top;color:#1b2f52}
.qsh-table th.n,.qsh-table td.n{text-align:right;white-space:nowrap;width:1%}
.qsh-table td b{font-weight:800;color:#0d2a57}
.qsh-d{display:block;font-size:13.500px;color:#12284c}
.qsh-table small{display:block;margin-top:1px;color:#5b6f92;font-size:12px}
.qsh-freq{font-style:normal;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e5f0ff;color:#1b5fb8;font-size:11px;font-weight:700;white-space:nowrap}
.qsh-sched{display:grid;gap:1px;margin-top:6px;font-size:12px;line-height:1.35;color:#41567a}
.qsh-sched i{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0d2a57}
.qsh-none{margin:18px 0 0;padding:16px;border:1px dashed #c4d3ea;border-radius:10px;color:#5b6f92;text-align:center}
.qsh-sum{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:18px;align-items:start}
.qsh-cond{background:#eaf1fb;border-radius:10px;padding:12px 14px}
.qsh-cond h4{font-size:15px}
.qsh-cond ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:13px;color:#1b2f52}
.qsh-cond li{display:flex;gap:7px;align-items:flex-start}
.qsh-cond li .qsh-i{margin-top:4px;font-size:12px;stroke-width:2.600;color:#0d2a57}
.qsh-notes{margin:12px 0 0;padding-top:10px;border-top:1px solid #cfdcf0;font-size:12.500px;color:#3b5075}
.qsh-tot{border:1px solid #dbe5f3;border-radius:10px;padding:10px 14px;background:#fff}
.qsh-tot dl{margin:0;display:grid;gap:5px}
.qsh-tot dl div{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#2b4166}
.qsh-tot dt{font-weight:500}
.qsh-tot dd{margin:0;font-weight:700;color:#0d2a57}
.qsh-final{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:8px 0 0;padding-top:9px;border-top:1px solid #dbe5f3}
.qsh-final span{font-size:15.500px;font-weight:800;color:#0d2a57;white-space:nowrap}
.qsh-final b{white-space:nowrap;font-size:22px;line-height:1.1;font-weight:800;color:#1269d3}
.qsh-thanks{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;padding:12px 16px;border-radius:10px;background:#e3eefc;text-align:left}
.qsh-hand{width:34px;height:34px;color:#1269d3;stroke-width:1.700}
.qsh-thanks p{margin:0;display:grid;font-size:13px;color:#3b5075}
.qsh-thanks b{font-size:14.500px;color:#0d2a57}
@container qsh (max-width:470px){
 .qsh{font-size:13px}
 .qsh-brand b{font-size:21px}
 .qsh-brand small{font-size:10.500px}
 .qsh-meta{font-size:11.500px}
 .qsh-meta b{font-size:12.500px}
 .qsh-to strong{font-size:17px}
 .qsh-ban p{font-size:13px;max-width:none}
 .qsh-table{font-size:12.500px}
 .qsh-table th,.qsh-table td{padding:7px 7px}
 .qsh-d{font-size:13px}
 .qsh-final b{font-size:19px}
 .qsh-tot dl div{font-size:13px}
 .qsh-cond ul{font-size:12.500px}
}
@container qsh (max-width:360px){
 .qsh-for{grid-template-columns:1fr}
 .qsh-to{padding:0 0 10px}
 .qsh-ban{min-height:120px}
 .qsh-sum{grid-template-columns:1fr}
 .qsh-meta{text-align:left}
 .qsh-brand b{font-size:22px}
 .qsh-table .n:nth-child(3){display:none}
}
@media print{.qsh{border:0;border-radius:0;padding:0}}

/* Escudo de color: la hoja es un papel y se ve igual dentro de cualquier página. El portal le pisa los colores con reglas globales (`.ps-page p/li/dd/td/b/strong/small/h4`, y el tema oscuro las aclara también en las ventanas `.modal`): el lema del banner salía oscuro sobre la foto y, con el tema oscuro, casi todo el texto quedaba blanco sobre el papel blanco.
   Aquí cada color propio de la hoja se repite con más especificidad (.qsh x3 + su clase) que cualquier regla del portal, y lo demás hereda el color del bloque. Si agregas un color arriba, repítelo aquí: scripts/verify-quote-sheet-shield.mjs lo comprueba. */
.qsh.qsh.qsh :is(p,li,dd,dt,td,th,b,strong,small,h4,address){color:inherit}
.qsh.qsh.qsh .qsh-brand b{color:#1c7ae0}
.qsh.qsh.qsh .qsh-brand b span{color:#0d2a57}
.qsh.qsh.qsh .qsh-brand small{color:#41567a}
.qsh.qsh.qsh .qsh-meta{color:#3b5075}
.qsh.qsh.qsh .qsh-meta b{color:#0d2a57}
.qsh.qsh.qsh .qsh-meta b span i{color:#6b7fa0}
.qsh.qsh.qsh .qsh-to{color:#3b5075}
.qsh.qsh.qsh .qsh-to small{color:#52668a}
.qsh.qsh.qsh .qsh-to strong{color:#0d2a57}
.qsh.qsh.qsh .qsh-to strong i{color:#6b7fa0}
.qsh.qsh.qsh .qsh-to span .qsh-i{color:#52668a}
.qsh.qsh.qsh .qsh-ban p{color:#fff}
.qsh.qsh.qsh .qsh-sec h4,.qsh.qsh.qsh .qsh-cond h4{color:#0d2a57}
.qsh.qsh.qsh .qsh-table th{color:#2b4166}
.qsh.qsh.qsh .qsh-table td{color:#1b2f52}
.qsh.qsh.qsh .qsh-table td b{color:#0d2a57}
.qsh.qsh.qsh .qsh-d{color:#12284c}
.qsh.qsh.qsh .qsh-table small{color:#5b6f92}
.qsh.qsh.qsh .qsh-freq{color:#1b5fb8}
.qsh.qsh.qsh .qsh-sched{color:#41567a}
.qsh.qsh.qsh .qsh-sched i{color:#0d2a57}
.qsh.qsh.qsh .qsh-none{color:#5b6f92}
.qsh.qsh.qsh .qsh-cond ul{color:#1b2f52}
.qsh.qsh.qsh .qsh-cond li .qsh-i{color:#0d2a57}
.qsh.qsh.qsh .qsh-notes{color:#3b5075}
.qsh.qsh.qsh .qsh-tot dl div{color:#2b4166}
.qsh.qsh.qsh .qsh-tot dd{color:#0d2a57}
.qsh.qsh.qsh .qsh-final span{color:#0d2a57}
.qsh.qsh.qsh .qsh-final b{color:#1269d3}
.qsh.qsh.qsh .qsh-hand{color:#1269d3}
.qsh.qsh.qsh .qsh-thanks p{color:#3b5075}
.qsh.qsh.qsh .qsh-thanks b{color:#0d2a57}
