/* InboxPath Dark Theme - Purple & Black, Easy on the Eyes */
:root {
    --dark-bg: #0d0d12;
    --dark-bg-elevated: #16161d;
    --dark-bg-card: #1a1a24;
    --dark-bg-input: #23232f;
    --dark-border: #2a2a38;
    --dark-text: #e8e8ec;
    --dark-text-muted: #a0a0ad;
    --accent-purple: #7c5cbf;
    --accent-purple-light: #9d7ed9;
    --accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Body & Main Background */
body {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text) !important;
}

/* Navbar - keep dark */
.navbar-dark.bg-dark,
.navbar.navbar-dark {
    background: linear-gradient(135deg, #1a1a24 0%, #0d0d12 100%) !important;
    border-bottom: 1px solid var(--dark-border);
}

/* Sidebar */
.sidebar {
    background: var(--dark-bg-card) !important;
    border-right: 1px solid var(--dark-border);
    box-shadow: 2px 0 15px rgba(0,0,0,0.3);
}
.sidebar .nav-link {
    color: var(--dark-text-muted) !important;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    background: var(--accent-gradient) !important;
    color: white !important;
}

/* Admin sidebar */
.admin-sidebar {
    background: var(--dark-bg-card) !important;
    border-right: 1px solid var(--dark-border);
    box-shadow: 2px 0 15px rgba(0,0,0,0.3);
}
.admin-sidebar .nav-link {
    color: var(--dark-text-muted) !important;
}
.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link.active {
    background: var(--accent-gradient) !important;
    color: white !important;
}
.admin-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}

/* Cards */
.card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    color: var(--dark-text);
}
.card-header {
    background: var(--dark-bg-elevated) !important;
    border-bottom: 1px solid var(--dark-border);
    color: var(--dark-text);
}
.card-header.bg-white {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}
.card-body {
    color: var(--dark-text);
}

/* Bootstrap overrides */
.bg-white {
    background: var(--dark-bg-card) !important;
    color: var(--dark-text);
}
.bg-light {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}
.bg-body {
    background: var(--dark-bg) !important;
}
.text-dark {
    color: var(--dark-text) !important;
}
.text-muted {
    color: var(--dark-text-muted) !important;
}
.border {
    border-color: var(--dark-border) !important;
}
.border-top, .border-bottom, .border-start, .border-end {
    border-color: var(--dark-border) !important;
}

/* Form controls */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.form-control::placeholder {
    color: var(--dark-text-muted);
}
.form-control:focus,
.form-select:focus {
    background: var(--dark-bg-input) !important;
    border-color: var(--accent-purple) !important;
    color: var(--dark-text) !important;
    box-shadow: 0 0 0 0.25rem rgba(124, 92, 191, 0.25);
}
.input-group-text {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-muted) !important;
}
.form-check-input {
    background-color: var(--dark-bg-input);
    border-color: var(--dark-border);
}
.form-check-input:checked {
    background-color: var(--accent-purple);
    border-color: var(--accent-purple);
}

/* Tables */
.table {
    color: var(--dark-text);
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(124, 92, 191, 0.05);
    --bs-table-hover-bg: rgba(124, 92, 191, 0.08);
    --bs-table-border-color: var(--dark-border);
}
.table thead th {
    background: var(--dark-bg-elevated) !important;
    border-color: var(--dark-border);
    color: var(--dark-text);
}
.table tbody td {
    border-color: var(--dark-border);
}
.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(124, 92, 191, 0.03);
}

/* Dropdown */
.dropdown-menu {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
}
.dropdown-item {
    color: var(--dark-text) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}
.dropdown-divider {
    border-color: var(--dark-border);
}

