/**
 * RockBlocks Enterprise Theme
 * Flat, professional ERP/CRM appearance. Overrides NiceAdmin purple accents.
 */

:root {
  --rb-primary: #0b5ed7;
  --rb-primary-hover: #0a4fb8;
  --rb-primary-soft: #e7f1ff;
  --rb-success: #198754;
  --rb-warning: #fd7e14;
  --rb-danger: #dc3545;
  --rb-text: #212529;
  --rb-text-muted: #6c757d;
  --rb-heading: #1f2937;
  --rb-border: #dee2e6;
  --rb-border-light: #e9ecef;
  --rb-bg: #f3f4f6;
  --rb-surface: #ffffff;
  --rb-sidebar-bg: #ffffff;
  --rb-sidebar-text: #343a40;
  --rb-radius: 6px;
  --rb-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);

  --bs-primary: #0b5ed7;
  --bs-primary-rgb: 11, 94, 215;
  --bs-link-color: #0b5ed7;
  --bs-link-hover-color: #0a4fb8;
  --bs-body-bg: #f3f4f6;
  --bs-body-color: #212529;
  --bs-border-color: #dee2e6;
  --bs-border-radius: 6px;
}

/* ---------- Base ---------- */
html, body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  background: var(--rb-bg) !important;
  color: var(--rb-text) !important;
}

h1, h2, h3, h4, h5, h6,
.pagetitle h1,
.card-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  color: var(--rb-heading) !important;
  font-weight: 600;
}

a {
  color: var(--rb-primary);
}

a:hover {
  color: var(--rb-primary-hover);
}

#main {
  background: var(--rb-bg);
}

.pagetitle h1 {
  font-size: 1.35rem !important;
  color: var(--rb-heading) !important;
}

/* ---------- Header ---------- */
.header {
  background: var(--rb-surface) !important;
  border-bottom: 1px solid var(--rb-border);
  box-shadow: none !important;
}

.header .toggle-sidebar-btn,
.header .logo span,
.header-nav .nav-icon,
.header-nav .nav-profile,
.header .search-form input,
.header .search-form button i {
  color: var(--rb-heading) !important;
}

.header .logo span {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.header .search-form input:focus,
.header .search-form input:hover {
  box-shadow: none !important;
  border-color: var(--rb-primary) !important;
}

.header-nav .notifications .notification-item:hover,
.header-nav .messages .message-item:hover,
.header-nav .profile .dropdown-item:hover {
  background-color: var(--rb-bg) !important;
}

.back-to-top {
  background: var(--rb-primary) !important;
  border-radius: var(--rb-radius) !important;
}

.back-to-top:hover {
  background: var(--rb-primary-hover) !important;
}

/* ---------- Sidebar ---------- */
.sidebar {
  background: var(--rb-sidebar-bg) !important;
  border-right: 1px solid var(--rb-border);
  box-shadow: none !important;
}

.sidebar-nav .nav-link {
  background: transparent !important;
  color: var(--rb-sidebar-text) !important;
  border-radius: var(--rb-radius);
  margin: 2px 8px;
  font-weight: 500;
}

.sidebar-nav .nav-link i {
  color: var(--rb-text-muted) !important;
}

.sidebar-nav .nav-link:not(.collapsed),
.sidebar-nav .nav-link:hover {
  background: var(--rb-primary-soft) !important;
  color: var(--rb-primary) !important;
}

.sidebar-nav .nav-link:not(.collapsed) i,
.sidebar-nav .nav-link:hover i {
  color: var(--rb-primary) !important;
}

.sidebar-nav .nav-link.collapsed {
  color: var(--rb-sidebar-text) !important;
  background: transparent !important;
}

.sidebar-nav .nav-link.collapsed i {
  color: var(--rb-text-muted) !important;
}

.sidebar-nav .nav-content a {
  color: var(--rb-sidebar-text) !important;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
  color: var(--rb-primary) !important;
  background: transparent !important;
}

.sidebar-nav .nav-content a.active i,
.sidebar-nav .nav-content a:hover i {
  background-color: var(--rb-primary) !important;
}

.sidebar-nav .nav-heading {
  color: var(--rb-text-muted) !important;
}

/* ---------- Cards ---------- */
.card {
  background: var(--rb-surface) !important;
  border: 1px solid var(--rb-border) !important;
  border-radius: var(--rb-radius) !important;
  box-shadow: var(--rb-shadow) !important;
}

.card.border-0 {
  border: 1px solid var(--rb-border) !important;
}

.card.shadow,
.card.shadow-sm,
.card.shadow-lg {
  box-shadow: var(--rb-shadow) !important;
}

.card-header {
  background: #f8f9fa !important;
  border-bottom: 1px solid var(--rb-border) !important;
  color: var(--rb-heading) !important;
}

.card-title {
  font-size: 1rem !important;
}

.info-card .card-icon {
  background: var(--rb-primary-soft) !important;
  color: var(--rb-primary) !important;
}

/* ---------- Buttons ---------- */
.btn {
  border-radius: var(--rb-radius) !important;
  box-shadow: none !important;
  font-weight: 500;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: var(--rb-primary) !important;
  border-color: var(--rb-primary) !important;
  color: #fff !important;
  background-image: none !important;
}

.btn-primary:hover {
  background-color: var(--rb-primary-hover) !important;
  border-color: var(--rb-primary-hover) !important;
  color: #fff !important;
}

.btn-outline-primary {
  color: var(--rb-primary) !important;
  border-color: var(--rb-primary) !important;
  background: #fff !important;
}

.btn-outline-primary:hover {
  background: var(--rb-primary) !important;
  color: #fff !important;
}

.btn-secondary,
.btn-outline-secondary {
  background: #fff !important;
  border-color: var(--rb-border) !important;
  color: var(--rb-text) !important;
}

.btn-outline-secondary:hover,
.btn-secondary:hover {
  background: #f8f9fa !important;
  border-color: #ced4da !important;
  color: var(--rb-text) !important;
}

.btn-success,
.btn-outline-success:hover {
  background-color: var(--rb-success) !important;
  border-color: var(--rb-success) !important;
  color: #fff !important;
  background-image: none !important;
}

.btn-danger,
.btn-outline-danger:hover {
  background-color: var(--rb-danger) !important;
  border-color: var(--rb-danger) !important;
  color: #fff !important;
  background-image: none !important;
}

.btn-warning {
  background-color: var(--rb-warning) !important;
  border-color: var(--rb-warning) !important;
  color: #fff !important;
  background-image: none !important;
}

.btn-info {
  background-color: var(--rb-primary) !important;
  border-color: var(--rb-primary) !important;
  color: #fff !important;
  background-image: none !important;
}

/* ---------- Forms ---------- */
.form-control,
.form-select,
.input-group-text,
.select2-container--default .select2-selection--single {
  background-color: #fff !important;
  border-color: var(--rb-border) !important;
  border-radius: var(--rb-radius) !important;
  color: var(--rb-text) !important;
  box-shadow: none !important;
}

.form-control:focus,
.form-select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--rb-primary) !important;
  box-shadow: 0 0 0 0.15rem rgba(11, 94, 215, 0.15) !important;
}

