/* Custom overrides for project branding */
/* Sidebar color sólido - solo para el sidebar */
.sidebar.sidebar-magenta,
.sidebar-magenta.bg-gradient-primary {
    background-color: #901157 !important;
    background-image: none !important;
}

/* Gradiente para páginas públicas y fondos generales */
.bg-gradient-primary {
    background-color: #ffffff !important;
    background-image: linear-gradient(320deg, #AD3462 10%, #A2D5E0 100%) !important;
    background-size: cover;
}

/* Root CSS variables override (used by some components) */
:root {
    --primary: #AD3462;
    --secondary: #777373;
    --info: #A2D5E0;
    --dark: #901157;
    --gray: #777373;
    --gray-dark: #901157;
}

/* Sidebar brand logo sizing */
.sidebar .sidebar-brand img.sidebar-logo {
    max-height: 100px !important;
    width: auto !important;
    display: block !important;
    transition: all 0.2s ease !important;
}

/* Logo ajustado cuando el sidebar está colapsado */
.sidebar.toggled .sidebar-brand img.sidebar-logo {
    max-height: 50px !important;
    width: auto !important;
    margin: 0 auto !important;
}

/* Sidebar brand spacing for visual symmetry */
.sidebar .sidebar-brand {
    height: auto !important;
    /* allow the brand area to grow with the logo */
    padding: 1rem 1rem !important;
    /* equal top/bottom padding */
    margin: 0.75rem 0 !important;
    /* equal space above and below brand area */
    transition: all 0.2s ease !important;
}

/* Brand area cuando está colapsado */
.sidebar.toggled .sidebar-brand {
    padding: 0.5rem !important;
}

/* Links */
a {
    color: #AD3462;
}

a:hover {
    color: #AE2856;
}

.btn-link {
    color: #AD3462;
}

.btn-link:hover {
    color: #AE2856;
}

/* PRIMARY (brand) */
.text-primary {
    color: #AD3462 !important;
}

.bg-primary {
    background-color: #AD3462 !important;
}

.border-left-primary {
    border-left-color: #AD3462 !important;
}

.border-bottom-primary {
    border-bottom-color: #AD3462 !important;
}

.badge-primary {
    background-color: #AD3462 !important;
}

.btn-primary {
    color: #fff;
    background-color: #AD3462;
    border-color: #AD3462;
}

.btn-primary:hover {
    color: #fff;
    background-color: #AE2856;
    border-color: #AE2856;
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 .2rem rgba(173, 52, 98, .5);
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff;
    background-color: #AD3462;
    border-color: #AD3462;
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #B4244A;
    border-color: #B4244A;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem rgba(173, 52, 98, .5);
}

.btn-outline-primary {
    color: #AD3462;
    border-color: #AD3462;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #AD3462;
    border-color: #AD3462;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 .2rem rgba(173, 52, 98, .5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
    color: #AD3462;
    background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.show>.btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #AD3462;
    border-color: #AD3462;
}

.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem rgba(173, 52, 98, .5);
}

/* PRIMARY usages in components */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #AD3462 !important;
}

.custom-control-input:checked~.custom-control-label::before {
    background-color: #AD3462;
    border-color: #AD3462;
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before {
    background-color: #AD3462;
    border-color: #AD3462;
}

.custom-range::-webkit-slider-thumb {
    background-color: #AD3462;
}

.custom-range::-moz-range-thumb {
    background-color: #AD3462;
}

.custom-range::-ms-thumb {
    background-color: #AD3462;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background-color: #AD3462;
}

.page-item.active .page-link {
    background-color: #AD3462;
    border-color: #AD3462;
}

/* SECONDARY */
.text-secondary {
    color: #777373 !important;
}

.bg-secondary {
    background-color: #777373 !important;
}

.border-left-secondary {
    border-left-color: #777373 !important;
}

.border-bottom-secondary {
    border-bottom-color: #777373 !important;
}

.badge-secondary {
    background-color: #777373 !important;
}

.btn-secondary {
    color: #fff;
    background-color: #777373;
    border-color: #777373;
}

.btn-secondary:hover {
    color: #fff;
    background-color: #777373;
    border-color: #777373;
}

.btn-outline-secondary {
    color: #777373;
    border-color: #777373;
}

.btn-outline-secondary:hover {
    color: #fff;
    background-color: #777373;
    border-color: #777373;
}

/* INFO */
.text-info {
    color: #A2D5E0 !important;
}

.bg-info {
    background-color: #A2D5E0 !important;
}

.border-left-info {
    border-left-color: #A2D5E0 !important;
}

.border-bottom-info {
    border-bottom-color: #A2D5E0 !important;
}

.badge-info {
    background-color: #A2D5E0 !important;
}

.btn-info {
    color: #fff;
    background-color: #A2D5E0;
    border-color: #A2D5E0;
}

.btn-info:hover {
    color: #fff;
    background-color: #A2D5E0;
    border-color: #A2D5E0;
}

.btn-outline-info {
    color: #A2D5E0;
    border-color: #A2D5E0;
}

.btn-outline-info:hover {
    color: #fff;
    background-color: #A2D5E0;
    border-color: #A2D5E0;
}

/* DARK */
.text-dark {
    color: #901157 !important;
}

.bg-dark {
    background-color: #901157 !important;
}

.badge-dark {
    background-color: #901157 !important;
}

.btn-dark {
    color: #fff;
    background-color: #901157;
    border-color: #901157;
}

.btn-dark:hover {
    color: #fff;
    background-color: #AE2856;
    border-color: #AE2856;
}

.btn-outline-dark {
    color: #901157;
    border-color: #901157;
}

.btn-outline-dark:hover {
    color: #fff;
    background-color: #901157;
    border-color: #901157;
}

.chat-window {
    height: 60vh;
    overflow-y: auto;
    background: #f8f9fc;
}

.bubble {
    border-radius: .75rem;
    padding: .6rem .9rem;
    margin: .25rem 0;
    max-width: 80%;
}

.bubble.ai {
    background: #AD3462;
    color: #fff;
    align-self: flex-start;
}

.bubble.user {
    background: #fff;
    border: 1px solid #e3e6f0;
    align-self: flex-end;
}

.chat-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #AD3462;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Minimal mock high-contrast mode just for demo */
body.high-contrast {
    background: #000;
    color: #fff;
}

body.high-contrast .card {
    background: #111 !important;
    color: #fff;
}

body.high-contrast .bg-white {
    background: #111 !important;
}

body.high-contrast .text-gray-800 {
    color: #fff !important;
}

/* Keep Success, Warning, Danger as default (no overrides here) */