/* =====================================================================
   GQUINZE — ÁREA DE MEMBROS (consulta de veículos e cotação)
   Identidade visual do site: verde escuro, dourado, Sora/Inter.
   ===================================================================== */
:root{
  --g15-verde:#2e322a; --g15-verde-900:#20231c; --g15-verde-700:#3a3f33;
  --g15-dourado:#c7863c; --g15-dourado-2:#d7a25a; --g15-dourado-soft:#e7c896;
  --g15-cream:#f7f1e8; --g15-cream-2:#fbf7f0; --g15-ink:#23261f; --g15-muted:#6c6f63;
  --g15-line:rgba(46,50,42,.12); --g15-r:16px;
  --g15-shadow:0 14px 40px -24px rgba(35,38,31,.45);
}
.g15m-wrap{font-family:"Inter",system-ui,sans-serif;color:var(--g15-ink);line-height:1.55;max-width:1280px;margin:0 auto;padding:24px 16px 80px}
.g15m-wrap *,.g15m-wrap *::before,.g15m-wrap *::after{box-sizing:border-box}
.g15m-wrap h1,.g15m-wrap h2,.g15m-wrap h3,.g15m-wrap h4{font-family:"Sora",sans-serif;letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--g15-verde)}
.g15m-wrap p{margin:0}
.g15m-loading{color:var(--g15-muted);padding:40px 0;text-align:center}

/* ---- botões ---- */
.g15m-btn{display:inline-flex;align-items:center;gap:8px;font-family:"Sora";font-weight:600;font-size:.92rem;
  padding:12px 22px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:.2s;text-decoration:none!important;white-space:nowrap}
