:root{
  --bg:#0d0d0d; --panel:#161513; --panel2:#1d1b18; --card:#191713;
  --gold:#C8A96E; --gold-dim:rgba(200,169,110,.55); --gold-bg:rgba(200,169,110,.10);
  --bd:rgba(200,169,110,.18); --bd2:rgba(255,255,255,.08);
  --tx:rgba(255,255,255,.85); --tx2:rgba(255,255,255,.55); --tx3:rgba(255,255,255,.35);
  --ok:#8fca8f; --warn:#e0b45c; --bad:#e07a6a; --info:#7fb3d9;
  --serif:'Playfair Display',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:14px;line-height:1.45;min-height:100vh}
button{font-family:var(--sans);cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:var(--sans);color:var(--tx);background:var(--panel2);border:1px solid var(--bd2);border-radius:8px;padding:9px 10px;font-size:14px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold-dim)}
input[type=date]{color-scheme:dark}
::-webkit-scrollbar{height:6px;width:8px}
::-webkit-scrollbar-thumb{background:rgba(200,169,110,.25);border-radius:4px}
.hide{display:none!important}

/* ── layout base ─────────────────────────────── */

h1,h2{font-family:var(--serif)}

/* ── header ──────────────────────────────────── */
.top{position:sticky;top:0;z-index:40;background:rgba(13,13,13,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.top-in{max-width:1180px;margin:0 auto;padding:10px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.logo{font-family:var(--serif);font-size:19px;color:var(--gold);letter-spacing:.03em;white-space:nowrap}
.logo small{display:block;font-family:var(--sans);font-size:9.5px;color:var(--tx3);letter-spacing:.22em;text-transform:uppercase}

/* ── Tela 1: entrada ─────────────────────────── */

.frow{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.fld{display:flex;flex-direction:column;gap:4px;flex:1;min-width:130px}
.fld label{font-size:11px;color:var(--tx2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.noites-tag{font-size:13px;color:var(--gold);font-weight:700;white-space:nowrap;padding:9px 4px}
.stepper{display:flex;align-items:center;gap:0;background:var(--panel2);border:1px solid var(--bd2);border-radius:8px;overflow:hidden}
.stepper button{width:38px;height:38px;font-size:18px;color:var(--gold);transition:background .15s}
.stepper button:hover{background:var(--gold-bg)}
.stepper span{min-width:34px;text-align:center;font-weight:700;font-size:15px}
.kid-row{display:flex;align-items:center;gap:8px;margin-top:6px}
.kid-row select{flex:0 0 150px}
.kid-err{color:var(--bad);font-size:11.5px;margin-top:4px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 14px;border-radius:99px;border:1px solid var(--bd2);color:var(--tx2);font-size:12.5px;font-weight:600;transition:all .15s;background:var(--panel2)}
.chip.on{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}
.chk{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--tx2);cursor:pointer;user-select:none}
.chk input{width:16px;height:16px;accent-color:var(--gold)}
.periodo-label{margin:10px 0 0;font-size:12.5px;border-radius:8px;padding:8px 12px;display:none}
.periodo-label.on{display:block}
.pl-info{background:var(--gold-bg);border:1px solid var(--bd);color:var(--gold)}
.pl-warn{background:rgba(224,180,92,.1);border:1px solid rgba(224,180,92,.3);color:var(--warn)}
.pl-bad{background:rgba(224,122,106,.1);border:1px solid rgba(224,122,106,.3);color:var(--bad)}

/* ── Tela 2: summary bar ─────────────────────── */
.sumbar{position:sticky;top:53px;z-index:35;background:linear-gradient(180deg,#26292f,#1e2126);border:1px solid var(--gold-dim);border-left:3px solid var(--gold);border-radius:0 0 14px 14px;padding:11px 16px;margin-bottom:14px;box-shadow:0 6px 22px rgba(0,0,0,.45)}
.sum-cap{font-size:9.5px;font-weight:800;letter-spacing:.2em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:5px;display:flex;align-items:center;gap:8px}
.sum-cap .vend{margin-left:auto;color:var(--tx3);letter-spacing:.06em}
.sum-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--tx)}
.sum-l1 .cli-badge{font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:2px 9px;border-radius:99px;border:1px solid var(--gold);color:var(--gold)}
.sum-l2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--tx2);margin-top:4px}
.sum-l2 b{color:var(--gold);font-weight:700}
.sum-para{font-size:12.5px;color:var(--gold);font-weight:700;background:var(--gold-bg);border:1px solid var(--bd);border-radius:7px;padding:3px 10px;display:inline-block}

.btn-sm{font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid var(--bd2);color:var(--tx2);transition:all .15s;background:var(--panel2)}
.btn-sm:hover{border-color:var(--gold-dim);color:var(--gold)}

/* ── filtros ─────────────────────────────────── */
.filtros{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;-webkit-overflow-scrolling:touch}
.filtros .chip{flex:0 0 auto}

/* ── grade de suítes ─────────────────────────── */

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.card{position:relative;background:var(--card);border:1px solid var(--bd2);border-radius:14px;padding:14px;transition:border-color .15s}
.card:hover{border-color:var(--bd)}
.card.top-pick{border-color:var(--gold-dim)}
.badge-pick{position:absolute;top:-9px;left:12px;background:var(--gold);color:#181509;font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 10px;border-radius:99px;z-index:6}
.card h3{font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--tx);margin-bottom:6px;padding-right:8px}
.card h3 small{font-family:var(--sans);font-size:10.5px;color:var(--tx3);font-weight:600}
.c-sec{font-size:9.5px;font-weight:800;letter-spacing:.18em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:2px}
.unids{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0 10px}
.unid{font-size:11px;font-weight:600;padding:4px 10px;border-radius:99px;border:1px solid var(--bd2);color:var(--tx2);background:var(--panel2);transition:all .15s}
.unid.on{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}
.unid.indisp{opacity:.45;text-decoration:line-through}
.unid.warn{border-color:rgba(224,180,92,.45)}
.pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.pill{font-size:10.5px;font-weight:600;padding:2.5px 8px;border-radius:99px;white-space:nowrap}
.pill.f{background:var(--gold-bg);color:var(--gold);border:1px solid var(--bd)}
.pill.o{background:rgba(143,202,143,.1);color:var(--ok);border:1px solid rgba(143,202,143,.25)}
.pill.w{background:rgba(224,180,92,.1);color:var(--warn);border:1px solid rgba(224,180,92,.25)}
.pill.b{background:rgba(224,122,106,.1);color:var(--bad);border:1px solid rgba(224,122,106,.3)}
.tier{border:1px solid var(--bd2);border-radius:10px;padding:9px 12px;margin-bottom:7px;cursor:pointer;transition:all .15s;position:relative}
.tier:hover{border-color:var(--gold);background:var(--gold-bg)}
.tier.sel{border-color:var(--gold);background:var(--gold-bg)}
.tier.topo{border-color:var(--bd)}
.tier .t-lbl{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--tx3);text-transform:uppercase;display:flex;justify-content:space-between;gap:6px}
.tier .t-lbl .cat{color:var(--gold-dim)}
.tier .t-val{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:2px}
.tier .t-val b{font-size:18px;font-weight:800;color:var(--tx);letter-spacing:-.01em}
.tier .cort{font-size:11px;font-weight:600;color:var(--ok)}
.tier .cort.no{color:var(--tx3);font-weight:500}
.tier .pixtag{font-size:10px;font-weight:700;color:var(--warn)}
.tier.uh{border-color:var(--bad);background:rgba(224,122,106,.09)}
.tier.uh:hover{border-color:var(--bad);background:rgba(224,122,106,.15)}
.tier.uh .t-lbl .cat{color:var(--bad)}
.tier.consult{cursor:default}
.tier.consult:hover{border-color:var(--bd2);background:none}
.tier.consult .t-val b{font-size:12.5px;color:var(--warn);font-weight:600}
.dica{font-size:11.5px;color:var(--info);margin:4px 0 6px}
.alerta{font-size:11.5px;border-radius:8px;padding:7px 10px;margin-top:6px;background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.22);color:var(--bad)}
.alerta.w{background:rgba(224,180,92,.08);border-color:rgba(224,180,92,.22);color:var(--warn)}
.card .obs{font-size:11px;color:var(--tx3);margin-top:6px}
.unit-note{font-size:11.5px;color:var(--gold);background:var(--gold-bg);border:1px solid var(--bd);border-radius:8px;padding:7px 10px;margin-top:6px;line-height:1.5}
.unit-note b{color:var(--tx)}
.unit-note .miss{color:var(--tx3);font-style:italic}
/* overlay inelegível / indisponível */
.card.off .card-body{opacity:.28;filter:grayscale(.7);pointer-events:none}
.ovl{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:14px;background:rgba(13,13,13,.55);text-align:center;padding:14px}
.ovl .ovl-lbl{font-size:12.5px;font-weight:700;color:var(--tx2);background:rgba(13,13,13,.85);padding:6px 14px;border-radius:99px;border:1px solid var(--bd2)}
.ovl button{font-size:11.5px;color:var(--gold);border:1px solid var(--gold-dim);border-radius:99px;padding:6px 14px;background:rgba(13,13,13,.85);transition:background .15s}
.ovl button:hover{background:var(--gold-bg)}

.aviso-topo{font-size:12.5px;border-radius:10px;padding:10px 14px;margin-bottom:12px;background:var(--gold-bg);border:1px solid var(--bd);color:var(--gold)}
.aviso-topo.w{background:rgba(224,180,92,.08);border-color:rgba(224,180,92,.28);color:var(--warn)}

/* ── drawer proposta ─────────────────────────── */

.dw-items{margin-top:8px;display:flex;flex-direction:column;gap:6px;max-height:32vh;overflow-y:auto}
.dw-it{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--bd2);border-radius:9px;padding:7px 10px;font-size:12.5px;flex-wrap:wrap}
.dw-it b{color:var(--gold)}
.dw-it .x{margin-left:auto;color:var(--bad);font-size:15px;padding:2px 8px}
.dw-it .paxcfg{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--tx2)}
.dw-it .paxcfg button{width:22px;height:22px;border:1px solid var(--bd2);border-radius:6px;color:var(--gold);font-size:13px}
.btn-gerar{background:var(--gold);color:#181509;font-weight:800;padding:10px 22px;border-radius:9px;font-size:13.5px}
.btn-gerar:disabled{opacity:.35}
.dw-note{font-size:11px;color:var(--tx3);margin-top:6px}

/* ── Tela 3: proposta ────────────────────────── */

.prop-opts{background:var(--panel);border:1px solid var(--bd);border-radius:14px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}
.prop-opts .frow{margin-bottom:0}
.prop-box{background:var(--panel);border:1px solid var(--bd);border-radius:14px;padding:20px;white-space:pre-wrap;font-size:13.5px;line-height:1.65}
.prop-id{text-align:right;font-size:10.5px;letter-spacing:.14em;color:rgba(255,255,255,.16);margin-top:6px;font-weight:600}

.btn-copy{background:var(--gold);color:#181509;font-weight:800;padding:12px 26px;border-radius:10px;font-size:14px}
.copied{color:var(--ok);font-weight:700;font-size:13px;align-self:center}

/* ── LAYOUT 3 COLUNAS (cotação · resultado · extrato) ── */
.app3{display:grid;grid-template-columns:300px minmax(0,1fr) 344px;gap:14px;max-width:1580px;margin:0 auto;padding:14px}
.col{min-width:0}
.col-cotacao,.col-extrato{background:var(--panel);border:1px solid var(--bd);border-radius:14px;padding:16px;position:sticky;top:64px;max-height:calc(100vh - 78px);overflow-y:auto}
.col-cap{font-family:var(--serif);font-size:19px;color:var(--gold);margin-bottom:14px}
.col-cotacao .frow{margin-bottom:12px}
.col-cotacao .fld{min-width:0}
.col-cotacao input[type=date]{cursor:pointer}
.walkin-box{margin:12px 0;padding:10px 12px;border:1px solid var(--bd2);border-radius:10px;background:rgba(255,255,255,.02)}
.walkin-box.on{border-color:var(--gold);background:var(--gold-bg)}
.walkin-box .walkin-sub{font-size:11px;color:var(--tx3);margin-top:3px;line-height:1.4}
.col-result .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}   /* sempre 3 colunas de quartos no desktop */
/* extrato / carrinho */
.col-extrato{display:flex;flex-direction:column}
.ex-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ex-head .ttl{font-family:var(--serif);font-size:17px;color:var(--gold)}
.col-extrato .dw-items{max-height:none;margin-top:0}
.ex-empty,.empty-mid{color:var(--tx3);font-size:12.5px;text-align:center;padding:26px 12px;line-height:1.6}
.empty-mid{border:1px dashed var(--bd2);border-radius:14px;margin-top:8px}
.ex-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--bd2);display:flex;flex-direction:column;gap:8px}
.ex-tot{display:flex;align-items:baseline;justify-content:space-between}
.ex-tot span:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);font-weight:600}
.ex-tot .tot{font-size:21px;font-weight:800;color:var(--gold)}
.ex-foot .btn-gerar{width:100%}
.ex-foot .btn-sm{width:100%;text-align:center}
/* Camada externa dos pop-ups: bloqueia a tela e permite fechar ao clicar fora. */
.scrim{position:fixed;inset:0;z-index:74;background:rgba(0,0,0,.68);opacity:0;pointer-events:none;transition:opacity .15s}
.scrim.on{opacity:1;pointer-events:auto}
#scrimJust{z-index:86}

