/* Operação da plataforma (10/11/2026 noite): tela "Entrar no espaço" e faixa da visita (public/plataforma.js).
   Só tokens do :root de app.css (paleta da marca). De 320 a 1920 px sem rolagem lateral, alvo de toque de 44 px,
   tabela que vira cartão abaixo de 900 px. */
.plat{min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);overflow-x:clip}
.plat-topo{background:var(--navy);color:#fff;padding:0 16px 34px;padding-top:var(--safe-top)}
.plat-barra{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 0}
.plat-logo{display:block;height:34px;width:auto;max-width:min(200px,62vw)}
.plat-conta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 10px;min-width:0}
.plat-quem{display:flex;flex-direction:column;line-height:1.25;text-align:right;min-width:0}
.plat-quem strong{font-size:13px;font-weight:620;overflow-wrap:anywhere}
.plat-quem small{font-size:11px;color:var(--copper-light)}
.plat .btn .icon{width:18px;height:18px;flex-shrink:0}
/* 44 px em qualquer ponteiro: o app.css baixa .btn e campo para 38 px no mouse (pointer:fine). */
.plat .btn,.plat-faixa .btn,#plat-busca,#plat-tipo{min-height:44px}
.plat-btn-claro{background:transparent;border-color:#ffffff59;color:#fff}
.plat-btn-claro:hover,.plat-btn-claro:focus-visible{background:#ffffff1f;border-color:#fff}
.plat-intro{max-width:1180px;margin:0 auto;padding-top:22px}
.plat-sobre{margin:0 0 8px;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--copper-light)}
.plat-intro h1{margin:0 0 10px;font-size:clamp(24px,4.2vw,34px);line-height:1.15;font-weight:680;letter-spacing:-.01em}
.plat-intro p:last-child{margin:0;max-width:68ch;font-size:14px;line-height:1.6;color:#ffffffd9}
.plat-corpo{max-width:1180px;margin:-18px auto 0;padding:0 16px 48px;outline:none}
.plat-painel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 34px #082b2414;padding:20px}
.plat-filtros{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);gap:12px 16px;align-items:end}
.plat-busca{position:relative}
.plat-busca .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
#plat-busca{padding-left:40px}
.plat-filtros select{appearance:auto}
.plat-contagem{margin:18px 0 10px;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.plat-vazio{margin:8px 0 0;padding:22px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}
.plat-tabela{width:100%;border-collapse:collapse;font-size:13px}
.plat-tabela thead th{white-space:nowrap;text-align:left;font-size:11px;font-weight:620;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.plat-tabela tbody th,.plat-tabela td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;overflow-wrap:anywhere}
.plat-tabela tbody tr:last-child th,.plat-tabela tbody tr:last-child td{border-bottom:0}
.plat-tabela tbody tr:hover{background:#edf2eb}
.plat-nome{font-weight:620;color:var(--ink);width:34%}
.plat-tabela .plat-data{white-space:nowrap;overflow-wrap:normal}
.plat-nome span{margin-right:8px}
.plat-selo{display:inline-block;font-style:normal;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--navy2);color:#fff;white-space:nowrap}
.plat-selo-meu{background:#edf2eb;color:var(--navy2)}
.plat-atual{background:#edf2eb}
.plat-acao{text-align:right!important;white-space:nowrap;width:1%}
.plat-acao .btn{min-width:96px}
.plat-aviso,.plat-faixa{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:#fff;border:1px solid var(--copper-light);border-left:4px solid var(--copper-light);border-radius:12px;padding:12px 16px;margin:0 0 16px}
.plat-aviso>.icon,.plat-faixa>.icon{width:20px;height:20px;color:var(--navy2);flex-shrink:0}
.plat-aviso p,.plat-faixa p{flex:1 1 220px;margin:0;font-size:13px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.plat-faixa{margin:0;border-radius:0;border-width:0 0 1px;border-left:4px solid var(--copper-light);padding:10px 16px}
.plat-faixa-leve{background:var(--paper)}
.plat-faixa-acoes{display:flex;flex-wrap:wrap;gap:8px}
.plat-dialogo{width:560px}
.plat-form{padding:22px;display:flex;flex-direction:column;gap:14px}
.plat-form h2{margin:0;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.plat-form-dica{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.plat-form textarea{resize:vertical;min-height:88px;font:inherit}
.plat-conta-letras{font-size:11px;color:var(--muted)}
.plat-erro{margin:0;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid var(--red);color:var(--red);font-size:13px}
.plat-form-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
@media(max-width:899.98px){
  .plat-painel{padding:16px}
  .plat-tabela thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .plat-tabela,.plat-tabela tbody{display:block}
  .plat-tabela tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .plat-tabela tbody tr.plat-atual{background:#edf2eb;border-color:var(--copper-light)}
  .plat-tabela tbody tr:hover{background:#fff}
  .plat-tabela tbody th,.plat-tabela td{display:flex;gap:8px;padding:0;border:0;font-size:13px;line-height:1.45;width:auto}
  .plat-tabela tbody th{flex-wrap:wrap;align-items:center;font-size:15px;margin-bottom:2px}
  .plat-tabela td[data-rotulo]::before{content:attr(data-rotulo);flex:0 0 78px;color:var(--muted);font-size:12px}
  .plat-acao{width:auto;margin-top:6px}
  .plat-acao .btn{width:100%}
}
@media(max-width:600px){
  .plat-filtros{grid-template-columns:minmax(0,1fr)}
  .plat-barra{padding:12px 0}
  .plat-conta{width:100%;justify-content:space-between}
  .plat-quem{text-align:left;flex:1 1 100%}
  .plat-conta .btn{flex:1 1 140px}
  .plat-intro{padding-top:14px}
  .plat-faixa-acoes,.plat-faixa-acoes .btn{width:100%}
  .plat-faixa-acoes .btn{flex:1 1 140px}
  .plat-form-acoes .btn{flex:1 1 140px}
  .plat-form{padding:18px 16px}
}
@media(max-width:370px){
  .plat-topo{padding-left:12px;padding-right:12px}
  .plat-corpo{padding-left:12px;padding-right:12px}
  .plat-painel{padding:12px}
  .plat-tabela td[data-rotulo]::before{flex-basis:70px}
}
@media(pointer:coarse){.plat-busca input,.plat-filtros select,.plat-form textarea{font-size:16px}}
