/* Login, faixa de aviso e estados da página (complementa painel.css; paleta IDDEIA). */
body:not(.logado) header, body:not(.logado) main, body:not(.logado) footer { display: none; }
#tela-login { display: none; min-height: 100vh; align-items: center; justify-content: center; padding: 16px; }
body.no-login #tela-login { display: flex; }
.login-caixa { width: 100%; max-width: 380px; background: var(--card); border: 1px solid var(--linha); border-radius: 14px; padding: 24px; display: grid; gap: 14px; }
.login-caixa .logo { height: 32px; }
.login-caixa h1 { margin: 0; font-size: 18px; }
.login-caixa form { display: grid; gap: 8px; }
.login-caixa label { font-size: 12.5px; color: var(--suave); }
.login-caixa input { padding: 11px 12px; border-radius: 10px; border: 1px solid var(--linha); background: var(--card2); color: var(--texto); font: inherit; font-size: 16px; }
.login-caixa input:focus { outline: 2px solid var(--ambar); outline-offset: -1px; }
.login-caixa button { padding: 11px 12px; border-radius: 10px; border: 0; background: var(--ambar); color: var(--preto); font: inherit; font-weight: 700; cursor: pointer; }
#login-aviso { margin: 0; min-height: 1.4em; font-size: 13px; color: var(--suave); }
#faixa { margin: 0; padding: 8px 16px; background: var(--ambar); color: var(--preto); font-weight: 600; font-size: 13px; text-align: center; }