/* modal proposta */
.modal-prop{position:fixed;z-index:75;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);width:min(800px,94vw);max-height:90vh;background:var(--panel);border:1px solid var(--bd);border-radius:16px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.modal-prop.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.mp-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--bd2);font-family:var(--serif);font-size:17px;color:var(--gold)}
.mp-head .x{font-size:20px;color:var(--tx2);padding:2px 8px}
.mp-body{padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.mp-body .prop-opts{background:var(--panel2);border:1px solid var(--bd2);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}
.mp-body .prop-opts .frow{margin-bottom:0}
.mp-foot{padding:12px 18px;border-top:1px solid var(--bd2);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#scrimProp{z-index:74}
/* modal de ciência (quebra de mínimo de diárias) */
#scrimRegra{z-index:84}
.modal-regra{position:fixed;z-index:85;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);width:min(440px,92vw);background:var(--panel);border:1px solid var(--gold-dim);border-radius:16px;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.modal-regra.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.mr-head{padding:16px 20px 8px;font-family:var(--serif);font-size:18px;color:var(--warn)}
.mr-body{padding:0 20px 8px;font-size:13.5px;color:var(--tx);line-height:1.6}
.mr-foot{padding:14px 20px 18px;display:flex;gap:10px;justify-content:flex-end}
.modal-just{position:fixed;z-index:87;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);width:min(620px,94vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--gold-dim);border-radius:16px;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;box-shadow:0 20px 60px rgba(0,0,0,.65)}
.modal-just.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.just-body{padding:8px 20px 4px}.just-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.just-grid .wide{grid-column:1/-1}.just-err{min-height:18px;color:var(--bad);font-size:12px;font-weight:700;margin-top:6px}.just-checks{display:grid;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--bd2);border-radius:10px;background:rgba(255,255,255,.02)}
@media(max-width:680px){.just-grid{grid-template-columns:1fr}}

