.theme3 {
  --bg: #1e1e2f;
  --surface: #2a2a40;
  --primary: #9d4edd;     /* purple CTA */
  --accent: #ffafcc;      /* softer link accent */
  --text: #f8f9fa;
  --muted: #c5c6ca;
  --border: #3b3b52;
  --success: #80ed99;
  --danger: #ef233c;
  --highlight: #ffd966;
  --muted-weak: rgba(255,255,255,0.03);
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

/* table overrides */
.theme3 .user-list-table tbody { color: var(--text); }

/* hide/show */
.theme3 nav { display: none; }
.theme3 .container-fluid { margin-left: auto; }
.theme3 .advancedExportBlacklistBtn { display: none; }
.theme3 .default-headers { display: none; }
.theme3 .default-row { display: none; }
.theme3 .theme3-headers { display: table-row !important; }
.theme3 .theme3-row { display: table-row !important; }

/* Surfaces */
.theme3 .login-card,
.theme3 .message-card,
.theme3 .list-group-item,
.theme3 .user-list-table,
.theme3 .file-list-table,
.theme3 .table-leaderboard,
.theme3 .charts .chart-container,
.theme3 .totals .stat-container {
  background: var(--surface);
  box-shadow: 0 10px 20px rgba(0,0,0,0.45);
  color: var(--text);
}

/* Dropzone */
.theme3 .dropzone { border: 2px dashed var(--primary); background: linear-gradient(180deg, rgba(255,255,255,0.01), transparent); }

/* Inputs / autofill */
.theme3 input { color: var(--text); background: transparent; }
.theme3 input:-webkit-autofill,
.theme3 input:-webkit-autofill:hover,
.theme3 input:-webkit-autofill:focus,
.theme3 input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px var(--surface) inset !important;
}

