/* BF 360 — kit visual compartilhado (tema escuro, estilo BF Holding).
   Paleta base: #060606 (fundo) · #0e0e0e (superfícies) · #1d1d1d (bordas)
   Textos: #e5e5e5 (títulos) · #d0d0d0 (corpo) · #8a8a8a (secundário) · #555 (mudo)
   O acento white label do cliente entra via --client-primary, com
   --client-primary-text como cor de texto sobre o acento. */

/* Widgets nativos (calendário do input date, popup de select, autofill,
   scrollbars) renderizam na variante escura do navegador. */
html { color-scheme: dark; }

[x-cloak] { display: none !important; }

::selection { background: rgba(255, 255, 255, 0.15); }

/* ── Sidebar ─────────────────────────────────────────── */
.sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #8a8a8a;
    transition: background-color 0.15s, color 0.15s;
}
.sidebar-link:hover { background: rgba(255, 255, 255, 0.04); color: #e5e5e5; }
.sidebar-link-active, .sidebar-link-active:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    box-shadow: inset 2px 0 0 0 var(--client-primary);
}
.sidebar-link svg { width: 1.25rem; height: 1.25rem; flex: none; }

/* ── Botões ──────────────────────────────────────────── */
.btn-primary, .btn-secondary, .btn-danger, .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 0.5rem;
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.15s, color 0.15s, opacity 0.15s, border-color 0.15s;
    cursor: pointer;
}
.btn-primary { background: var(--client-primary); color: var(--client-primary-text); }
.btn-primary:hover { opacity: 0.88; }
.btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }
.btn-secondary { background: transparent; color: #d0d0d0; border: 1px solid #2a2a2a; }
.btn-secondary:hover { background: rgba(255, 255, 255, 0.05); border-color: #3a3a3a; }
.btn-danger { background: #991b1b; color: #ffffff; }
.btn-danger:hover { background: #b91c1c; }
.btn-danger:disabled { opacity: 0.4; cursor: not-allowed; }
.btn-ghost { color: #a3a3a3; }
.btn-ghost:hover { background: rgba(255, 255, 255, 0.05); color: #e5e5e5; }

/* ── Formulários ─────────────────────────────────────── */
.input, .select {
    display: block;
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #262626;
    background: #0d0d0d;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: #e5e5e5;
}
.input::placeholder { color: #525252; }
.input:focus, .select:focus {
    outline: 1px solid var(--client-primary);
    outline-offset: -1px;
    border-color: transparent;
}
.select option { background: #141414; color: #e5e5e5; }
.label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #a3a3a3;
}

/* ── Cards e tabelas ─────────────────────────────────── */
.card {
    background: #0e0e0e;
    border: 1px solid #1d1d1d;
    border-radius: 0.75rem;
}
.table-base { width: 100%; text-align: left; }
.table-base thead th {
    padding: 0.75rem 1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #737373;
    background: #0a0a0a;
    border-bottom: 1px solid #1d1d1d;
    white-space: nowrap;
}
.table-base tbody td {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: #c4c4c4;
    border-bottom: 1px solid #161616;
}
.table-base tbody tr:last-child td { border-bottom: none; }
.table-base tbody tr:hover { background: rgba(255, 255, 255, 0.025); }

/* ── Scrollbar discreta ──────────────────────────────── */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a3a; }
