/**
 * GIG-tech ID Studio — Global theme + contrast (all screens)
 * Loaded after app.css on every layout.
 */

/* Bootstrap component overrides for light/dark tokens */
[data-theme="light"] body,
[data-theme="dark"] body {
  color: var(--gig-text);
  background: var(--gig-bg);
}

[data-theme] .card,
[data-theme] .modal-content,
[data-theme] .dropdown-menu,
[data-theme] .list-group-item,
[data-theme] .offcanvas,
[data-theme] .popover,
[data-theme] .tooltip-inner {
  background-color: var(--gig-surface);
  color: var(--gig-text);
  border-color: var(--gig-border);
}

[data-theme] .card-header,
[data-theme] .card-footer,
[data-theme] .modal-header,
[data-theme] .modal-footer,
[data-theme] .list-group-item {
  background-color: var(--gig-surface);
  color: var(--gig-text);
  border-color: var(--gig-border);
}

[data-theme] .table {
  --bs-table-color: var(--gig-text);
  --bs-table-bg: var(--gig-surface);
  --bs-table-border-color: var(--gig-border);
  --bs-table-striped-bg: color-mix(in srgb, var(--gig-surface) 92%, var(--gig-primary) 8%);
  --bs-table-hover-bg: color-mix(in srgb, var(--gig-surface) 88%, var(--gig-primary) 12%);
  color: var(--gig-text);
}

[data-theme] .form-control,
[data-theme] .form-select,
[data-theme] .form-control:focus,
[data-theme] .form-select:focus,
[data-theme] .input-group-text {
  background-color: var(--gig-input-bg);
  color: var(--gig-text);
  border-color: var(--gig-border);
}

[data-theme] .form-control::placeholder {
  color: var(--gig-muted);
  opacity: 0.85;
}

[data-theme] .form-label,
[data-theme] .form-text,
[data-theme] .text-muted {
  color: var(--gig-muted) !important;
}

[data-theme] .text-dark {
  color: var(--gig-text) !important;
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .alert-light {
  background-color: var(--gig-surface) !important;
  color: var(--gig-text) !important;
  border-color: var(--gig-border) !important;
}

[data-theme="dark"] .text-bg-light {
  background-color: #334155 !important;
  color: #f1f5f9 !important;
}

[data-theme] .navbar,
[data-theme] .gig-topbar,
[data-theme] .gig-footer {
  background: var(--gig-surface);
  color: var(--gig-text);
  border-color: var(--gig-border);
}

[data-theme] .dropdown-item {
  color: var(--gig-text);
}
[data-theme] .dropdown-item:hover,
[data-theme] .dropdown-item:focus {
  background: color-mix(in srgb, var(--gig-primary) 14%, var(--gig-surface));
  color: var(--gig-text);
}
[data-theme] .dropdown-header {
  color: var(--gig-muted);
}

[data-theme] .nav-tabs .nav-link {
  color: var(--gig-muted);
}
[data-theme] .nav-tabs .nav-link.active {
  background: var(--gig-surface);
  color: var(--gig-text);
  border-color: var(--gig-border);
}

[data-theme] .alert-success {
  background: color-mix(in srgb, var(--gig-success) 18%, var(--gig-surface));
  color: var(--gig-text);
  border-color: color-mix(in srgb, var(--gig-success) 40%, var(--gig-border));
}
[data-theme] .alert-danger {
  background: color-mix(in srgb, var(--gig-danger) 18%, var(--gig-surface));
  color: var(--gig-text);
  border-color: color-mix(in srgb, var(--gig-danger) 40%, var(--gig-border));
}
[data-theme] .alert-warning {
  background: color-mix(in srgb, var(--gig-warning) 20%, var(--gig-surface));
  color: var(--gig-text);
  border-color: color-mix(in srgb, var(--gig-warning) 40%, var(--gig-border));
}
[data-theme] .alert-info {
  background: color-mix(in srgb, var(--gig-primary) 14%, var(--gig-surface));
  color: var(--gig-text);
  border-color: color-mix(in srgb, var(--gig-primary) 35%, var(--gig-border));
}

/* Login / guest */
[data-theme="dark"] body.gig-guest {
  background: linear-gradient(145deg, #020617 0%, #0f172a 50%, #134e4a 140%);
}
[data-theme="dark"] .gig-guest-card {
  background: var(--gig-surface);
  color: var(--gig-text);
}
[data-theme="dark"] .gig-guest-card .card-footer {
  background: color-mix(in srgb, var(--gig-surface) 90%, #000);
  color: var(--gig-muted);
  border-color: var(--gig-border);
}

/* Camera / designer shells */
[data-theme="dark"] body.gig-studio-app,
[data-theme="dark"] body.gig-designer-app,
[data-theme="dark"] body.gig-production-app {
  background: var(--gig-bg);
  color: var(--gig-text);
}

[data-theme="dark"] .prod-panel,
[data-theme="dark"] .prod-panel-header,
[data-theme="dark"] .prod-actions,
[data-theme="dark"] .prod-preview-toolbar,
[data-theme="dark"] .prod-preview-status {
  background: var(--gig-surface) !important;
  color: var(--gig-text);
  border-color: var(--gig-border) !important;
}

[data-theme="dark"] .prod-card-face {
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
  border-color: var(--gig-border) !important;
}

[data-theme="dark"] .prod-card-face .label {
  background: rgba(15, 23, 42, 0.7) !important;
  color: var(--gig-muted) !important;
  border-color: var(--gig-border) !important;
}

[data-theme="dark"] .gig-fieldset,
[data-theme="dark"] .gig-fieldset > summary {
  background: var(--gig-surface);
  color: var(--gig-muted);
  border-color: var(--gig-border);
}

[data-theme="dark"] .gig-fieldset .gig-fieldset-body {
  border-color: var(--gig-border);
}

/* Scrollbars (supported browsers) */
[data-theme="dark"] * {
  scrollbar-color: #475569 #0f172a;
}
[data-theme="dark"] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
[data-theme="dark"] ::-webkit-scrollbar-track {
  background: #0f172a;
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 6px;
}

/* Pagination / badges */
[data-theme] .page-link {
  background: var(--gig-surface);
  color: var(--gig-primary);
  border-color: var(--gig-border);
}
[data-theme] .page-item.active .page-link {
  background: var(--gig-primary);
  border-color: var(--gig-primary);
  color: #fff;
}
[data-theme] .page-item.disabled .page-link {
  background: var(--gig-surface);
  color: var(--gig-muted);
}

/* Ensure icons inherit readable color */
[data-theme] .bi {
  color: inherit;
}

/* High-contrast focus */
[data-theme] .form-control:focus,
[data-theme] .form-select:focus,
[data-theme] .btn:focus-visible {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--gig-primary) 35%, transparent);
}

/* Install wizard */
[data-theme="dark"] body.gig-install {
  background: linear-gradient(155deg, #020617 0%, #0f172a 50%, #134e4a 100%);
}
[data-theme="dark"] .gig-install-card {
  background: var(--gig-surface);
  color: var(--gig-text);
}
