/* ============================================================
   Snake SMS v3 — Global Text Visibility Fix
   ============================================================ */

/* Force all text to be visible on dark backgrounds */
body, body * {
    color: inherit;
}

/* Base text colors — dark mode */
:root:not([data-theme="light"]) body { color: #e8e8f0; }
:root:not([data-theme="light"]) h1,:root:not([data-theme="light"]) h2,
:root:not([data-theme="light"]) h3,:root:not([data-theme="light"]) h4,
:root:not([data-theme="light"]) h5,:root:not([data-theme="light"]) h6 { color: #ffffff; }
:root:not([data-theme="light"]) p     { color: #c8c8d8; }
:root:not([data-theme="light"]) small { color: #9999bb; }
:root:not([data-theme="light"]) a:not(.btn):not(.nav-link) { color: #aaaacc; }
:root:not([data-theme="light"]) a:not(.btn):not(.nav-link):hover { color: #ffffff; }

/* Labels */
:root:not([data-theme="light"]) label,
:root:not([data-theme="light"]) .form-label { color: rgba(255,255,255,0.85) !important; }

/* Muted text */
:root:not([data-theme="light"]) .text-muted { color: #7777aa !important; }

/* Cards — dark mode */
:root:not([data-theme="light"]) .card { color: #e8e8f0; }
:root:not([data-theme="light"]) .card-title,
:root:not([data-theme="light"]) .card h6,
:root:not([data-theme="light"]) .card h5,
:root:not([data-theme="light"]) .card h4 { color: #ffffff; }
:root:not([data-theme="light"]) .card p,
:root:not([data-theme="light"]) .card small { color: #aaaacc; }
:root:not([data-theme="light"]) .card .text-muted { color: #7777aa !important; }
:root:not([data-theme="light"]) .card-header h6,
:root:not([data-theme="light"]) .card-header h5 { color: #ffffff !important; }

/* Tables */
.table { color: #e0e0f0 !important; }
.table th { color: #9999bb !important; }
.table td { color: #e0e0f0 !important; }
.table-sm td, .table-sm th { color: #e0e0f0 !important; }

/* Nav links */
.nav-link { color: rgba(255,255,255,0.75) !important; }
.nav-link:hover, .nav-link.active { color: #ffffff !important; }
.nav-section { color: rgba(255,255,255,0.45) !important; }

/* Sidebar user info */
.user-info .name { color: #ffffff !important; }
.user-info .role { color: rgba(255,255,255,0.5) !important; }
.logo-text { color: #ffffff !important; }
.logo-sub { color: rgba(255,255,255,0.5) !important; }
.topbar-title { color: #ffffff !important; }

/* Forms */
.form-control, .form-select {
    color: #e8e8f0 !important;
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.15) !important;
}
.form-control:focus, .form-select:focus {
    color: #ffffff !important;
}
.form-control::placeholder { color: rgba(255,255,255,0.3) !important; }
.form-select option { background: #1a1a2e; color: #e8e8f0; }

/* Input group */
.input-group-text {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.15) !important;
    color: rgba(255,255,255,0.6) !important;
}

/* Stat cards */
.stat-card { color: #e8e8f0; }
.stat-card .stat-value { color: #ffffff !important; }
.stat-card .stat-label { color: #8888aa !important; }
.stat-card .stat-change { color: #7777aa; }

/* Alerts */
.alert-info { background: rgba(33,150,243,0.15); border-color: rgba(33,150,243,0.3); color: #90caf9 !important; }
.alert-success { background: rgba(0,200,83,0.15); border-color: rgba(0,200,83,0.3); color: #69f0ae !important; }
.alert-danger { background: rgba(239,68,68,0.15); border-color: rgba(239,68,68,0.3); color: #ff8a80 !important; }
.alert-warning { background: rgba(234,179,8,0.15); border-color: rgba(234,179,8,0.3); color: #ffe57f !important; }
.alert * { color: inherit !important; }

/* Modals */
.modal-content h6, .modal-title { color: #ffffff !important; }
.modal-body, .modal-footer { color: #e8e8f0; }
.modal-body p, .modal-body label { color: #c8c8d8 !important; }

/* Pagination */
.pagination .page-link {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.1);
    color: #aaaacc !important;
}
.pagination .page-item.active .page-link {
    background: #00c853;
    border-color: #00c853;
    color: #000 !important;
}
.pagination .page-link:hover { background: rgba(255,255,255,0.12); color: #fff !important; }

/* Badges */
.badge { font-weight: 600; }

/* Code blocks */
code { color: #80cbc4; background: rgba(255,255,255,0.08); padding: 2px 6px; border-radius: 4px; }
pre code { color: #b0bec5; background: none !important; padding: 0 !important; border-radius: 0 !important; border: none !important; }
pre { color: #b0bec5; }

/* Buttons */
.btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }
.btn-outline-secondary {
    border-color: rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.7) !important;
}
.btn-outline-secondary:hover {
    background: rgba(255,255,255,0.1);
    color: #fff !important;
    border-color: rgba(255,255,255,0.4);
}
.btn-outline-danger { border-color: #ef4444; color: #ef4444 !important; }
.btn-outline-danger:hover { background: #ef4444; color: #fff !important; }
.btn-outline-warning { border-color: #eab308; color: #eab308 !important; }
.btn-outline-warning:hover { background: #eab308; color: #000 !important; }
.btn-outline-info { border-color: #2196F3; color: #2196F3 !important; }
.btn-outline-info:hover { background: #2196F3; color: #fff !important; }
.btn-success { background: #00c853; border-color: #00c853; color: #000 !important; }

/* hr */
hr { border-color: rgba(255,255,255,0.1) !important; }

/* Dropdown */
.dropdown-menu {
    background: #1a1a2e;
    border-color: rgba(255,255,255,0.1);
}
.dropdown-item { color: #e8e8f0 !important; }
.dropdown-item:hover { background: rgba(255,255,255,0.08); color: #fff !important; }

/* Font monospace in inputs */
.font-monospace { font-family: 'Courier New', monospace !important; font-size: .8rem; }

/* Bootstrap overrides */
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

/* Table hover */
.table-hover tbody tr:hover td { color: #ffffff !important; }
[data-theme="light"] .table-hover tbody tr:hover td { color: #0f172a !important; }

/* Topbar */
.topbar { color: #e8e8f0; }

/* Reseller specific */
.credit-display { color: #ffffff !important; }
.credit-badge .credit-label { color: rgba(255,255,255,0.8) !important; }
.credit-badge .credit-value { color: #ffffff !important; }

/* Fix empty state icons */
.card-body.text-center p { color: #7777aa !important; }
.card-body.text-center h6 { color: #aaaacc !important; }

/* stat-icon */
.stat-icon i { display: block; }

/* Sidebar toggle button */
#sidebarToggle { color: rgba(255,255,255,0.7) !important; }
[data-theme="light"] #sidebarToggle { color: #374151 !important; }

/* Progress bars */
.progress { background: rgba(255,255,255,0.1) !important; }

/* Chart.js canvas */
canvas { max-width: 100%; }

/* Fix select arrow — single chevron, right-aligned */
.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aaaacc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
    padding-right: 2.25rem !important;
}

/* Fix table in dark cards — force dark background everywhere */
.card .table td, .card .table th { border-color: rgba(255,255,255,0.07) !important; }
.table, .table tbody, .table tbody tr, .table tbody tr td,
.table-sm, .table-sm tbody, .table-sm tbody tr, .table-sm tbody tr td {
    background-color: transparent !important;
    color: #e0e0f0 !important;
}
.table thead th, .table-sm thead th {
    background-color: rgba(0,0,0,0.3) !important;
    color: #8888aa !important;
    border-color: rgba(255,255,255,0.08) !important;
}
.table td, .table-sm td {
    border-color: rgba(255,255,255,0.06) !important;
}
.table tbody tr:hover td {
    background-color: rgba(255,255,255,0.04) !important;
    color: #ffffff !important;
}
[data-theme="light"] .table tbody tr:hover td {
    background-color: rgba(0,0,0,0.03) !important;
    color: #0f172a !important;
}
/* Scrollable table containers */
.prices-scroll, .table-responsive { background: transparent; }
.card .card-body .table-responsive { background: transparent; }

/* Fix form-select-sm arrow too */
.form-select-sm {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aaaacc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.5rem center !important;
    background-size: 14px 10px !important;
    padding-right: 1.75rem !important;
}

/* Make sure select text is visible — dark mode only */
[data-theme="dark"] select,
[data-theme="dark"] select option {
    color: #e8e8f0 !important;
}
/* Default (no theme set = dark) */
:root:not([data-theme="light"]) select,
:root:not([data-theme="light"]) select option {
    color: #e8e8f0 !important;
}

/* ── Light mode form fixes ── */
[data-theme="light"] .form-control,
[data-theme="light"] .form-select,
[data-theme="light"] select {
    color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
}
[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus {
    color: #0f172a !important;
    border-color: #00c853 !important;
    box-shadow: 0 0 0 3px rgba(0,200,83,.12) !important;
}
[data-theme="light"] .form-control::placeholder { color: #94a3b8 !important; }
[data-theme="light"] .form-select option,
[data-theme="light"] select option { background: #ffffff; color: #0f172a; }
[data-theme="light"] .input-group-text {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}
[data-theme="light"] label,
[data-theme="light"] .form-label { color: #374151 !important; }
[data-theme="light"] .form-text,
[data-theme="light"] .text-muted { color: #64748b !important; }
[data-theme="light"] small.text-muted { color: #64748b !important; }

/* Fix feather icon size inside buttons/nav */
.nav-link svg { width: 18px !important; height: 18px !important; flex-shrink: 0; }
button svg, a svg { pointer-events: none; }

/* Ensure stat-change colors aren't overridden */
.stat-change.text-success { color: #69f0ae !important; }
.stat-change.text-danger  { color: #ff8a80 !important; }

/* Fix sidebar on all panels */
.sidebar a, .sidebar span, .sidebar div { text-decoration: none; }

/* Fix the info box below recipient on send SMS */
#countryInfo { color: #90caf9 !important; }

/* Fix SMS Analysis box text */
#smsAnalysis .small, #smsBox .small { color: #9999bb !important; }
#smsAnalysis strong, #smsBox strong { color: #ffffff !important; }

/* Fix card info lists — dark mode */
:root:not([data-theme="light"]) .card-body .small.text-muted { color: #7777aa !important; }
:root:not([data-theme="light"]) .card-body p.small { color: #9999bb !important; }

/* Fix pre/code in profile API doc */
.card pre { background: rgba(0,0,0,0.4); border-radius: 8px; padding: 1rem; }
.card pre code { color: #80cbc4 !important; font-size: .78rem; }
[data-theme="light"] .card pre { background: #f1f5f9 !important; border: 1px solid #e2e8f0 !important; }
[data-theme="light"] .card pre code { color: #0f172a !important; background: transparent !important; }
[data-theme="light"] code:not(pre code) { color: #0369a1 !important; background: #e0f2fe !important; }

/* Fix h6 inside card-header — dark mode only */
:root:not([data-theme="light"]) .card-header h6,
:root:not([data-theme="light"]) .card-header h5,
:root:not([data-theme="light"]) .card-header h4 {
    color: #ffffff !important;
    font-weight: 600;
}

/* Fix modal content background & text — dark mode */
:root:not([data-theme="light"]) .modal-content {
    background: #1a1a2e !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #e8e8f0 !important;
}
:root:not([data-theme="light"]) .modal-header { border-color: rgba(255,255,255,0.1) !important; }
:root:not([data-theme="light"]) .modal-footer { border-color: rgba(255,255,255,0.1) !important; }

/* Fix chart canvas overflow */
.chart-container { position: relative; width: 100%; }

/* Fix text inside stat-card change */
.stat-card [style*="color"] { /* keep inline color styles */ }

/* Sidebar user section */
:root:not([data-theme="light"]) .sidebar-footer .name { color: #ffffff !important; font-size: .875rem; font-weight: 600; }
:root:not([data-theme="light"]) .sidebar-footer .role { color: rgba(255,255,255,0.5) !important; font-size: .7rem; text-transform: uppercase; }
.sidebar-footer .name { font-size: .875rem; font-weight: 600; }
.sidebar-footer .role { font-size: .7rem; text-transform: uppercase; }

/* Version badge at login */
:root:not([data-theme="light"]) .version-badge { color: rgba(255,255,255,0.35) !important; }

/* Guide section badges text */
:root:not([data-theme="light"]) .card-body .d-flex.align-items-start small.text-muted { color: #8888aa !important; }

/* ============================================================
   Light mode — global text & card overrides
   ============================================================ */
[data-theme="light"] body { color: #0f172a !important; }
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,
[data-theme="light"] h4,[data-theme="light"] h5,[data-theme="light"] h6 { color: #0f172a !important; }
[data-theme="light"] p   { color: #374151 !important; }
[data-theme="light"] small { color: #64748b !important; }
[data-theme="light"] a:not(.btn):not(.nav-link) { color: #3b82f6; }
[data-theme="light"] a:not(.btn):not(.nav-link):hover { color: #1d4ed8; }

/* Cards */
[data-theme="light"] .card {
    color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
}
[data-theme="light"] .card-header {
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
}
[data-theme="light"] .card-header h6,
[data-theme="light"] .card-header h5,
[data-theme="light"] .card-header h4 { color: #0f172a !important; }
[data-theme="light"] .card-title,
[data-theme="light"] .card h6,
[data-theme="light"] .card h5,
[data-theme="light"] .card h4 { color: #0f172a !important; }
[data-theme="light"] .card p,
[data-theme="light"] .card small { color: #374151 !important; }
[data-theme="light"] .card .text-muted { color: #64748b !important; }
[data-theme="light"] .card-body .small.text-muted { color: #64748b !important; }
[data-theme="light"] .card-body p.small { color: #64748b !important; }
[data-theme="light"] .card-body .d-flex.align-items-start small.text-muted { color: #64748b !important; }

/* Modals */
[data-theme="light"] .modal-content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #0f172a !important;
}
[data-theme="light"] .modal-header { border-color: #e2e8f0 !important; }
[data-theme="light"] .modal-footer { border-color: #e2e8f0 !important; }
[data-theme="light"] .modal-title  { color: #0f172a !important; }

/* Badges & tags */
[data-theme="light"] .badge.bg-secondary { background-color: #e2e8f0 !important; color: #374151 !important; }

/* version badge */
[data-theme="light"] .version-badge { color: #94a3b8 !important; }

/* Sidebar footer — sidebar stays dark in light mode */
[data-theme="light"] .sidebar-footer .name { color: #ffffff !important; }
[data-theme="light"] .sidebar-footer .role { color: rgba(255,255,255,.5) !important; }

/* Topbar */
[data-theme="light"] .topbar-title        { color: #0f172a !important; }
[data-theme="light"] .topbar-sep          { background: rgba(0,0,0,.12) !important; }
[data-theme="light"] .topbar-icon-btn     { border-color: rgba(0,0,0,.1) !important; background: rgba(0,0,0,.02) !important; color: #374151 !important; }
[data-theme="light"] .topbar-icon-btn:hover { background: rgba(0,200,83,.07) !important; color: #0f172a !important; }

/* Tables */
[data-theme="light"] .table              { color: #0f172a !important; }
[data-theme="light"] .table th           { color: #475569 !important; background: rgba(0,0,0,.02) !important; border-color: #e2e8f0 !important; }
[data-theme="light"] .table td           { color: #0f172a !important; border-color: #e2e8f0 !important; }
[data-theme="light"] .table tbody tr:hover { background: rgba(0,0,0,.02) !important; }
[data-theme="light"] .table .table td,
[data-theme="light"] .table .table th    { border-color: #e2e8f0 !important; }

/* Stat cards */
[data-theme="light"] .stat-card .stat-value  { color: #0f172a !important; }
[data-theme="light"] .stat-card .stat-label  { color: #64748b !important; }
[data-theme="light"] .stat-card .stat-change { color: #64748b !important; }

/* ── Light mode: universal inline rgba/hex-white overrides ──────────────
   CSS !important overrides inline style attributes.
   These selectors catch every hard-coded dark-mode color in views.
   ─────────────────────────────────────────────────────────────────────── */

/* Text: any rgba(255,255,255,...) inline → readable muted */
[data-theme="light"] [style*="color:rgba(255,255,255"],
[data-theme="light"] [style*="color: rgba(255,255,255"] { color: #374151 !important; }

/* Text: #e8e8f0 / #e0e0f0 (dark-mode base) → near-black */
[data-theme="light"] [style*="color:#e8e8f0"],
[data-theme="light"] [style*="color: #e8e8f0"],
[data-theme="light"] [style*="color:#e0e0f0"],
[data-theme="light"] [style*="color: #e0e0f0"],
[data-theme="light"] [style*="color:#e0e0"] { color: #0f172a !important; }

/* Text: bare #fff on text-bearing elements → near-black */
[data-theme="light"] span[style*="color:#fff"],
[data-theme="light"] span[style*="color: #fff"],
[data-theme="light"] div[style*="color:#fff"],
[data-theme="light"] div[style*="color: #fff"],
[data-theme="light"] p[style*="color:#fff"],
[data-theme="light"] td[style*="color:#fff"],
[data-theme="light"] small[style*="color:#fff"],
[data-theme="light"] code[style*="color:#fff"],
[data-theme="light"] a[style*="color:#fff"] { color: #0f172a !important; }

/* Backgrounds: rgba white subtle sections → near-transparent dark tint */
[data-theme="light"] [style*="background:rgba(255,255,255,"],
[data-theme="light"] [style*="background: rgba(255,255,255,"] { background: rgba(0,0,0,.04) !important; }

/* Borders: rgba white → subtle light gray */
[data-theme="light"] [style*="border:1px solid rgba(255,255,255"]   { border-color: #e2e8f0 !important; }
[data-theme="light"] [style*="border: 1px solid rgba(255,255,255"]  { border-color: #e2e8f0 !important; }
[data-theme="light"] [style*="border-bottom:1px solid rgba(255,255,255"] { border-bottom-color: #e2e8f0 !important; }
[data-theme="light"] [style*="border-color:rgba(255,255,255"]        { border-color: #e2e8f0 !important; }

/* Specific: donut chart dark background inline */
[data-theme="light"] [style*="background:#0a0a14"] { background: #f1f5f9 !important; }

/* Dropdown / menus */
[data-theme="light"] .dropdown-menu { background: #ffffff !important; border-color: #e2e8f0 !important; }
[data-theme="light"] .dropdown-item { color: #374151 !important; }
[data-theme="light"] .dropdown-item:hover { background: rgba(0,0,0,.04) !important; color: #0f172a !important; }

/* Alert overrides for light mode */
[data-theme="light"] .alert-info    { background: rgba(33,150,243,.1) !important; border-color: rgba(33,150,243,.25) !important; color: #1d4ed8 !important; }
[data-theme="light"] .alert-success { background: rgba(0,200,83,.1)  !important; border-color: rgba(0,200,83,.25)  !important; color: #166534 !important; }
[data-theme="light"] .alert-danger  { background: rgba(239,68,68,.1)  !important; border-color: rgba(239,68,68,.25)  !important; color: #991b1b !important; }
[data-theme="light"] .alert-warning { background: rgba(234,179,8,.1)  !important; border-color: rgba(234,179,8,.25)  !important; color: #92400e !important; }
[data-theme="light"] .alert * { color: inherit !important; }

/* Pagination */
[data-theme="light"] .pagination .page-link { background: #ffffff !important; border-color: #e2e8f0 !important; color: #374151 !important; }
[data-theme="light"] .pagination .page-item.active .page-link { background: #00c853 !important; border-color: #00c853 !important; color: #000 !important; }
[data-theme="light"] .pagination .page-link:hover { background: rgba(0,0,0,.04) !important; color: #0f172a !important; }

/* hr */
[data-theme="light"] hr { border-color: #e2e8f0 !important; }

/* code inline (not in pre) */
[data-theme="light"] code:not(pre code) { color: #0369a1 !important; background: #e0f2fe !important; }

/* SMS analysis box in light mode */
[data-theme="light"] #smsAnalysis .small,
[data-theme="light"] #smsBox .small { color: #64748b !important; }
[data-theme="light"] #smsAnalysis strong,
[data-theme="light"] #smsBox strong { color: #0f172a !important; }