.g15m-btn-gold{background:var(--g15-dourado);color:#2a1d09!important}
.g15m-btn-gold:hover{background:var(--g15-dourado-2)}
.g15m-btn-dark{background:var(--g15-verde);color:var(--g15-cream)!important}
.g15m-btn-dark:hover{background:var(--g15-verde-900)}
.g15m-btn-ghost{background:transparent;color:var(--g15-verde)!important;border-color:var(--g15-line)}
.g15m-btn-ghost:hover{border-color:var(--g15-dourado);color:var(--g15-dourado)!important}
.g15m-btn-sm{padding:8px 16px;font-size:.82rem}
.g15m-btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---- caixa de login ---- */
.g15m-login-box{max-width:460px;background:var(--g15-cream-2);border:1px solid var(--g15-line);border-radius:var(--g15-r);
  padding:36px;margin:48px auto;box-shadow:var(--g15-shadow)}
.g15m-login-box h2{font-size:1.4rem;margin-bottom:10px}
.g15m-login-box p{color:var(--g15-muted)}
.g15m-login-box form{margin-top:20px}
.g15m-login-box label{display:block;font-family:"Sora";font-size:.82rem;font-weight:600;margin-bottom:6px;color:#3c3f34}
.g15m-login-box input[type=text],.g15m-login-box input[type=password]{width:100%;padding:12px 14px;border:1px solid var(--g15-line);
  border-radius:10px;font-size:.95rem;background:#fff;margin-bottom:14px}
.g15m-login-box input[type=submit]{background:var(--g15-dourado);color:#2a1d09;border:none;border-radius:999px;
  padding:12px 26px;font-family:"Sora";font-weight:600;cursor:pointer}
.g15m-login-box input[type=submit]:hover{background:var(--g15-dourado-2)}
.g15m-login-help{margin-top:14px;font-size:.86rem}
.g15m-login-help a{color:var(--g15-dourado);text-decoration:none}

/* ---- tela de login moderna (dois painéis) ---- */
.g15m-auth{max-width:960px;padding-top:40px;padding-bottom:64px}
.g15m-auth-card{display:grid;grid-template-columns:1.05fr .95fr;max-width:920px;margin:0 auto;
  background:var(--g15-cream-2);border:1px solid var(--g15-line);border-radius:22px;overflow:hidden;
  box-shadow:0 34px 80px -44px rgba(35,38,31,.55)}
.g15m-auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;
  padding:44px 40px;color:var(--g15-cream);background:linear-gradient(155deg,var(--g15-verde) 0%,var(--g15-verde-900) 100%)}
.g15m-auth-head{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.g15m-auth-logo-img{width:210px;max-width:78%;height:auto;display:block}
.g15m-auth-msg{font-family:"Sora";font-weight:600;font-size:1.18rem;line-height:1.35;color:var(--g15-cream);margin:0}
.g15m-auth-glow{position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(199,134,60,.38),transparent 68%)}
.g15m-auth-logo{position:relative;z-index:1;display:flex;flex-direction:column;line-height:1}
.g15m-auth-logo .mk{font-family:"Sora";font-weight:800;font-size:2rem;letter-spacing:-.02em;color:var(--g15-dourado-2)}
.g15m-auth-logo .mk b{color:var(--g15-cream);font-weight:800}
.g15m-auth-logo small{font-family:"Sora";font-weight:600;font-size:.78rem;letter-spacing:.02em;color:rgba(247,241,232,.72);margin-top:4px}
.g15m-auth-pitch{position:relative;z-index:1}
.g15m-auth-pitch h2{color:var(--g15-cream);font-size:1.5rem;margin-bottom:10px}
.g15m-auth-pitch p{color:rgba(247,241,232,.82);font-size:.94rem}
.g15m-auth-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.g15m-auth-list li{position:relative;padding-left:26px;font-size:.89rem;color:rgba(247,241,232,.92)}
.g15m-auth-list li::before{content:"";position:absolute;left:0;top:4px;width:13px;height:13px;border-radius:50%;
  background:var(--g15-dourado);box-shadow:0 0 0 4px rgba(199,134,60,.22)}
.g15m-auth-body{padding:44px 40px;display:flex;flex-direction:column;justify-content:center}
.g15m-auth-eyebrow{font-family:"Sora";font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--g15-dourado);margin-bottom:10px}
.g15m-auth-body h3{font-size:1.5rem;margin-bottom:8px}
.g15m-auth-sub{color:var(--g15-muted);font-size:.92rem;margin-bottom:22px}
.g15m-auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.g15m-auth-body form{margin:0}
.g15m-auth-body .login-username,.g15m-auth-body .login-password{margin:0 0 14px}
.g15m-auth-body label{display:block;font-family:"Sora";font-size:.82rem;font-weight:600;margin-bottom:6px;color:#3c3f34}
.g15m-auth-body input[type=text],.g15m-auth-body input[type=password]{width:100%;padding:13px 14px;border:1px solid var(--g15-line);
  border-radius:12px;background:#fff;font-size:.95rem;color:var(--g15-ink);transition:border-color .2s,box-shadow .2s}
.g15m-auth-body input[type=text]:focus,.g15m-auth-body input[type=password]:focus{outline:none;border-color:var(--g15-dourado);
  box-shadow:0 0 0 3px rgba(199,134,60,.15)}
.g15m-auth-body .login-remember{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--g15-muted);margin:6px 0 20px}
.g15m-auth-body .login-remember input{width:auto;margin:0}
.g15m-auth-body .login-remember label{display:inline;margin:0;font-family:"Inter";font-weight:400;color:var(--g15-muted)}
.g15m-auth-body .login-submit{margin:0}
.g15m-auth-body input[type=submit]{width:100%;background:var(--g15-dourado);color:#2a1d09;border:none;border-radius:999px;
  padding:14px;font-family:"Sora";font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s}
.g15m-auth-body input[type=submit]:hover{background:var(--g15-dourado-2)}
.g15m-auth-body .g15m-login-help{margin-top:16px;font-size:.86rem}
.g15m-auth-body .g15m-login-help a{color:var(--g15-dourado);text-decoration:none}
.g15m-auth-body .g15m-login-help a:hover{text-decoration:underline}
@media(max-width:720px){
  .g15m-auth{padding-top:20px}
  .g15m-auth-card{grid-template-columns:1fr}
  .g15m-auth-brand{padding:30px 26px;gap:18px}
  .g15m-auth-body{padding:30px 26px}
}

/* ---- header interno ---- */
.g15m-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--g15-verde);color:var(--g15-cream);border-radius:var(--g15-r);padding:20px 26px;margin-bottom:22px}
.g15m-header .ttl{display:flex;flex-direction:column;gap:2px}
.g15m-header .ttl b{font-family:"Sora";font-size:1.15rem;color:var(--g15-dourado-2)}
.g15m-header .ttl span{font-size:.85rem;color:rgba(247,241,232,.7)}
.g15m-header .who{display:flex;align-items:center;gap:14px;font-size:.9rem}
.g15m-header .who .nm{font-family:"Sora";font-weight:600}
.g15m-header a.sair{color:var(--g15-dourado-2)!important;text-decoration:none;font-family:"Sora";font-weight:600;font-size:.86rem;
  border:1px solid rgba(199,134,60,.4);border-radius:999px;padding:8px 16px;transition:.2s}
