/* Painel Tudo Tem — base do site (variáveis de layout, tela de login e estados de carregamento). */
:root{
  --font-anthropic-sans:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-anthropic-serif:Georgia,"Times New Roman",serif;
  --cds-font-size-body:14px;--cds-font-size-caption:12px;--cds-font-size-heading:16px;--cds-font-size-title:26px;
  --cds-font-weight-medium:600;
  --cds-gap-sm:8px;--cds-gap-md:12px;--cds-gap-lg:20px;
  --cds-pad-sm:8px;--cds-pad-md:14px;--cds-pad-lg:18px;--cds-pad-xl:28px;
  --cds-radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font-anthropic-sans);font-size:14px;line-height:1.45;background:#0A1120;color:#F1F5F9}
[hidden]{display:none !important}
.tt{max-width:1440px;margin:0 auto}

/* Carregando */
.dash-skeleton{min-height:1.1em;border-radius:8px;background:linear-gradient(90deg,rgba(140,150,170,.10),rgba(140,150,170,.22),rgba(140,150,170,.10));background-size:200% 100%;animation:tt-sk 1.2s ease-in-out infinite}
span.dash-skeleton,b.dash-skeleton{display:inline-block;min-width:56px;vertical-align:middle}
.tt-kpi-v.dash-skeleton{min-height:30px;max-width:180px}
.tt-chart.dash-skeleton{min-height:260px}
.tt-bars.dash-skeleton{min-height:160px}
@keyframes tt-sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Botão sair, ao lado do tema */
.tt-sair{appearance:none;font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;white-space:nowrap}
.tt.tt-dark .tt-sair{border-color:#2A3A55;color:#B6C2D6}
.tt-sair:hover{opacity:.85}

/* Telas de acesso (login, nova senha, sem acesso) */
.acesso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#0A1120}
.acesso-card{width:100%;max-width:400px;background:#0E1729;border:1px solid #1E2B42;border-top:3px solid #22D3EE;border-radius:14px;padding:28px 28px 24px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.acesso-logo{height:56px;margin-bottom:18px}
.acesso h1{font-size:22px;font-weight:700;margin:0 0 6px;color:#fff}
.acesso p{margin:0 0 18px;color:#93A3BC;font-size:14px}
.acesso label{display:block;font-size:12px;color:#B6C2D6;margin:12px 0 6px}
.acesso input{width:100%;font:inherit;font-size:15px;padding:10px 12px;border-radius:10px;border:1px solid #2A3A55;background:#0B1424;color:#F1F5F9}
.acesso input:focus{outline:none;border-color:#22D3EE;box-shadow:0 0 0 3px rgba(34,211,238,.15)}
.acesso .btn{width:100%;margin-top:18px;font:inherit;font-size:15px;font-weight:700;padding:11px 14px;border:0;border-radius:10px;background:#22D3EE;color:#0A1120;cursor:pointer}
.acesso .btn:disabled{opacity:.6;cursor:default}
.acesso .link{display:inline-block;margin-top:14px;background:none;border:0;padding:0;font:inherit;font-size:13px;color:#22D3EE;cursor:pointer}
.acesso .msg{margin-top:14px;font-size:13px;padding:10px 12px;border-radius:8px}
.acesso .msg.erro{background:rgba(248,113,113,.12);color:#FCA5A5}
.acesso .msg.ok{background:rgba(74,222,128,.12);color:#86EFAC}
.acesso .rodape{margin-top:18px;font-size:12px;color:#6B7C97;text-align:center}
