/* ============================================================================
   gerenciador.css - classes proprias do gerenciador, POR CIMA do kit KRYPTA.
   Regra do kit: nenhuma cor escrita a mao - so variaveis --krypta-*.
   A CSP do gerenciador recusa style="" inline: toda necessidade de estilo
   de uma tela vira classe aqui (prefixo ger-).
   ============================================================================ */

/* ---- marca e layout -------------------------------------------------------- */
.ger-logo-marca { max-width: 58px; height: auto; }

.ger-simples {
    background: var(--krypta-bg-page);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.ger-simples-caixa { width: 100%; max-width: 420px; }
.ger-erro-codigo {
    font-family: var(--krypta-font-display);
    font-size: 48px;
    font-weight: 700;
    color: var(--krypta-text-faded);
    margin-bottom: 4px;
}

/* ---- sair (POST) com cara de link da sidebar -------------------------------- */
.ger-form-menu { margin: 0; }
.ger-botao-menu {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    border-left: 3px solid transparent;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--krypta-font-body);
    color: var(--krypta-sidebar-text);
    transition: all 0.15s ease;
    cursor: pointer;
}
.ger-botao-menu:hover {
    border-left-color: var(--krypta-danger);
    color: var(--krypta-sidebar-text-active);
    padding-left: 18px;
}

.ger-faixa-alerta { font-weight: 600; }

/* ---- farol (03_T0 secao 10): nunca verde por ausencia ----------------------- */
.ger-farol {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: var(--krypta-radius-pill);
    font-family: var(--krypta-font-mono);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border: 1px solid var(--krypta-border-strong);
}
.ger-farol::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
}
.ger-farol-verde { color: var(--krypta-success); }
.ger-farol-amarelo { color: var(--krypta-warning); }
.ger-farol-vermelho { color: var(--krypta-danger); }
.ger-farol-sem_dado { color: var(--krypta-text-faded); }

/* ---- severidade de incidente ------------------------------------------------ */
.ger-sev {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--krypta-radius-sm);
    font-family: var(--krypta-font-mono);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border: 1px solid currentColor;
}
.ger-sev-aviso { color: var(--krypta-warning); }
.ger-sev-alto { color: var(--krypta-magenta); }
.ger-sev-critico { color: var(--krypta-danger); }

/* ---- texto tecnico ---------------------------------------------------------- */
.ger-mono { font-family: var(--krypta-font-mono); font-size: 13px; }
.ger-quebra { word-break: break-all; }

/* ---- segredo mostrado uma unica vez (credencial do agente, semente MFA) ----- */
.ger-segredo {
    font-family: var(--krypta-font-mono);
    font-size: 15px;
    word-break: break-all;
    padding: 12px 14px;
    border-radius: var(--krypta-radius-md);
    border: 1px dashed var(--krypta-warning);
    background: var(--krypta-bg-elevated);
    color: var(--krypta-text-primary);
}

/* ---- grade de cartoes de frota ---------------------------------------------- */
.ger-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.ger-vazio {
    padding: 24px;
    text-align: center;
    color: var(--krypta-text-muted);
    border: 1px dashed var(--krypta-border-strong);
    border-radius: var(--krypta-radius-xl);
}