.g15m-header a.sair:hover{background:rgba(199,134,60,.15)}

/* ---- filtros ---- */
.g15m-filtros{background:var(--g15-cream-2);border:1px solid var(--g15-line);border-radius:var(--g15-r);padding:18px;margin-bottom:18px;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.g15m-filtros .fg label{display:block;font-family:"Sora";font-size:.7rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--g15-muted);margin-bottom:5px}
.g15m-filtros input,.g15m-filtros select{width:100%;padding:10px 12px;border:1px solid var(--g15-line);border-radius:10px;
  background:#fff;font-size:.9rem;color:var(--g15-ink)}
.g15m-filtros input:focus,.g15m-filtros select:focus{outline:none;border-color:var(--g15-dourado);box-shadow:0 0 0 3px rgba(199,134,60,.15)}
@media(max-width:1100px){.g15m-filtros{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.g15m-filtros{grid-template-columns:1fr 1fr}}

/* ---- barra da cotação ---- */
.g15m-cartbar{position:sticky;top:8px;z-index:40;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--g15-verde-900);color:var(--g15-cream);border-radius:var(--g15-r);padding:14px 20px;margin-bottom:18px;box-shadow:var(--g15-shadow)}
.g15m-cartbar .cnt{font-family:"Sora";font-weight:700;color:var(--g15-dourado-2)}
.g15m-cartbar .spacer{flex:1}
.g15m-result-count{font-size:.85rem;color:var(--g15-muted);margin:0 4px 10px}

/* ---- tabela ---- */
.g15m-tablescroll{position:relative}
.g15m-tablewrap{overflow:auto;max-height:min(72vh,680px);border:1px solid var(--g15-line);border-radius:var(--g15-r);
  background:#fff;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
/* sombras nas bordas indicando que há mais colunas */
.g15m-tablescroll::before,.g15m-tablescroll::after{content:"";position:absolute;top:1px;bottom:1px;width:36px;
  pointer-events:none;z-index:5;opacity:0;transition:opacity .22s}
.g15m-tablescroll::before{left:1px;border-top-left-radius:var(--g15-r);border-bottom-left-radius:var(--g15-r);
  background:linear-gradient(to right,rgba(35,38,31,.16),transparent)}
.g15m-tablescroll::after{right:1px;border-top-right-radius:var(--g15-r);border-bottom-right-radius:var(--g15-r);
  background:linear-gradient(to left,rgba(35,38,31,.16),transparent)}
.g15m-tablescroll.has-left::before{opacity:1}
.g15m-tablescroll.has-right::after{opacity:1}
/* botões de navegação horizontal */
.g15m-scrollbtn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(247,241,232,.25);background:var(--g15-verde);color:var(--g15-cream);font-size:1.35rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--g15-shadow);
  opacity:0;visibility:hidden;transition:opacity .2s,background .2s,color .2s}
.g15m-scrollbtn:hover{background:var(--g15-dourado);color:#2a1d09}
.g15m-scrollbtn--left{left:10px}
.g15m-scrollbtn--right{right:10px}
.g15m-tablescroll.has-left .g15m-scrollbtn--left{opacity:.96;visibility:visible}
.g15m-tablescroll.has-right .g15m-scrollbtn--right{opacity:.96;visibility:visible}
table.g15m-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:1180px}
.g15m-table thead th{position:sticky;top:0;background:var(--g15-verde);color:var(--g15-cream);font-family:"Sora";
  font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:12px 10px;white-space:nowrap;z-index:2}
