/* Acréscimos do Elevessy Gestão sobre o design system do Elevessy Ads (app.css) */
[hidden]{display:none!important}
body{display:block}
#view-app{display:flex;min-height:100vh}
.campo{font-family:inherit;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:13px;outline:none;min-height:40px}
.campo:focus{border-color:rgba(198,241,53,.5)}
.campo-full{width:100%;margin-bottom:14px}
.btn-sm{padding:5px 10px;min-height:32px}
.btn-full{width:100%;justify-content:center;margin-top:6px}
.btn-danger{background:var(--red);color:#2b0a0a}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;width:100%}
.login-card{width:100%;max-width:400px;padding:26px}
.login-card:hover{transform:none;border-color:var(--border)}
.login-brand{padding:0 0 18px;margin-bottom:18px}
.login-h{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--white);margin-bottom:12px}
.login label{display:block;font-size:12px;font-weight:600;color:var(--muted2);margin-bottom:5px}
.login p{margin-bottom:12px}
.login .alert{margin-top:14px;margin-bottom:0}
.qr-wrap{display:flex;justify-content:center;background:#fff;border-radius:10px;padding:10px;margin:0 auto 12px;width:max-content}
.qr-wrap img{display:block;width:200px;height:200px}
#qr-segredo{word-break:break-all}

/* barra superior */
.tb-user{font-size:11px;color:var(--muted);align-self:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-actions{align-items:center}
.main{min-width:0}
.content{max-width:1100px}
#flash{position:sticky;top:60px;z-index:40}
.voltar{display:inline-block;margin-bottom:12px;color:var(--muted2);font-size:12px;text-decoration:none}
.voltar:hover{color:var(--accent)}
a{color:var(--accent)}

/* modal */
.modal-fundo{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--surface);border:1px solid var(--border-hi);border-radius:14px;padding:22px;max-width:440px;width:100%}
.modal-titulo{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--white);margin-bottom:18px;word-break:break-word}
.modal-acoes{display:flex;gap:10px;justify-content:flex-end}

/* blocos, tabelas */
.bloco{padding:16px;margin-bottom:14px}
.bloco:hover{transform:none}
.bloco-titulo{font-size:12px;font-weight:700;color:var(--white);margin-bottom:10px;letter-spacing:.02em}
.tabela-wrap{overflow-x:auto}
.gtab{width:100%;border-collapse:collapse;font-size:12px}
.gtab th{text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.gtab td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--muted2)}
.gtab tr:last-child td{border-bottom:none}
.gtab td code{white-space:pre-wrap;word-break:break-all}
.acoes-btn{display:inline-flex;gap:6px;white-space:nowrap}
.vazio{padding:18px;text-align:center;color:var(--muted);font-size:12px}
.filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.tile{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px}
.tile-val{font-size:13px;font-weight:600;color:var(--white);margin-top:4px;word-break:break-word}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:6px 10px;font-size:12px;text-decoration:none;color:var(--text)}
.kv{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}
.kv:last-of-type{border-bottom:none}
.kv-k{color:var(--muted)}
.kv-v{color:var(--white);word-break:break-word}
.decisao{margin-top:12px}
pre.json{background:#040710;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#86EFAC;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
.serie-linha{display:grid;grid-template-columns:130px 1fr 90px;gap:10px;align-items:center;font-size:11px;padding:3px 0}
.serie-data{color:var(--muted)}
.serie-barra{background:var(--surface2);border-radius:99px;height:8px;overflow:hidden;display:block}
.serie-barra i{display:block;height:100%;background:var(--accent);border-radius:99px}
.serie-linha b{text-align:right;color:var(--white)}
.grid-2{margin-bottom:14px}

@media(max-width:700px){
  .hide-m{display:none}
  .tb-user{display:none}
  .kv{grid-template-columns:1fr;gap:2px}
  .serie-linha{grid-template-columns:1fr 70px;}
  .serie-data{grid-column:1 / -1}
  /* tabelas viram cartões empilhados */
  .gtab thead{display:none}
  .gtab,.gtab tbody,.gtab tr,.gtab td{display:block;width:100%}
  .gtab tr{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:6px 4px}
  .gtab td{border:none;padding:5px 10px;display:flex;gap:10px;justify-content:space-between;text-align:right}
  .gtab td::before{content:attr(data-rotulo);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:left;flex-shrink:0}
  .tabela-wrap{overflow:visible}
  .acoes-btn .btn{min-height:40px}
  .modal-acoes .btn{flex:1;justify-content:center}
}
