/* =============================================================
   ARARA :: css/logon.css
   -------------------------------------------------------------
   Estilos exclusivos da tela de logon (logon.php).
   Estrutura:
     [1] Variáveis e base do corpo
     [2] Canvas de partículas conectadas (fundo)
     [3] Wrapper centralizador
     [4] Cartão de logon (compacto)
     [5] Formulário (campos, label, foco)
     [6] Botão "Entrar"
     [7] Alerta de erro
     [8] Responsividade
   ============================================================= */


/* ============================================================
   [1] VARIÁVEIS E BASE
   As cores vêm de css/tema.css (carregado antes desta folha).
   ============================================================ */
:root {
    --arara-azul:        var(--ar-azul-escuro);
    --arara-azul-claro:  var(--ar-azul-acao);
    --arara-roxo:        var(--ar-roxo-escuro);
    --arara-card-bg:     rgba(255, 255, 255, 0.95);
    --arara-card-shadow: 0 20px 45px -15px rgba(0, 0, 0, 0.55);
    --arara-radius:      var(--ar-raio);
    --arara-texto:       var(--ar-txt);
    --arara-texto-fraco: var(--ar-txt-fraco);
}

.logon-body {
    min-height: 100vh;
    color: var(--arara-texto);
    overflow: hidden;
    background:
        radial-gradient(ellipse at top left,  #1e3a8a 0%, transparent 60%),
        radial-gradient(ellipse at bottom right, #6d28d9 0%, transparent 60%),
        #0b1220;
}


/* ============================================================
   [2] CANVAS DE PARTÍCULAS CONECTADAS
   ============================================================ */
#particles-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
}


/* ============================================================
   [3] WRAPPER CENTRALIZADOR
   ============================================================ */
.logon-wrap {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}


/* ============================================================
   [4] CARTÃO DE LOGON (compacto/menor)
   ============================================================ */
.logon-card {
    width: 100%;
    max-width: 230px;        /* reduzido (antes 360px → 300px → 270px → 230px) */
    background: var(--arara-card-bg);
    backdrop-filter: blur(10px);
    border-radius: var(--arara-radius);
    box-shadow: var(--arara-card-shadow);
    padding: 18px 20px 14px; /* altura reduzida */
    animation: arara-card-in .55s ease-out;
}

@keyframes arara-card-in {
    from { opacity: 0; transform: translateY(15px) scale(.98); }
    to   { opacity: 1; transform: translateY(0)    scale(1);   }
}

.logon-card__brand     { text-align: center; margin-bottom: 10px; }
.logon-card__logo      { width: 46px; height: 46px; object-fit: contain; margin-bottom: 2px; }
.logon-card__title     { margin: 2px 0 0; font-size: 1.15rem; font-weight: 700; color: var(--arara-azul); }
.logon-card__subtitle  { margin: 0; font-size: .72rem; color: var(--arara-texto-fraco); }


/* ============================================================
   [5] FORMULÁRIO
   ============================================================ */
.logon-form    { display: flex; flex-direction: column; gap: 8px; }

.logon-field             { display: flex; flex-direction: column; }
.logon-field label       { font-size: .7rem;
                           font-weight: 600;
                           text-transform: uppercase;
                           letter-spacing: .03em;
                           color: var(--arara-texto-fraco);
                           margin-bottom: 2px; }
.logon-input             { display: block;
                           width: 100%;
                           height: 34px;
                           font-size: .9rem;
                           font-family: inherit;
                           color: var(--arara-texto);
                           padding: 4px 10px;
                           border-radius: 7px;
                           border: 1px solid var(--ar-borda);
                           background: #fff;
                           transition: border-color .15s, box-shadow .15s; }
.logon-input:focus       { outline: none;
                           border-color: var(--arara-azul-claro);
                           box-shadow: 0 0 0 .18rem rgba(59, 130, 246, .25); }


/* ============================================================
   [6] BOTÃO ENTRAR
   ============================================================ */
.logon-btn {
    margin-top: 4px;
    height: 36px;
    border: none;
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--arara-azul) 0%, var(--arara-roxo) 100%);
    cursor: pointer;
    transition: transform .12s, box-shadow .12s, filter .15s;
}
.logon-btn:hover  { filter: brightness(1.08); box-shadow: 0 6px 16px -6px rgba(30,58,138,.6); }
.logon-btn:active { transform: translateY(1px); }


/* ============================================================
   [7] ALERTA DE ERRO
   ============================================================ */
.logon-alert {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: .78rem;
    margin-bottom: 8px;
    text-align: center;
}


/* ============================================================
   [8] RESPONSIVO
   ============================================================ */
.logon-footer { text-align:center; margin: 10px 0 0; font-size: .65rem; color: var(--arara-texto-fraco); }

@media (max-width: 340px) {
    .logon-card { padding: 16px 14px 12px; }
    .logon-card__title { font-size: 1rem; }
}