.g15m-table tbody td{padding:10px;border-bottom:1px solid var(--g15-line);vertical-align:middle}
.g15m-table tbody tr:hover{background:var(--g15-cream-2)}
.g15m-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.g15m-table .g15{font-family:"Sora";font-weight:700;color:var(--g15-dourado);background:rgba(199,134,60,.08);border-radius:8px}
.g15m-badge{display:inline-block;font-family:"Sora";font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(199,134,60,.16);color:#8a5a1f;border-radius:999px;padding:4px 10px;white-space:nowrap}
.g15m-empty{padding:48px;text-align:center;color:var(--g15-muted)}

/* mobile: tabela vira lista de cards */
@media(max-width:820px){
  .g15m-tablewrap{border:none;background:transparent;overflow:visible;max-height:none}
  .g15m-scrollbtn{display:none}
  .g15m-tablescroll::before,.g15m-tablescroll::after{display:none}
  table.g15m-table{min-width:0}
  .g15m-table thead{display:none}
  .g15m-table,.g15m-table tbody{display:block;width:100%}

  /* card por veículo */
  .g15m-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;align-items:start;
    background:#fff;border:1px solid var(--g15-line);border-radius:16px;padding:18px 16px;margin-bottom:14px;box-shadow:var(--g15-shadow)}
  .g15m-table tbody tr:hover{background:#fff}

  /* célula padrão: rótulo em cima, valor embaixo */
  .g15m-table tbody td{display:flex;flex-direction:column;gap:2px;border:none;padding:0;min-width:0;font-size:.92rem;word-break:break-word}
  .g15m-table tbody td::before{content:attr(data-l);font-family:"Sora";font-size:.6rem;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;color:var(--g15-muted)}

  /* cabeçalho do card: montadora (destaque) + modelo (título) */
  .g15m-table tbody td.c-mont{grid-column:1/-1;order:1;margin-bottom:-8px;font-family:"Sora";font-size:.72rem;
    font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g15-dourado)}
  .g15m-table tbody td.c-mont::before{display:none}
  .g15m-table tbody td.c-modelo{grid-column:1/-1;order:2}
  .g15m-table tbody td.c-modelo::before{display:none}
  .g15m-table tbody td.c-modelo b{font-family:"Sora";font-size:1.18rem;font-weight:700;color:var(--g15-verde)}
  .g15m-table tbody td.c-versao{grid-column:1/-1;order:3;margin-top:-6px;color:var(--g15-muted);font-size:.86rem}
  .g15m-table tbody td.c-versao::before{display:none}

  /* faixa de preço G15 em destaque */
  .g15m-table tbody td.c-g15{grid-column:1/-1;order:4;flex-direction:row;align-items:center;justify-content:space-between;
    background:rgba(199,134,60,.12);border-radius:12px;padding:12px 14px;margin-top:2px;
    font-family:"Sora";font-weight:800;font-size:1.3rem;color:var(--g15-dourado)}
  .g15m-table tbody td.c-g15::before{content:"Preço G15";font-size:.62rem}

  /* preço público e desconto lado a lado */
  .g15m-table tbody td.c-pub{order:5}
  .g15m-table tbody td.c-desc{order:6}

  /* demais campos, em duas colunas */
  .g15m-table tbody td[data-l="Categoria"]{order:7}
  .g15m-table tbody td[data-l="Câmbio"]{order:8}
  .g15m-table tbody td[data-l="Motorização"]{order:9}
  .g15m-table tbody td[data-l="Ano"]{order:10}
  .g15m-table tbody td[data-l="Atualização"]{order:13}
  .g15m-table tbody td[data-l="Validade"]{order:14}

  /* campos ocultos no celular */
  .g15m-table tbody td[data-l="Código"],
  .g15m-table tbody td[data-l="Estim. fat."]{display:none}

  /* botão em largura total no fim */
  .g15m-table tbody td.acao{grid-column:1/-1;order:20;margin-top:4px}
  .g15m-table tbody td.acao::before{display:none}
  .g15m-table tbody td.acao .g15m-btn{width:100%;justify-content:center;padding:12px}

  /* estado vazio não vira card */
  .g15m-table tbody tr.g15m-emptyrow{display:block;background:transparent;border:none;box-shadow:none;padding:0}
  .g15m-table tbody tr.g15m-emptyrow td{display:block}
  .g15m-table tbody tr.g15m-emptyrow td::before{display:none}
}

/* ---- drawer (adicionar à cotação / seleção) ---- */
.g15m-overlay{position:fixed;inset:0;background:rgba(32,35,28,.55);z-index:9000;opacity:0;pointer-events:none;transition:.25s}
.g15m-overlay.open{opacity:1;pointer-events:auto}
.g15m-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--g15-cream-2);z-index:9001;
  transform:translateX(105%);transition:.3s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