/* Datepicker / highlight */
.theme3 .highlight { background-color: var(--highlight); color: #111; }
.theme3 .daterangepicker td.active,
.theme3 .daterangepicker td.active:hover { background-color: var(--primary); color: #fff; }
.theme3 .daterangepicker .applyBtn { background-color: var(--primary); border-color: var(--primary); color: #fff; }
.theme3 .daterangepicker .cancelBtn { color: var(--accent); }

/* Floating label */
.theme3 .floating-label,
.theme3 .floating-label-field--s3+.floating-label { color: var(--muted); }
.theme3 .floating-label-field--s3 { border: 1px solid var(--border); color: var(--text); background: transparent; }
.theme3 .floating-label-field--s3:focus,
.theme3 .floating-label-field--s3:not(:placeholder-shown) { border-color: var(--primary); }
.theme3 .floating-label-field--s3:focus + .floating-label,
.theme3 .floating-label-field--s3:not(:placeholder-shown) + .floating-label { background: var(--surface); color: var(--text); }

/* Pagination */
.theme3 .pagination .page-item.active .page-link { background-color: var(--primary); border-color: var(--primary); color: #fff; }
.theme3 .pagination .page-item .page-link { color: var(--primary); }

/* Current File */
.theme3 .current-file { background: var(--surface); border: 1px solid var(--success); }
.theme3 .current-file .file-name { color: var(--accent); }
.theme3 .current-file a { color: var(--success); }

/* List items */
.theme3 .list-group-item { background: var(--surface); }
.theme3 .list-group-item:hover { box-shadow: 2px 4px 16px rgba(0,0,0,0.55); transform: scale3d(1.05,1.05,1.05); }

/* Table leaderboard */
.theme3 .table-leaderboard tbody tr:first-child { background-color: #7a2bbf; opacity: 0.85; color: #fff; }
.theme3 .table-leaderboard tbody tr:first-child td:first-child div { background: #5a1e8a; border: 1px solid #5a1e8a; }

/* Login button */
.theme3 .login-card .signin-btn { background: var(--primary); border-color: var(--primary); color: #fff; }

/* Side nav */
.theme3 .side-nav { background: #151523; box-shadow: 10px 0 20px rgba(0,0,0,0.6); }
.theme3 .side-nav .nav-item .nav-item-label { color: var(--text); }

/* Buttons */
.theme3 .acceptBtn,
.theme3 .saveBtn,
.theme3 .rejectBtn,
.theme3 .riskyBtn { background: var(--primary); border-color: var(--primary); color: #fff; }

/* Export outline */
.theme3 .exportRecordsBtn { background-color: transparent; border: 2px solid var(--primary); color: var(--primary); }

/* Select arrows */
.theme3 #exportRecordsModal select,
.theme3 #addUserModal select,
.theme3 #addConfigModal select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--primary) 60%),
    linear-gradient(135deg, var(--primary) 40%, transparent 50%);
}

/* Error text */
.theme3 .error-div { color: #ff6b6b; }

/* Exclamation */
.theme3 .exclamation-circle-active { color: var(--primary); }

/* Loader */
.theme3 .lds-ring div { border-color: var(--primary) transparent transparent transparent; }

/* Audit campaign button */
.theme3 .audit-campaign-btn {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  width: 160px;
  height: 56px;
  font-size: 15px;
  border-radius: 8px;
  transition: transform .12s ease, background .12s ease;
}
.theme3 .audit-campaign-btn:hover { background: #7b2cbf; transform: translateY(-1px); }
.theme3 .audit-campaign-btn:focus { outline: 3px solid rgba(157,78,221,0.14); outline-offset: 2px; }

/* Theme 3 — Midnight Purple button overrides */
.theme3 .user-list-table .deleteBtn,
.theme3 .user-list-table .editBtn,
.theme3 .user-list-table .reviewBtn,
.theme1 .generateSignalsBtn,
.theme3 .confirmDelBtn,
.theme3 .addUserBtn,
.theme3 .confirmAddUserBtn,
.theme3 .uploadLeadsBtn,
.theme3 .confirmUploadLeadsBtn,
.theme3 .uploadAddressesBtn,
.theme3 .confirmUploadAddressesBtn,
.theme3 .uploadPhoneNumbersBtn,
.theme3 .confirmUploadPhoneNumbersBtn,
.theme3 .confirmAppendBlacklistBtn,
.theme3 .confirmClearListBtn,
.theme3 .advancedExportBlacklistBtn,
.theme3 .exportFileBtn,
.theme3 .confirmUpdateUserBtn,
.theme3 .emailValidationBtn,
.theme3 .appendBlacklistBtn,
.theme3 .clearBlacklistBtn,
.theme3 .removeBlacklistBtn,
.theme3 .openConfirmRemoveBlacklistBtn,
.theme3 .confirmRemoveBlacklistBtn,
.theme3 .appendWhitelistBtn,
.theme3 .clearWhitelistBtn,
.theme3 .removeWhitelistBtn,
.theme3 .openConfirmRemoveWhitelistBtn,
.theme3 .confirmRemoveWhitelistBtn,
.theme3 .confirmAppendWhitelistBtn,
.theme3 .exportWhitelistBtn,
.theme3 .swapBtn,
.theme3 .linkedinUrlBtn,
.theme3 .confirmSwapBtn,
.theme3 .advancedExportWhitelistBtn,
.theme3 .appendPhonelistBtn,
.theme3 .removePhonelistBtn,
.theme3 .exportPhonelistBtn,
.theme3 .advancedExportPhonelistBtn,
.theme3 .confirmAppendPhonelistBtn,
.theme3 .openConfirmRemovePhonelistBtn,
.theme3 .confirmRemovePhonelistBtn,
.theme3 .exportLeadsBtn,
.theme3 .sampleExportBtn {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  height: 56px;
  width: 160px;
  font-size: 15px;
  border-radius: 8px;
  cursor: pointer;
  transition: transform .12s ease, filter .12s ease;
}
.theme3 .user-list-table .showFullEmailBtn { width: 95px; }
.theme3 .user-list-table .editBtn,
.theme3 .user-list-table .reviewBtn,
.theme3 .user-list-table .deleteBtn { width: 65px; padding: 8px 10px; font-size: 13px; }

/* exportRecordsBtn outlined */
.theme3 .exportRecordsBtn {
  background-color: transparent;
  border: 2px solid var(--primary);
  color: var(--primary);
}

/* Hover / focus / disabled */
.theme3 .user-list-table .editBtn:hover,
.theme3 .confirmDelBtn:hover,
.theme3 .uploadLeadsBtn:hover,
.theme3 .sampleExportBtn:hover { filter: brightness(.94); transform: translateY(-1px); }

.theme3 .user-list-table .deleteBtn:hover { filter: brightness(.92); transform: translateY(-1px); }

.theme3 .user-list-table .editBtn:focus,
.theme3 .confirmDelBtn:focus,
.theme3 .exportRecordsBtn:focus {
  outline: 3px solid rgba(157,78,221,0.14);
  outline-offset: 2px;
}

.theme3 .user-list-table .editBtn:disabled,
.theme3 .confirmDelBtn:disabled,
.theme3 .exportRecordsBtn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

