/**
 * ═════════════════════════════════════════════════════════════════════════════
 * BOOTSTRAP ADMIN OVERRIDES - Production Ready Fixes v7.0
 * ═════════════════════════════════════════════════════════════════════════════
 * 
 * THIS FILE TARGETS ACTUAL BOOTSTRAP CLASSES USED IN ADMIN PAGES
 * High specificity to override both Bootstrap and app-admin.css
 * 
 * Applied to: All 112 admin pages automatically
 * ═════════════════════════════════════════════════════════════════════════════
 */

/* ─────────────────────────────────────────────────────────────────────────────
   BUTTON OVERRIDES - Fix Bootstrap button colors
   ───────────────────────────────────────────────────────────────────────────── */

/* Primary buttons - Keep green */
.btn.btn-primary,
button.btn.btn-primary,
a.btn.btn-primary {
    background-color: #1a5f2a !important;
    border-color: #1a5f2a !important;
    color: #ffffff !important;
}

.btn.btn-primary:hover,
button.btn.btn-primary:hover,
a.btn.btn-primary:hover {
    background-color: #145620 !important;
    border-color: #145620 !important;
}

/* Secondary buttons - Make them distinct */
.btn.btn-secondary,
button.btn.btn-secondary,
a.btn.btn-secondary {
    background-color: #6b7280 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn.btn-secondary:hover,
button.btn.btn-secondary:hover,
a.btn.btn-secondary:hover {
    background-color: #4b5563 !important;
    border-color: #4b5563 !important;
}

/* Danger buttons - Make them RED, not Bootstrap red */
.btn.btn-danger,
button.btn.btn-danger,
a.btn.btn-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

.btn.btn-danger:hover,
button.btn.btn-danger:hover,
a.btn.btn-danger:hover {
    background-color: #c82333 !important;
    border-color: #c82333 !important;
}

/* Outline buttons - Better colors */
.btn.btn-outline-primary {
    color: #1a5f2a !important;
    border-color: #1a5f2a !important;
}

.btn.btn-outline-primary:hover {
    background-color: #1a5f2a !important;
    border-color: #1a5f2a !important;
    color: #ffffff !important;
}

.btn.btn-outline-secondary {
    color: #6b7280 !important;
    border-color: #6b7280 !important;
}

.btn.btn-outline-secondary:hover {
    background-color: #6b7280 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn.btn-outline-danger {
    color: #dc3545 !important;
    border-color: #dc3545 !important;
}

.btn.btn-outline-danger:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

/* Success buttons */
.btn.btn-success,
button.btn.btn-success,
a.btn.btn-success {
    background-color: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

.btn.btn-success:hover,
button.btn.btn-success:hover,
a.btn.btn-success:hover {
    background-color: #15803d !important;
    border-color: #15803d !important;
}

/* Info buttons */
.btn.btn-info,
button.btn.btn-info,
a.btn.btn-info {
    background-color: #0891b2 !important;
    border-color: #0891b2 !important;
    color: #ffffff !important;
}

.btn.btn-info:hover,
button.btn.btn-info:hover,
a.btn.btn-info:hover {
    background-color: #0e7490 !important;
    border-color: #0e7490 !important;
}

/* Warning buttons */
.btn.btn-warning,
button.btn.btn-warning,
a.btn.btn-warning {
    background-color: #d97706 !important;
    border-color: #d97706 !important;
    color: #ffffff !important;
}

.btn.btn-warning:hover,
button.btn.btn-warning:hover,
a.btn.btn-warning:hover {
    background-color: #b45309 !important;
    border-color: #b45309 !important;
}

/* Button sizing on mobile */
@media (max-width: 480px) {
    .btn {
        min-height: 44px !important;
        min-width: 44px !important;
        padding: 8px 12px !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   FORM CONTROLS - Better styling
   ───────────────────────────────────────────────────────────────────────────── */

.form-label {
    font-weight: 600 !important;
    color: #0f1a15 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.form-label .text-danger,
.form-label .required {
    color: #dc3545 !important;
}

.form-control,
.form-select {
    border: 1.5px solid #d1d5db !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 0.95rem !important;
    background-color: #fefffe !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

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

.form-control:focus,
.form-select:focus {
    border-color: #1a5f2a !important;
    box-shadow: 0 0 0 3px rgba(26, 95, 42, 0.1) !important;
    outline: none !important;
}

.form-control:disabled,
.form-select:disabled {
    background-color: #f3f4f6 !important;
    color: #9ca3af !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

.form-text {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
    margin-top: 4px !important;
    display: block !important;
}

.invalid-feedback {
    color: #b91c1c !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    display: block !important;
    margin-top: 4px !important;
}

.valid-feedback {
    color: #15803d !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    display: block !important;
    margin-top: 4px !important;
}

/* Mobile form fixes */
@media (max-width: 480px) {
    .form-control,
    .form-select {
        font-size: 16px !important; /* Prevent iOS zoom */
        min-height: 44px !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   TABLE CONTROLS - Better styling
   ───────────────────────────────────────────────────────────────────────────── */

.table {
    margin-bottom: 0 !important;
}

.table thead {
    background-color: #f9fafb !important;
}

.table thead th {
    border-bottom: 2px solid #d1d5db !important;
    color: #0f1a15 !important;
    font-weight: 600 !important;
    padding: 12px !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

.table tbody td {
    padding: 12px !important;
    border-bottom: 1px solid #e5e7eb !important;
    vertical-align: middle !important;
}

.table tbody tr:hover {
    background-color: rgba(26, 95, 42, 0.02) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(232, 245, 233, 0.5) !important;
}

/* Mobile table fixes */
@media (max-width: 768px) {
    .table thead {
        display: none !important;
    }

    .table, .table tbody, .table tr, .table td {
        display: block !important;
        width: 100% !important;
    }

    .table tr {
        margin-bottom: 15px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 6px !important;
        padding: 10px !important;
    }

    .table td {
        padding: 8px 0 !important;
        border: none !important;
        text-align: right !important;
        padding-left: 50% !important;
        position: relative !important;
    }

    .table td:before {
        content: attr(data-label) !important;
        position: absolute !important;
        left: 6px !important;
        font-weight: 600 !important;
        text-align: left !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   TAB CONTROLS - Dashboard tabs
   ───────────────────────────────────────────────────────────────────────────── */

.ds-tabs,
.nav-tabs {
    border-bottom: 2px solid #e5e7eb !important;
    background-color: #f9fafb !important;
    border-radius: 8px 8px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.ds-tab,
.nav-link {
    color: #6b7280 !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    padding: 12px 16px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
}

.ds-tab:hover,
.nav-link:hover {
    color: #1a5f2a !important;
    background-color: rgba(26, 95, 42, 0.05) !important;
}

.ds-tab.active,
.nav-link.active {
    color: #1a5f2a !important;
    border-bottom-color: #1a5f2a !important;
    background-color: rgba(26, 95, 42, 0.03) !important;
}

.ds-tab i, .ds-tab [data-lucide],
.nav-link i, .nav-link [data-lucide] {
    width: 16px !important;
    height: 16px !important;
    stroke-width: 2 !important;
    flex-shrink: 0 !important;
}

.badge-pill {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 4px 6px !important;
    margin-left: 4px !important;
    background: rgba(26, 95, 42, 0.15) !important;
    color: #1a5f2a !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BADGES & STATUS - Colors
   ───────────────────────────────────────────────────────────────────────────── */

.badge.bg-success {
    background-color: rgba(22, 163, 74, 0.15) !important;
    color: #15803d !important;
}

.badge.bg-danger {
    background-color: rgba(220, 53, 69, 0.15) !important;
    color: #b91c1c !important;
}

.badge.bg-warning {
    background-color: rgba(217, 119, 6, 0.15) !important;
    color: #b45309 !important;
}

.badge.bg-info {
    background-color: rgba(8, 145, 178, 0.15) !important;
    color: #0e7490 !important;
}

.badge.bg-primary {
    background-color: rgba(26, 95, 42, 0.15) !important;
    color: #145620 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   INPUT GROUPS
   ───────────────────────────────────────────────────────────────────────────── */

.input-group-text {
    background-color: #f3f4f6 !important;
    border: 1.5px solid #d1d5db !important;
    color: #6b7280 !important;
}

.input-group > .form-control:focus ~ .input-group-text {
    border-color: #1a5f2a !important;
    background-color: #f9fafb !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ALERTS & MODALS
   ───────────────────────────────────────────────────────────────────────────── */

.alert {
    border-radius: 6px !important;
    border: 1px solid !important;
}

.alert-success {
    background-color: rgba(22, 163, 74, 0.1) !important;
    border-color: rgba(22, 163, 74, 0.3) !important;
    color: #15803d !important;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: rgba(220, 53, 69, 0.3) !important;
    color: #b91c1c !important;
}

.alert-warning {
    background-color: rgba(217, 119, 6, 0.1) !important;
    border-color: rgba(217, 119, 6, 0.3) !important;
    color: #b45309 !important;
}

.alert-info {
    background-color: rgba(8, 145, 178, 0.1) !important;
    border-color: rgba(8, 145, 178, 0.3) !important;
    color: #0e7490 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FOCUS & ACCESSIBILITY
   ───────────────────────────────────────────────────────────────────────────── */

.btn:focus,
.form-control:focus,
.form-select:focus,
a:focus {
    outline: 2px solid #1a5f2a !important;
    outline-offset: 2px !important;
}

/* ═════════════════════════════════════════════════════════════════════════════
   END OF BOOTSTRAP ADMIN OVERRIDES v7.0
   ═════════════════════════════════════════════════════════════════════════════ */