.btn-ciente{background:var(--warn);color:#2a1e05;font-weight:800;padding:9px 18px;border-radius:9px;font-size:13px}

/* itens do extrato (linha por suíte, com alocação de pax/idades no grupo) */
.col-extrato .dw-it{flex-direction:column;align-items:stretch;gap:5px;padding:9px 10px}
.dw-it-top{display:flex;align-items:center;gap:6px}
.dw-it-top .nm{font-weight:600;color:var(--tx);font-size:13px}
.dw-it-top .x{margin-left:auto;color:var(--bad);font-size:16px;padding:0 6px}
.dw-it-sub{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--tx3)}
.dw-it-sub b{margin-left:auto;color:var(--gold);font-size:13.5px}
.dw-it .paxcfg{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:2px}
.dw-it .pxg{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--tx2)}
.dw-it .pxg button{width:22px;height:22px;border:1px solid var(--bd2);border-radius:6px;color:var(--gold);font-size:13px;background:var(--panel)}
.dw-it .kidages{display:flex;gap:4px;flex-wrap:wrap}
.dw-it .kidage{padding:2px 4px;font-size:11px;border-radius:6px;min-width:46px}

@media(max-width:1080px){
  .app3{grid-template-columns:1fr;padding:12px}
  .col-cotacao,.col-extrato{position:static;max-height:none}
  .col-result{order:-1}
  .col-cotacao{order:-2}
  .col-result .grid{grid-template-columns:repeat(2,minmax(0,1fr))}   /* tablet: 2 colunas */
}
@media(max-width:640px){
  .col-result .grid{grid-template-columns:1fr}   /* celular: 1 coluna */
  .sumbar{top:49px;padding:8px 12px}
  .app3{padding:8px}
}

.tier.bloqueada{opacity:.62;cursor:not-allowed}
.tier.bloqueada:hover{transform:none}