.g15m-drawer.open{transform:none}
.g15m-drawer .dh{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--g15-verde);color:var(--g15-cream)}
.g15m-drawer .dh h3{color:var(--g15-dourado-2);font-size:1.05rem}
.g15m-drawer .dh button{background:none;border:none;color:var(--g15-cream);font-size:1.5rem;cursor:pointer;line-height:1}
.g15m-drawer .db{padding:22px 24px;overflow-y:auto;flex:1}
.g15m-drawer .df{padding:16px 24px;border-top:1px solid var(--g15-line);display:flex;gap:10px;flex-wrap:wrap;background:var(--g15-cream)}
.g15m-vcard{background:#fff;border:1px solid var(--g15-line);border-radius:12px;padding:16px;margin-bottom:18px;font-size:.9rem}
.g15m-vcard b{font-family:"Sora";display:block;margin-bottom:4px;color:var(--g15-verde)}
.g15m-field{margin-bottom:14px}
.g15m-field label{display:block;font-family:"Sora";font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--g15-muted);margin-bottom:6px}
.g15m-field label .req{color:var(--g15-dourado)}
.g15m-field input,.g15m-field select,.g15m-field textarea{width:100%;padding:11px 13px;border:1px solid var(--g15-line);
  border-radius:10px;background:#fff;font-size:.92rem;font-family:"Inter"}
.g15m-field input:focus,.g15m-field select:focus,.g15m-field textarea:focus{outline:none;border-color:var(--g15-dourado);box-shadow:0 0 0 3px rgba(199,134,60,.15)}
.g15m-color-note{font-size:.8rem;color:var(--g15-muted);margin-top:5px}

/* itens da seleção */
.g15m-item{background:#fff;border:1px solid var(--g15-line);border-radius:12px;padding:14px 16px;margin-bottom:12px;font-size:.86rem;position:relative}
.g15m-item b{font-family:"Sora";color:var(--g15-verde)}
.g15m-item .tag{display:inline-block;font-family:"Sora";font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:999px;padding:3px 9px;margin-left:6px;background:rgba(46,50,42,.08);color:var(--g15-verde)}
.g15m-item .tag.pedido{background:rgba(199,134,60,.18);color:#8a5a1f}
.g15m-item .rm{position:absolute;top:10px;right:12px;border:none;background:none;color:#a33;cursor:pointer;font-size:1rem}
.g15m-item .ln{color:var(--g15-muted);margin-top:3px}
.g15m-totais{background:var(--g15-verde);color:var(--g15-cream);border-radius:12px;padding:16px;font-size:.9rem;margin-top:16px}
.g15m-totais .row{display:flex;justify-content:space-between;padding:4px 0}
.g15m-totais .row b{color:var(--g15-dourado-2);font-family:"Sora"}

/* modal pós-PDF */
.g15m-pdfmodal{position:fixed;inset:0;z-index:9100;display:none;align-items:center;justify-content:center;padding:20px}
.g15m-pdfmodal.open{display:flex}
.g15m-pdfmodal .bg{position:absolute;inset:0;background:rgba(32,35,28,.6)}
.g15m-pdfmodal .box{position:relative;background:var(--g15-cream-2);border-radius:var(--g15-r);padding:34px;max-width:480px;text-align:center;box-shadow:var(--g15-shadow)}
.g15m-pdfmodal h3{margin-bottom:10px}
.g15m-pdfmodal p{color:var(--g15-muted);font-size:.94rem;margin-bottom:8px}
.g15m-pdfmodal .warn{background:rgba(199,134,60,.12);border:1px solid rgba(199,134,60,.35);border-radius:10px;
  padding:12px 14px;font-size:.86rem;color:#6b4413;margin:16px 0}
.g15m-pdfmodal .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}
