/* SUPER TI — visual comum de todas as telas.
   Claro, com o azul e o verde do logo. Cada tela usa só classes daqui; nada de
   cor solta no meio do PHP, para mudar o visual num lugar só. */
:root{
  --fundo:#f4f7fb;
  --branco:#fff;
  --borda:#dfe8f2;
  --borda-forte:#d2dfef;
  --texto:#102a56;
  --texto-medio:#17365e;
  --texto-suave:#6a7d9a;
  --marinho:#0b2e59;
  --azul:#1164ef;
  --azul-escuro:#0b4fc4;
  --azul-suave:#eaf2ff;
  --verde:#16a34a;
  --verde-barra:#1eac48;
  --verde-texto:#13803a;
  --verde-suave:#eaf8ee;
  --vermelho:#e43b4f;
  --vermelho-texto:#c22638;
  --vermelho-suave:#fff0f2;
  --ambar:#e69111;
  --ambar-texto:#a35f05;
  --ambar-suave:#fff6e8;
  --cinza:#b4c0cf;
  --cinza-texto:#5f6f86;
  --cinza-suave:#eef2f7;
  --info:#3e67a4;
  --info-suave:#edf3ff;
  --roxo:#6753df;
  --sombra:0 10px 30px rgba(38,76,128,.08);
  --sombra-leve:0 6px 18px rgba(37,75,125,.05);
  --acento:var(--azul);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;color:var(--texto);
  background:#f2f6fb linear-gradient(180deg,#f7faff 0%,#f2f6fb 100%) no-repeat;min-height:100vh}
a{color:var(--azul)}
button,select,input{font:inherit}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;background:var(--cinza-suave);padding:1px 6px;border-radius:5px}

