/* ===========================================================
   WONYE — Módulo de gestão do concierge 
   Mesmos tokens do site e da área logada.
   =========================================================== */
:root{
  --roxo-900:#1C0633; --roxo-800:#270A47; --roxo:#7634BF; --roxo-hover:#5D1BA6;
  --teal:#00ABA8; --teal-escuro:#00807E;
  --tinta:#1D1E20; --tinta-70:#37404A; --tinta-45:#6B7480;
  --fundo:#F3F5F6; --borda:#E4E8EB; --borda-forte:#CFD6DB; --branco:#FFFFFF;

  --esp-bg:#FFF3E0; --esp-fg:#A2620B;
  --ok-bg:#EAF6F6;  --ok-fg:#00807E;
  --emit-bg:#F1E9FB;--emit-fg:#5D1BA6;
  --neg-bg:#FDECEA; --neg-fg:#B3261E;
  --nul-bg:#EEF1F3; --nul-fg:#5F6B76;

  --r-pill:50px; --r-card:14px; --r-campo:10px;
  --sidebar:250px; --topbar:66px;
  --sombra:0 1px 2px rgba(28,6,51,.05), 0 8px 24px rgba(28,6,51,.05);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:'Epilogue',system-ui,sans-serif;font-size:14.5px;line-height:1.55;
  color:var(--tinta);background:var(--fundo);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.18;letter-spacing:-.01em}
h1{font-size:27px} h2{font-size:20px} h3{font-size:16px} h4{font-size:14.5px}
p{margin:0 0 12px}
a{color:var(--teal);text-decoration:none} a:hover{text-decoration:underline}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}
[hidden]{display:none !important}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  border-radius:var(--r-pill);padding:11px 24px;font-size:14.5px;font-weight:500;line-height:1;
  cursor:pointer;background:transparent;color:var(--tinta);transition:background .15s,color .15s,border-color .15s}
