/* custom.css - Dark Pro Theme */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Navbar */
.navbar {
    background-color: var(--bs-dark) !important;
    box-shadow: var(--bs-box-shadow-sm);
    border-bottom: 1px solid #1E293B;
}

/* Cards */
.card {
    background-color: #1E293B;
    border-color: #334155;
    transition: transform .2s, box-shadow .2s;
    color: var(--bs-body-color);
}
.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--bs-box-shadow-lg);
}

/* Botões */
.btn {
    border-radius: var(--bs-border-radius);
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    font-weight: 600;
}
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
.btn-primary:hover {
    background-color: #6D28D9;
    border-color: #6D28D9;
}

/* Tabelas */
.table {
    color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255,255,255,0.02);
    --bs-table-hover-bg: rgba(255,255,255,0.05);
    border-color: #334155;
}
.table td, .table th {
    border-color: #334155;
}

/* Formulários */
.form-control, .form-select {
    background-color: #0F172A;
    border-color: #334155;
    color: #F8FAFC;
}
.form-control:focus, .form-select:focus {
    background-color: #020617;
    border-color: var(--bs-primary);
    color: #F8FAFC;
    box-shadow: 0 0 0 0.25rem rgba(124, 58, 237, 0.25);
}
.input-group-text {
    background-color: #1E293B;
    border-color: #334155;
    color: #A78BFA;
}

/* Modais e Dropdowns */
.modal-content, .dropdown-menu {
    background-color: #1E293B;
    border-color: #334155;
}
.dropdown-item {
    color: var(--bs-body-color);
}
.dropdown-item:hover {
    background-color: #334155;
    color: #fff;
}
.modal-header, .modal-footer {
    border-color: #334155;
}

/* Accordion */
.accordion-item {
    background-color: #1E293B;
    border-color: #334155;
}
.accordion-button {
    background-color: #1E293B;
    color: #F8FAFC;
}
.accordion-button:not(.collapsed) {
    background-color: #0F172A;
    color: var(--bs-secondary);
}
.accordion-button::after {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Utilitários extras */
.text-gradient {
    background: linear-gradient(135deg, var(--bs-secondary), var(--bs-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bg-light {
    background-color: #1E293B !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bs-dark); }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--bs-primary); }