:root {
    /* 🎨 COLORES BASE */
    --bs-primary: #9C4A21;
    --bs-primary-rgb: 156, 74, 33;

    --bs-secondary: #5D3A26;
    --bs-secondary-rgb: 93, 58, 38;

    --bs-warning: #D9804D;
    --bs-warning-rgb: 217, 128, 77;

    --bs-info: #00D2FF;
    --bs-info-rgb: 0, 210, 255;

    --bs-success: #00D2FF;
    --bs-success-rgb: 0, 210, 255;

    --bs-danger: #DC3545;
    --bs-danger-rgb: 220, 53, 69;

    --bs-light: #F8F5F2;
    --bs-light-rgb: 248, 245, 242;

    --bs-dark: #3E2723;
    --bs-dark-rgb: 62, 39, 35;

    /* 🎯 CUSTOM */
    --bs-accent: #D9804D;
    --bs-accent-rgb: 217, 128, 77;

    --bs-primary-hover: #D9804D;
    --bs-secondary-hover: #4a2e1e;
    --bs-info-hover: #00b8e6;

    --bs-primary-active: #D9804D;
    --bs-secondary-active: #4a2e1e;
    --bs-info-active: #00b8e6;
}

/* 🔤 TEXT */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-info { color: var(--bs-info) !important; }
.text-accent { color: var(--bs-accent) !important; }

/* 🎨 BACKGROUNDS */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-accent { background-color: var(--bs-accent) !important; }

/* 🌫 SUBTLE */
.bg-primary-subtle { background-color: rgba(var(--bs-primary-rgb), 0.15) !important; }
.bg-secondary-subtle { background-color: rgba(var(--bs-secondary-rgb), 0.15) !important; }
.bg-info-subtle { background-color: rgba(var(--bs-info-rgb), 0.15) !important; }
.bg-accent-subtle { background-color: rgba(var(--bs-accent-rgb), 0.15) !important; }

/* 📦 BORDER */
.border-primary { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-info { border-color: var(--bs-info) !important; }
.border-accent { border-color: var(--bs-accent) !important; }

/* 🔘 BOTONES */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary-hover);
    --bs-btn-hover-border-color: var(--bs-primary-hover);
    --bs-btn-active-bg: var(--bs-primary-active);
    --bs-btn-active-border-color: var(--bs-primary-active);

}

.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary-hover);
    --bs-btn-hover-border-color: var(--bs-secondary-hover);
    --bs-btn-active-bg: var(--bs-secondary-active);
    --bs-btn-active-border-color: var(--bs-secondary-active);
}

.btn-info {
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: var(--bs-info-hover);
    --bs-btn-hover-border-color: var(--bs-info-hover);
    --bs-btn-active-bg: var(--bs-info-active);
    --bs-btn-active-border-color: var(--bs-info-active);
}

/* OUTLINE */
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-color: #fff;
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
}

.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-color: #fff;
}

/* 🏷 BADGES */
.badge-primary { background-color: var(--bs-primary); }
.badge-secondary { background-color: var(--bs-secondary); }
.badge-info { background-color: var(--bs-info); }
.badge-accent { background-color: var(--bs-accent); }

/* 🚨 ALERTS */
.alert-primary {
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.3);
}
.alert-secondary {
    background: rgba(var(--bs-secondary-rgb), 0.12);
    color: var(--bs-secondary);
    border-color: rgba(var(--bs-secondary-rgb), 0.3);
}
.alert-info {
    background: rgba(var(--bs-info-rgb), 0.12);
    color: var(--bs-info);
    border-color: rgba(var(--bs-info-rgb), 0.3);
}
.alert-accent {
    background: rgba(var(--bs-accent-rgb), 0.12);
    color: var(--bs-accent);
    border-color: rgba(var(--bs-accent-rgb), 0.3);
}

/* 🔗 LINKS */
a { color: var(--bs-secondary); }
a:hover { color: var(--bs-primary); }

/* 🧭 NAV */
.nav-tabs .nav-link.active {
    color: var(--bs-primary) !important;
    border-bottom: 3px solid var(--bs-primary) !important;
}

/* ✅ CHECK */
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* 📦 AUTH UI */
.auth-card {
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.1);
    background: #fff;
}

/* INPUT */
.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), .25);
}

/* 🔐 BOTÓN PERSONALIZADO */
.btn-fact-primary {
    background: var(--bs-primary);
    color: #fff;
}
.btn-fact-primary:hover {
    background: var(--bs-primary-hover);
}

/* 📱 RESPONSIVE */
@media (max-width: 575.98px) {
    .auth-card { padding: 2rem 1rem; }
}

.form-floating > .form-control {
    height: calc(3.5rem + 2px);
    padding: 1rem 0.75rem;
}

/* ICONO PASSWORD */
.password-toggle {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 5;
}

/* Evita que el icono tape texto */
.form-floating .form-control {
    padding-right: 3rem;
}
.login-divider {
    border-right: 1px solid rgba(0,0,0,.08);
}


.sidebar .nav-link {
    color: var(--bs-primary) !important;
}

.sidebar .nav-link.active {
    background-color: var(--bs-light) !important;
    border-bottom: 3px solid var(--bs-light) !important;
}

.btn-primary:disabled {
    background-color: #D9804D !important;
    border-color: #D9804D !important;
}