/* AutoBox Express — tema do painel (Paleta A, aprovada nos mockups da Onda 0).
   Marca: azul #00B9EF e amarelo #FFE500. A barra lateral é sempre escura para o logo ter contraste. */
:root {
    --ab-side: #0f1a24;
    --ab-side-borda: #1e2e3d;
    --ab-side-texto: #c9d6e2;
    --ab-side-mudo: #8fa3b5;
    --ab-marcador: #ffe500;
    --ab-ativo-fundo: rgba(0, 185, 239, .16);
}
.dark {
    --ab-side: #070e15;
    --ab-side-borda: #16222d;
}

/* ---- barra lateral escura ---- */
.fi-sidebar,
.fi-sidebar-header {
    background-color: var(--ab-side);
}
.fi-sidebar { border-inline-end: 1px solid var(--ab-side-borda); }
.fi-sidebar-header { border-bottom: 1px solid var(--ab-side-borda); box-shadow: none; }
.fi-sidebar .fi-logo { filter: none; }
.fi-sidebar-group-label {
    color: var(--ab-side-mudo);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .6875rem;
    font-weight: 600;
}
.fi-sidebar-item-btn,
.fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item-btn .fi-sidebar-item-icon,
.fi-sidebar-group-btn {
    color: var(--ab-side-texto);
}
.fi-sidebar-item-btn:hover { background-color: rgba(255, 255, 255, .06); }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background-color: var(--ab-ativo-fundo);
    position: relative;
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-icon {
    color: #fff;
    font-weight: 600;
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn::before {
    content: "";
    position: absolute;
    inset-inline-start: -.75rem;
    top: .5rem;
    bottom: .5rem;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--ab-marcador);
}
.fi-sidebar :focus-visible { outline: 2px solid var(--ab-marcador); outline-offset: 2px; }

/* ---- login e telas simples: o logo (amarelo/azul) precisa de fundo escuro ---- */
.fi-simple-layout img.fi-logo,
.fi-simple-layout .fi-logo {
    background-color: var(--ab-side);
    border-radius: .75rem;
    padding: .9rem 1.5rem;
    box-sizing: content-box;
    height: 3.5rem !important;
    width: auto;
    margin-inline: auto;
}

/* ---- números e códigos ---- */
.fi-ta-text, .fi-in-text { font-variant-numeric: tabular-nums; }

/* ---- Início (boas-vindas) ---- */
.ab-bemvindo {
    max-width: 44rem;
    padding: 2.5rem 1.5rem;
    text-align: center;
    border: 1px solid rgb(var(--gray-200, 229 231 235));
    border-radius: .75rem;
    background: #fff;
}
.dark .ab-bemvindo { background: rgb(var(--gray-900, 17 24 39)); border-color: rgba(255, 255, 255, .1); }
.ab-bemvindo-logo {
    height: 4.5rem;
    margin: 0 auto .75rem;
    padding: .6rem 1.4rem;
    background: var(--ab-side);
    border-radius: .75rem;
    box-sizing: content-box;
}
.ab-bemvindo h2 { font-size: 1.375rem; font-weight: 700; margin: 0 0 .375rem; }
.ab-bemvindo p { margin: 0 auto; max-width: 28rem; color: rgb(107 114 128); }

/* ---- senha temporária (modal) ---- */
.ab-senha-linha { display: flex; gap: .5rem; align-items: center; margin: .75rem 0; flex-wrap: wrap; }
.ab-senha-linha code {
    font-family: 'Fira Code', ui-monospace, monospace;
    font-size: 1.125rem;
    letter-spacing: .04em;
    padding: .5rem .75rem;
    border-radius: .5rem;
    background: rgba(0, 119, 166, .08);
    border: 1px solid rgba(0, 119, 166, .3);
    user-select: all;
    word-break: break-all;
}
.ab-copiar {
    min-height: 2.5rem;
    padding: 0 1rem;
    border-radius: .5rem;
    border: 1px solid rgba(0, 0, 0, .15);
    font-weight: 600;
    cursor: pointer;
}
.ab-aviso { font-size: .875rem; color: #92400e; font-weight: 600; }
.dark .ab-aviso { color: #fbbf24; }

/* ---- diff da auditoria ---- */
.ab-tabela-diff { overflow-x: auto; }
.ab-tabela-diff table { width: 100%; border-collapse: collapse; }
.ab-tabela-diff th, .ab-tabela-diff td { text-align: left; padding: .5rem .75rem; border-bottom: 1px solid rgba(128, 128, 128, .2); }
.ab-diff-antigo { background: #fee2e2; color: #991b1b; border-radius: .25rem; padding: .0625rem .375rem; text-decoration: line-through; }
.ab-diff-novo { background: #dcfce7; color: #166534; border-radius: .25rem; padding: .0625rem .375rem; }
.dark .ab-diff-antigo { background: #3a1414; color: #f87171; }
.dark .ab-diff-novo { background: #0f2e1d; color: #4ade80; }
.ab-sem-diff { font-size: .8125rem; color: rgb(107 114 128); margin-top: .5rem; }
