:root {
  --silondo-blue-primary: #3A86FF;
  --silondo-blue-secondary: #007bff;
  --silondo-blue-light: #A0C4FF;
  --silondo-green-light: #19c09a;
  --silondo-blue-dark: #011f5a;
  --silondo-white: #F7F9FC;
  --silondo-black-primary: #1f2937;
}

.text-black-primary{
    color: var(--silondo-black-primary);
}

.color-blue-primary{
    color: var(--silondo-blue-primary);
}

.color-blue-secondary{
    color: var(--silondo-blue-secondary);
}

.color-blue-light{
    color: var(--silondo-blue-light);
}

.color-blue-dark{
    color: var(--silondo-blue-dark);
}

.color-green-light{
    color: var(--silondo-green-light);
}

.color-white{
    color: var(--silondo-white);
}

.bg-blue-primary{
    background-color: var(--silondo-blue-primary);
}

.bg-blue-secondary{
    background-color: var(--silondo-blue-secondary);
}

.bg-blue-light{
    background-color: var(--silondo-blue-light);
}

.bg-blue-dark{
    background-color: var(--silondo-blue-dark);
}

.bg-green-light{
    background-color: var(--silondo-green-light);
}

.bg-white{
    background-color: var(--silondo-white);
}

.bg-black-primary{
    background-color: var(--silondo-black-primary);
}

/* --- DARK MODE OVERRIDES --- */
[data-theme-mode="dark"] {
  --silondo-white: #1a1e26;
  --silondo-black-primary: #f8fafc;
  color-scheme: dark;
}

[data-theme-mode="dark"] body {
  background-color: #111827 !important;
  color: #f1f5f9 !important;
}

[data-theme-mode="dark"] .bg-white,
[data-theme-mode="dark"] .bg-light,
[data-theme-mode="dark"] .bg-light-soft,
[data-theme-mode="dark"] .card-body,
[data-theme-mode="dark"] .sidebar,
[data-theme-mode="dark"] .category-item,
[data-theme-mode="dark"] .service-item,
[data-theme-mode="dark"] .search-box,
[data-theme-mode="dark"] .modal-content,
[data-theme-mode="dark"] .modal-header,
[data-theme-mode="dark"] .modal-footer,
[data-theme-mode="dark"] .news-card-premium,
[data-theme-mode="dark"] .announcement-item-card,
[data-theme-mode="dark"] .stat-card,
[data-theme-mode="dark"] .footer-minimal {
  background-color: #1e293b !important;
}

[data-theme-mode="dark"] .timeline-marker {
  background-color: #334155 !important;
  border-color: #4b5563 !important;
  color: #94a3b8 !important;
}

[data-theme-mode="dark"] .btn-light {
    background-color: #334155 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
}

[data-theme-mode="dark"] .timeline-item.active .timeline-marker {
    background-color: #1e293b !important;
    border-color: #3A86FF !important;
    color: #3A86FF !important;
}

[data-theme-mode="dark"] .sidebar,
[data-theme-mode="dark"] .category-item,
[data-theme-mode="dark"] .service-item,
[data-theme-mode="dark"] .search-box,
[data-theme-mode="dark"] .modal-content,
[data-theme-mode="dark"] .modal-header,
[data-theme-mode="dark"] .modal-footer,
[data-theme-mode="dark"] .border-end,
[data-theme-mode="dark"] .news-card-premium,
[data-theme-mode="dark"] .announcement-item-card,
[data-theme-mode="dark"] .stat-card,
[data-theme-mode="dark"] .footer-minimal {
  border-color: #334155 !important;
}

/* Catatan Petugas Box */
[data-theme-mode="dark"] .catatan-petugas-box {
    background-color: #2d2613 !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
}

[data-theme-mode="dark"] .catatan-petugas-box :not(i):not(.text-warning-emphasis) {
    color: #f8fafc !important;
}

[data-theme-mode="dark"] .text-warning-emphasis {
    color: #ffca28 !important;
}

[data-theme-mode="dark"] .text-primary-emphasis {
    color: #38bdf8 !important;
}

[data-theme-mode="dark"] .text-dark-light,
[data-theme-mode="dark"] .value-premium {
    color: #e2e8f0 !important;
}

[data-theme-mode="dark"] .label-premium {
    color: #cbd5e1 !important;
}

[data-theme-mode="dark"] .catatan-petugas-box * {
    background-color: transparent !important;
    background: transparent !important;
    color: #f8fafc !important;
}

[data-theme-mode="dark"] .catatan-petugas-box span.text-warning-emphasis {
    color: #ffca28 !important;
}

[data-theme-mode="dark"] .timeline-premium::before {
    background: #334155 !important;
}

[data-theme-mode="dark"] .footer-links a,
[data-theme-mode="dark"] .text-secondary {
    color: #94a3b8 !important;
}

[data-theme-mode="dark"] .footer-links a:hover {
    color: #38bdf8 !important;
}

