/* Paleta de colores */
:root {
    --dorado: #D9A441;
    --ambar: #A66B1F;
    --verde-fresco: #9EDB4D;
    --verde-oscuro: #5A8F2A;
    --negro: #0B0B0B;
    --gris-carbon: #1F1F1F;
    --gris-claro: #E5E5E5;
    --blanco: #FFFFFF;
}

body {
    background-color: var(--negro);
    color: var(--blanco);
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

/* Navbar y elementos oscuros */
.navbar {
    background-color: var(--gris-carbon) !important;
    border-bottom: 2px solid var(--dorado);
}
.navbar-brand {
    color: var(--blanco) !important;
}
.navbar-nav .nav-link {
    color: var(--blanco) !important;
}
.navbar-nav .nav-link:hover {
    color: var(--dorado) !important;
}

/* Botones principales */
.btn-primary {
    background-color: var(--dorado);
    border-color: var(--dorado);
    color: var(--negro);
}
.btn-primary:hover {
    background-color: var(--ambar);
    border-color: var(--ambar);
    color: var(--blanco);
}

/* Botones verdes */
.btn-success {
    background-color: var(--verde-fresco);
    border-color: var(--verde-fresco);
    color: var(--negro);
}
.btn-success:hover {
    background-color: var(--verde-oscuro);
    border-color: var(--verde-oscuro);
    color: var(--blanco);
}

/* Botones outline */
.btn-outline-primary {
    border-color: var(--dorado);
    color: var(--dorado);
}
.btn-outline-primary:hover {
    background-color: var(--dorado);
    color: var(--negro);
}

/* Enlaces generales */
a {
    color: var(--verde-fresco);
    text-decoration: none;
}
a:hover {
    color: var(--dorado);
}

/* Tarjetas */
.card {
    background-color: var(--gris-carbon);
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: transform 0.2s;
    color: var(--gris-claro);
}
.card:hover {
    transform: translateY(-5px);
}
.card-title {
    color: var(--dorado);
}
.card-header {
    background-color: var(--gris-carbon);
    border-bottom: 1px solid var(--ambar);
}

/* Footer */
footer {
    background-color: var(--negro) !important;
    border-top: 1px solid var(--ambar);
}
footer a {
    color: var(--dorado);
}
footer a:hover {
    color: var(--verde-fresco);
}

/* Tablas */
.table {
    color: var(--gris-claro);
    background-color: var(--gris-carbon);
}
.table thead th {
    border-bottom-color: var(--dorado);
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(217, 164, 65, 0.1);
}

/* Formularios */
.form-control, .form-select {
    background-color: var(--gris-carbon);
    border: 1px solid var(--ambar);
    color: var(--blanco);
}
.form-control:focus, .form-select:focus {
    background-color: var(--gris-carbon);
    border-color: var(--dorado);
    color: var(--blanco);
    box-shadow: 0 0 0 0.25rem rgba(217, 164, 65, 0.25);
}
.form-label {
    color: var(--dorado);
}

/* Alertas */
.alert-success {
    background-color: var(--verde-oscuro);
    color: var(--blanco);
    border: none;
}
.alert-danger {
    background-color: #A66B1F;
    color: var(--blanco);
    border: none;
}
.alert-info {
    background-color: var(--gris-carbon);
    color: var(--verde-fresco);
    border-left: 4px solid var(--verde-fresco);
}

/* Badges */
.badge.bg-warning {
    background-color: var(--dorado) !important;
    color: var(--negro);
}
.badge.bg-secondary {
    background-color: var(--gris-carbon) !important;
    color: var(--gris-claro);
}