/* Content Compass Portal — Light mode overrides */

.cc-portal.cc-light-mode,
.cc-light-mode .cc-portal-dashboard,
.cc-light-mode .cc-portal-login-form,
.cc-light-mode #cc-modal {
  --brand-blue: #4589ff;
  --brand-teal: #0d9488;
  --cc-brand-gradient: linear-gradient(90deg, var(--brand-blue), var(--brand-teal));
  --cc-brand-primary: var(--brand-teal);
  --cc-brand-primary-hover: #0b7d74;
  --cc-brand-primary-active: #086963;
  --cc-brand-accent: var(--brand-teal);
  --cc-brand-focus: rgba(13, 148, 136, 0.35);
  --accent: var(--cc-brand-primary);

  --cc-bg: #f8fafb;
  --cc-card: #ffffff;
  --cc-text: #1a2b3c;
  --cc-muted: #64748b;
  --cc-border: #d4ddea;
  --muted: var(--cc-muted);
}

html:has(.cc-portal.cc-light-mode),
body:has(.cc-portal.cc-light-mode),
.wp-site-blocks:has(.cc-portal.cc-light-mode),
.site:has(.cc-portal.cc-light-mode),
.site-content:has(.cc-portal.cc-light-mode),
.entry-content:has(.cc-portal.cc-light-mode),
.wp-block-post-content:has(.cc-portal.cc-light-mode) {
  background: #f8fafb !important;
  color: #1a2b3c !important;
}

:where(.wp-site-blocks:has(.cc-portal.cc-light-mode) :focus) {
  outline-width: 0;
  outline-style: none;
}