[data-theme-mode="dark"] section[style*="background: #fff"],
[data-theme-mode="dark"] section[style*="background:#fff"],
[data-theme-mode="dark"] section[style*="background: #ffffff"],
[data-theme-mode="dark"] section[style*="background:#ffffff"] {
    background-color: #111827 !important;
    border-color: #334155 !important;
}

[data-theme-mode="dark"] section[style*="border-bottom"],
[data-theme-mode="dark"] section[style*="border-top"] {
    border-bottom: none !important;
    border-top: none !important;
    border-color: transparent !important;
}

[data-theme-mode="dark"] .category-item:hover,
[data-theme-mode="dark"] .service-item:hover,
[data-theme-mode="dark"] .news-card-premium:hover,
[data-theme-mode="dark"] .announcement-item-card:hover,
[data-theme-mode="dark"] .stat-card:hover {
  background-color: #2d3748 !important;
  border-color: #4a5568 !important;
}

[data-theme-mode="dark"] .news-section {
    background-color: #111827 !important;
}

[data-theme-mode="dark"] .news-title,
[data-theme-mode="dark"] .banner-title,
[data-theme-mode="dark"] .news-title a,
[data-theme-mode="dark"] .stat-value {
    color: #f8fafc !important;
}

[data-theme-mode="dark"] .news-excerpt,
[data-theme-mode="dark"] .stat-label {
    color: #94a3b8 !important;
}

[data-theme-mode="dark"] .announcement-item-card h6 {
    color: #f8fafc !important;
}

[data-theme-mode="dark"] .tracking-form-label,
[data-theme-mode="dark"] div[style*="background: #f8f9fa"] {
  background-color: #334155 !important;
}

/* Modal Close Button */
[data-theme-mode="dark"] .btn-light[data-bs-dismiss="modal"] {
  background-color: #334155 !important;
  border-color: #4b5563 !important;
  color: #f1f5f9 !important;
}

[data-theme-mode="dark"] .category-item.active {
  background-color: rgba(59, 130, 246, 0.15) !important;
  border-color: #3b82f6 !important;
  color: #60a5fa !important;
}

[data-theme-mode="dark"] .category-icon {
  background-color: #334155 !important;
  color: #94a3b8 !important;
}

[data-theme-mode="dark"] .category-count {
  background-color: #334155 !important;
  color: #94a3b8 !important;
}

[data-theme-mode="dark"] .service-title,
[data-theme-mode="dark"] .search-box input {
  color: #f8fafc !important;
}

[data-theme-mode="dark"] .service-description,
[data-theme-mode="dark"] .category-text {
  color: #94a3b8 !important;
}

[data-theme-mode="dark"] .search-box i {
  color: #94a3b8 !important;
}

[data-theme-mode="dark"] .text-black-primary,
[data-theme-mode="dark"] .text-dark,
[data-theme-mode="dark"] h1,
[data-theme-mode="dark"] h2,
[data-theme-mode="dark"] h3,
[data-theme-mode="dark"] h4,
[data-theme-mode="dark"] h5,
[data-theme-mode="dark"] h6,
[data-theme-mode="dark"] .sidebar h5,
[data-theme-mode="dark"] span[style*="color: #1e293b"],
[data-theme-mode="dark"] h2[style*="color: #1e293b"] {
  color: #f8fafc !important;
}

[data-theme-mode="dark"] .navbar-custom-dark {
  background: #1e293b !important;
  border-bottom-color: #334155 !important;
}

[data-theme-mode="dark"] .navbar-custom-dark .navbar-nav .nav-link,
[data-theme-mode="dark"] .navbar-custom-dark .navbar-brand,
[data-theme-mode="dark"] .navbar-custom-dark .btn:not(.btn-primary) {
  color: #f3f4f6 !important;
}

[data-theme-mode="dark"] .navbar-custom-dark .btn-primary {
  border-color: #38bdf8 !important;
  color: #38bdf8 !important;
}

[data-theme-mode="dark"] .navbar-custom-dark .btn-primary:hover {
  background: #38bdf8 !important;
  color: #0f172a !important;
}

/* Override footer dark mode */
[data-theme-mode="dark"] .bg-white.py-5 {
    border-top: 1px solid #1e293b !important;
}

[data-theme-mode="dark"] .text-muted {
    color: #94a3b8 !important;
}

/* Tracking section */
[data-theme-mode="dark"] .bg-blue-light {
    background-color: #0c4a6e !important;
}

[data-theme-mode="dark"] .hero-section {
    background: #0f172a !important;
}

[data-theme-mode="dark"] .border-end {
    border-right-color: #334155 !important;
}

[data-theme-mode="dark"] input.form-control {
    background-color: #1a1e26 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
}

[data-theme-mode="dark"] .bg-gradient-blue {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
}

[data-theme-mode="dark"] .bg-primary-soft {
    background-color: rgba(58, 134, 255, 0.1) !important;
}