/* ══ ACESSO, PERFIS E AUTORIZAÇÕES ═════════════════════════════ */
.auth-locked>.top,.auth-locked>.app3{visibility:hidden}
.auth-gate{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 10%,#302d25 0,#171714 52%,#0e0e0c 100%)}
.auth-gate.hide{display:none}.auth-card{width:min(430px,94vw);background:var(--panel);border:1px solid var(--gold-dim);border-radius:18px;padding:26px;box-shadow:0 28px 80px rgba(0,0,0,.62)}
.auth-brand{font-family:Georgia,serif;color:var(--gold);font-size:22px;margin-bottom:2px}.auth-brand small{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;color:var(--tx3);margin-top:5px}
.auth-card h1{font-size:19px;margin:24px 0 5px}.auth-card>p{color:var(--tx2);font-size:13px;line-height:1.5;margin:0 0 18px}
.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:5px;font-size:11px;color:var(--tx2);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-form input,.auth-form select{width:100%}
.auth-primary{border:0;border-radius:9px;padding:11px 16px;background:var(--gold);color:#1b170f;font-weight:850;cursor:pointer}.auth-primary:disabled{opacity:.5;cursor:not-allowed}
.auth-link{border:0;background:transparent;color:var(--gold);padding:4px;cursor:pointer;font-size:12px}.auth-error{min-height:18px;color:var(--bad);font-size:12px;font-weight:700}.auth-note{font-size:11px;color:var(--tx3);line-height:1.45;padding:10px;border:1px solid var(--bd2);border-radius:9px;background:rgba(255,255,255,.02)}
.auth-user{display:flex;gap:8px;align-items:center}.auth-user.hide{display:none}.auth-ident{display:grid;line-height:1.15;text-align:right;margin-right:2px}.auth-ident strong{font-size:12px;color:var(--tx)}.auth-ident small{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em}
.auth-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;border-radius:20px;background:var(--bad);color:#fff;font-size:10px;font-weight:800;margin-left:4px}.auth-config{font-size:10px;color:var(--warn);border:1px solid var(--warn);border-radius:20px;padding:4px 8px}.hide{display:none!important}
.auth-scrim{position:fixed;inset:0;z-index:105;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:.15s}.auth-scrim.on{opacity:1;pointer-events:auto}
.auth-panel{position:fixed;z-index:106;top:50%;left:50%;transform:translate(-50%,-48%) scale(.98);width:min(900px,95vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--gold-dim);border-radius:16px;opacity:0;pointer-events:none;transition:.15s;box-shadow:0 24px 70px rgba(0,0,0,.65)}
.auth-panel.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.auth-panel-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:15px 18px;background:var(--panel);border-bottom:1px solid var(--bd2)}.auth-panel-head h2{font-size:16px;margin:0}.auth-panel-head .x{margin-left:auto}
.auth-panel-body{padding:18px}.auth-list{display:grid;gap:10px}.auth-row{border:1px solid var(--bd2);border-radius:11px;padding:12px;background:rgba(255,255,255,.02);display:grid;gap:7px}.auth-row-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.auth-row-top strong{font-size:13px}.auth-row small{color:var(--tx3);line-height:1.45}.auth-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.auth-status{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:20px;padding:4px 7px;background:var(--bd2);color:var(--tx2)}.auth-status.approved{background:rgba(76,175,80,.18);color:#9fd7a2}.auth-status.rejected{background:rgba(220,70,70,.18);color:#efaaaa}.auth-status.pending{background:rgba(222,169,67,.17);color:#e4c477}
.auth-tabs{display:flex;gap:6px;margin-bottom:14px}.auth-tab{border:1px solid var(--bd2);border-radius:8px;padding:7px 10px;background:transparent;color:var(--tx2);cursor:pointer}.auth-tab.on{border-color:var(--gold);color:var(--gold);background:rgba(185,154,94,.08)}
.auth-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-admin-grid .wide{grid-column:1/-1}.auth-admin-result{margin-top:10px;font-size:12px;color:var(--ok);font-weight:700}.auth-table{width:100%;border-collapse:collapse;font-size:12px}.auth-table th,.auth-table td{padding:9px;border-bottom:1px solid var(--bd2);text-align:left;vertical-align:top}.auth-table th{color:var(--tx3);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.auth-table td:last-child{text-align:right;white-space:nowrap}
.auth-loading{padding:24px;text-align:center;color:var(--tx3)}
@media(max-width:700px){.auth-ident{display:none}.auth-panel{width:96vw}.auth-admin-grid{grid-template-columns:1fr}.auth-admin-grid .wide{grid-column:auto}.auth-table{display:block;overflow-x:auto}.auth-user .btn-sm{font-size:0;min-width:34px;padding:7px}.auth-user .btn-sm::before{font-size:15px;line-height:1}.auth-user #authRequestsBtn::before{content:'✓'}.auth-user #authRulesBtn::before{content:'⚙'}.auth-user #authAdminBtn::before{content:'👥'}.auth-user [data-action=auth-logout]::before{content:'↪'}}

/* ══ PRODUCT UI v7 · interface operacional compacta ═══════════ */
:root{
  --bg:#11120f;--panel:#191a17;--panel2:#20211d;--card:#1b1c19;
  --gold:#c2a66f;--gold-dim:rgba(194,166,111,.58);--gold-bg:rgba(194,166,111,.075);
  --bd:rgba(194,166,111,.17);--bd2:rgba(255,255,255,.075);
  --tx:rgba(255,255,255,.91);--tx2:rgba(255,255,255,.62);--tx3:rgba(255,255,255,.40);
  --ok:#8fc19a;--warn:#ddb76a;--bad:#db796f;--info:#85adc8;
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r-sm:6px;--r-md:9px;--r-lg:12px;--shadow:0 12px 34px rgba(0,0,0,.20)
}
body{font-size:13px;line-height:1.42;letter-spacing:-.003em}
input,select,textarea{border-radius:var(--r-sm);padding:7px 9px;font-size:13px;min-height:34px;transition:border-color .14s,box-shadow .14s}
input:focus,select:focus,textarea:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px rgba(194,166,111,.08)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2{font-family:var(--sans)}
.top{height:56px;background:rgba(17,18,15,.96);border-bottom:1px solid rgba(255,255,255,.065);box-shadow:0 3px 18px rgba(0,0,0,.15)}
.top-in{max-width:1720px;height:56px;padding:0 18px;flex-wrap:nowrap}
.logo{font-size:17px}.logo small{font-size:8.5px;letter-spacing:.18em;margin-top:1px}
.btn-sm{border-radius:var(--r-sm);padding:6px 10px;background:transparent;border-color:var(--bd2);font-size:11.5px}
.btn-sm:hover{background:rgba(255,255,255,.035)}
.app3{grid-template-columns:274px minmax(0,1fr) 318px;gap:12px;max-width:1720px;padding:12px 16px 24px}
.col-cotacao,.col-extrato{top:68px;max-height:calc(100vh - 82px);border-radius:var(--r-lg);padding:14px;border-color:rgba(255,255,255,.07);box-shadow:none}
.col-cap{font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tx2);margin-bottom:12px}
.col-cotacao .frow{margin-bottom:9px}.frow{gap:8px;margin-bottom:10px}.fld{gap:3px}.fld label{font-size:9.5px;letter-spacing:.075em}
.stepper{height:34px;border-radius:var(--r-sm)}.stepper button{width:32px;height:32px;font-size:16px}.stepper span{font-size:13px;min-width:29px}
.chips{gap:5px}.chip{padding:5px 9px;border-radius:var(--r-sm);font-size:11px;background:transparent}.chip.on{box-shadow:inset 0 0 0 1px rgba(194,166,111,.12)}
.walkin-box{margin:9px 0;padding:8px 9px;border-radius:var(--r-md)}
.sumbar{top:68px;border-radius:var(--r-lg);padding:10px 13px;margin-bottom:10px;background:var(--panel);border:1px solid rgba(255,255,255,.075);border-left:3px solid var(--gold);box-shadow:var(--shadow)}
.sum-cap{font-size:8.5px;letter-spacing:.16em;margin-bottom:3px}.sum-l1{font-size:13px;gap:6px}.sum-l2{font-size:11px;margin-top:3px}
.filtros{gap:5px;padding-bottom:8px}.filtros .chip{border-radius:var(--r-sm)}

.col-result .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.card{border-radius:var(--r-lg);padding:12px;border-color:rgba(255,255,255,.07);box-shadow:none;background:var(--card)}
.card:hover{border-color:rgba(194,166,111,.28)}.card.top-pick{border-color:rgba(194,166,111,.42);box-shadow:inset 0 1px 0 rgba(194,166,111,.10)}
.badge-pick{top:8px;left:auto;right:10px;border-radius:4px;padding:2px 6px;font-size:8px;letter-spacing:.07em}
.card h3{font-family:var(--sans);font-size:13.5px;font-weight:750;margin-bottom:5px;line-height:1.25;padding-right:80px}.card h3 small{font-size:9.5px}
.c-sec{font-size:8.5px;letter-spacing:.14em}.unids{gap:4px;margin:2px 0 7px}.unid{font-size:10px;padding:3px 7px;border-radius:5px;background:transparent}
.pills{gap:4px;margin-bottom:8px}.pill{font-size:9px;padding:2px 6px;border-radius:5px;font-weight:650}.pill.f,.pill.o,.pill.w,.pill.b{background:rgba(255,255,255,.025)}
.tier{border-radius:var(--r-md);padding:8px 10px;margin-bottom:6px;background:rgba(255,255,255,.012)}
.tier.topo{border-color:rgba(194,166,111,.42);background:linear-gradient(90deg,rgba(194,166,111,.095),rgba(194,166,111,.025));box-shadow:inset 3px 0 0 var(--gold)}
.tier.topo .t-lbl>span:first-child::after{content:' · recomendada';color:var(--gold);font-weight:800}
.tier:hover{background:rgba(194,166,111,.075)}.tier .t-lbl{font-size:8.5px;letter-spacing:.085em}.tier .t-val{gap:7px;margin-top:1px}.tier .t-val b{font-size:15px}.tier .cort,.tier .pixtag{font-size:9.5px}
.tier.uh{border-color:rgba(219,121,111,.30);background:rgba(219,121,111,.035)}
.negociar-toggle{width:100%;padding:6px 8px;margin:1px 0 6px;border:1px dashed rgba(194,166,111,.32);border-radius:var(--r-sm);color:var(--gold);font-size:10.5px;font-weight:750;letter-spacing:.015em;background:transparent;text-align:center}
.negociar-toggle:hover{background:var(--gold-bg);border-style:solid}.negociar-toggle.on{color:var(--tx3);border-color:var(--bd2)}
.dica{font-size:10px;margin:3px 0 4px}.alerta{font-size:10.5px;padding:6px 8px;border-radius:var(--r-sm)}.card .obs{font-size:10px;line-height:1.4}
.col-extrato{padding:13px}.ex-head{margin-bottom:8px}.ex-head .ttl{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--tx2)}
.ex-empty{padding:20px 8px;font-size:11.5px}.col-extrato .dw-it{border-radius:var(--r-md);padding:8px 9px}.dw-it-top .nm{font-size:12px}.dw-it-sub{font-size:10.5px}.dw-it-sub b{font-size:12.5px}.ex-foot{padding-top:10px;gap:6px}.ex-tot .tot{font-size:18px}.btn-gerar{border-radius:var(--r-sm);padding:9px 14px;font-size:12.5px}
.modal-prop,.modal-regra,.modal-just,.auth-panel,.auth-card{border-radius:var(--r-lg);box-shadow:0 24px 70px rgba(0,0,0,.45)}
.mr-head,.mp-head,.auth-panel-head h2{font-family:var(--sans);font-weight:800}.mr-head{font-size:15px}.mr-body{font-size:12.5px}.btn-ciente{border-radius:var(--r-sm);font-size:12px;padding:8px 13px}
.auth-card{border-color:rgba(255,255,255,.09)}.auth-brand{font-size:19px}.auth-card h1{font-size:18px}.auth-primary{border-radius:var(--r-sm)}
@media(min-width:1660px){.col-result .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.app3{grid-template-columns:250px minmax(0,1fr) 300px}.col-result .grid{grid-template-columns:1fr}}
@media(max-width:900px){.app3{grid-template-columns:1fr}.col-cotacao,.col-extrato{position:static;max-height:none}.col-result{order:2}.col-cotacao{order:1}.col-extrato{order:3}.col-result .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sumbar{top:62px}}
@media(max-width:640px){.top{height:auto;min-height:54px}.top-in{height:auto;min-height:54px;padding:8px 10px}.logo{font-size:15px}.auth-user{margin-left:auto}.app3{padding:8px}.col-result .grid{grid-template-columns:1fr}.col-cotacao,.col-extrato{padding:11px}.sumbar{top:55px}.card{padding:11px}.card h3{padding-right:68px}}

/* ── Refactor v8 · utilitários semânticos ───────────────────── */
.auth-dev-action{width:100%;margin-top:12px}.auth-row-spaced{margin-bottom:16px}.self-end{align-self:end}
.auth-password-panel{width:min(480px,94vw)}.auth-password-help{font-size:13px;color:var(--tx2);line-height:1.5;margin-top:0}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.noites-tag-compact{padding:0 0 8px}
.fld-auto{flex:0 0 auto}.mt-2{margin-top:2px}.mt-12{margin-top:12px}
.select-compact{padding:4px 8px;font-size:12px}.group-hint{margin-top:7px;font-size:.82rem;color:var(--tx3);line-height:1.4}
.fld-grow-2{flex:2}.items-center{align-items:center}.gap-18{gap:18px}.fld-w-180{flex:0 0 180px}.fld-max-620{max-width:620px}
.text-gold{color:var(--gold)}.text-gold-dim{color:var(--gold-dim)}.text-muted{color:var(--tx3)}
.group-kids-help{font-size:11.5px;color:var(--tx3);margin-top:2px;line-height:1.45}.kid-label{font-size:12px;color:var(--tx2)}
.client-empty{color:var(--tx3);font-weight:600}.sum-primary-line{font-size:13px;color:var(--tx);font-weight:600;margin-top:6px}
.sum-walkin{color:var(--gold);font-weight:700}.sum-warning{color:var(--warn)}.sum-info{color:var(--info)}
.overlay-detail{font-size:11px;color:var(--tx3);max-width:260px}
.drawer-note-muted{color:var(--tx3)}.group-progress{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:7px 12px;border:1px solid var(--gold);border-radius:var(--r-md);background:rgba(255,255,255,.02)}
.group-progress.ok{border-color:var(--ok)}.group-progress.bad{border-color:var(--bad)}.group-progress-allocated{color:var(--tx3)}.group-progress-allocated b{color:var(--tx)}.group-progress-status{margin-left:auto;font-weight:600;color:var(--gold)}.group-progress.ok .group-progress-status{color:var(--ok)}.group-progress.bad .group-progress-status{color:var(--bad)}
.group-progress-help{margin-top:6px;color:var(--tx3)}

/* Diálogo geral do sistema: substitui alert/prompt/confirm nativos. */
#scrimSystem{z-index:114}
.modal-system{z-index:115;width:min(520px,94vw);max-height:90vh;overflow:auto}
.system-body{display:grid;gap:12px}.system-body p{margin:0;color:var(--tx2);line-height:1.55}
.system-fields{display:grid;gap:11px}.system-field{display:grid;gap:6px}.system-field label{font-size:11px;font-weight:800;color:var(--tx2)}
.system-field input,.system-field textarea,.system-field select{width:100%}.system-field textarea{min-height:84px;resize:vertical}
.system-field.check{display:flex;align-items:center;gap:9px;border:1px solid var(--bd2);border-radius:var(--r-sm);padding:10px;background:rgba(255,255,255,.02)}
.system-field.check input{width:auto}.system-field.check label{font-size:12px;color:var(--tx);cursor:pointer}
.system-field input[readonly]{background:var(--bg);color:var(--gold);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.btn-ciente.danger{background:var(--bad);border-color:var(--bad);color:#fff}

/* Configurações comerciais da gerência. */
.auth-rules-panel{width:min(1180px,97vw)}
.rules-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--bd2)}
.rules-toolbar>div:first-child{display:grid;gap:3px}.rules-toolbar small{color:var(--tx3);font-size:11px}
.rules-status{min-height:20px;font-size:12px;font-weight:700;color:var(--ok);margin-bottom:8px}.rules-status.error{color:var(--bad)}
.rules-section{border:1px solid var(--bd2);border-radius:var(--r-md);background:rgba(255,255,255,.018);margin:10px 0;overflow:hidden}
.rules-section>h3{margin:0;padding:11px 13px;border-bottom:1px solid var(--bd2);font-size:13px;color:var(--gold);background:rgba(255,255,255,.018)}
.rules-section-body{padding:12px}.rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rules-grid .wide{grid-column:1/-1}
.rules-months{display:grid;gap:7px}.rules-month{display:grid;grid-template-columns:84px repeat(4,minmax(78px,100px)) minmax(230px,1fr);gap:8px;align-items:end}
.rules-month>strong{align-self:center;font-size:12px}.rules-month label,.rules-mini label{display:grid;gap:4px;font-size:10px;color:var(--tx3);font-weight:800}
.rules-month input,.rules-month select,.rules-mini input,.rules-mini select{width:100%;min-width:0}
.rules-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.rules-mini{display:grid;gap:6px;border:1px solid var(--bd2);border-radius:var(--r-sm);padding:9px}
.rules-mini h4{margin:0;color:var(--tx);font-size:11px}.rules-holiday{display:grid;grid-template-columns:140px minmax(180px,1fr) 140px 110px 36px;gap:8px;align-items:end;margin-bottom:7px}
.rules-holiday label{display:grid;gap:4px;font-size:10px;color:var(--tx3);font-weight:800}.rules-holiday input,.rules-holiday select{width:100%}
.rules-remove{height:34px;color:var(--bad);border-color:rgba(219,121,111,.35)}
.rules-history{margin-top:12px;border-top:1px solid var(--bd2);padding-top:12px}.rules-history-list{display:grid;gap:8px}.rules-history-item{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--bd2);border-radius:var(--r-sm);padding:9px 11px}.rules-history-item small{color:var(--tx3)}
@media(max-width:900px){.rules-month{grid-template-columns:72px repeat(4,minmax(70px,1fr));}.rules-month label:last-child{grid-column:1/-1}.rules-grid,.rules-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rules-holiday{grid-template-columns:1fr 1fr}.rules-holiday label:nth-child(2){grid-column:1/-1}.rules-remove{width:40px}}
@media(max-width:600px){.rules-toolbar{align-items:flex-start;flex-direction:column}.rules-month{grid-template-columns:1fr 1fr}.rules-month>strong{grid-column:1/-1}.rules-grid,.rules-mini-grid{grid-template-columns:1fr}.rules-holiday{grid-template-columns:1fr}.rules-holiday label:nth-child(2){grid-column:auto}}

.copy-helper{position:fixed;left:-9999px;top:0;opacity:0;pointer-events:none}

/* ══ Ajustes de ergonomia e clareza preservados · v28 ═══════════════ */
:root{
  --panel-cotacao:#1b1e19;
  --panel-resultado:#121411;
  --panel-extrato:#1c1915;
  --card-resultado:#1d1f1b;
}
body{background:radial-gradient(circle at 50% -20%,rgba(194,166,111,.055),transparent 34%),#0d0f0c}
.col-cotacao{
  background:var(--panel-cotacao);
  border-color:rgba(139,170,132,.18);
  box-shadow:inset 0 3px 0 rgba(139,170,132,.32);
}
.col-result{
  align-self:start;
  background:var(--panel-resultado);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--r-lg);
  padding:10px;
  box-shadow:inset 0 3px 0 rgba(133,173,200,.24);
}
.col-extrato{
  background:var(--panel-extrato);
  border-color:rgba(194,166,111,.18);
  box-shadow:inset 0 3px 0 rgba(194,166,111,.32);
}
.sumbar{background:#20231e;border-color:rgba(133,173,200,.14)}
.card{background:var(--card-resultado);border-color:rgba(255,255,255,.085)}
.card:nth-child(even){background:#20201c}
.ex-foot{border-top-color:rgba(194,166,111,.20)}
.field-help{display:block;margin-top:4px;color:var(--tx3);font-size:10px;line-height:1.35}

/* Idades sem deslocar o botão +: entrada direta, compacta e previsível. */
#kidsBox{overflow-anchor:none}
.kid-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;margin-top:6px}
.kid-row .kid-label{font-size:11.5px;color:var(--tx2)}
.kid-err{padding:5px 0 1px;line-height:1.35}

/* Confirmações críticas da descida tarifária. */
.critical-check{padding:9px 10px;border:1px solid rgba(221,183,106,.22);border-radius:var(--r-sm);background:rgba(221,183,106,.045);color:var(--tx)}
.critical-check input{flex:0 0 auto}

/* Scrims são áreas de cancelamento explícitas. */
.scrim,.auth-scrim{cursor:pointer}
.modal-prop,.modal-regra,.modal-just,.modal-system,.auth-panel{cursor:default}

@media(max-width:900px){
  .col-result{padding:8px}
}
@media(max-width:520px){
  .kid-row{grid-template-columns:1fr 96px}
}


/* ══ Revisão manual v28 · ergonomia, hierarquia e proteção de receita ══ */
/* A faixa fixa do resumo ganha uma zona sólida de respiro. O conteúdo rola por baixo,
   mas nunca encosta visualmente no resumo nem aparece no vão inferior. */
.col-result{isolation:isolate;overflow:visible}
.sumbar{margin-bottom:22px}
.sumbar::after{
  content:"";position:absolute;left:-11px;right:-11px;bottom:-18px;height:18px;
  background:var(--panel-resultado);pointer-events:none;z-index:-1;
  border-bottom:1px solid rgba(255,255,255,.035)
}
.filtros{position:relative;z-index:1}

/* Formulário da proposta com assimetria controlada, não desalinhamento acidental. */
.prop-opts .prop-row-client,.prop-opts .prop-row-opening,.prop-opts .prop-row-payment{display:grid;align-items:start}
.prop-opts .prop-row-client{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.prop-opts .prop-row-opening{grid-template-columns:minmax(210px,.85fr) minmax(320px,1.65fr)}
.prop-opts .prop-row-payment{grid-template-columns:180px minmax(0,1fr)}
.prop-opts .prop-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px 18px}
.prop-opts .prop-row-actions .chk{min-height:34px;padding:6px 8px;border-radius:var(--r-sm);background:rgba(255,255,255,.018)}
#inDesconto:disabled{opacity:.62;cursor:not-allowed}

/* Quantidade e idade de crianças: o botão + fica imóvel e as idades usam seleção previsível. */
.col-cotacao{overflow-anchor:none}
.stepper button{touch-action:manipulation}
#kidsBox{contain:layout style;overflow-anchor:none;min-height:0}
.kid-row{grid-template-columns:minmax(0,1fr) 150px}
.kid-age-select{width:150px;min-height:34px;font-variant-numeric:tabular-nums}

@media(max-width:720px){
  .prop-opts .prop-row-client,.prop-opts .prop-row-opening,.prop-opts .prop-row-payment,.prop-opts .prop-row-actions{grid-template-columns:1fr}
  .kid-row{grid-template-columns:minmax(0,1fr) 132px}
  .kid-age-select{width:132px}
  .sumbar::after{left:-9px;right:-9px}
}

/* ══ V28 · temas, hierarquia limpa e faixa fixa real ═══════════════ */
html{color-scheme:dark}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#eef0eb;--panel:#fafaf7;--panel2:#f1f2ed;--card:#ffffff;
  --gold:#8a6b35;--gold-dim:rgba(138,107,53,.58);--gold-bg:rgba(138,107,53,.09);
  --bd:rgba(61,55,43,.13);--bd2:rgba(35,39,34,.09);
  --tx:rgba(24,27,24,.90);--tx2:rgba(24,27,24,.62);--tx3:rgba(24,27,24,.42);
  --ok:#477a50;--warn:#966b17;--bad:#b65349;--info:#356e91;
  --panel-cotacao:#f8f9f5;--panel-resultado:#ecefe9;--panel-extrato:#f8f5ee;--card-resultado:#ffffff;
  --shadow:0 10px 28px rgba(33,38,32,.09);
}
html[data-theme="dark"]{
  --panel-cotacao:#191d19;--panel-resultado:#101310;--panel-extrato:#1b1915;--card-resultado:#1d211d;
}
body{background:var(--bg);transition:background-color .18s,color .18s}
input[type=date]{color-scheme:inherit}
.top{background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:0;box-shadow:0 1px 0 var(--bd2)}
.theme-toggle{
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  color:var(--tx2);background:var(--panel2);box-shadow:inset 0 0 0 1px var(--bd2);
  font-size:15px;transition:background .15s,color .15s,transform .15s
}
.theme-toggle:hover{color:var(--gold);background:var(--gold-bg);transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.col-cotacao,.col-extrato,.col-result{border:0!important;box-shadow:0 0 0 1px var(--bd2),0 12px 30px rgba(0,0,0,.08)!important}
.col-cotacao{background:var(--panel-cotacao)!important}
.col-extrato{background:var(--panel-extrato)!important}
.col-result{background:var(--panel-resultado)!important;padding:0 10px 12px!important;overflow:visible;isolation:isolate}

.result-sticky{
  position:sticky;top:56px;z-index:35;background:var(--panel-resultado);
  padding:10px 0 16px;margin:0 0 8px;
}
.result-sticky::after{
  content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;pointer-events:none;
  background:linear-gradient(to bottom,var(--panel-resultado),color-mix(in srgb,var(--panel-resultado) 82%,transparent));
}
.sumbar{
  position:relative;top:auto;margin:0 0 9px!important;padding:11px 14px;
  background:var(--panel)!important;border:0!important;border-radius:12px;
  box-shadow:0 7px 20px rgba(0,0,0,.12)!important
}
.sumbar::after{display:none!important}
.filtros{position:relative;z-index:2;padding:0;gap:6px}
.filtros .chip,.chip{border-color:transparent;background:color-mix(in srgb,var(--panel2) 92%,transparent)}
.chip.on{border-color:transparent;box-shadow:inset 0 0 0 1px var(--gold-dim);background:var(--gold-bg)}

.card,.card:nth-child(even){
  background:var(--card-resultado)!important;border:0!important;
  box-shadow:0 0 0 1px var(--bd2),0 7px 20px rgba(0,0,0,.07)!important
}
.card:hover{box-shadow:0 0 0 1px var(--gold-dim),0 10px 24px rgba(0,0,0,.10)!important}
.tier{border:0!important;background:color-mix(in srgb,var(--panel2) 88%,transparent);box-shadow:none}
.tier:hover{background:var(--gold-bg);box-shadow:inset 0 0 0 1px var(--gold-dim)}
.tier.sel,.tier.recomendada{box-shadow:inset 0 0 0 1px var(--gold-dim)}
.tier.recomendada{background:color-mix(in srgb,var(--gold-bg) 72%,var(--panel2))}
.negociar-toggle{border-style:solid;border-color:transparent;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.negociar-toggle:hover{border-color:var(--gold-dim)}
.unit-note,.alerta,.aviso-topo,.periodo-label{border-color:transparent!important}
.prop-opts .prop-row-actions .chk{background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.mr-body{white-space:pre-line}

html[data-theme="light"] .scrim,html[data-theme="light"] .auth-scrim{background:rgba(30,34,30,.32)}
html[data-theme="light"] .modal-prop,html[data-theme="light"] .modal-regra,html[data-theme="light"] .modal-just,html[data-theme="light"] .modal-system,html[data-theme="light"] .auth-panel,html[data-theme="light"] .auth-card{box-shadow:0 24px 70px rgba(35,40,34,.22)}
html[data-theme="light"] .ovl{background:rgba(238,240,235,.74)}
html[data-theme="light"] .ovl .ovl-lbl,html[data-theme="light"] .ovl button{background:rgba(255,255,255,.92)}

@media(max-width:900px){
  .result-sticky{top:55px;padding-top:8px}
  .col-result{padding:0 8px 10px!important}
}
@media(max-width:640px){
  .theme-toggle{width:32px;height:32px}
  .result-sticky{top:54px}
  .sumbar{padding:9px 11px}
}
.pax-changing #painel{min-height:70vh}
.pax-changing .col-result{min-height:calc(100vh - 76px)}


/* ══ V30 · calendário automático e mensagens fora do fluxo ══ */
#scrimCheckoutCalendar{z-index:80}
.checkout-calendar{
  position:fixed;z-index:81;top:50%;left:50%;transform:translate(-50%,-50%) scale(.98);
  width:min(330px,92vw);padding:14px;background:var(--panel);border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.48);opacity:0;pointer-events:none;
  transition:opacity .14s,transform .14s
}
.checkout-calendar.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.checkout-calendar-top{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px}
.checkout-calendar-top strong{text-align:center;font-size:13px;color:var(--tx)}
.checkout-calendar-nav{width:34px;height:34px;border-radius:8px;background:var(--panel2);font-size:21px;color:var(--gold)}
.checkout-calendar-nav:hover{background:var(--gold-bg)}
.checkout-calendar-month{text-align:center;margin:8px 0 9px;font-size:12px;font-weight:700;color:var(--tx2)}
.checkout-calendar-weekdays,.checkout-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.checkout-calendar-weekdays{margin-bottom:4px}
.checkout-calendar-weekdays span{text-align:center;font-size:9px;font-weight:800;color:var(--tx3)}
.checkout-day{position:relative;aspect-ratio:1;border-radius:8px;font-size:12px;color:var(--tx2);background:transparent}
.checkout-day:hover:not(:disabled){background:var(--gold-bg);color:var(--gold)}
.checkout-day.outside{opacity:.36}
.checkout-day.disabled{opacity:.18;cursor:not-allowed}
.checkout-day.today{box-shadow:inset 0 0 0 1px var(--bd2)}
.checkout-day.suggested{background:var(--gold-bg);color:var(--gold);font-weight:800}
.checkout-day.suggested::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);bottom:3px;left:50%;transform:translateX(-50%)}
.checkout-day.selected{background:var(--gold);color:#181509;font-weight:800}
.checkout-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid var(--bd2)}
.checkout-calendar-foot span{font-size:10.5px;color:var(--tx3)}
.toast{display:none;position:fixed;z-index:130;left:50%;bottom:22px;transform:translateX(-50%);max-width:min(520px,90vw);padding:9px 13px;border-radius:9px;background:var(--panel);color:var(--tx);box-shadow:0 12px 34px rgba(0,0,0,.34);font-size:12px;font-weight:600;text-align:center}
.toast.on{display:block}
html[data-theme="light"] .checkout-calendar{box-shadow:0 24px 70px rgba(35,40,34,.22)}
@media(max-width:640px){.checkout-calendar{width:min(320px,94vw);padding:12px}.toast{bottom:14px}}
