/* ============================================
   QR Code Color Fixes for Dark/Light Mode
   ============================================ */

/* Fix QR Preview Background Colors */
.qr-preview {
  background: 
    radial-gradient(circle at 30% 30%, rgba(99, 102, 241, 0.05), transparent 60%),
    radial-gradient(circle at 70% 70%, rgba(16, 185, 129, 0.05), transparent 60%),
    var(--bg-secondary);
}

[data-theme='dark'] .qr-preview {
  background: 
    radial-gradient(circle at 30% 30%, rgba(99, 102, 241, 0.08), transparent 60%),
    radial-gradient(circle at 70% 70%, rgba(16, 185, 129, 0.08), transparent 60%),
    var(--bg-tertiary);
}

/* QR Code SVG Container - Always White Background */
.qr-preview svg {
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Default QR Colors */
:root {
  --qr-default-fg: #000000;
  --qr-default-bg: #ffffff;
}

[data-theme='dark'] {
  --qr-default-fg: #000000;
  --qr-default-bg: #ffffff;
}

/* Form Controls in QR Tool */
.qr-app .form-control {
  background: var(--bg-secondary);
  border-color: var(--border-color);
  color: var(--text-primary);
}

.qr-app .form-control:focus {
  background: var(--bg-secondary);
  border-color: var(--primary);
}

[data-theme='dark'] .qr-app .form-control {
  background: var(--bg-tertiary);
}

/* Color Picker Swatches */
.qr-color__swatch {
  border: 2px solid var(--border-color);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

[data-theme='dark'] .qr-color__swatch {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

/* Accordion Colors */
.qr-acc {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-acc {
  background: var(--bg-tertiary);
}

.qr-acc__summary {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.03), 
    rgba(16, 185, 129, 0.03)
  );
}

[data-theme='dark'] .qr-acc__summary {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.05), 
    rgba(16, 185, 129, 0.05)
  );
}

.qr-acc[open] .qr-acc__summary {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.08), 
    rgba(16, 185, 129, 0.08)
  );
}

[data-theme='dark'] .qr-acc[open] .qr-acc__summary {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.12), 
    rgba(16, 185, 129, 0.12)
  );
}

/* Design Options */
.qr-design__opt {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-design__opt {
  background: var(--bg-tertiary);
}

.qr-design__opt.is-selected {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.15), 
    rgba(5, 150, 105, 0.15)
  );
  border-color: var(--secondary);
}

[data-theme='dark'] .qr-design__opt.is-selected {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.25), 
    rgba(5, 150, 105, 0.25)
  );
}

/* Mini Buttons */
.qr-mini {
  background: var(--bg-secondary);
  border-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme='dark'] .qr-mini {
  background: var(--bg-tertiary);
}

.qr-mini:hover {
  background: var(--bg-tertiary);
}

[data-theme='dark'] .qr-mini:hover {
  background: var(--bg-secondary);
}

/* Logo Preview */
.qr-logo__preview {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.03), 
    rgba(16, 185, 129, 0.03)
  );
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-logo__preview {
  background: linear-gradient(135deg, 
    rgba(99, 102, 241, 0.08), 
    rgba(16, 185, 129, 0.08)
  );
}

/* Tabs */
.qr-tab {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-tab {
  background: var(--bg-tertiary);
}

/* Dialog */
.qr-dialog__card {
  background: var(--bg-primary);
}

[data-theme='dark'] .qr-dialog__card {
  background: var(--bg-secondary);
}

.qr-dialog__head {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.15), 
    rgba(5, 150, 105, 0.15)
  );
  border-bottom-color: var(--border-color);
}

[data-theme='dark'] .qr-dialog__head {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.25), 
    rgba(5, 150, 105, 0.25)
  );
}

/* Template Cards */
.qr-template {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-template {
  background: var(--bg-tertiary);
}

.qr-template__preview {
  background: #ffffff;
  border-color: var(--border-color);
}

/* Quality Range */
.qr-quality__range {
  background: var(--bg-tertiary);
  border-color: var(--border-color);
}

[data-theme='dark'] .qr-quality__range {
  background: var(--bg-secondary);
}

/* Topbar */
.qr-topbar {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.08), 
    rgba(5, 150, 105, 0.08)
  );
  border-color: rgba(16, 185, 129, 0.2);
}

[data-theme='dark'] .qr-topbar {
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.12), 
    rgba(5, 150, 105, 0.12)
  );
  border-color: rgba(16, 185, 129, 0.3);
}

/* Error Messages */
.form-hint--error {
  color: var(--danger);
  font-weight: 600;
}

/* Checkboxes */
.check {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme='dark'] .check {
  background: var(--bg-tertiary);
}

.check:hover {
  background: var(--bg-tertiary);
  border-color: var(--primary);
}

[data-theme='dark'] .check:hover {
  background: var(--bg-secondary);
}

/* Select Dropdowns */
.qr-app select.form-control {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme='dark'] .qr-app select.form-control {
  background: var(--bg-tertiary);
}

.qr-app select.form-control option {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme='dark'] .qr-app select.form-control option {
  background: var(--bg-tertiary);
}

/* Scrollbar for Tabs */
.qr-tabs::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
}

[data-theme='dark'] .qr-tabs::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.qr-tabs::-webkit-scrollbar-thumb {
  background: var(--border-color);
}

.qr-tabs::-webkit-scrollbar-thumb:hover {
  background: var(--primary);
}

/* Animation for Preview */
@keyframes qrFadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.qr-preview svg {
  animation: qrFadeIn 0.4s ease-out;
}

/* Responsive Adjustments */
@media (max-width: 980px) {
  .qr-preview {
    min-height: 350px;
  }
  
  .qr-preview svg {
    max-width: 300px;
  }
}

@media (max-width: 640px) {
  .qr-preview {
    min-height: 300px;
    padding: 20px;
  }
  
  .qr-preview svg {
    max-width: 250px;
    padding: 15px;
  }
}
