/* Light-mode component overrides — FLOW theme */

[data-theme="light"] .sidebar {
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.6) inset;
}

[data-theme="light"] .status-pill {
  background: #E6F7F5;
  border-color: #99F6E4;
  color: #0D8579;
}

[data-theme="light"] .status-dot {
  background: #0F9B8E;
  animation-name: pulseLight;
}

@keyframes pulseLight {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(15, 155, 142, 0.35); }
  50% { opacity: 0.7; box-shadow: 0 0 0 4px rgba(15, 155, 142, 0); }
}

[data-theme="light"] .stat-card {
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.04);
}

[data-theme="light"] .stat-card.purple .value { color: #0D8579; }
[data-theme="light"] .stat-card.blue .value   { color: #0F9B8E; }
[data-theme="light"] .stat-card.green .value  { color: #059669; }
[data-theme="light"] .stat-card.orange .value { color: #D97706; }

[data-theme="light"] .stat-card.purple .stat-icon { background: #E6F7F5; color: #0D8579; }
[data-theme="light"] .stat-card.blue .stat-icon   { background: #E6F7F5; color: #0F9B8E; }
[data-theme="light"] .stat-card.green .stat-icon  { background: #ECFDF5; color: #059669; }
[data-theme="light"] .stat-card.orange .stat-icon { background: #FFFBEB; color: #D97706; }

[data-theme="light"] .card,
[data-theme="light"] .dash-panel,
[data-theme="light"] .modal {
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.04);
}

[data-theme="light"] .card-header h3,
[data-theme="light"] .dash-panel-title h3 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
}

[data-theme="light"] tbody tr:hover td {
  background: rgba(15, 155, 142, 0.04);
}

[data-theme="light"] tr.log-row-clickable:hover td {
  background: rgba(15, 155, 142, 0.06);
}

[data-theme="light"] tr.log-row-error td:first-child {
  border-left-color: #DC2626;
}

/* Soft badges */
[data-theme="light"] .badge-green  { background: #ECFDF5; color: #059669; border-color: #A7F3D0; }
[data-theme="light"] .badge-red    { background: #FEE2E2; color: #DC2626; border-color: #FECACA; }
[data-theme="light"] .badge-purple { background: #E6F7F5; color: #0D8579; border-color: #99F6E4; }
[data-theme="light"] .badge-blue   { background: #E6F7F5; color: #0F9B8E; border-color: #99F6E4; }
[data-theme="light"] .badge-gray   { background: #F3F4F6; color: #4B5563; border-color: #E8ECF0; }
[data-theme="light"] .badge-orange { background: #FFFBEB; color: #D97706; border-color: #FDE68A; }
[data-theme="light"] .badge-yellow { background: #FFFBEB; color: #D97706; border-color: #FDE68A; }

[data-theme="light"] .btn-primary {
  background: var(--accent);
  box-shadow: 0 2px 8px var(--accent-glow);
}

[data-theme="light"] .btn-primary:hover {
  background: var(--accent-2);
  box-shadow: 0 4px 12px var(--accent-glow);
}

[data-theme="light"] .btn-danger {
  background: #FEE2E2;
  color: #DC2626;
  border-color: #FECACA;
}

[data-theme="light"] .btn-success {
  background: #ECFDF5;
  color: #059669;
  border-color: #A7F3D0;
}

[data-theme="light"] .form-control:focus {
  border-color: rgba(15, 155, 142, 0.45);
  box-shadow: 0 0 0 3px rgba(15, 155, 142, 0.12);
}

[data-theme="light"] .checkbox-pill:has(input:checked) {
  border-color: rgba(15, 155, 142, 0.35);
  background: rgba(15, 155, 142, 0.08);
  color: var(--accent-text);
}

[data-theme="light"] .filter-pill.active {
  background: var(--accent-soft);
  border-color: var(--accent-border);
  color: var(--accent-text);
}

[data-theme="light"] .range-btn.active {
  background: var(--accent-soft);
  border-color: var(--accent-border);
  color: var(--accent-text);
}

[data-theme="light"] .live-strip {
  background: var(--bg-surface);
  border-color: var(--border);
}

[data-theme="light"] .modal-overlay {
  background: rgba(26, 29, 33, 0.35);
}

/* Flow diagram */
[data-theme="light"] .flow-hub-ring {
  border-color: rgba(15, 155, 142, 0.25);
}

[data-theme="light"] .fhr3 {
  border-color: rgba(15, 155, 142, 0.12);
}

[data-theme="light"] .flow-hub-body {
  background: linear-gradient(140deg, rgba(15, 155, 142, 0.12), rgba(15, 155, 142, 0.05));
  border-color: rgba(15, 155, 142, 0.35);
  box-shadow: 0 4px 20px rgba(15, 155, 142, 0.12), inset 0 0 10px rgba(15, 155, 142, 0.04);
  animation-name: hubBodyPulseLight;
}

@keyframes hubBodyPulseLight {
  0%, 100% { box-shadow: 0 4px 16px rgba(15, 155, 142, 0.1), inset 0 0 8px rgba(15, 155, 142, 0.03); }
  50%       { box-shadow: 0 6px 24px rgba(15, 155, 142, 0.18), inset 0 0 12px rgba(15, 155, 142, 0.06); }
}

[data-theme="light"] .flow-hub-body svg,
[data-theme="light"] .flow-hub-body strong {
  color: var(--accent-text);
}

[data-theme="light"] .fvis-node-type.chat  { background: rgba(15, 155, 142, 0.1); color: #0D8579; }
[data-theme="light"] .fvis-node-type.image { background: #FFFBEB; color: #D97706; }

[data-theme="light"] .fvis-key {
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.04);
}

[data-theme="light"] .fvis-key:hover {
  border-color: rgba(15, 155, 142, 0.3);
}

[data-theme="light"] .kdp-panel {
  box-shadow: -8px 0 32px rgba(26, 29, 33, 0.1);
}

[data-theme="light"] .kdp-overlay {
  background: rgba(26, 29, 33, 0.3);
}

[data-theme="light"] .alert-success {
  background: #ECFDF5;
  border-color: #A7F3D0;
  color: #059669;
}

[data-theme="light"] .alert-danger {
  background: #FEE2E2;
  border-color: #FECACA;
  color: #DC2626;
}

[data-theme="light"] .warn-banner {
  background: #FFFBEB;
  border-color: #FDE68A;
  color: #D97706;
}

[data-theme="light"] .pool-strip-item.has-keys {
  background: var(--bg-surface-2);
}

[data-theme="light"] code {
  background: #F3F4F6;
  color: #0D8579;
}

[data-theme="light"] .ldm-pre {
  background: #F3F4F6;
  border-color: var(--border);
}

/* Flow node small text — raise contrast in light mode */
[data-theme="light"] .flow-vis-col-label { color: #6B7280; }
[data-theme="light"] .fvis-node-stats { color: #4B5563; }
[data-theme="light"] .fvis-node-stats span { color: #4B5563; }
[data-theme="light"] .fvis-key-prov { color: #6B7280; }
[data-theme="light"] .fvis-node-info strong { color: #1A1D21; }
[data-theme="light"] .flow-route-chip .route-meta,
[data-theme="light"] .flow-route-chip .route-arrow { color: #6B7280; }
[data-theme="light"] .flow-routes-empty { color: #6B7280; }
[data-theme="light"] .flow-hub-body span { color: var(--accent-text); }
[data-theme="light"] .fvis-empty { color: var(--accent-text); }

/* Public landing — light mode surfaces */
[data-theme="light"] .landing-stat { box-shadow: 0 1px 2px rgba(26, 29, 33, 0.04); }
[data-theme="light"] .landing-hero-text p,
[data-theme="light"] .landing-cta p { color: #6B7280; }

[data-theme="light"] .keys-section-nav {
  background: #fff;
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.04);
}

[data-theme="light"] .project-key-card {
  background: #fff;
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.03);
}

[data-theme="light"] .project-key-card:hover {
  box-shadow: 0 4px 16px rgba(26, 29, 33, 0.06);
}

[data-theme="light"] .pkc-key-row {
  background: #F9FAFB;
}

[data-theme="light"] .keys-key-picker {
  background: #F9FAFB;
}

[data-theme="light"] .keys-info-banner {
  background: #FFFBEB;
}
