/* ============================================================================
   ATENDIMENTO v2 (portal do cliente) — 2026-10-05, fiel a
   preview-v2/admin/atendimento-v2-mockup.html. Prefixo .av2-  Só tokens.
   ========================================================================== */
.av2-mut{font-size:12.5px; color:var(--ink-500)}
.av2-hero{background:var(--shell-800); color:var(--shell-text); border-radius:var(--r-xl); padding:22px; margin-bottom:16px}
.av2-hero h1{color:#fff; font-size:24px; margin:0 0 6px; letter-spacing:-.02em}
.av2-hero .av2-mut{color:var(--shell-text-2)}
.av2-busca{display:flex; gap:8px; margin-top:14px}
.av2-busca input{flex:1; border:0; border-radius:var(--r-full); padding:12px 18px; font-size:14px; font-family:inherit; min-width:0}
.av2-atalhos{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px}
.av2-atalho{background:var(--shell-700); border:1px solid var(--shell-line); border-radius:var(--r-sm); padding:12px; font-size:12.5px; color:var(--shell-text-2); cursor:pointer; text-align:left; font-family:inherit}
.av2-atalho:hover{border-color:var(--shell-text-3)}
.av2-atalho b{display:block; font-size:13.5px; color:#fff; margin-bottom:2px}
.av2-res{background:var(--surface); color:var(--ink-900); border-radius:var(--r-md); margin-top:10px; padding:6px 14px; max-height:320px; overflow:auto}
.av2-res-item{padding:10px 0; border-top:1px solid var(--border); font-size:13px; cursor:pointer}
.av2-res-item:first-child{border-top:0}

.av2-tabs{display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:16px; overflow-x:auto}
.av2-tabs button{border:0; background:none; padding:10px 14px; font-size:13px; font-weight:600; color:var(--ink-500); border-bottom:2px solid transparent; cursor:pointer; white-space:nowrap; font-family:inherit; display:flex; gap:6px; align-items:center}
.av2-tabs button.on{color:var(--ink-900); border-bottom-color:var(--brand)}
.av2-g{display:grid; gap:14px; margin-bottom:14px; align-items:start}
.av2-21{grid-template-columns:2fr 1fr}
.av2-11{grid-template-columns:1fr 1fr}
.av2-card-h{display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px}
.av2-card-h h3{font-size:14px; margin:0}

.av2-ch{display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--border); cursor:pointer}
.av2-ch:first-of-type{border-top:0}
.av2-ch.precisa{background:var(--brand-50); margin:0 -18px; padding:12px 18px}
.av2-ic{width:36px; height:36px; border-radius:10px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0}
.av2-passos{display:flex; margin:10px 0 4px}
.av2-passo{flex:1; text-align:center; font-size:10.5px; color:var(--ink-400)}
.av2-passo:before{content:""; display:block; height:4px; background:var(--surface-3); margin:0 1px 6px; border-radius:2px}
.av2-passo.feita:before{background:var(--success)}
.av2-passo.atual:before{background:var(--brand)}
.av2-passo.atual{color:var(--ink-900); font-weight:700}
.av2-faq{border-top:1px solid var(--border); padding:10px 0; font-size:13px; cursor:pointer}
.av2-faq:first-of-type{border-top:0}
.av2-faq summary{display:flex; justify-content:space-between; list-style:none}
.av2-faq summary::-webkit-details-marker{display:none}
.av2-faq p{margin:8px 0 0; color:var(--ink-600); line-height:1.55}
.av2-av{width:38px; height:38px; border-radius:50%; background:var(--shell-700); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; flex-shrink:0}
.av2-contato{display:flex; gap:10px; align-items:center}

/* chamado */
.av2-voltar{border:0; background:none; padding:0; color:var(--brand); font-weight:600; font-size:12.5px; cursor:pointer; margin-bottom:10px; font-family:inherit}
.av2-prazo{display:flex; gap:10px; background:var(--surface-2); border-radius:var(--r-sm); padding:10px 12px; font-size:12.5px; margin:10px 0; align-items:flex-start}
.av2-prazo b{font-family:var(--font-display)}
.av2-acao{background:var(--warning-bg); color:var(--warning-ink); border-radius:var(--r-sm); padding:10px 12px; font-size:13px; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.av2-acao > div{flex:1; min-width:180px}
.av2-msgs{display:flex; flex-direction:column; gap:10px; margin:12px 0}
.av2-msg{max-width:78%; padding:10px 12px; border-radius:12px; font-size:13px; line-height:1.5; white-space:pre-wrap; word-break:break-word}
.av2-msg.eu{align-self:flex-end; background:var(--ink-900); color:#fff; border-bottom-right-radius:4px}
.av2-msg.eq{align-self:flex-start; background:var(--surface-2); border-bottom-left-radius:4px}
.av2-msg small{display:block; font-size:10.5px; opacity:.7; margin-top:4px}
.av2-msg a{color:inherit; text-decoration:underline}
.av2-evt{align-self:center; font-size:11px; color:var(--ink-500); background:var(--surface); border:1px dashed var(--border-strong); border-radius:var(--r-full); padding:3px 10px}
.av2-resp{display:flex; gap:8px; margin-top:8px; align-items:center}
.av2-resp input[type=text]{flex:1; border:1px solid var(--border-strong); border-radius:var(--r-full); padding:9px 14px; font-family:inherit; font-size:13px; min-width:0}
.av2-estrelas{display:flex; gap:4px; font-size:28px; margin:4px 0}
.av2-estrelas button{border:0; background:none; cursor:pointer; color:var(--ink-200); padding:0; font-size:inherit; line-height:1}
.av2-estrelas button.on{color:var(--warning)}
.av2-chips{display:flex; gap:6px; flex-wrap:wrap}
.av2-chip{border:1px solid var(--border-strong); border-radius:var(--r-full); padding:5px 11px; font-size:12px; background:var(--surface); cursor:pointer; font-family:inherit}
.av2-chip.on{background:var(--ink-900); color:#fff; border-color:var(--ink-900)}

/* agenda */
.av2-slots{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px}
.av2-dia{text-align:center; font-size:12px; color:var(--ink-500)}
.av2-dia b{display:block; font-family:var(--font-display); font-size:15px; color:var(--ink-900)}
.av2-slot{display:block; width:100%; border:1px solid var(--border-strong); border-radius:8px; padding:6px 0; margin-top:6px; font-size:12px; background:var(--surface); cursor:pointer; font-family:inherit}
.av2-slot:disabled{opacity:.35; text-decoration:line-through; cursor:default}
.av2-slot.on{background:var(--ink-900); color:#fff; border-color:var(--ink-900)}
.av2-nav{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px}

/* entrega */
.av2-entrega{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:8px 0 14px}
.av2-ent{background:var(--surface-2); border-radius:var(--r-sm); padding:10px; font-size:12px; color:var(--ink-600)}
.av2-ent b{display:block; font-size:13px; margin-bottom:2px; color:var(--ink-900)}
.av2-ent.feita{background:var(--success-bg)}
.av2-ent.atual{background:var(--brand-50); outline:2px solid var(--brand)}
.av2-track{height:8px; background:var(--surface-3); border-radius:var(--r-full); overflow:hidden; margin-top:6px}
.av2-track i{display:block; height:100%; border-radius:inherit; background:var(--success)}

/* indicações */
.av2-ind{display:flex; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--border); font-size:13px}
.av2-ind:first-of-type{border-top:0}
.av2-ind .av2-passos{flex:1; margin:0}
.av2-premio{background:linear-gradient(135deg,var(--success-bg),var(--surface)); border:1px solid var(--success-bg); border-radius:var(--r-md); padding:16px; margin-bottom:14px}
.av2-premio b{font-family:var(--font-display); font-size:26px; display:block}

@media(max-width:980px){
  .av2-21,.av2-11{grid-template-columns:minmax(0,1fr)}
  .av2-atalhos,.av2-entrega{grid-template-columns:1fr 1fr}
  .av2-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){.av2-ind{flex-wrap:wrap} .av2-ind .av2-passos{flex-basis:100%}}

/* Celular (2026-10-06): nada empurra a largura da página. */
@media(max-width:640px){
  .av2-hero{padding:16px} .av2-hero h1{font-size:20px}
  .av2-busca .btn{padding-left:12px; padding-right:12px}
  .av2-atalhos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .av2-entrega{grid-template-columns:minmax(0,1fr)}
  .av2-card-h{flex-wrap:wrap}
  .av2-ch.precisa{margin:0 -14px; padding:12px 14px}
  .av2-msg{max-width:88%}
  .av2-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .av2-ind .av2-av{display:none}
}