/* Tela avulsa: login do painel SaaS (templates/auth/login_admin.html).
   Nao carrega style.css; os tokens da marca chegam pelo parcial _cor_marca.html
   e as fontes pelo static/fonts/fonts.css. */
/* as cores da tela, com os valores de antes (R50: a cor crua fica só no :root) */
:root {
    --fundo: #0B1220;
    --texto: #E2E8F0;
    --cartao: #111B2E;
    --cartao-borda: #1E2A42;
    --sombra-cartao: 0 30px 70px -36px rgba(0,0,0,.7);
    --branco: #fff;
    --texto-forte: #F1F5F9;
    --link: #93C5FD;
    --texto-suave: #94A3B8;
    --texto-apagado: #64748B;
    --borda-campo: #26334D;
    --fundo-campo: #0C1526;
    --fundo-campo-foco: #0E1A30;
    --placeholder: #5B6B86;
    --erro-fundo: rgba(220,38,38,.12);
    --erro-texto: #FCA5A5;
    --erro-borda: rgba(220,38,38,.3);
    --aviso-fundo: rgba(245,158,11,.12);
    --aviso-texto: #FCD34D;
    --aviso-borda: rgba(245,158,11,.3);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background:
        radial-gradient(900px 500px at 50% -10%, color-mix(in srgb, var(--cor-primaria) 22%, transparent), transparent 60%),
        var(--fundo);
    color: var(--texto); min-height: 100vh;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
button, input, select, textarea { font-family: inherit; }
h1 { font-family: 'Sora', sans-serif; }
.card {
    width: 100%; max-width: 410px;
    background: var(--cartao);
    border: 1px solid var(--cartao-borda);
    border-radius: 20px;
    box-shadow: var(--sombra-cartao);
    padding: 40px 36px;
}
.topo { text-align: center; margin-bottom: 28px; }
.selo {
    width: 60px; height: 60px; margin: 0 auto 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--cor-primaria), var(--cor-primaria-escura));
    display: flex; align-items: center; justify-content: center;
    color: var(--branco); font-size: 30px;
    box-shadow: 0 10px 26px -8px color-mix(in srgb, var(--cor-primaria) 60%, transparent);
}
.topo h1 { font-size: 21px; font-weight: 700; color: var(--texto-forte); margin-bottom: 6px; }
.topo .restrito {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
    color: var(--link); background: var(--cor-primaria-sombra);
    padding: 4px 11px; border-radius: 20px;
}

.campo { margin-bottom: 16px; }
.campo label {
    display: block; font-size: 12.5px; font-weight: 600;
    color: var(--texto-suave); margin-bottom: 6px;
}
.campo-input { position: relative; }
.campo-input > i {
    position: absolute; left: 13px; top: 50%; transform: translateY(-50%);
    color: var(--texto-apagado); font-size: 18px;
}
.campo input {
    width: 100%; height: 46px; padding: 0 14px 0 40px;
    border: 1px solid var(--borda-campo); border-radius: 11px;
    font-size: 14.5px; color: var(--texto-forte); background: var(--fundo-campo);
    transition: border-color .15s, box-shadow .15s;
}
.campo input::placeholder { color: var(--placeholder); }
.campo input:focus {
    outline: none; border-color: var(--cor-primaria);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor-primaria) 20%, transparent); background: var(--fundo-campo-foco);
}
.campo-input.com-olho input { padding-right: 48px; }
.ver-senha {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    background: none; border: none; cursor: pointer; color: var(--texto-apagado);
    padding: 6px; font-size: 18px; line-height: 1;
}
.ver-senha:hover { color: var(--texto-suave); }

.btn-entrar {
    width: 100%; height: 48px; margin-top: 8px;
    background: var(--cor-primaria); color: var(--branco); border: none; border-radius: 11px;
    font-size: 15px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: background .15s;
}
.btn-entrar:hover { background: var(--cor-primaria-hover); }

.alerta {
    display: flex; align-items: center; gap: 9px;
    padding: 11px 14px; border-radius: 10px; font-size: 13.5px;
    margin-bottom: 18px;
}
.alerta i { font-size: 18px; flex-shrink: 0; }
.alerta.erro { background: var(--erro-fundo); color: var(--erro-texto); border: 1px solid var(--erro-borda); }
.alerta.aviso { background: var(--aviso-fundo); color: var(--aviso-texto); border: 1px solid var(--aviso-borda); }

.rodape-form { margin-top: 24px; text-align: center; font-size: 12.5px; color: var(--texto-apagado); }
.rodape-form a { color: var(--link); text-decoration: none; font-weight: 600; }
.rodape-form a:hover { text-decoration: underline; }

/* celular: input em 16px (iOS nao da zoom) e alvo de toque 44x44 (Responsividade_Sempre) */
@media (max-width: 720px) {
    .campo input { font-size: 16px; }
    .ver-senha {
        right: 2px; min-width: 44px; min-height: 44px;
        display: flex; align-items: center; justify-content: center;
    }
    .rodape-form a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }
}