.btn-primario{background:var(--roxo);color:#fff} .btn-primario:hover{background:var(--roxo-hover)}
.btn-contorno{border-color:var(--borda-forte);color:var(--tinta-70);background:#fff}
.btn-contorno:hover{border-color:var(--roxo);color:var(--roxo)}
.btn-teal{background:var(--teal);color:#fff} .btn-teal:hover{background:var(--teal-escuro)}
.btn-perigo{border-color:#E5B4AF;color:var(--neg-fg);background:#fff}
.btn-perigo:hover{background:var(--neg-bg)}
.btn-texto{padding:5px 2px;color:var(--roxo);font-weight:500}
.btn-texto:hover{text-decoration:underline}
.btn-sm{padding:8px 17px;font-size:13.5px}
.btn-bloco{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- superfícies ---------- */
.cartao{background:var(--branco);border:1px solid var(--borda);border-radius:var(--r-card);box-shadow:var(--sombra)}
.cartao-cabeca{padding:18px 24px;border-bottom:1px solid var(--borda);display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex-wrap:wrap}
.cartao-corpo{padding:22px 24px}

/* ---------- campos ---------- */
.grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.grade-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.campo-largo{grid-column:1/-1}
.campo > label{font-size:12.5px;font-weight:500;color:var(--tinta-70)}
.entrada{width:100%;min-height:42px;padding:10px 13px;font:inherit;font-size:14.5px;color:var(--tinta);
  background:var(--branco);border:1px solid var(--borda-forte);border-radius:var(--r-campo);transition:border-color .15s,box-shadow .15s}
textarea.entrada{min-height:130px;resize:vertical;line-height:1.6}
.entrada::placeholder{color:#9AA4AE}
.entrada:focus{outline:none;border-color:var(--roxo);box-shadow:0 0 0 3px rgba(118,52,191,.12)}
.entrada:disabled{background:#F7F9FA;color:var(--tinta-45)}
select.entrada{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236B7480' stroke-width='1.6' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}
.dica{font-size:12.5px;color:var(--tinta-45)}

/* ===========================================================
   LOGIN
   =========================================================== */
.login{min-height:100%;display:grid;place-items:center;background:var(--roxo-900);padding:32px}
.login-caixa{width:100%;max-width:410px;background:#fff;border-radius:18px;padding:40px}
.login-marca{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.login-marca img{height:34px;width:auto}
.marca-texto{font-size:22px;font-weight:700;color:var(--roxo-900);letter-spacing:-.02em}
.etiqueta{font-size:11.5px;font-weight:600;color:var(--roxo);background:#F1E9FB;padding:4px 10px;border-radius:var(--r-pill)}
.login h1{font-size:23px;margin-bottom:6px}
.login .dica{margin-bottom:24px;display:block}

/* ===========================================================
   SHELL
   =========================================================== */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--roxo-900);color:#fff;
  display:flex;flex-direction:column;z-index:40}
.sidebar-topo{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sidebar-topo img{height:32px;width:auto}
.etiqueta-escura{font-size:11px;font-weight:600;color:var(--teal);border:1px solid rgba(0,171,168,.45);padding:3px 9px;border-radius:var(--r-pill)}
.sidebar-nav{flex:1;overflow-y:auto;padding:16px 12px}
.nav-titulo{font-size:11.5px;color:rgba(255,255,255,.38);padding:0 12px;margin:20px 0 7px}
.nav-titulo:first-child{margin-top:0}
.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:9px;
  background:none;cursor:pointer;color:rgba(255,255,255,.76);font-size:14px;text-align:left;transition:background .15s,color .15s}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.ativo{background:var(--roxo);color:#fff;font-weight:500}
.nav-badge{margin-left:auto;background:var(--teal);color:#0B2B2B;font-size:11.5px;font-weight:600;
  border-radius:var(--r-pill);padding:1px 8px;min-width:22px;text-align:center}
.ico{width:17px;height:17px;flex:none;opacity:.85}
.sidebar-rodape{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08)}
.usuario{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.usuario .avatar{width:34px;height:34px;border-radius:50%;background:var(--roxo);display:grid;place-items:center;
  font-size:12px;font-weight:600;flex:none}
.usuario-nome{font-size:13.5px;font-weight:500;line-height:1.2}
.usuario-papel{font-size:12px;color:rgba(255,255,255,.55);line-height:1.2}
.sair{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;background:none;
  border-radius:9px;cursor:pointer;color:rgba(255,255,255,.58);font-size:13.5px;text-align:left}
.sair:hover{background:rgba(255,255,255,.07);color:#fff}

.main{margin-left:var(--sidebar);min-height:100%;display:flex;flex-direction:column}
.topbar{height:var(--topbar);flex:none;background:#fff;border-bottom:1px solid var(--borda);display:flex;
  align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:30}
.hamburger{display:none;border:0;background:none;cursor:pointer;padding:8px;margin-left:-8px}
.migalha{font-size:13px;color:var(--tinta-45)}
.migalha button{border:0;background:none;padding:0;cursor:pointer;color:var(--tinta-45);font-size:13px}
.migalha button:hover{color:var(--roxo);text-decoration:underline}
.topbar-titulo{font-size:16px;font-weight:600;margin:0}
.busca{margin-left:auto;position:relative}
.busca .entrada{min-height:38px;width:270px;padding-left:36px;font-size:14px}
.busca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}
.conteudo{flex:1;padding:26px 28px 40px;max-width:1300px;width:100%}
.backdrop{display:none;position:fixed;inset:0;background:rgba(28,6,51,.5);z-index:35}

.pagina-cabeca{margin-bottom:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.pagina-cabeca h1{margin-bottom:5px}
.pagina-cabeca p{color:var(--tinta-70);max-width:66ch;margin:0}

/* ===========================================================
   PAINEL
   =========================================================== */
.metricas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.metrica{background:#fff;border:1px solid var(--borda);border-radius:var(--r-card);padding:18px 20px;cursor:pointer;
  transition:border-color .15s}
.metrica:hover{border-color:var(--roxo)}
.metrica-valor{font-size:30px;font-weight:700;line-height:1;letter-spacing:-.02em;margin-bottom:5px}
.metrica-rotulo{font-size:13px;color:var(--tinta-45)}
.m-espera .metrica-valor{color:var(--esp-fg)}
.m-cotada .metrica-valor{color:var(--ok-fg)}
.m-emitida .metrica-valor{color:var(--emit-fg)}
.m-total .metrica-valor{color:var(--tinta)}
.duas-colunas{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}

/* ===========================================================
   TABELAS
   =========================================================== */
.rolagem{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
th{text-align:left;font-weight:500;font-size:12.5px;color:var(--tinta-45);padding:12px 24px;
  border-bottom:1px solid var(--borda);white-space:nowrap;background:#FBFCFD}
td{padding:14px 24px;border-bottom:1px solid var(--borda);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tr.clicavel{cursor:pointer}
tr.clicavel:hover{background:#FAFBFC}
.cod{font-size:12.5px;color:var(--tinta-45);white-space:nowrap}
.forte{font-weight:500}
.sub{display:block;font-size:12.5px;color:var(--tinta-45);font-weight:400}
.direita{text-align:right}

.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:4px 12px;
  border-radius:var(--r-pill);white-space:nowrap}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.s-recebida,.s-analise,.s-enviada{background:var(--esp-bg);color:var(--esp-fg)}
.s-cotada,.s-aceita{background:var(--ok-bg);color:var(--ok-fg)}
.s-emitida{background:var(--emit-bg);color:var(--emit-fg)}
.s-recusada{background:var(--neg-bg);color:var(--neg-fg)}
.s-cancelada{background:var(--nul-bg);color:var(--nul-fg)}
.s-ativa{background:var(--ok-bg);color:var(--ok-fg)}
.s-inativa{background:var(--nul-bg);color:var(--nul-fg)}

.filtros{display:flex;gap:7px;flex-wrap:wrap}
.filtro{border:1px solid var(--borda-forte);background:#fff;border-radius:var(--r-pill);padding:6px 15px;
  font-size:13px;color:var(--tinta-70);cursor:pointer}
.filtro:hover{border-color:var(--roxo);color:var(--roxo)}
.filtro.ativo{background:var(--roxo-900);border-color:var(--roxo-900);color:#fff}
.vazio{padding:48px 24px;text-align:center;color:var(--tinta-45)}
.vazio h3{color:var(--tinta);margin-bottom:5px}

/* ===========================================================
   DETALHE DA PROPOSTA
   =========================================================== */
.detalhe-topo{background:#fff;border:1px solid var(--borda);border-radius:var(--r-card);padding:24px;
  margin-bottom:20px;box-shadow:var(--sombra)}
.detalhe-linha{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.detalhe-topo h1{font-size:24px;margin-bottom:6px}
.detalhe-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--tinta-45)}
.detalhe-acoes{display:flex;gap:10px;flex-wrap:wrap}
.faixa-status{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:18px;
  border-top:1px solid var(--borda);flex-wrap:wrap}
.faixa-status .dica{margin-left:auto}

.abas{display:flex;gap:26px;border-bottom:1px solid var(--borda);margin-bottom:20px;overflow-x:auto}
.aba{background:none;border:0;padding:0 0 12px;cursor:pointer;font-size:14.5px;font-weight:500;color:var(--tinta-45);
  border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.aba[aria-selected="true"]{color:var(--tinta);border-bottom-color:var(--teal)}
.aba-badge{font-size:11.5px;color:var(--tinta-45);margin-left:5px}

.dados{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}
.dado{min-width:0}
.dado dt{font-size:12.5px;color:var(--tinta-45);margin-bottom:3px}
.dado dd{margin:0;font-size:14.5px;font-weight:500;word-break:break-word}

/* cotações */
.cotacoes{display:flex;flex-direction:column;gap:14px}
.cotacao{border:1px solid var(--borda);border-radius:var(--r-card);padding:20px 22px;background:#fff}
.cotacao.aceita{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.cotacao-topo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cotacao-topo h4{font-size:15.5px}
.cotacao-valores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:14px}
.cotacao-valores div span{display:block;font-size:12.5px;color:var(--tinta-45)}
.cotacao-valores div strong{font-size:16px;font-weight:600}
.cotacao-obs{font-size:13.5px;color:var(--tinta-70);margin:0 0 14px;padding-left:12px;border-left:2px solid var(--borda)}
.cotacao-pe{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--borda)}
.marca-aceita{font-size:12.5px;font-weight:500;color:var(--ok-fg);background:var(--ok-bg);padding:4px 12px;border-radius:var(--r-pill)}

/* documentos */
.docs{list-style:none;margin:0;padding:0}
.doc{display:flex;align-items:center;gap:14px;padding:15px 24px;border-bottom:1px solid var(--borda)}
.doc:last-child{border-bottom:0}
.doc-ico{width:36px;height:36px;border-radius:9px;background:var(--fundo);display:grid;place-items:center;flex:none}
.doc-nome{font-weight:500;font-size:14px}
.doc-meta{font-size:12.5px;color:var(--tinta-45)}
.doc .btn{margin-left:auto;flex:none}
.categoria{font-size:12px;color:var(--roxo);background:#F1E9FB;padding:3px 10px;border-radius:var(--r-pill);font-weight:500}
.upload{border:1px dashed var(--borda-forte);border-radius:var(--r-card);padding:24px;text-align:center;
  background:#FBFCFD;cursor:pointer;transition:border-color .15s,background .15s}
.upload:hover{border-color:var(--roxo);background:#FAF7FE}
.upload h4{margin-bottom:3px}
.upload p{font-size:12.5px;color:var(--tinta-45);margin:0}

/* histórico */
.linha-tempo{list-style:none;margin:0;padding:0}
.evento{display:grid;grid-template-columns:18px 1fr;gap:16px;padding-bottom:22px;position:relative}
.evento:last-child{padding-bottom:0}
.evento::before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--borda)}
.evento:last-child::before{display:none}
.ponto{width:11px;height:11px;border-radius:50%;background:var(--branco);border:2px solid var(--borda-forte);margin-top:5px}
.evento.auto .ponto{border-color:var(--teal)}
.evento.manual .ponto{border-color:var(--roxo);background:var(--roxo)}
.evento-texto{font-size:14px;font-weight:500}
.evento-meta{font-size:12.5px;color:var(--tinta-45);margin-top:2px}
.selo-origem{font-size:11.5px;padding:2px 9px;border-radius:var(--r-pill);margin-left:8px;font-weight:500}
.origem-auto{background:var(--ok-bg);color:var(--ok-fg)}
.origem-manual{background:#F1E9FB;color:var(--emit-fg)}

/* seguradoras: seleção */
.seguradoras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}
.seg-opcao{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--borda-forte);border-radius:var(--r-campo);
  padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.seg-opcao:hover{border-color:var(--roxo)}
.seg-opcao input{margin-top:3px;accent-color:var(--roxo);width:16px;height:16px;flex:none}
.seg-opcao strong{display:block;font-size:14.5px;font-weight:500}
.seg-opcao span{display:block;font-size:12.5px;color:var(--tinta-45)}
.seg-opcao.desabilitada{opacity:.45;cursor:not-allowed}

/* ===========================================================
   MODAL
   =========================================================== */
.modal-fundo{position:fixed;inset:0;background:rgba(28,6,51,.55);z-index:80;display:grid;place-items:center;padding:24px;overflow-y:auto}
.modal{background:#fff;border-radius:18px;width:100%;max-width:600px;box-shadow:0 30px 70px rgba(28,6,51,.3);margin:auto}
.modal-largo{max-width:760px}
.modal-cabeca{padding:24px 28px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.modal-cabeca h3{font-size:19px}
.modal-cabeca .dica{display:block;margin-top:4px}
.modal-x{border:0;background:none;cursor:pointer;font-size:24px;line-height:1;color:var(--tinta-45);padding:0 4px}
.modal-x:hover{color:var(--tinta)}
.modal-corpo{padding:22px 28px}
.modal-pe{padding:18px 28px;background:#FAFBFC;border-top:1px solid var(--borda);border-radius:0 0 18px 18px;
  display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.aviso{background:var(--neg-bg);border:1px solid #F0C8C3;border-radius:var(--r-campo);padding:14px 16px;
  font-size:13.5px;color:#7A1912;margin-bottom:18px}
.aviso strong{font-weight:600}

/* aviso flutuante */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--roxo-900);color:#fff;
  padding:13px 24px;border-radius:var(--r-pill);font-size:14px;z-index:90;box-shadow:0 12px 30px rgba(28,6,51,.35)}

/* ===========================================================
   MENSAGENS DE FORMULÁRIO E ESTADOS (plataforma)
   =========================================================== */
.erro-campo{font-size:12.5px;color:#B3261E}
.entrada.invalida{border-color:#E5B4AF}
.alerta{border-radius:var(--r-campo);padding:13px 16px;font-size:14px;margin-bottom:18px}
.alerta-erro{background:#FDECEA;border:1px solid #F0C8C3;color:#7A1912}
.alerta-ok{background:var(--ok-bg);border:1px solid #BFE3E2;color:var(--ok-fg)}
.aceite{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--tinta-70);margin-top:16px}
.aceite input{margin-top:3px;accent-color:var(--roxo);width:16px;height:16px;flex:none}
.carregando{padding:48px 24px;text-align:center;color:var(--tinta-45)}
.btn[aria-busy="true"]{opacity:.6;pointer-events:none}
input[type=file].escondido{display:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--roxo-900);color:#fff;
  padding:13px 24px;border-radius:var(--r-pill);font-size:14px;z-index:90;box-shadow:0 12px 30px rgba(28,6,51,.35);max-width:calc(100% - 32px)}
.toast.erro{background:#7A1912}

/* ===========================================================
   RESPONSIVO
   =========================================================== */
@media (max-width:1150px){
  .metricas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duas-colunas{grid-template-columns:1fr}
  .dados{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cotacao-valores{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:880px){
  .sidebar{transform:translateX(-100%);transition:transform .22s ease}
  body.menu-aberto .sidebar{transform:none}
  body.menu-aberto .backdrop{display:block}
  .main{margin-left:0}
  .hamburger{display:inline-flex}
  .topbar{padding:0 16px}
  .busca{display:none}
  .conteudo{padding:20px 16px 36px}
  .metricas{grid-template-columns:1fr}
  .grade,.grade-3,.dados,.seguradoras,.cotacao-valores{grid-template-columns:1fr}
  .campo-largo{grid-column:auto}
  h1{font-size:23px}
  th,td,.doc{padding-left:16px;padding-right:16px}
  .cartao-cabeca,.cartao-corpo{padding-left:18px;padding-right:18px}
}

/* complementos da plataforma */
a.btn:hover{text-decoration:none}
.modal-corpo .erro-campo{display:block;margin-top:4px}
