/* ═══════════════════════════════════════════════════════════════
   rt-admin-theme.css  —  Royal Textiles Admin Global Design
   Applies premium table, badge, chip, and action-button styles
   across all admin pages. Include after styles.css in every page.
═══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   BRAND COLOR OVERRIDE
   Replaces Blue_Theme (#5d87ff) with Royal Maroon (#6b1a3a)
   and Gold (#B79557) across every Bootstrap component globally.
══════════════════════════════════════════════════════════════ */
:root,
[data-bs-theme=light][data-color-theme=Blue_Theme]:root,
[data-bs-theme=dark][data-color-theme=Blue_Theme]:root {
    --bs-primary:              #6b1a3a !important;
    --bs-primary-rgb:          107, 26, 58 !important;
    --bs-light-primary:        rgba(107, 26, 58, 0.08) !important;
    --bs-primary-bg-subtle:    rgba(107, 26, 58, 0.08) !important;
    --bs-primary-border-subtle:rgba(107, 26, 58, 0.25) !important;
    --bs-primary-text-emphasis:#4e1129 !important;

    --bs-secondary:            #B79557 !important;
    --bs-secondary-rgb:        183, 149, 87 !important;
    --bs-light-secondary:      rgba(183, 149, 87, 0.1) !important;
    --bs-secondary-bg-subtle:  rgba(183, 149, 87, 0.1) !important;

    --bs-link-color:           #6b1a3a !important;
    --bs-link-hover-color:     #4e1129 !important;
}