/* ---------- Barra de cima ---------- */
.st-topo{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;gap:26px;padding:0 30px;
  background:rgba(255,255,255,.96);border-bottom:1px solid #e8eef6;box-shadow:0 4px 18px rgba(40,69,111,.05);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.st-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--texto);flex-shrink:0}
.st-marca img{width:42px;height:42px;display:block}
.st-marca span{font-weight:900;font-size:1.5rem;letter-spacing:-.01em;line-height:1}
.st-marca span i{font-style:normal;color:var(--verde)}
.st-nav{display:flex;gap:6px;flex:1}
.st-nav a{display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:12px;text-decoration:none;
  color:#2a4169;font-weight:700;font-size:.95rem;white-space:nowrap}
.st-nav a svg{width:18px;height:18px;flex-shrink:0}
.st-nav a:hover{background:var(--fundo)}
.st-nav a.ativo{background:var(--azul-suave);color:#0d4ec7}
.st-nav .contador{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:99px;
  background:#ef3340;color:#fff;font-size:.72rem;font-weight:800}
.st-conta{position:relative}
.st-conta summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;padding:6px 8px;border-radius:12px}
.st-conta summary::-webkit-details-marker{display:none}
.st-conta summary:hover{background:var(--fundo)}
.st-conta summary svg{width:16px;height:16px;color:var(--texto-suave)}
.st-avatar{width:34px;height:34px;border-radius:50%;background:var(--roxo);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem}
.st-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--branco);border:1px solid var(--borda);
  border-radius:14px;box-shadow:var(--sombra);padding:8px;z-index:30}
.st-menu p{padding:8px 10px 10px;font-size:.8rem;color:var(--texto-suave);border-bottom:1px solid var(--cinza-suave);margin-bottom:6px}
.st-menu p b{display:block;color:var(--texto);font-size:.9rem}
.st-menu a{display:block;padding:9px 10px;border-radius:9px;text-decoration:none;color:var(--vermelho-texto);font-weight:700;font-size:.9rem}
.st-menu a:hover{background:var(--vermelho-suave)}

/* ---------- Página ---------- */
.wrap{max-width:1500px;margin:0 auto;padding:28px 30px 42px}
.cabeca{display:flex;gap:26px;justify-content:space-between;align-items:flex-end;margin-bottom:18px}
.olho{font-size:.7rem;letter-spacing:.13em;color:#4f6c98;font-weight:800;margin-bottom:4px;text-transform:uppercase}
h1{font-size:2.25rem;line-height:1.05;margin:0 0 7px;letter-spacing:-.04em;font-weight:800;color:var(--texto)}
.cabeca p,.sub{color:var(--texto-suave);font-size:.95rem;line-height:1.45}

/* Números de resumo (os quatro quadros do alto) */
.resumo{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;min-width:min(780px,62vw)}
.num{display:flex;align-items:center;gap:12px;padding:15px 16px;background:var(--branco);border:1px solid var(--borda);
  border-radius:15px;box-shadow:var(--sombra)}
.num-icone{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:1.25rem;font-weight:900;flex-shrink:0}
.num strong{display:block;font-size:1.45rem;line-height:1;font-weight:800}
.num strong.menor{font-size:1rem;margin-top:2px}
.num span,.num small{display:block;color:var(--texto-suave);font-size:.75rem;margin-top:4px;line-height:1.3}
.num.ok .num-icone{background:var(--verde-suave);color:var(--verde)}
.num.erro .num-icone{background:var(--vermelho-suave);color:var(--vermelho)}
.num.warn .num-icone{background:var(--ambar-suave);color:var(--ambar)}
.num.info .num-icone{background:var(--azul-suave);color:var(--azul)}

/* Faixa com a situação geral */
.faixa{display:flex;align-items:center;gap:15px;padding:16px 20px;border-radius:16px;border:1px solid;margin-bottom:18px}
.faixa-icone{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.4rem;font-weight:900;flex-shrink:0}
.faixa strong{display:block;font-size:1.12rem}
.faixa span{display:block;font-size:.82rem;margin-top:2px}
.faixa-pct{margin-left:auto;border-radius:999px;padding:8px 12px;font-size:.75rem;font-weight:900;white-space:nowrap}
.faixa.ok{background:linear-gradient(90deg,#ebfaef,#dff9e8);border-color:#c8ebd3}
.faixa.ok .faixa-icone{background:#19a848}.faixa.ok strong{color:#0d7b2f}.faixa.ok span{color:#477454}
.faixa.ok .faixa-pct{background:#c9f4d5;color:#0b7d2d}
.faixa.warn{background:linear-gradient(90deg,#fff8ea,#fff1d9);border-color:#f3dcae}
.faixa.warn .faixa-icone{background:var(--ambar)}.faixa.warn strong{color:#8a5104}.faixa.warn span{color:#866a3d}
.faixa.warn .faixa-pct{background:#ffe6b8;color:#8a5104}
.faixa.erro{background:linear-gradient(90deg,#fff1f3,#ffe4e8);border-color:#f5c3cb}
.faixa.erro .faixa-icone{background:var(--vermelho)}.faixa.erro strong{color:#a51d2d}.faixa.erro span{color:#8a4b53}
.faixa.erro .faixa-pct{background:#ffd3da;color:#a51d2d}

/* Painéis (Sites e serviços / Rotinas e integrações) */
.painel{background:rgba(255,255,255,.72);border:1px solid #e4ebf4;border-radius:20px;padding:16px;margin-top:16px;
  box-shadow:0 9px 30px rgba(45,76,118,.04)}
.painel-titulo{margin-bottom:14px}
.painel-titulo h2{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:3px}
.painel-titulo p{color:var(--texto-suave);font-size:.92rem}

/* Cartões */
.grade{display:grid;gap:12px}
.grade.sites{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}
.grade.rotinas{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cartao{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--borda);border-radius:14px;padding:14px;
  box-shadow:var(--sombra-leve);transition:transform .2s,box-shadow .2s}
.cartao:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(37,75,125,.10)}
.cartao.erro{border-color:#f3c1c8;background:linear-gradient(180deg,#fff 60%,#fff6f7)}
.cartao.warn{border-color:#f1d9a9;background:linear-gradient(180deg,#fff 60%,#fffaf0)}
.cartao.largo{grid-column:1/-1}
.cartao-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cartao-nome{display:flex;gap:9px;align-items:center;min-width:0}
.cartao-icone{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:1.05rem;background:#eef4ff;flex-shrink:0}
.cartao h3{font-size:.9rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.cartao h3 a{color:inherit;text-decoration:none}
.cartao h3 a:hover{color:var(--azul)}
.medida{font-size:1rem;font-weight:800;margin-top:12px}
.cartao.erro .medida{color:var(--vermelho-texto)}
.cartao.warn .medida{color:var(--ambar-texto)}
.cartao.sem .medida{color:var(--cinza-texto)}
.medida-sub{color:var(--texto-suave);font-size:.75rem;margin-top:2px}
.nota{font-size:.78rem;line-height:1.4;color:var(--texto-medio);margin-top:8px}
.texto{margin-top:12px;color:var(--texto-medio);font-size:.82rem;line-height:1.45;flex:1}
.esperado{margin-top:8px;font-size:.72rem;color:var(--texto-suave)}
.barras{display:flex;gap:2px;height:28px;padding-top:14px;margin-top:auto}   /* auto: as barras ficam alinhadas na mesma altura em todos os cartões da linha */
.barras i{flex:1;border-radius:2px;background:var(--cinza-suave)}
.barras i.s1{background:var(--verde-barra)}.barras i.s0{background:var(--vermelho)}
.barras i.s2{background:var(--ambar)}.barras i.s3{background:var(--info)}
.cartao-pe{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;flex-wrap:wrap;margin-top:12px;
  padding-top:10px;border-top:1px dashed #d8e2ee;color:#6d7f99;font-size:.7rem}
.cartao-pe b{color:#24466f}

/* Selo de situação (No ar / Atenção / Fora do ar...) */
.selo{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:800;flex-shrink:0}
.selo::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.selo.ok{background:var(--verde-suave);color:var(--verde-texto)}
.selo.warn{background:var(--ambar-suave);color:var(--ambar-texto)}
.selo.erro{background:var(--vermelho-suave);color:var(--vermelho-texto)}
.selo.sem{background:var(--cinza-suave);color:var(--cinza-texto)}
.selo.info{background:var(--info-suave);color:var(--info)}
.selo.roxo{background:#f1edfa;color:#6b4fa0}
.selo.sem-ponto::before{display:none}

/* Pé da página */
.pe-pagina{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 6px 0;flex-wrap:wrap}
.verificado{font-size:.78rem;color:#6b7d96;display:flex;align-items:center;gap:8px}
.verificado::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--verde-barra)}
.verificado.warn::before{background:var(--ambar)}.verificado.erro::before{background:var(--vermelho)}
.acoes{display:flex;gap:10px;flex-wrap:wrap}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--borda-forte);background:var(--branco);
  color:var(--texto-medio);border-radius:11px;padding:10px 15px;font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--fundo)}
.btn-pri{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 7px 18px rgba(17,100,239,.2)}
.btn-pri:hover{background:var(--azul-escuro);border-color:var(--azul-escuro)}
.btn-leve{color:var(--texto-suave);font-weight:600}

/* Caixa vazia ("nenhum erro") */
.vazio{background:var(--branco);border:1px solid #e1e9f2;border-radius:18px;box-shadow:var(--sombra);padding:56px 24px;text-align:center}
.vazio-icone{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;background:var(--verde-suave);color:var(--verde);
  display:grid;place-items:center;font-size:2.1rem;font-weight:900}
.vazio h2{font-size:1.3rem;font-weight:800;margin-bottom:6px}
.vazio p{color:var(--texto-suave);font-size:.92rem;line-height:1.5;max-width:520px;margin:0 auto}

/* ---------- Erros ---------- */
.aviso-topo{background:var(--verde-suave);border:1px solid #c8ebd3;color:var(--verde-texto);border-radius:14px;padding:12px 16px;
  margin-bottom:16px;font-size:.9rem;font-weight:600}
.painel-filtros{margin:0 0 16px;padding:12px}
.filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filtros select{padding:10px 13px;border:1px solid var(--borda-forte);border-radius:11px;background:var(--branco);color:var(--texto);
  font-size:.9rem;font-weight:600;cursor:pointer}
.erros-lista{display:flex;flex-direction:column;gap:12px}
.erro-cartao{background:var(--branco);border:1px solid var(--borda);border-left:4px solid var(--cinza);border-radius:14px;padding:15px 18px;
  box-shadow:var(--sombra-leve)}
.erro-cartao.grave{border-left-color:var(--vermelho)}
.erro-cartao.medio{border-left-color:var(--ambar)}
.erro-cartao.leve{border-left-color:var(--verde-barra)}
.erro-cartao.javisto{opacity:.6}
.erro-cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.erro-vezes{font-size:.8rem;color:var(--texto-suave)}
.erro-vezes b{color:var(--texto)}
.erro-visto{margin-left:auto}
.erro-visto button{border:1px solid var(--borda-forte);background:var(--branco);border-radius:999px;padding:5px 12px;font-size:.78rem;
  font-weight:700;color:var(--texto-suave);cursor:pointer}
.erro-visto button:hover{border-color:var(--azul);color:var(--azul)}
.erro-frase{font-size:1rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.erro-efeito{font-size:.88rem;color:var(--texto-suave);margin-top:4px;line-height:1.45}
.erro-crua{margin-top:10px;padding:8px 11px;background:var(--fundo);border:1px solid var(--cinza-suave);border-radius:9px;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;color:var(--cinza-texto);overflow-wrap:anywhere}
.erro-ctx{font-size:.85rem;color:var(--texto-suave);margin-top:6px}
.erro-det{margin-top:11px;padding-top:10px;border-top:1px dashed #d8e2ee;font-size:.8rem;color:var(--texto-suave);display:flex;gap:6px 18px;flex-wrap:wrap}
.erro-det b{color:var(--texto);font-weight:600}
.btn-arquivar{border:1px solid var(--borda-forte);background:var(--branco);border-radius:11px;padding:10px 15px;font-size:.85rem;
  font-weight:600;color:var(--texto-suave);cursor:pointer}
.btn-arquivar:hover{background:var(--fundo)}

/* ---------- Entrar ---------- */
.st-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;
  background:radial-gradient(circle at 20% 10%,#e3eefb 0,transparent 45%),radial-gradient(circle at 85% 90%,#e3f6e8 0,transparent 40%),var(--fundo)}
.st-caixa{width:100%;max-width:390px;background:var(--branco);border:1px solid var(--borda);border-radius:20px;padding:32px 28px;box-shadow:var(--sombra)}
.st-caixa .logo{display:block;width:180px;max-width:65%;height:auto;margin:0 auto 18px}
.st-caixa h1{font-size:1.35rem;text-align:center;margin-bottom:4px;letter-spacing:-.02em}
.st-caixa .sub{text-align:center;margin-bottom:20px;font-size:.9rem}
.st-caixa label{display:block;font-size:.82rem;font-weight:700;color:var(--texto-medio);margin:14px 0 6px}
.st-caixa input{width:100%;padding:12px 14px;border:1px solid var(--borda-forte);border-radius:11px;font-size:1rem;color:var(--texto);background:#fff}
.st-caixa input:focus{outline:3px solid #d3e3fd;border-color:var(--azul)}
.st-caixa input.codigo{font-size:1.6rem;letter-spacing:.35em;text-align:center;font-weight:700}
.st-caixa label.st-lembrar{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;font-size:.86rem;font-weight:600;color:var(--texto-medio);cursor:pointer;line-height:1.35}
.st-caixa label.st-lembrar input{width:18px;height:18px;flex-shrink:0;margin-top:1px;padding:0;accent-color:var(--azul);cursor:pointer}
.st-caixa label.st-lembrar small{display:block;font-weight:400;color:var(--texto-suave);font-size:.78rem;margin-top:2px}
.st-caixa .btn{width:100%;margin-top:20px;padding:13px;font-size:1rem}
.st-msg{border-radius:11px;padding:10px 13px;font-size:.86rem;margin-bottom:8px;line-height:1.4}
.st-msg.erro{background:var(--vermelho-suave);color:var(--vermelho-texto);border:1px solid #f5c3cb}
.st-msg.ok{background:var(--verde-suave);color:var(--verde-texto);border:1px solid #c8ebd3}
.st-caixa .rodape{margin-top:18px;text-align:center;font-size:.8rem;color:var(--texto-suave)}

/* ---------- Telas menores ---------- */
@media (max-width:1150px){
  .cabeca{flex-direction:column;align-items:stretch}
  .resumo{min-width:0;width:100%}
}
@media (max-width:760px){
  .st-topo{height:auto;padding:10px 16px;flex-wrap:wrap;gap:8px 12px}
  .st-marca img{width:36px;height:36px}
  .st-marca span{font-size:1.3rem}
  .st-nav{order:3;flex-basis:100%;overflow-x:auto}
  .st-nav a{padding:8px 12px}
  .st-conta{margin-left:auto}
  .st-conta .st-nome{display:none}
  .wrap{padding:18px 16px 30px}
  h1{font-size:1.85rem}
  .resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .num{padding:12px}
  .faixa{padding:14px}
  .faixa-pct{display:none}
  .painel{padding:11px}
  .grade.sites,.grade.rotinas{grid-template-columns:1fr}
  .pe-pagina{flex-direction:column;align-items:stretch}
  .acoes{display:grid;grid-template-columns:1fr}
  .acoes .btn{white-space:normal}
  .erro-visto{margin-left:0}
}