.form-label,
.col-form-label {
  color: var(--rb-heading);
  font-weight: 500;
}

/* ---------- Tables ---------- */
.table {
  --bs-table-bg: #fff;
  --bs-table-striped-bg: #fff;
  --bs-table-hover-bg: #f8f9fa;
  color: var(--rb-text);
  border-color: var(--rb-border);
}

.table > :not(caption) > * > * {
  border-bottom-color: var(--rb-border-light);
}

.table thead th,
.table > thead {
  background: #f8f9fa !important;
  color: var(--rb-heading) !important;
  border-bottom: 1px solid var(--rb-border) !important;
  font-weight: 600;
}

.table-bordered > :not(caption) > * {
  border-color: var(--rb-border);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: transparent;
  background: #fff !important;
}

.table-hover > tbody > tr:hover > * {
  background: #f8f9fa !important;
  --bs-table-accent-bg: #f8f9fa;
}

.table-light {
  --bs-table-bg: #f8f9fa;
  color: var(--rb-heading);
}

/* ---------- Badges / status ---------- */
.badge.bg-primary {
  background-color: var(--rb-primary) !important;
}

.badge.bg-success {
  background-color: var(--rb-success) !important;
}

.badge.bg-danger {
  background-color: var(--rb-danger) !important;
}

.badge.bg-warning {
  background-color: var(--rb-warning) !important;
  color: #fff !important;
}

.badge.bg-info {
  background-color: var(--rb-primary) !important;
}

.badge.bg-secondary {
  background-color: #6c757d !important;
}

/* ---------- Dropdowns / menus ---------- */
.dropdown-menu {
  border: 1px solid var(--rb-border) !important;
  border-radius: var(--rb-radius) !important;
  box-shadow: var(--rb-shadow) !important;
}

.rb-table-actions .rb-actions-trigger {
  border-radius: var(--rb-radius) !important;
  border-color: var(--rb-border);
  color: var(--rb-text-muted);
}

.rb-table-actions .rb-actions-trigger:hover,
.rb-table-actions .rb-actions-trigger:focus,
.rb-table-actions .rb-actions-trigger.show {
  color: var(--rb-primary);
  border-color: var(--rb-primary);
  background: #fff;
}