/* Buttons - same purple as login/Get Started on landing (#667eea → #764ba2) */
.btn-primary,
.btn-success,
.btn-primary-custom,
.btn-login,
.btn-register,
.btn-update,
.btn-purchase,
.btn-pay,
.btn-submit,
.btn-action,
.btn-search {
    background: var(--accent-gradient) !important;
    border: none !important;
    color: white !important;
}
.btn-primary:hover,
.btn-success:hover,
.btn-primary-custom:hover,
.btn-login:hover,
.btn-register:hover,
.btn-update:hover,
.btn-purchase:hover,
.btn-pay:hover:not(:disabled),
.btn-submit:hover,
.btn-action:hover,
.btn-search:hover {
    opacity: 0.95;
    box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
}
.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning {
    border-color: var(--accent-purple) !important;
    color: var(--accent-purple-light) !important;
}
.btn-outline-primary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover {
    background: rgba(102, 126, 234, 0.2) !important;
    border-color: var(--accent-purple) !important;
    color: var(--accent-purple-light) !important;
}
.btn-secondary {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.btn-secondary:hover {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}
.btn-light {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.btn-light:hover {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}

/* Alerts */
.alert-warning {
    background: rgba(255, 193, 7, 0.15);
    border-color: rgba(255, 193, 7, 0.4);
    color: #ffd966;
}
.alert-danger {
    background: rgba(220, 53, 69, 0.15);
    border-color: rgba(220, 53, 69, 0.4);
    color: #f5a2a2;
}
.alert-success {
    background: rgba(25, 135, 84, 0.15);
    border-color: rgba(25, 135, 84, 0.4);
    color: #7dd3a8;
}
.alert-info {
    background: rgba(13, 202, 240, 0.15);
    border-color: rgba(13, 202, 240, 0.4);
    color: #7ddff5;
}

/* List group */
.list-group-item {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border);
    color: var(--dark-text);
}
.list-group-item-action:hover {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}

/* Modal */
.modal-content {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}
.modal-header {
    border-bottom-color: var(--dark-border);
}
.modal-footer {
    border-top-color: var(--dark-border);
}

/* Search/Finder cards - Email Finder */
.search-card,
.search-container .card,
.email-result,
.recent-discoveries,
.results-container .card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.search-card *,
.recent-discoveries *,
.email-result * {
    color: var(--dark-text) !important;
}
.search-card .text-muted,
.recent-discoveries .text-muted,
.email-result .text-muted {
    color: var(--dark-text-muted) !important;
}
.search-card .form-label,
.search-card label,
.recent-discoveries .form-label,
.recent-discoveries label {
    color: var(--dark-text) !important;
}
.recent-discoveries .table td,
.recent-discoveries .table th {
    color: var(--dark-text) !important;
}
.email-result {
    border-left-color: var(--accent-purple) !important;
}

/* Contacts - filter sidebar (was white) */
.filter-sidebar {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.filter-sidebar *,
.filter-sidebar h5,
.filter-sidebar .form-label,
.filter-sidebar label {
    color: var(--dark-text) !important;
}
.filter-sidebar .form-control,
.filter-sidebar .form-select {
    background: var(--dark-bg-input) !important;
    color: var(--dark-text) !important;
}
.filter-sidebar .btn {
    color: var(--dark-text) !important;
}
.contact-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.contact-card * {
    color: var(--dark-text) !important;
}
.contact-card .text-primary,
.contact-card a {
    color: var(--accent-purple-light) !important;
}

/* Create Campaign - form card and all sections */
.campaign-form-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.campaign-form-card *,
.campaign-form-card .form-label,
.campaign-form-card label {
    color: var(--dark-text) !important;
}
.campaign-form-card .help-text,
.campaign-form-card .text-muted {
    color: var(--dark-text-muted) !important;
}
.campaign-form-card .alert-link {
    color: var(--accent-purple-light) !important;
}
.discovered-emails-container {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
}
.discovered-emails-container .form-check,
.discovered-emails-container .email-check-item,
.form-check.email-check-item {
    background: var(--dark-bg-elevated) !important;
    padding: 0.5rem;
    border-radius: 6px;
}
.follow-up-section {
    background: var(--dark-bg-elevated) !important;
    border-color: var(--dark-border) !important;
}
.follow-up-item {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.follow-up-item * {
    color: var(--dark-text) !important;
}
.schedule-section {
    background: var(--dark-bg-elevated) !important;
    border-color: var(--dark-border) !important;
}
.schedule-option {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.schedule-option:hover {
    background: var(--dark-bg-elevated) !important;
}
.schedule-option.selected {
    background: rgba(102, 126, 234, 0.2) !important;
    border-color: var(--accent-purple) !important;
}
.schedule-option-title {
    color: var(--dark-text) !important;
}
.schedule-option-desc {
    color: var(--dark-text-muted) !important;
}
.schedule-datetime {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
}
.quick-schedule-btn {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.quick-schedule-btn:hover {
    background: var(--dark-bg-elevated) !important;
}
.quick-schedule-btn.active {
    background: var(--accent-gradient) !important;
    color: white !important;
}
.schedule-preview {
    background: rgba(245, 158, 11, 0.2) !important;
    border-color: #f59e0b !important;
    color: #fef3c7 !important;
}
.email-preview,
#emailPreview {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.email-body-preview {
    color: var(--dark-text) !important;
}
.campaign-form-card .card,
.campaign-form-card .card-body {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.campaign-form-card .card.border-primary {
    border-color: var(--accent-purple) !important;
}
.section-divider {
    border-color: var(--dark-border) !important;
}
.remove-follow-up {
    background: rgba(220, 53, 69, 0.3) !important;
    color: #f5a2a2 !important;
}
.remove-follow-up:hover {
    background: #dc2626 !important;
    color: white !important;
}

/* Campaigns - cards and search bar */
.search-bar,
.campaign-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.campaign-card *,
.search-bar * {
    color: var(--dark-text) !important;
}
.campaign-card .stat-label {
    color: var(--dark-text-muted) !important;
}
.campaign-card .stat-value {
    color: var(--dark-text) !important;
}
.filter-tag {
    background: var(--dark-bg-input) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}
.filter-tag.active {
    background: var(--accent-gradient) !important;
    color: white !important;
}

/* Analytics - stat boxes and table card */
.stat-box,
.campaigns-table-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.stat-box *,
.campaigns-table-card * {
    color: var(--dark-text) !important;
}
.stat-box .stat-value {
    color: var(--dark-text) !important;
    font-weight: 700;
}
.stat-box .stat-label {
    color: var(--dark-text-muted) !important;
}
.campaigns-table-card .table tbody td {
    color: var(--dark-text) !important;
}

/* Tables - all data rows white/visible */
.table tbody td,
.table tbody th {
    color: var(--dark-text) !important;
}

/* Stats cards - keep gradient */
.stats-card,
.card[style*="linear-gradient"] {
    color: white !important;
}

/* Badges - darker variants */
.badge.bg-secondary {
    background: var(--dark-bg-input) !important;
    color: var(--dark-text-muted);
}
.badge.bg-light {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}

/* Pagination */
.page-link {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.page-link:hover {
    background: var(--dark-bg-elevated) !important;
    color: var(--accent-purple-light);
}
.page-item.active .page-link {
    background: var(--accent-gradient) !important;
    border-color: var(--accent-purple);
}

/* Auth pages - login, register, profile cards */
.login-card,
.register-card,
.profile-card,
.card-custom,
.connect-card,
.checkout-card,
.success-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.package-summary {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border);
}
.login-body,
.register-body,
.profile-body {
    color: var(--dark-text);
}
.info-section {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}

/* Landing page */
.navbar-custom {
    background: var(--dark-bg-card) !important;
    border-bottom: 1px solid var(--dark-border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.hero-section {
    background: linear-gradient(135deg, #1a1a24 0%, #0d0d12 50%, #2d1f4e 100%) !important;
}
.section-light,
section.bg-light {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text);
}
.feature-card,
.pricing-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}
.pricing-card.featured {
    border-color: var(--accent-purple);
}
/* Pricing page - cards and font */
.pricing-card,
.pricing-card * {
    color: var(--dark-text) !important;
}
.pricing-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
}
.pricing-card .package-name,
.pricing-card .package-price {
    color: var(--dark-text) !important;
}
.pricing-card .package-description,
.pricing-card .package-credits,
.pricing-card .cost-per-credit,
.pricing-card .features-list li {
    color: var(--dark-text-muted) !important;
}
.pricing-card .features-list li i {
    color: #7dd3a8 !important;
}
/* Pricing FAQ card */
.pricing-container .card,
.pricing-container .card * {
    background: var(--dark-bg-card) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.pricing-container .card .text-muted {
    color: var(--dark-text-muted) !important;
}

/* Purchase History - page header and cards (campaigns/analytics keep gradient) */
.purchase-history-header,
.purchase-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text) !important;
}
.purchase-history-header *,
.purchase-card * {
    color: var(--dark-text) !important;
}
.purchase-history-header .text-muted,
.purchase-card .text-muted {
    color: var(--dark-text-muted) !important;
}
.purchase-history-header .text-primary {
    color: var(--accent-purple-light) !important;
}
.empty-state {
    color: var(--dark-text) !important;
}
.empty-state i {
    color: var(--dark-text-muted) !important;
}
/* View Campaign page - stat cards, info cards, recipients */
.stat-card,
.info-card {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    color: var(--dark-text) !important;
}
.stat-card .stat-value,
.info-card .stat-value {
    color: var(--dark-text) !important;
}
.stat-card .stat-value.text-primary,
.stat-card .stat-value.text-info {
    color: var(--accent-purple-light) !important;
}
.stat-card .stat-value.text-success {
    color: #7dd3a8 !important;
}
.stat-card .stat-label,
.info-card .stat-label {
    color: var(--dark-text-muted) !important;
}
.info-card h5,
.info-card strong {
    color: var(--dark-text) !important;
}
.info-card p,
.info-card .text-muted {
    color: var(--dark-text-muted) !important;
}
.recipient-item {
    border-bottom-color: var(--dark-border) !important;
    color: var(--dark-text);
}
.recipient-item strong {
    color: var(--dark-text) !important;
}
.recipient-item small,
.recipient-item .text-muted {
    color: var(--dark-text-muted) !important;
}
/* Email preview card - dark theme */
.email-preview-card .email-meta-label,
.follow-up-card .email-meta-label {
    color: var(--dark-text-muted) !important;
}
.email-body-content {
    background: var(--dark-bg-input) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}
.follow-up-card {
    border-left: 4px solid var(--accent-purple);
}
.follow-up-card .badge.bg-secondary {
    background: rgba(124, 92, 191, 0.4) !important;
    color: var(--accent-purple-light) !important;
}
/* Campaign view status badge on dark */
.view-campaign-page .badge-status.bg-primary {
    background: rgba(124, 92, 191, 0.5) !important;
    color: var(--accent-purple-light) !important;
}
.view-campaign-page .badge-status.bg-warning {
    background: rgba(245, 158, 11, 0.4) !important;
    color: #fef3c7 !important;
}
.view-campaign-page .badge-status.bg-danger {
    background: rgba(220, 53, 69, 0.4) !important;
    color: #f5a2a2 !important;
}
.view-campaign-page .badge.bg-light.text-dark {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text) !important;
    border: 1px solid var(--dark-border);
}

/* Campaign/Analytics status badges - high contrast on dark cards */
.badge-status.badge-active {
    background: rgba(34, 197, 94, 0.4) !important;
    color: #7dd3a8 !important;
}
.badge-status.badge-paused {
    background: rgba(245, 158, 11, 0.5) !important;
    color: #fef3c7 !important;
}
.badge-status.badge-completed {
    background: rgba(6, 182, 212, 0.4) !important;
    color: #67e8f9 !important;
}
.badge-status.badge-scheduled {
    background: rgba(148, 163, 184, 0.4) !important;
    color: #e2e8f0 !important;
}

/* Purchase history status badges - dark variants */
.status-completed {
    background: rgba(25, 135, 84, 0.3) !important;
    color: #7dd3a8 !important;
}
.status-pending {
    background: rgba(255, 193, 7, 0.2) !important;
    color: #ffd966 !important;
}
.status-failed {
    background: rgba(220, 53, 69, 0.2) !important;
    color: #f5a2a2 !important;
}
.status-refunded {
    background: var(--dark-bg-input) !important;
    color: var(--dark-text-muted) !important;
}

.main-section,
.campaign-form {
    background: var(--dark-bg) !important;
    color: var(--dark-text);
}
.campaign-form {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
}
.form-group label {
    color: var(--dark-text-muted) !important;
}
footer.bg-light,
footer {
    background: var(--dark-bg-card) !important;
    border-top: 1px solid var(--dark-border);
    color: var(--dark-text-muted);
}

/* Toast notifications */
.toast {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}
.toast-body {
    color: var(--dark-text);
}

/* Scrollbar (optional, for webkit) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: var(--dark-bg);
}
::-webkit-scrollbar-thumb {
    background: var(--dark-border);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent-purple);
}