/* Cards, sections, tables */
.cc-light-mode .cc-card {
  background: #ffffff;
  border-color: #d7e0ec;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.08);
  border-radius: 14px;
}
.cc-light-mode .cc-card.cc-plain {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.cc-light-mode .cc-portal-section h1,
.cc-light-mode .cc-portal-section h2,
.cc-light-mode .cc-portal-section h3 {
  color: #0f172a;
  background: none;
}
.cc-light-mode .cc-portal-section h3::before,
.cc-light-mode .cc-portal-section h2::before {
  background: var(--cc-brand-gradient);
  opacity: 1;
}
.cc-light-mode .cc-table {
  background: #ffffff;
  border-color: #d7e0ec;
  color: var(--cc-text);
}
.cc-light-mode .cc-table thead th {
  background: #eef2f8;
  color: #475569;
}
.cc-light-mode .cc-table tbody tr:nth-child(odd) td {
  background: #f5f7fb;
}

/* Inputs */
.cc-light-mode .cc-portal-pre {
  background: #f1f5f9;
  color: #0f172a;
  border-color: #d7e0ec;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,0.4);
}
.cc-light-mode label,
.cc-light-mode .cc-portal-login-form label {
  font-weight: 600;
}

/* Leads modal light theme */
.cc-light-mode .cc-lead-detail-panel.cc-modal-overlay {
  background: rgba(248, 250, 252, 0.92);
  backdrop-filter: blur(6px);
}
.cc-light-mode .cc-lead-detail-panel .cc-modal {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 25px 80px rgba(15, 23, 42, 0.18);
  color: #0f172a;
}
.cc-light-mode .cc-lead-detail-actions .button {
  background: var(--cc-brand-primary);
  border-color: var(--cc-brand-primary);
  color: #06121a;
}
.cc-light-mode .cc-hub-card-static:focus {
  border-color: rgba(15,23,42,0.12);
  box-shadow: 0 1px 2px rgba(15,23,42,0.08);
}
.cc-light-mode .cc-billing-summary .cc-billing-dates {
  color: rgba(15,23,42,0.6);
}
.cc-light-mode .cc-billing-plans .cc-card {
  border-color: rgba(15,23,42,0.1);
  background: #ffffff;
}
.cc-light-mode .cc-plan-current {
  border-color: #3bd8ca !important;
  box-shadow: 0 0 0 1px rgba(59,216,202,0.35), 0 12px 24px rgba(59,216,202,0.18);
}
.cc-light-mode .cc-plan-current .cc-plan-header h3 {
  color: #128f85;
}
.cc-light-mode .cc-lead-detail-close {
  background: rgba(15, 23, 42, 0.05);
  border: 1px solid rgba(15, 23, 42, 0.18);
  color: #0f172a;
}
.cc-light-mode .cc-lead-detail-close:hover,
.cc-light-mode .cc-lead-detail-close:focus {
  background: rgba(59, 216, 202, 0.2);
  border-color: var(--cc-brand-primary);
  color: #036666;
}
.cc-light-mode .cc-lead-detail-body section,
.cc-light-mode .cc-lead-detail-grid > div,
.cc-light-mode .cc-lead-detail-notes,
.cc-light-mode .cc-lead-detail-fields-table,
.cc-light-mode .cc-lead-detail-timeline {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
}
.cc-light-mode .cc-lead-detail-timeline li {
  color: #1f2933;
}
.cc-light-mode .cc-lead-detail-grid h4,
.cc-light-mode .cc-lead-detail-body h4 {
  color: #0f172a;
}
.cc-light-mode input[type="text"],
.cc-light-mode input[type="url"],
.cc-light-mode input[type="number"],
.cc-light-mode input[type="password"],
.cc-light-mode input[type="email"],
.cc-light-mode input[type="file"],
.cc-light-mode textarea,
.cc-light-mode select {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.cc-light-mode input::placeholder,
.cc-light-mode textarea::placeholder {
  color: #94a3b8;
}

/* Buttons */
.cc-light-mode .button.button-primary,
.cc-light-mode .cc-portal-actions .button,
.cc-light-mode .cc-burger {
  background: var(--cc-brand-primary);
  color: #ffffff !important;
  box-shadow: 1px 2px 6px rgba(13, 148, 136, 0.20);
}
.cc-light-mode .button.button-primary:hover,
.cc-light-mode .cc-portal-actions .button:hover,
.cc-light-mode .cc-burger:hover {
  background: var(--cc-brand-primary-hover);
}
.cc-light-mode .button,
.cc-light-mode .button.button-secondary {
  border-color: #cbd5e1;
  color: #0f172a;
}
.cc-light-mode .button:hover {
  border-color: var(--cc-brand-primary);
  color: var(--cc-brand-primary);
}

/* Nav + tabs */
.cc-light-mode .cc-portal-nav {
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(15, 23, 42, 0.08);
  padding: 18px 20px;
}
.cc-light-mode .cc-portal-tabs .cc-tab {
  color: #475569;
}
.cc-light-mode .cc-portal-tabs .cc-tab.active {
  color: #0f172a;
  font-weight: 600;
}
.cc-light-mode .cc-portal-tabs .cc-tab + .cc-tab::before {
  color: #cbd5e1;
}

/* Chips, badges */
.cc-light-mode .cc-badge { color: #0f172a; border-color: #cbd5e1; background: #eef2f8; }
.cc-light-mode .cc-badge-success { background: rgba(34,197,94,0.14); color: #166534; border-color: rgba(34,197,94,0.4); }
.cc-light-mode .cc-badge-warn { background: rgba(245,158,11,0.18); color: #b45309; border-color: rgba(245,158,11,0.4); }
.cc-light-mode .cc-badge-danger { background: rgba(239,68,68,0.16); color: #b91c1c; border-color: rgba(239,68,68,0.4); }
.cc-light-mode .cc-badge.cc-badge-toggle-on {
  background: rgba(34,197,94,0.18);
  border-color: rgba(34,197,94,0.5);
  color: #166534;
  font-weight: 600;
}
.cc-light-mode .cc-badge.cc-badge-toggle-off {
  background: #e2e8f0;
  border-color: #cbd5e1;
  color: #475569;
}

/* Notices */
.cc-light-mode .cc-notice {
  border-left-width: 4px;
  color: #1e293b;
  background: #ffffff;
  border: 1px solid #e2e8f0;
}
.cc-light-mode .cc-notice-success { background: rgba(34,197,94,0.12); border-left-color: #22c55e; }
.cc-light-mode .cc-notice-warning { background: rgba(245,158,11,0.14); border-left-color: #f59e0b; }
.cc-light-mode .cc-notice-error { background: rgba(239,68,68,0.12); border-left-color: #ef4444; }

/* Messages & logs */
.cc-light-mode .cc-message { background: #ffffff !important; border-color: #d7e0ec !important; }
.cc-light-mode .cc-message-content { color: #0f172a; }
.cc-light-mode .cc-log-table tbody tr { background: #ffffff; }
.cc-light-mode .cc-log-row { box-shadow: inset 0 0 0 1px rgba(15,23,42,0.06); }

/* Footer */
.cc-light-mode .cc-portal-footer {
  color: #94a3b8;
}
.cc-light-mode .cc-portal-footer a { color: var(--cc-brand-primary); }
.cc-light-mode .cc-portal-footer a:hover { color: var(--cc-brand-primary-hover); }
