/* -------------------------------------------------------------
 * Autoexpert Bootstrap Custom Theme Overrides (Light Theme)
 * ------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --bg-primary: #f3f4f6; /* Gray 100 */
    --bg-secondary: #ffffff;
    --bg-glass: rgba(255, 255, 255, 0.9);
    --border-glass: rgba(0, 0, 0, 0.08);
    
    --color-primary: #1A2B56; /* Navy Blue */
    --color-accent: #F04E23;  /* Vibrant Orange */
    --color-accent-hover: #d33c14;
    
    --bs-body-bg: #f3f4f6;
    --bs-body-color: #1f2937; /* Gray 800 */
    --bs-font-sans-serif: 'Inter', sans-serif;
}

body {
    background-color: var(--bg-primary);
    color: var(--bs-body-color);
    font-family: var(--bs-font-sans-serif);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    color: var(--color-primary);
}

/* Navbar Premium Overrides (Blue Navbar) */
.navbar-auto {
    background-color: var(--color-primary) !important; /* Navy Blue */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.navbar-auto .nav-link {
    color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 500;
}

.navbar-auto .nav-link:hover, .navbar-auto .nav-link.active {
    color: #ffffff !important;
}

.navbar-auto .navbar-brand {
    color: #ffffff !important;
}

.navbar-auto .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.navbar-auto .navbar-toggler-icon {
    filter: invert(1); /* White hamburger icon on dark background */
}

/* Card Glassmorphism (Light Theme) */
.card-premium {
    background: var(--bg-glass) !important;
    border: 1px solid var(--border-glass) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.card-premium:hover {
    border-color: rgba(240, 78, 35, 0.2) !important;
    transform: translateY(-2px);
}

.card-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--color-accent);
}

/* Form inputs styling */
.form-control, .form-select {
    background-color: #ffffff !important;
    border: 1px solid #d1d5db !important; /* Gray 300 */
    color: #1f2937 !important;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    transition: all 0.2s ease-in-out;
}

.form-control:focus, .form-select:focus {
    background-color: #ffffff !important;
    border-color: var(--color-accent) !important;
    box-shadow: 0 0 10px rgba(240, 78, 35, 0.15) !important;
}

.form-control::placeholder {
    color: #9ca3af !important;
}

select.form-select option {
    background-color: var(--bg-secondary);
    color: var(--bs-body-color);
}

/* Tables styling */
.table-premium {
    color: #1f2937 !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-glass) !important;
}

.table-premium th {
    background-color: #f8f9fa !important;
    color: var(--color-primary) !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    border-bottom: 1px solid #e5e7eb !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    padding: 1rem 1.5rem !important;
}

.table-premium td {
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    background-color: transparent !important;
    color: #1f2937 !important;
    vertical-align: middle;
}

/* Etiquetas VENTA y TOMA en la proyección de precios. */
.table-premium td.price-type-cell {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
}

.table-premium tbody tr:hover td {
    background-color: #f9fafb !important;
}

.table-premium tbody tr:hover td.price-type-cell {
    background-color: var(--color-primary) !important;
}

/* Custom premium buttons */
.btn-autoexpert {
    background-color: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
    color: white !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(240, 78, 35, 0.2);
    transition: all 0.2s ease-in-out;
}

.btn-autoexpert:hover {
    background-color: var(--color-accent-hover) !important;
    border-color: var(--color-accent-hover) !important;
    box-shadow: 0 6px 12px rgba(240, 78, 35, 0.35);
    transform: scale(1.02);
}

.btn-outline-autoexpert {
    background-color: transparent !important;
    border-color: #d1d5db !important;
    color: #4b5563 !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
}

.btn-outline-autoexpert:hover {
    background-color: rgba(0, 0, 0, 0.03) !important;
    border-color: #9ca3af !important;
    color: #1f2937 !important;
}

/* Custom badges */
.badge-auto-active {
    color: #047857; /* Darker green */
    background: rgba(16, 185, 129, 0.1);
    font-weight: bold;
    padding: 0.35em 0.65em;
    border-radius: 4px;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.badge-auto-inactive {
    color: #b91c1c; /* Darker red */
    background: rgba(239, 68, 68, 0.1);
    font-weight: bold;
    padding: 0.35em 0.65em;
    border-radius: 4px;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.badge-auto-admin {
    color: #b45309; /* Darker yellow/orange */
    background: rgba(245, 158, 11, 0.1);
    font-weight: bold;
    padding: 0.35em 0.65em;
    border-radius: 4px;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

/* Helper Text */
.text-accent {
    color: var(--color-accent) !important;
}

.bg-navy {
    background-color: var(--color-primary) !important;
}

/* Metric card */
.metric-card-boot {
    background-color: #ffffff;
    border: 1px solid var(--border-glass);
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.metric-card-boot h4 {
    font-size: 0.72rem !important;
    font-weight: 600;
    margin-bottom: 0.25rem !important;
}

.metric-card-boot .fs-3 {
    font-size: 1.45rem !important;
}

.metric-card-boot .fs-7 {
    font-size: 0.8rem !important;
}

.metric-card-boot:hover {
    border-color: rgba(0, 0, 0, 0.15);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
}

/* Alert styling overrides */
.alert-boot {
    background-color: #ffffff !important;
    border: 1px solid var(--border-glass) !important;
    color: var(--bs-body-color) !important;
}