.rb-table-actions .dropdown-menu {
  box-shadow: var(--rb-shadow) !important;
}

/* ---------- Flatten decorative page heroes / stats ---------- */
.employee-hero,
.report-hero,
.slip-hero,
.stock-hero,
.desk-hero,
.payroll-hero,
[class$="-hero"],
.hero-banner,
.page-hero {
  background: var(--rb-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid var(--rb-primary) !important;
  color: #fff !important;
  border-radius: var(--rb-radius) !important;
}

.stats-card,
.stat-card,
.summary-card,
.metric-card {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--rb-border) !important;
  box-shadow: var(--rb-shadow) !important;
  border-radius: var(--rb-radius) !important;
  color: var(--rb-text) !important;
}

.stat-pending,
.stat-paid,
.stat-cancelled,
.stat-expired,
.stat-total,
[class^="stat-"] {
  background-image: none !important;
  box-shadow: none !important;
}

.stat-pending { background: #fff7ed !important; color: #9a3412 !important; border: 1px solid #fed7aa !important; }
.stat-paid { background: #ecfdf5 !important; color: #166534 !important; border: 1px solid #bbf7d0 !important; }
.stat-cancelled,
.stat-expired { background: #fef2f2 !important; color: #991b1b !important; border: 1px solid #fecaca !important; }
.stat-total { background: #f8f9fa !important; color: var(--rb-heading) !important; border: 1px solid var(--rb-border) !important; }

/* Kill common gradient / glow utilities if present */
[style*="linear-gradient"],
[style*="radial-gradient"] {
  /* cannot override inline style attributes via CSS alone for background;
     page styles are patched separately where needed */
}

.shadow-lg,
.shadow-sm,
.shadow {
  box-shadow: var(--rb-shadow) !important;
}

/* Dashboard info cards */
.dashboard .info-card h6,
.dashboard .card-title span {
  color: var(--rb-text-muted) !important;
}

/* Footer */
#footer {
  background: var(--rb-surface);
  border-top: 1px solid var(--rb-border);
  color: var(--rb-text-muted);
}

    .rb-pagination-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem 1rem;
        margin-top: 1rem;
        padding-top: 0.875rem;
        border-top: 1px solid var(--rb-border, #dee2e6);
    }
    .rb-pagination-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 1rem;
        color: #6c757d;
        font-size: 0.875rem;
    }
    .rb-pagination-meta strong {
        color: #212529;
        font-weight: 600;
    }
    .rb-pagination-page-label {
        color: #6c757d;
    }
    .rb-pagination-links {
        margin-left: auto;
    }
    .rb-pagination-footer .pagination,
    .pagination.rb-pagination {
        margin-bottom: 0;
        gap: 0.25rem;
    }
    .rb-pagination-footer .page-link,
    .pagination.rb-pagination .page-link {
        min-width: 2.1rem;
        height: 2.1rem;
        padding: 0 0.55rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #dee2e6;
        border-radius: 6px !important;
        color: #212529;
        background: #fff;
        font-size: 0.875rem;
        font-weight: 500;
        box-shadow: none;
    }
    .rb-pagination-footer .page-item + .page-item .page-link,
    .pagination.rb-pagination .page-item + .page-item .page-link {
        margin-left: 0;
    }
    .rb-pagination-footer .page-link:hover,
    .pagination.rb-pagination .page-link:hover {
        background: #f8f9fa;
        border-color: #ced4da;
        color: #0b5ed7;
        z-index: 1;
    }
    .rb-pagination-footer .page-item.active .page-link,
    .pagination.rb-pagination .page-item.active .page-link {
        background: #0b5ed7;
        border-color: #0b5ed7;
        color: #fff;
        font-weight: 600;
    }
    .rb-pagination-footer .page-item.disabled .page-link,
    .pagination.rb-pagination .page-item.disabled .page-link {
        background: #f8f9fa;
        border-color: #e9ecef;
        color: #adb5bd;
    }
    @media (max-width: 575.98px) {
        .rb-pagination-footer {
            flex-direction: column;
            align-items: stretch;
        }
        .rb-pagination-links {
            margin-left: 0;
        }
        .rb-pagination-links .pagination {
            justify-content: flex-start;
            flex-wrap: wrap;
        }
    }

/* Alerts stay semantic and flat */
.alert {
  border-radius: var(--rb-radius);
  box-shadow: none;
}

/* Modals */
.modal-content {
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow);
}

.modal-header {
  background: #f8f9fa;
  border-bottom: 1px solid var(--rb-border);
}

/* Breadcrumb */
.breadcrumb {
  background: transparent;
}

.breadcrumb-item a {
  color: var(--rb-primary);
}

.breadcrumb-item.active {
  color: var(--rb-text-muted);
}