/* btn-primary → maroon gradient */
[data-color-theme=Blue_Theme] .btn-primary,
.btn-primary {
    --bs-btn-bg:               #6b1a3a !important;
    --bs-btn-border-color:     #6b1a3a !important;
    --bs-btn-hover-bg:         #4e1129 !important;
    --bs-btn-hover-border-color:#4e1129 !important;
    --bs-btn-active-bg:        #3c0d1f !important;
    --bs-btn-color:            #fff !important;
    --bs-btn-hover-color:      #fff !important;
    background: linear-gradient(135deg, #6b1a3a, #4e1129) !important;
    border-color: #6b1a3a !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: linear-gradient(135deg, #4e1129, #3c0d1f) !important;
    border-color: #4e1129 !important;
    box-shadow: 0 4px 14px rgba(107,26,58,.35) !important;
}

/* btn-secondary → gold */
[data-color-theme=Blue_Theme] .btn-secondary,
.btn-secondary {
    --bs-btn-bg:               #B79557 !important;
    --bs-btn-border-color:     #B79557 !important;
    --bs-btn-hover-bg:         #9a7c45 !important;
    --bs-btn-hover-border-color:#9a7c45 !important;
    --bs-btn-color:            #fff !important;
}

/* btn-outline-primary */
.btn-outline-primary {
    --bs-btn-color:            #6b1a3a !important;
    --bs-btn-border-color:     #6b1a3a !important;
    --bs-btn-hover-bg:         #6b1a3a !important;
    --bs-btn-hover-border-color:#6b1a3a !important;
    --bs-btn-hover-color:      #fff !important;
}

/* Sidebar active state */
.sidebar-link.active,
.sidebar-link:hover,
[data-simplebar] .sidebar-link.active {
    color: #6b1a3a !important;
}
.sidebar-link.active i,
.sidebar-link:hover i {
    color: #6b1a3a !important;
}
.sidebar-link.active::before,
.sidebar-link:hover::before {
    background: #6b1a3a !important;
}

/* Sidebar active left border / highlight */
.sidebar-item .sidebar-link.active {
    background: linear-gradient(90deg, rgba(107,26,58,.1) 0%, transparent 100%) !important;
    border-left: 3px solid #6b1a3a !important;
}

/* text-primary and related utilities */
.text-primary  { color: #6b1a3a !important; }
.bg-primary    { background-color: #6b1a3a !important; }
.border-primary{ border-color: #6b1a3a !important; }

/* bg-primary-subtle / text badges */
.bg-primary-subtle { background-color: rgba(107,26,58,.08) !important; }
.text-primary-emphasis { color: #4e1129 !important; }

/* Spinners, progress bars that inherit primary */
.spinner-border.text-primary,
.spinner-grow.text-primary { color: #6b1a3a !important; }

.progress-bar.bg-primary,
.progress-bar { background-color: #6b1a3a !important; }

/* Form focus rings */
.form-control:focus,
.form-select:focus {
    border-color: rgba(107,26,58,.5) !important;
    box-shadow: 0 0 0 .2rem rgba(107,26,58,.15) !important;
}

/* Preloader color */
.preloader .spinner-border { border-top-color: #6b1a3a !important; }

/* Pagination */
.page-link { color: #6b1a3a !important; }
.page-item.active .page-link {
    background-color: #6b1a3a !important;
    border-color: #6b1a3a !important;
    color: #fff !important;
}

/* Alerts */
.alert-primary {
    background-color: rgba(107,26,58,.08) !important;
    border-color: rgba(107,26,58,.2) !important;
    color: #4e1129 !important;
}

/* Badges */
.badge.bg-primary { background-color: #6b1a3a !important; }
.badge.bg-secondary { background-color: #B79557 !important; }

/* Nav pills / tabs */
.nav-pills .nav-link.active {
    background-color: #6b1a3a !important;
}
.nav-tabs .nav-link.active {
    color: #6b1a3a !important;
    border-bottom-color: #6b1a3a !important;
}
/* user-profile-tab uses nav-pills markup but underline style — reset pill fill */
.user-profile-tab .nav-link.active {
    background-color: transparent !important;
    color: #6b1a3a !important;
    border-bottom: 2px solid #6b1a3a !important;
}

/* Checkboxes / radios */
.form-check-input:checked {
    background-color: #6b1a3a !important;
    border-color: #6b1a3a !important;
}
.form-switch .form-check-input:checked {
    background-color: #6b1a3a !important;
    border-color: #6b1a3a !important;
}

/* Dropdown active item */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #6b1a3a !important;
}

/* List group active */
.list-group-item.active {
    background-color: #6b1a3a !important;
    border-color: #6b1a3a !important;
}

/* Card header accent */
.card-header.bg-primary { background-color: #6b1a3a !important; }

/* Sweetalert confirm button */
.swal2-confirm { background-color: #6b1a3a !important; }

/* Scrollbar (webkit) */
::-webkit-scrollbar-thumb { background: rgba(107,26,58,.25) !important; }
::-webkit-scrollbar-thumb:hover { background: rgba(107,26,58,.45) !important; }

/* ── Tables ──────────────────────────────────────────────────── */
.table thead th {
    font-size: 10.5px !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    background: #f8f9fa !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 10px 14px !important;
    white-space: nowrap;
}
.table tbody td {
    padding: 12px 14px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.table tbody tr { transition: background .15s; }
.table tbody tr:hover td { background: #fafbff !important; }
.table-hover tbody tr:hover td { background: #fafbff !important; }

/* ── ID / Reference chips ────────────────────────────────────── */
.rt-id-chip {
    display: inline-block;
    background: linear-gradient(135deg, #f3e8f0, #ecddf0);
    color: #6b1a3a;
    border: 1px solid rgba(107,26,58,.18);
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;
    font-family: monospace;
}
.rt-inv-chip {
    display: inline-block;
    background: linear-gradient(135deg, #f3e8f0, #ecddf0);
    color: #6b1a3a;
    border: 1px solid rgba(107,26,58,.18);
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;
    font-family: monospace;
}

/* ── Status badges ───────────────────────────────────────────── */
.rt-badge {
    border-radius: 20px;
    padding: 3px 11px;
    font-size: 11px;
    font-weight: 700;
    display: inline-block;
    line-height: 1.6;
    white-space: nowrap;
}
/* Green — paid, active, delivered, in-stock, approved */
.rt-badge-paid,
.rt-badge-active,
.rt-badge-instock,
.rt-badge-delivered,
.rt-badge-approved,
.rt-badge-read {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}
/* Amber — pending, low-stock, partial, on-hold */
.rt-badge-partial,
.rt-badge-lowstock,
.rt-badge-on_hold {
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}
/* Yellow — pending specifically */
.rt-badge-pending {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}
/* Blue — confirmed, processing */
.rt-badge-confirmed,
.rt-badge-processing {
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}
/* Indigo — shipped, out-for-delivery */
.rt-badge-shipped,
.rt-badge-out_for_delivery {
    background: #f5f3ff;
    color: #4c1d95;
    border: 1px solid #ddd6fe;
}
/* Purple — refunded, reviewing */
.rt-badge-refunded,
.rt-badge-reviewing {
    background: #fdf4ff;
    color: #701a75;
    border: 1px solid #f0abfc;
}
/* Red — unpaid, cancelled, failed, out-of-stock, rejected */
.rt-badge-unpaid,
.rt-badge-cancelled,
.rt-badge-failed,
.rt-badge-outofstock,
.rt-badge-rejected {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
/* Gray — inactive, unread, draft */
.rt-badge-inactive,
.rt-badge-unread,
.rt-badge-draft {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* ── Money / Amount cells ─────────────────────────────────────── */
.rt-amount         { font-weight: 700; color: #6b1a3a; font-size: 13px; }
.rt-amount-muted   { color: #64748b; font-size: 13px; }
.rt-amount-danger  { color: #dc3545; font-weight: 700; }
.rt-amount-success { color: #198754; font-weight: 600; }
.rt-amount-crossed { color: #8592a3; text-decoration: line-through; font-size: 11px; }

/* ── Name cells ──────────────────────────────────────────────── */
.rt-name { font-weight: 600; font-size: 13px; color: #1e293b; line-height: 1.3; }
.rt-sub  { font-size: 11px; color: #8592a3; margin-top: 1px; line-height: 1.3; }

/* ── Stock pill ──────────────────────────────────────────────── */
.rt-stock {
    background: #f1f5f9;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    display: inline-block;
}
.rt-stock.low  { background: #fff7ed; color: #9a3412; }
.rt-stock.zero { background: #fef2f2; color: #991b1b; }

/* ── Count pill ──────────────────────────────────────────────── */
.rt-count {
    background: #f1f5f9;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    display: inline-block;
}

/* ── Thumbnail ───────────────────────────────────────────────── */
.rt-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #e9ecef;
    flex-shrink: 0;
}
.rt-thumb-lg {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    flex-shrink: 0;
}

/* ── Action buttons ──────────────────────────────────────────── */
.rt-btn {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 6px;
    border: 1.5px solid #dee2e6;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: all .15s;
    vertical-align: middle;
    line-height: 1;
}
.rt-btn + .rt-btn { margin-left: 4px; }
.rt-btn:hover { border-color: #6b1a3a; color: #6b1a3a; background: #fdf6f9; }
.rt-btn.rt-btn-danger:hover  { border-color: #dc3545; color: #dc3545; background: #fff5f5; }
.rt-btn.rt-btn-success:hover { border-color: #198754; color: #198754; background: #f0fdf4; }
.rt-btn.rt-btn-primary {
    background: linear-gradient(135deg, #6b1a3a, #4e1129);
    color: #fff;
    border: none;
}
.rt-btn.rt-btn-primary:hover { opacity: .88; }

/* ── Date cell ───────────────────────────────────────────────── */
.rt-date { font-size: 12px; color: #8592a3; white-space: nowrap; }

/* ── Empty state ─────────────────────────────────────────────── */
.rt-empty {
    text-align: center;
    padding: 48px 20px;
    color: #94a3b8;
}
.rt-empty i { font-size: 40px; display: block; margin-bottom: 10px; opacity: .5; }
.rt-empty p { font-size: 13px; margin: 0; }

/* ── Card headers ────────────────────────────────────────────── */
.rt-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f5f9;
}
.rt-card-header .title {
    font-weight: 700;
    font-size: 14px;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rt-card-header .title i { color: #6b1a3a; }

/* ── Filter chips row ────────────────────────────────────────── */
.rt-filter-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0;
}
.rt-filter-row .btn-group .btn {
    font-size: 12px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px !important;
}
.rt-filter-row .btn-group .btn.active {
    background: linear-gradient(135deg, #6b1a3a, #4e1129) !important;
    color: #fff !important;
    border-color: #6b1a3a !important;
}

/* ── Pagination ──────────────────────────────────────────────── */
.pagination .page-link {
    font-size: 12px;
    padding: 5px 10px;
    color: #6b1a3a;
    border-color: #e9ecef;
}
.pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #6b1a3a, #4e1129);
    border-color: #6b1a3a;
    color: #fff;
}
.pagination .page-link:hover { color: #6b1a3a; background: #fdf6f9; border-color: #e9ecef; }

/* ── Summary stat cards (small) ──────────────────────────────── */
.rt-stat-card {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.rt-stat-card .icon {
    width: 42px; height: 42px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.rt-stat-card .lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #94a3b8; margin-bottom: 2px; }
.rt-stat-card .val { font-size: 18px; font-weight: 800; color: #1e293b; line-height: 1.2; }
