
:root{--navy:#0b2550;--purple:#5a2fa6;--pink:#e51e72;--green:#11804a;--red:#d63245;--orange:#e57a19;--gold:#d69a05;--bg:#eef3f8;--card:#fff;--line:#dce5ef;--muted:#637083;--text:#172033;--shadow:0 18px 50px rgba(17,39,74,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}
.app{display:grid;grid-template-columns:440px minmax(900px,1fr);min-height:100vh}.sidebar{height:100vh;overflow:auto;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);padding:16px}.stage{padding:24px;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.brand img{width:58px;height:58px;object-fit:contain;border-radius:12px}.brand h1{margin:0;font-size:18px;color:var(--navy)}.brand p{margin:3px 0 0;font-size:12px;color:var(--muted)}.logout-btn{margin-left:auto;border:1px solid #dce5ef;border-radius:10px;background:#f5f7fa;color:var(--navy);padding:8px 11px;font-size:11px;font-weight:900;cursor:pointer}.logout-btn:hover{background:#fff0f3;border-color:#f3b3c7;color:#b5164f}.logout-btn:disabled{opacity:.55;cursor:wait}
.panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;margin-bottom:12px}.panel h2{font-size:13px;color:var(--navy);margin:0 0 10px}
.field{margin-bottom:8px}.field label{display:block;font-size:11px;font-weight:800;color:#334155;margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd7e4;border-radius:10px;background:#fff;padding:9px 10px;outline:none}.field textarea{min-height:90px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segment{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segment.two{grid-template-columns:1fr 1fr}.seg input{display:none}.seg label{display:block;text-align:center;border:1px solid #d6e0ea;padding:9px;border-radius:10px;font-size:10.5px;font-weight:800;cursor:pointer;background:#fbfcfe}.seg input:checked+label{background:#eef0ff;border-color:#9182d5;color:#4c2e95}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.check{display:flex;align-items:center;gap:7px;border:1px solid #dbe4ee;border-radius:10px;padding:8px 9px;background:#fbfcff;font-size:10.5px;font-weight:700}.check input{accent-color:var(--purple)}
.btn{border:0;border-radius:11px;padding:10px 12px;font-weight:900;cursor:pointer}.btn.primary{color:#fff;background:linear-gradient(90deg,var(--purple),var(--pink))}.btn.light{background:#edf2f7;color:var(--navy)}.btn.green{background:#eaf8f0;color:#136c3d}.actionbar{position:sticky;bottom:0;background:#fff;padding-top:9px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.dropzone{border:2px dashed #b6c6d9;border-radius:16px;background:#f8fbff;padding:18px;text-align:center}.drop-title{font-size:16px;font-weight:950;color:var(--navy)}.drop-sub{font-size:11px;color:var(--muted);margin:5px 0}.accepts{font-size:10px;color:#7a8798;margin-bottom:10px}
.file-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:9px 0}.file-chip{border:1px solid var(--line);border-radius:10px;padding:8px;background:#f8fafc;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.import-actions .btn:last-child{grid-column:1/-1}.statusbox{margin-top:8px;border-radius:10px;padding:8px 9px;font-size:10.5px;background:#f5f7fa;color:#536174}.hidden{display:none!important}
.sheet{width:900px;min-height:1270px;margin:auto;background:#fff;border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.hero{position:relative;height:305px;background:#d9e1eb center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,50,.73),rgba(6,23,50,.22) 58%,rgba(6,23,50,.03))}
.hero-inner{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:220px 1fr 220px;gap:20px;padding:22px}.logo-card{background:#fff;border-radius:18px;padding:14px;box-shadow:0 10px 30px #0002;align-self:start}.logo-card img{width:100%;display:block}.hero-title{color:#fff;padding-top:25px}.hero-title h1{margin:0;font-size:35px;line-height:1.02;letter-spacing:-1px}.hero-title p{margin:8px 0 0;font-size:14px}
.meta-card{background:#ffffffef;border-radius:17px;padding:13px 14px;align-self:start;box-shadow:0 10px 30px #0002}.meta-row{display:flex;justify-content:space-between;gap:9px;font-size:11px;padding:6px 0;border-bottom:1px solid #e8edf3}.meta-row:last-child{border-bottom:0}.meta-row b{color:var(--navy)}.status{font-weight:950}.status.ATIVO{color:var(--green)}.status.CANCELADO{color:var(--red)}.status.EXPIRADO{color:var(--orange)}
.dest-label{position:absolute;z-index:2;left:255px;bottom:22px;color:#fff}.dest-label strong{display:block;font-size:44px;line-height:.95}.dest-label span{font-size:21px;font-weight:700}
.content{padding:18px 20px 24px}.summary{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.card h3{margin:0 0 10px;color:var(--navy);font-size:16px;font-weight:950}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.info-grid b{display:block;color:#506079;font-size:11px;margin-bottom:3px}.info-grid span{font-size:16px;font-weight:800;color:var(--navy)}.strong-value{font-size:21px!important;font-weight:950!important}
.trip{margin-top:12px}.trip-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.trip-head .title{font-size:15px;font-weight:950;color:var(--navy)}.flightline{font-size:16px;font-weight:900;color:var(--navy);text-align:right}.flightline:not(:empty)::before{content:"VOOS: ";color:#5d6a7e}
.route{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;text-align:center;margin:10px 0}.route.compact{margin:7px 0}.iata{font-size:36px;font-weight:950;color:var(--navy)}.city{font-size:12px;color:var(--muted);font-weight:700}.plane{font-size:28px;color:var(--pink)}
.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.fact{background:#f4f7fb;border-radius:11px;padding:10px 7px;text-align:center}.fact b{display:block;color:#536176;font-size:11px;margin-bottom:4px}.fact span{display:block;color:var(--navy);font-size:16px;font-weight:900}.connections{margin-top:9px;background:#f4f7fb;border-radius:11px;padding:10px;text-align:center;font-size:15px;font-weight:800;color:var(--navy)}.return{margin-top:12px;border-top:1px dashed #cad6e2;padding-top:12px}
.benefgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.benef{height:112px;border-radius:15px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-weight:950;line-height:1.08}.benef .icon{font-size:34px;display:block;margin-bottom:7px}.benef .name{font-size:17px;display:block}.benef .incl{font-size:13px;opacity:.95;display:block;margin-top:4px}.benef.green{background:linear-gradient(135deg,#0f7f4a,#0a613b)}.benef.red{background:linear-gradient(135deg,#ec3348,#b51629)}.benef.gold{background:linear-gradient(135deg,#efb21a,#b97b00)}
.addgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.add{min-height:78px;border:1px solid var(--line);background:#fbfcff;border-radius:13px;padding:10px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--navy)}.add .visual{font-size:32px}.add .txt{font-size:14px;font-weight:900}
.lower{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px}.baggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bag{background:#f7f9fc;border-radius:12px;padding:10px;text-align:center}.bag b{display:block;color:var(--navy);font-size:15px;margin-top:5px}.bag span{display:block;font-size:12px;color:#59687b;margin-top:3px}.bag-visual{height:76px;margin:auto;position:relative}
.backpack:before{content:"";position:absolute;left:50%;top:12px;transform:translateX(-50%);width:46px;height:52px;border-radius:12px 12px 10px 10px;background:linear-gradient(160deg,#303845,#0f1621);box-shadow:inset 0 -8px 0 #1e2631}.backpack:after{content:"";position:absolute;left:50%;top:4px;transform:translateX(-50%);width:24px;height:15px;border:5px solid #202832;border-bottom:0;border-radius:12px 12px 0 0}
.carryon:before,.checked:before{content:"";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);border-radius:10px;background:linear-gradient(160deg,#5b6675,#1f2a38);box-shadow:inset 0 -10px 0 #2c3644}.carryon:before{width:48px;height:58px}.checked:before{width:56px;height:67px}.carryon:after,.checked:after{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:24px;height:25px;border:4px solid #444f5d;border-bottom:0;border-radius:7px 7px 0 0}
.total{border-radius:17px;padding:16px;text-align:center;color:#fff;background:linear-gradient(135deg,#4b238c,#173d7a)}.total .cap{font-size:11px}.money{font-weight:950;line-height:1;margin:8px 0 6px;white-space:nowrap;font-size:46px;letter-spacing:-1.3px}.total small{font-size:11px}.obs{margin-top:8px;border:1px solid #f0d695;background:#fff9e9;border-radius:13px;padding:10px;font-size:11px}.obs div{margin-top:5px}.conditions{margin-top:12px}.conditions p{font-size:11px;line-height:1.5;margin:0;color:#4f5d70}.footer{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:9.5px;color:#64748b;line-height:1.45}
@media(max-width:1180px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0}.stage{padding:10px}.sheet{transform-origin:top left;transform:scale(.78);margin-bottom:-278px}}
@media print{body{background:#fff}.sidebar{display:none}.stage{padding:0}.sheet{box-shadow:none;width:100%;border-radius:0}.app{display:block}}

.commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.commercial-list{display:grid;gap:7px}
.commercial-list>div{font-size:11.5px;line-height:1.45;color:#4f5d70}
.commercial-list b{color:var(--navy)}
@media(max-width:1180px){.commercial-grid{grid-template-columns:1fr}}

/* ===== V6 ===== */
.v6-actions{grid-template-columns:repeat(2,1fr)}
.v6-actions #updateBtn{grid-column:1/-1}
body.client-mode .sidebar{display:none}
body.client-mode .app{display:block}
body.client-mode .stage{padding:0;background:#fff}
body.client-mode .sheet{box-shadow:none;margin:0 auto}
body.client-mode #clientModeBtn{display:none}

.benefgrid.dynamic-1{grid-template-columns:1fr}
.benefgrid.dynamic-2{grid-template-columns:repeat(2,1fr)}
.benefgrid.dynamic-3{grid-template-columns:repeat(3,1fr)}
.benefgrid.dynamic-4{grid-template-columns:repeat(2,1fr)}
.benefgrid.dynamic-5,.benefgrid.dynamic-6{grid-template-columns:repeat(3,1fr)}
.benefgrid.dynamic-many{grid-template-columns:repeat(3,1fr)}
.benef{min-height:112px;height:auto}
.benef .desc{font-size:11px;line-height:1.2;opacity:.92;display:block;margin-top:6px;font-weight:700}
.addgrid.dynamic-1{grid-template-columns:1fr}
.addgrid.dynamic-2{grid-template-columns:repeat(2,1fr)}
.addgrid.dynamic-3{grid-template-columns:repeat(3,1fr)}
.addgrid.dynamic-4{grid-template-columns:repeat(2,1fr)}
.addgrid.dynamic-5,.addgrid.dynamic-6,.addgrid.dynamic-many{grid-template-columns:repeat(3,1fr)}

.sheet.roundtrip .route{margin:7px 0}
.sheet.roundtrip .iata{font-size:31px}
.sheet.roundtrip .fact{padding:8px 6px}
.sheet.roundtrip .fact span{font-size:14px}
.sheet.roundtrip .connections{font-size:13px;padding:8px}
.sheet.roundtrip .flightline{font-size:14px}
.sheet.roundtrip .return{margin-top:10px;padding-top:10px}

@media print{
  .commercial-grid{grid-template-columns:1fr 1fr}
  body.client-mode .sheet{width:100%}
}

/* ===== V7 Premium / A4 ===== */
.visibility-controls{margin:8px 0 10px}.optional-baggage{margin-top:7px;border-top:1px dashed #d8e2ed;padding-top:7px}.optional-baggage summary{cursor:pointer;color:#5a2fa6;font-size:10.5px;font-weight:900}.optional-baggage .field{max-width:180px;margin:8px 0 0}
.sheet{min-height:auto}.hero{height:230px}.hero-inner{grid-template-columns:175px 1fr 200px;padding:18px}.hero-title{padding-top:16px}.hero-title h1{font-size:30px}.dest-label{left:215px;bottom:17px}.dest-label strong{font-size:38px}.dest-label span{font-size:17px}.content{padding:13px 16px 18px}.card{padding:11px;border-radius:13px}.card h3{font-size:13px;margin-bottom:7px}.summary{gap:9px}.info-grid{gap:7px 11px}.info-grid b{font-size:9.5px}.info-grid span{font-size:13px}.strong-value{font-size:16px!important}.trip{margin-top:9px}.route{margin:6px 0}.iata{font-size:29px}.fact{padding:7px 5px}.fact b{font-size:9px}.fact span{font-size:13px}.connections{margin-top:6px;padding:7px;font-size:12px}.return{margin-top:8px;padding-top:8px}.benef{height:82px!important;min-height:82px!important;padding:8px}.benef .icon{font-size:23px;margin-bottom:3px}.benef .name{font-size:12px}.benef .incl{font-size:9px}.benef .desc{display:none}.lower{grid-template-columns:1.15fr .85fr;gap:9px;margin-top:9px}
.baggage-subtitle{font-size:9.5px;color:#718096;margin:-4px 0 8px}.baggage-list{display:grid;gap:6px}.baggage-item{display:grid;grid-template-columns:8px 1fr;gap:7px;align-items:start;padding-bottom:5px;border-bottom:1px solid #edf1f6}.baggage-item:last-child{border-bottom:0;padding-bottom:0}.baggage-dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink))}.baggage-item b{display:block;color:var(--navy);font-size:11px}.baggage-item small,.baggage-value{display:block;color:#5f6d7e;font-size:10px;margin-top:2px}.baggage-route{display:grid;grid-template-columns:45px 1fr;gap:7px;margin-top:3px;font-size:10px}.baggage-route b{font-size:9px;color:#5a2fa6}.baggage-route span{color:#4f5d70}.total{padding:13px;border-radius:14px;box-shadow:0 9px 22px rgba(51,32,115,.2)}.total .cap{font-size:11px;font-weight:900;letter-spacing:.35px}.money{font-size:42px;margin:7px 0 5px}.availability{font-size:8px;opacity:.78;margin-top:7px}.obs{padding:8px;font-size:10px}.commercial-grid{gap:9px;margin-top:9px}.commercial-list{gap:4px}.commercial-list>div{font-size:9px;line-height:1.3}.footer{margin-top:8px;padding-top:7px}.flightline:empty{display:none}
@page{size:A4 portrait;margin:6mm}
@media print{
  .sheet{width:198mm!important}.hero{height:44mm!important}.hero-inner{grid-template-columns:39mm 1fr 43mm!important;padding:4mm!important}.hero-title h1{font-size:20pt!important}.dest-label{left:48mm!important;bottom:4mm!important}.dest-label strong{font-size:24pt!important}.dest-label span{font-size:11pt!important}.content{padding:3mm 0 0!important}.card{padding:2.2mm!important;border-radius:3mm!important}.summary,.trip,.lower,.commercial-grid{gap:2mm!important;margin-top:2mm!important}.route{margin:1mm 0!important}.iata{font-size:20pt!important}.fact{padding:1.3mm 1mm!important}.fact span{font-size:9pt!important}.connections{padding:1.3mm!important;font-size:8.5pt!important}.benef{height:18mm!important;min-height:18mm!important}.money{font-size:25pt!important}.commercial-list>div{font-size:6.7pt!important;line-height:1.2!important}.footer{font-size:6.5pt!important;margin-top:2mm!important;padding-top:1.5mm!important}
}

.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.panel-title-row h2{margin:0}
.mini-clear{border:1px solid #d7e0ea;background:#f7f9fc;color:#526173;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}
.mini-clear:hover{background:#eef3f8;color:#0b2550}

/* ===== V8: itinerário visual unificado com o documento de reserva ===== */
.legacy-itinerary{display:none!important}
.trip-head .flightline{display:none!important}
.quote-timeline{display:grid;grid-template-columns:repeat(var(--timeline-columns,3),minmax(74px,1fr));align-items:start;margin:8px 0 4px;padding:11px 10px 9px;border-radius:12px;background:#f4f7fb;overflow:hidden}
.timeline-node{text-align:center;min-width:0;position:relative;z-index:2}
.timeline-node-code{font-size:25px;line-height:1;font-weight:950;color:var(--navy)}
.timeline-node-city{font-size:9.5px;font-weight:800;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-node-date,.timeline-node-time{font-size:9px;font-weight:850;color:var(--navy);margin-top:3px}
.timeline-node.connection .timeline-node-date{color:var(--purple);font-size:8px}
.timeline-leg{position:relative;height:65px;min-width:46px;text-align:center;padding-top:1px}
.timeline-flight{height:17px;font-size:8.5px;font-weight:900;color:#385b83;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-arrow{position:absolute;left:5px;right:5px;top:28px;height:3px;background:#385b83;border-radius:4px}
.timeline-arrow:after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid #385b83;border-top:5px solid transparent;border-bottom:5px solid transparent}
.timeline-duration{margin-top:34px;font-size:8.5px;font-weight:900;color:var(--navy)}
.timeline-meta{grid-column:1/-1;display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.timeline-pill{border-radius:7px;padding:5px 9px;background:#ebe5f8;color:var(--purple);font-size:8.7px;font-weight:900;text-align:center}
.timeline-class{background:#e9f0f8;color:#385b83}
.sheet.roundtrip .quote-timeline{padding-top:8px;padding-bottom:7px}
.sheet.roundtrip .timeline-node-code{font-size:22px}
.sheet.roundtrip .timeline-leg{height:58px}
.sheet.roundtrip .timeline-meta{margin-top:5px}
@media print{
  .quote-timeline{margin:1.2mm 0 .8mm!important;padding:2mm 1.5mm 1.5mm!important}
  .timeline-node-code{font-size:15pt!important}.timeline-node-city{font-size:6.5pt!important}
  .timeline-node-date,.timeline-node-time,.timeline-flight,.timeline-duration,.timeline-pill{font-size:6pt!important}
  .timeline-leg{height:12mm!important}.timeline-arrow{top:5.5mm!important}
}

/* ===== V6.3 ===== */

/* Serviços: cards nunca esticam até 100% */
.benefgrid{
  display:grid;
  gap:10px;
  justify-content:center;
}
.benefgrid.dynamic-1{grid-template-columns:minmax(0, 280px)}
.benefgrid.dynamic-2{grid-template-columns:repeat(2,minmax(0,280px))}
.benefgrid.dynamic-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.benefgrid.dynamic-4{grid-template-columns:repeat(2,minmax(0,280px))}
.benefgrid.dynamic-5,.benefgrid.dynamic-6,.benefgrid.dynamic-many{grid-template-columns:repeat(3,minmax(0,1fr))}
.benefgrid.dynamic-4{max-width:580px;margin:0 auto}
.benefgrid.dynamic-1,.benefgrid.dynamic-2{margin:0 auto}
.benef{min-height:108px;height:108px}
.benef .name{font-size:16px}
.benef .incl{font-size:12.5px}
.benef .desc{font-size:10.5px}

/* Bagagem ida/volta */
.baggage-form-block{border:1px solid #e4ebf3;border-radius:12px;padding:10px;margin-top:8px;background:#fbfcff}
.baggage-form-title{font-size:11px;font-weight:950;color:var(--navy);margin-bottom:8px}
.bag-segment{border-top:1px dashed #d2dbe6;padding-top:10px;margin-top:10px}
.bag-segment:first-child{border-top:0;padding-top:0;margin-top:0}
.bag-segment-title{text-align:center;font-size:12px;font-weight:950;color:var(--navy);margin-bottom:7px}
.bag-segment-title span{font-weight:800;color:#607085}

@page{size:A4 portrait;margin:8mm}
@media print{
html,body{width:210mm;margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.sidebar,.actionbar,#clientModeBtn,#printBtn{display:none!important}
.app,.stage{display:block!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
.sheet{width:194mm!important;min-height:auto!important;margin:0 auto!important;transform:none!important;zoom:1!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.hero{height:62mm!important;break-inside:avoid!important}
.hero-inner{grid-template-columns:46mm 1fr 46mm!important;gap:4mm!important;padding:5mm!important}
.hero-title h1{font-size:24pt!important}
.dest-label{left:57mm!important;bottom:5mm!important}.dest-label strong{font-size:28pt!important}.dest-label span{font-size:14pt!important}
.content{padding:4mm 0 0!important}.card{padding:3mm!important;border-radius:4mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
.summary,.facts,.benefgrid,.addgrid,.baggrid,.commercial-grid,.trip,.lower,#benefBlock,#addBlock{break-inside:avoid!important;page-break-inside:avoid!important}
.iata{font-size:24pt!important}.fact{padding:2mm 1.4mm!important}.fact span{font-size:11pt!important}
.connections{padding:2mm!important;font-size:10.5pt!important}
.benef{height:26mm!important;min-height:26mm!important}.benef .name{font-size:10.5pt!important}.benef .incl{font-size:8.5pt!important}.benef .desc{font-size:7.5pt!important}
.money{font-size:29pt!important}.commercial-list>div{font-size:8pt!important;line-height:1.3!important}.footer{font-size:7pt!important}
.sheet.roundtrip .hero{height:54mm!important}.sheet.roundtrip .iata{font-size:20pt!important}.sheet.roundtrip .fact span{font-size:10pt!important}
}

/* V7 print rules must remain last so legacy V6 rules cannot override them. */
@page{size:A4 portrait;margin:6mm}
@media print{
.sheet{width:198mm!important}.hero,.sheet.roundtrip .hero{height:44mm!important}.hero-inner{grid-template-columns:39mm 1fr 43mm!important;gap:3mm!important;padding:4mm!important}.hero-title h1{font-size:20pt!important}.dest-label{left:48mm!important;bottom:4mm!important}.dest-label strong{font-size:24pt!important}.dest-label span{font-size:11pt!important}.content{padding:3mm 0 0!important}.card{padding:2.2mm!important;border-radius:3mm!important}.summary,.trip,.lower,.commercial-grid{gap:2mm!important;margin-top:2mm!important}.route{margin:1mm 0!important}.iata{font-size:20pt!important}.fact{padding:1.3mm 1mm!important}.fact span{font-size:9pt!important}.connections{padding:1.3mm!important;font-size:8.5pt!important}.benef{height:18mm!important;min-height:18mm!important}.money{font-size:25pt!important}.commercial-list>div{font-size:6.7pt!important;line-height:1.2!important}.footer{font-size:6.5pt!important;margin-top:2mm!important;padding-top:1.5mm!important}
}

/* V7.1: dimensionamento automático para uma única página A4. */
:root{--print-scale:1}
@media print{
html,body{height:auto!important;overflow:visible!important}
.sheet{width:900px!important;max-width:none!important;zoom:var(--print-scale)!important;margin:0 auto!important;break-after:avoid-page!important;page-break-after:avoid!important}
.content{padding-left:16px!important;padding-right:16px!important}
}

/* ===== V7.2 ===== */
.airline-display{display:flex!important;align-items:center;gap:7px}.airline-logo{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:22px;padding:3px 7px;border-radius:7px;background:#fff;border:1px solid #dbe4ee;color:var(--airline-color);font-size:11px!important;font-weight:950!important;letter-spacing:-.3px}.compact-additions{padding:9px 11px}.compact-additions h3{margin-bottom:5px}.compact-additions .addgrid{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start}.compact-additions .add{display:inline-flex;flex-direction:row;align-items:center;min-height:0;width:auto;border:0;border-radius:99px;background:#f2f5fa;padding:5px 9px;gap:5px}.compact-additions .add .visual{font-size:13px}.compact-additions .add .txt{font-size:10px}.fare-rules{margin-top:9px;background:linear-gradient(135deg,#fbfcff,#f7f4ff)}.fare-rules-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.fare-rules-head h3{margin:0 0 2px}.fare-rules-head>div>div{font-size:11px;font-weight:850;color:#5a2fa6}.fare-rules-head a{border-radius:9px;background:#ede8fa;color:#4c2e95;padding:7px 9px;font-size:9.5px;font-weight:900;text-decoration:none}.fare-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;outline:none}.fare-summary span{display:block;border-left:3px solid #7655b8;background:#fff;border-radius:7px;padding:6px 7px;color:#566477;font-size:8.5px;line-height:1.25}.fare-summary b{display:block;color:var(--navy);font-size:9px;margin-bottom:2px}.fare-warning{font-size:7.8px;color:#718096;margin-top:6px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.share-actions .btn:first-child{grid-column:1/-1}.whatsapp-preview{width:100%;min-height:180px;margin-top:8px;border:1px solid #d7e1ec;border-radius:10px;padding:9px;font-size:10px;line-height:1.35;resize:vertical}.share-panel .statusbox{margin-top:7px}
@media print{.fare-rules{margin-top:2mm!important}.fare-summary{gap:1mm!important;margin-top:1.5mm!important}.fare-summary span{padding:1.2mm!important;font-size:6.2pt!important}.fare-summary b{font-size:6.5pt!important}.fare-warning{font-size:5.8pt!important}.compact-additions .add{padding:1mm 1.7mm!important}.airline-logo{min-height:5mm!important}}
.airline-display{flex-wrap:wrap}.airline-secondary{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:var(--navy)}

/* ===== V7.3 ===== */
.connection-airlines{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}.operated-by{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.operated-by>span{display:inline-flex;align-items:center;gap:5px}.operated-by .airline-logo{background:#fff;min-height:20px;padding:2px 7px}.split-fields{margin-top:9px}.split-warning{margin-top:9px;border:2px solid #d63245;border-radius:13px;background:#fff0f1;padding:10px 12px;color:#7f1420}.split-warning h3{margin:0 0 5px;font-size:12px;color:#b51629}.split-warning p{margin:0 0 5px;font-size:9.5px;line-height:1.35;font-weight:700}.split-warning #mSplitDetails{display:grid;gap:3px;font-size:8.7px}.info-card .info-grid{grid-template-columns:1fr 1fr}.info-card .info-grid span{font-size:12px}.advanced-issuance .checks{margin:7px 0}
@media print{.connection-airlines{padding:1.2mm 2mm!important}.operated-by .airline-logo{min-height:4.5mm!important}.split-warning{margin-top:2mm!important;padding:2mm!important}.split-warning h3{font-size:7.5pt!important}.split-warning p,.split-warning #mSplitDetails{font-size:6.2pt!important}}

/* Compatibilidade com o gerador de PNG (html2canvas não interpreta color-mix). */
.airline-logo{background:#fff!important;border:1px solid #dbe4ee!important}

/* Configuração local das APIs e crédito obrigatório da imagem. */
.api-panel{border-color:#cbd9ea;background:linear-gradient(135deg,#fbfdff,#f8f5ff)}
.api-help{margin:0 0 9px;color:#65748a;font-size:10px;line-height:1.4}
.api-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.photo-credit{position:absolute;right:18px;bottom:10px;z-index:3;border-radius:20px;background:#071a36b8;color:#fff;padding:4px 8px;font-size:7.5px;text-decoration:none}

/* Dados da viagem organizados por sentido. */
.journey-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding-bottom:7px;border-bottom:1px solid #e7edf4}.journey-meta b,.direction-summary b{display:block;color:#506079;font-size:9px;margin-bottom:2px}.journey-meta span,.direction-summary span{display:block;color:var(--navy);font-size:11px;font-weight:850}.journey-directions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.direction-summary{display:grid;grid-template-columns:1.3fr .7fr;gap:7px;position:relative;background:#f6f8fc;border-radius:9px;padding:17px 7px 6px}.direction-summary>strong{position:absolute;top:5px;left:7px;color:#5a2fa6;font-size:8px;letter-spacing:.5px}.direction-summary>div{min-width:0}.direction-summary span{white-space:normal;overflow-wrap:anywhere}.trip-data-card .strong-value{font-size:11px!important}
@media print{.journey-meta{gap:1.3mm;padding-bottom:1.3mm}.journey-directions{gap:1.3mm;margin-top:1.3mm}.direction-summary{padding:3.5mm 1.3mm 1.2mm}.journey-meta span,.direction-summary span{font-size:7.5pt!important}.journey-meta b,.direction-summary b{font-size:6.2pt!important}}

/* ===== V8: rodapé padronizado com o documento de reserva ===== */
.quote-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--navy)}
.footer-contacts{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:12px}
.footer-contact{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;font-size:13px;color:var(--navy)}
.footer-contact img{width:23px;height:23px;object-fit:contain;flex:0 0 auto}
.footer-contact strong{white-space:nowrap}
.footer-email-icon{position:relative;width:25px;height:18px;border:2px solid var(--navy);border-radius:3px;flex:0 0 auto}
.footer-email-icon:before,.footer-email-icon:after{content:"";position:absolute;top:2px;width:14px;height:2px;background:var(--navy)}
.footer-email-icon:before{left:1px;transform:rotate(34deg)}.footer-email-icon:after{right:1px;transform:rotate(-34deg)}
.footer-note{margin-top:8px;text-align:center;font-size:8.5px;font-weight:700;color:#64748b}
@media print{
  .quote-footer{margin-top:2mm!important;padding-top:2mm!important;font-size:inherit!important}
  .footer-contacts{gap:2mm!important}.footer-contact{font-size:8.7pt!important;gap:1.4mm!important}
  .footer-contact img{width:5mm!important;height:5mm!important}.footer-email-icon{width:5.5mm!important;height:4mm!important}
  .footer-note{margin-top:1.2mm!important;font-size:6.2pt!important}
}
