:root { --gold: #d4a017; --gold-light: #f5e6a3; --gold-dark: #a37e00; --dark: #1a1a1a; --dark-gray: #2d2d2d; --red: #dc3545; --red-dark: #a71d2a; --green: #198754; --yellow: #ffc107; }
body { background: #f8f9fa; font-family: 'Sarabun', sans-serif; }

/* Override Bootstrap blue (primary) → red/dark theme */
.text-primary { color: var(--red) !important; }
.bg-primary { background-color: var(--red) !important; }
.border-primary { border-color: var(--red) !important; }
.btn-primary { background-color: var(--red); border-color: var(--red); color: #fff; }
.btn-primary:hover { background-color: var(--red-dark); border-color: var(--red-dark); color: #fff; }
.btn-outline-primary { color: var(--red); border-color: var(--red); }
.btn-outline-primary:hover { background-color: var(--red); border-color: var(--red); color: #fff; }
.progress-bar.bg-primary { background-color: var(--red) !important; }
.bg-primary.bg-opacity-10 { background-color: rgba(220, 53, 69, 0.1) !important; }

/* Override Bootstrap info (cyan) → yellow/amber */
.text-info { color: var(--yellow) !important; }
.bg-info { background-color: #fff3cd !important; color: #664d03 !important; }
.border-info { border-color: var(--yellow) !important; }
.btn-info { background-color: var(--yellow); border-color: var(--yellow); color: #1a1a1a; }
.btn-info:hover { background-color: #e0a800; border-color: #e0a800; color: #1a1a1a; }
.bg-info.bg-opacity-10 { background-color: rgba(255, 193, 7, 0.1) !important; }
.progress-bar.bg-info { background-color: var(--yellow) !important; }
.badge.bg-info { background-color: var(--yellow) !important; color: #1a1a1a !important; }
.navbar { background: linear-gradient(135deg, #1a1a1a, #2d2d2d) !important; }
.navbar-brand { color: var(--gold) !important; font-weight: 700; }
.stat-card { border-radius: 12px; border: none; transition: transform 0.2s; }
.stat-card:hover { transform: translateY(-2px); }
.stat-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.status-normal { color: #198754; }
.status-watch { color: #ffc107; }
.status-near { color: #fd7e14; }
.status-over { color: #dc3545; }
.table th { font-weight: 600; font-size: 0.85rem; text-transform: uppercase; color: #6c757d; }
.badge-paid { background: #d1e7dd; color: #0f5132; }
.badge-pending { background: #fff3cd; color: #664d03; }
.badge-partial { background: var(--gold-light); color: #664d03; }
.badge-overdue { background: #f8d7da; color: #842029; }
.progress { height: 8px; border-radius: 4px; }
#toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; }

/* Sidebar */
#sidebarNav .nav-link { padding: 10px 20px; font-size: 0.9rem; border-radius: 0; transition: background 0.2s; }
#sidebarNav .nav-link:hover { background: rgba(255,255,255,0.1); }
#sidebarNav .nav-link.active { background: var(--red); color: #fff !important; font-weight: 600; }

/* Footer Bar */
#footerBar .nav-link { color: #6c757d; font-size: 0.7rem; padding: 4px 8px; }
#footerBar .nav-link.active, .footer-tab.active { color: var(--red) !important; }
.footer-tab { color: #6c757d; text-decoration: none; padding: 4px 8px; }
.footer-tab:hover { color: var(--red); }

/* Nav pills (hidden on desktop, sidebar is used instead) */
#mainTabs { display: none !important; }

/* Mobile padding for fixed footer */
@media (max-width: 991.98px) {
  main { padding-bottom: 80px !important; }
}


/* Global Search */
.hover-bg:hover { background: #f8f9fa; }
#globalSearchModal .modal-content { border: 2px solid var(--red); box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
#globalSearchModal .modal-dialog { margin-top: 8vh; }
#gs-input:focus { box-shadow: none; }
#gs-results .gs-result-item { transition: background 0.15s; }
#gs-results .gs-result-item:hover { background: #f8f9fa; }
