@import "tailwindcss";
@source "../public";

@theme {
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --color-catalog-surface: #f4f6f8;
  --color-catalog-panel: #22272e;
  --color-catalog-panel-soft: #2d333b;
  --color-catalog-accent: #7ee34d;
  --color-catalog-accent-text: #10220b;
  --color-catalog-danger: #e02424;
  --color-catalog-focus: #2f6fed;
}

@layer base {
  *, ::before, ::after {
    box-sizing: border-box;
  }

  html {
    color-scheme: light;
  }

  html.dark {
    color-scheme: dark;
  }

  body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--font-sans);
    color: #15181c;
    background: var(--color-catalog-surface);
  }

  button,
  input,
  select {
    font: inherit;
  }
}

@layer components {
  .catalog-screen { @apply relative grid min-h-screen bg-catalog-surface pl-72; --secondary-track: minmax(240px,292px); --workspace-track: minmax(0,1fr); grid-template-columns: var(--secondary-track) var(--workspace-track); }
  .catalog-screen.sidebar-collapsed { @apply pl-11; }
  .catalog-screen.secondary-collapsed { --secondary-track: 44px; }
  .catalog-screen.workspace-collapsed { --workspace-track: 44px; }
  .sidebar-drawer { @apply fixed inset-y-0 left-0 z-40 flex w-72 min-h-screen flex-col gap-1.5 overflow-y-auto bg-slate-900 p-1.5 text-[11px] text-slate-200 shadow-xl transition-transform duration-200 ease-out; }
  .panel-header, .sidebar-drawer-header, .column-header { @apply box-border flex h-7 min-h-7 items-center justify-between gap-1 border-b border-slate-700 bg-slate-900 px-1 text-[10px] font-semibold uppercase tracking-wide text-slate-300; }
  .sidebar-drawer-header { @apply -mx-1.5 -mt-1.5 mb-1.5; }
  .sidebar-drawer-title { @apply px-1 text-slate-300; }
  .sidebar-close-button, .sidebar-open-button { @apply inline-flex h-7 w-7 items-center justify-center rounded border border-slate-700 bg-slate-800 text-slate-200 shadow-sm transition hover:border-slate-500 hover:bg-slate-700; }
  .sidebar-close-button .sidebar-icon, .sidebar-open-button .sidebar-icon { @apply h-4 w-4; }
  .panel-control-button { @apply inline-flex h-5 w-5 shrink-0 items-center justify-center rounded border border-slate-400 bg-white text-sm leading-none text-slate-700 shadow-sm transition hover:border-slate-500 hover:bg-slate-200 focus:outline-none focus:ring-2 focus:ring-catalog-focus/25; }
  .sidebar-open-button { @apply fixed left-2 top-2 z-30; }
  .sidebar-overlay { @apply fixed inset-0 z-30 bg-slate-950/50; }
  .sidebar-overlay[hidden] { display: none; }
  .sidebar-drawer[aria-hidden="true"] { @apply -translate-x-full; }
  .sidebar-section { @apply border-t border-slate-700 pt-1; }
  .drawer-trigger { @apply relative flex min-h-8 w-full items-center justify-center rounded border border-slate-700 bg-slate-800 px-8 text-center text-[11px] font-semibold text-slate-100 transition hover:border-slate-500 hover:bg-slate-700; }
  .drawer-trigger .sidebar-icon { @apply static; }
  .drawer-trigger > span:not(.drawer-chevron) { @apply min-w-0 truncate text-center; }
  .drawer-trigger .drawer-chevron { @apply absolute right-2 inline-flex h-2 w-2 border-b-2 border-r-2 text-[0px] leading-none; }
  .drawer-trigger .drawer-chevron { @apply rotate-45 text-slate-300; }
  .drawer-trigger[aria-expanded="true"] .drawer-chevron { @apply rotate-[225deg]; }
  .parser-drawer[hidden] { display: none; }
  .sidebar-icon { @apply inline-flex h-4 w-4 shrink-0 items-center justify-center text-sm leading-none text-slate-300; }
  .action-button { @apply flex items-center justify-center gap-1.5; }
  .action-button > .sidebar-icon { @apply shrink-0; }
  .action-button > span { @apply min-w-0 truncate text-center; }
  .action-button .sidebar-icon { @apply text-slate-400; }
  .sidebar-footer { @apply mt-auto grid gap-1 border-t border-slate-700 pt-2; }
  .app-status { @apply rounded border border-slate-700 bg-slate-950 p-1 text-[10px] leading-tight text-slate-100; }
  .database-status-content { @apply flex items-center justify-center gap-1.5 text-center; }
  .database-state-dot { @apply inline-block h-2.5 w-2.5 shrink-0 rounded-full border border-slate-500; }
  .database-state-dot.is-ready { @apply border-emerald-300 bg-emerald-500; }
  .database-state-dot.is-pending { @apply border-amber-300 bg-amber-400; }
  .database-state-dot.is-error { @apply border-red-300 bg-red-500; }
  .safe-mode, #modePill { @apply inline-block rounded bg-slate-100 px-1 py-0.5 text-[10px] font-semibold text-slate-800; }
  #databaseStatus.database-error { @apply bg-red-100 text-red-700; }
  .record-id { @apply flex h-10 items-center justify-center rounded border border-lime-700 bg-catalog-accent text-[26px] font-bold leading-none text-catalog-accent-text; }
  .arrow-row { @apply grid grid-cols-2 gap-1; }
  .arrow-button, .action-button, .input-like { @apply w-full rounded border border-slate-700 bg-slate-800 text-center text-slate-200 shadow-sm transition; }
  .arrow-button, .action-button { @apply min-h-7 px-1 text-[11px]; }
  .arrow-button { @apply relative text-slate-100; }
  .arrow-button::before,
  .column-toggle::before { content: ""; @apply block h-2 w-2 border-b-2 border-r-2; }
  .arrow-button::before { @apply absolute left-1/2 top-1/2 h-2 w-2 -translate-x-1/2 -translate-y-1/2 border-b-2 border-r-2; }
  .arrow-button-prev::before { @apply rotate-[135deg]; }
  .arrow-button-next::before { @apply rotate-[-45deg]; }
  .parser-actions { @apply grid gap-1; }
  .parser-actions .action-button { @apply min-h-7; }
  .action-button.primary { @apply min-h-8 font-semibold; }
  .arrow-button:hover:not(:disabled), .action-button:hover:not(:disabled) { @apply border-slate-500 bg-slate-700 text-white; }
  .arrow-button:disabled, .action-button:disabled { @apply cursor-not-allowed opacity-50; }
  .input-like { @apply h-7 px-1 text-[11px]; }
  .select-control { @apply relative w-full; }
  .select-display { @apply pointer-events-none absolute inset-0 z-30 flex items-center justify-center gap-1.5 text-center text-slate-200; }
  .select-display span { @apply min-w-0 max-w-[calc(100%-3rem)] truncate; }
  .language-native-select { @apply relative z-20 cursor-pointer appearance-none bg-transparent pr-7 pl-7 !text-transparent caret-transparent; }
  .language-native-select:focus { @apply !text-transparent; }
  .select-chevron { @apply pointer-events-none absolute right-3 top-1/2 z-30 h-2 w-2 -translate-y-1/2 rotate-45 border-b-2 border-r-2 text-slate-200; }
  .native-manufacturer-host { @apply hidden; }
  .native-manufacturer-select { @apply hidden; }
  .manufacturer-picker { @apply relative; }
  .manufacturer-trigger { @apply relative flex h-7 w-full items-center justify-center gap-1.5 rounded border border-slate-700 bg-slate-800 px-9 text-center text-[11px] text-slate-200 shadow-sm; }
  .manufacturer-trigger > span:not(.select-chevron) { @apply min-w-0 truncate text-center; }
  .manufacturer-trigger:hover { @apply border-slate-500 bg-slate-700; }
  .manufacturer-trigger[aria-expanded="true"] { @apply border-catalog-focus ring-2 ring-catalog-focus/25; }
  .manufacturer-trigger .select-chevron { @apply right-3 top-1/2 ml-0 translate-y-[-50%]; }
  .manufacturer-menu { @apply absolute left-0 right-0 top-full z-50 mt-1 rounded border border-slate-300 bg-white p-1 shadow-xl; }
  .manufacturer-menu[hidden] { display: none; }
  .manufacturer-search { @apply mb-1 h-7 w-full rounded border border-slate-300 px-2 text-[11px] text-slate-800 outline-none focus:border-catalog-focus focus:ring-2 focus:ring-catalog-focus/25; }
  .manufacturer-options { @apply max-h-60 overflow-y-auto; }
  .manufacturer-option { @apply block min-h-7 w-full truncate rounded px-2 py-1 text-left text-[11px] text-slate-700 hover:bg-slate-100; }
  .manufacturer-option[aria-selected="true"] { @apply bg-slate-200 font-medium text-slate-900; }
  .manufacturer-empty { @apply px-2 py-2 text-[11px] text-slate-500; }
  #scanInput { @apply bg-slate-700 placeholder:text-slate-400; }
  .input-like:focus { @apply border-catalog-focus outline-none ring-2 ring-catalog-focus/25; }
  .picture-slot { @apply aspect-square w-full overflow-hidden rounded border border-dashed border-slate-500 bg-catalog-panel-soft p-1 text-center text-[11px] text-slate-200; }
  .picture-slot img { @apply h-full w-full object-contain; }
  .mapping-box { @apply relative rounded border border-slate-500 bg-catalog-panel-soft; }
  .sidebar-mapping-box { @apply overflow-hidden border-slate-700 bg-slate-900; }
  .sidebar-mapping-box { @apply overflow-visible; }
  .mapping-details { @apply relative; }
  .mapping-summary { @apply relative flex min-h-8 items-center justify-center rounded bg-slate-800 px-9 text-center text-[11px] font-semibold text-slate-100; }
  .mapping-label { @apply absolute left-1/2 top-1/2 inline-flex max-w-[calc(100%-4.5rem)] -translate-x-1/2 -translate-y-1/2 items-center justify-center gap-1.5 text-center; }
  .mapping-title { @apply min-w-0 truncate text-center; }
  .mapping-state-dot { @apply inline-block h-3 w-3 shrink-0 rounded-full border border-slate-500 shadow-sm; }
  .mapping-state-dot.is-ready { @apply border-emerald-300 bg-emerald-500; }
  .mapping-state-dot.is-warning { @apply border-amber-300 bg-amber-400; }
  .mapping-state-dot.is-missing { @apply border-red-300 bg-red-500; }
  .mapping-state-dot.is-loading { @apply border-slate-300 bg-slate-400; }
  .mapping-panel { @apply absolute left-0 right-0 top-full z-50 border border-t-0 border-slate-700 bg-slate-950/95 shadow-lg; }
  .mapping-detail-status { @apply truncate px-2 py-1 text-center text-[10px] font-normal text-slate-300; }
  .mapping-summary .mapping-toggle { @apply absolute right-2 top-1/2 flex h-4 w-4 -translate-y-1/2 items-center justify-center; }
  .mapping-details summary { @apply cursor-pointer list-none; }
  .mapping-details summary::-webkit-details-marker { display: none; }
  .mapping-toggle::before { content: ""; @apply block h-2 w-2 rotate-45 border-b-2 border-r-2 border-slate-100; }
  .mapping-list { @apply grid gap-0.5 px-1 pb-1; }
  .mapping-source-row { @apply grid grid-cols-[minmax(0,1fr)_auto] items-center gap-1 rounded bg-slate-100 px-1 py-0.5 text-[10px] text-slate-800; }
  .mapping-source-row.is-disabled { @apply opacity-50; }
  .mapping-source-name { @apply truncate; }
  .mapping-source-status { @apply rounded px-1 text-[9px] font-semibold; }
  .mapping-source-status.is-ok { @apply bg-emerald-100 text-emerald-700; }
  .mapping-source-status.is-bad { @apply bg-red-100 text-red-700; }
  .mapping-source-status.is-muted { @apply bg-slate-200 text-slate-600; }
  .secondary-panel { @apply min-w-0 border-r border-slate-400 bg-slate-300; }
  .column-header { @apply min-w-0; }
  .column-toggle { @apply inline-flex h-5 w-5 shrink-0 items-center justify-center rounded border border-slate-400 bg-white text-[0px] leading-none text-slate-700 shadow-sm transition hover:border-slate-500 hover:bg-slate-200 focus:outline-none focus:ring-2 focus:ring-catalog-focus/25; }
  #secondaryPanelToggle[aria-label="Collapse product details"]::before,
  #mainWorkspaceToggle[aria-label="Collapse main workspace"]::before { transform: rotate(135deg); }
  #secondaryPanelToggle[aria-label="Expand product details"]::before,
  #mainWorkspaceToggle[aria-label="Expand main workspace"]::before { transform: rotate(-45deg); }
  .secondary-panel .field-grid { @apply overflow-hidden; }
  .secondary-collapsed .secondary-panel .column-header { @apply h-full flex-col justify-start py-1; writing-mode: vertical-rl; }
  .secondary-collapsed .secondary-panel .column-header .column-toggle,
  .workspace-collapsed .main-workspace .workspace-header .column-toggle { writing-mode: horizontal-tb; }
  .secondary-collapsed .secondary-panel .field-grid { display: none; }
  .workspace-collapsed .main-workspace .workspace-header { @apply h-full flex-col justify-start py-1; writing-mode: vertical-rl; }
  .workspace-collapsed .main-workspace .workspace-header span,
  .workspace-collapsed .main-workspace .table-wrap { display: none; }
  .field-grid { @apply grid grid-cols-[132px_minmax(0,168px)] content-start; }
  .field-label, .field-value { @apply min-h-[22px] border-b border-slate-300 px-1 py-0.5 text-[11px] leading-tight; }
  .field-label { @apply bg-slate-200 text-slate-800; }
  .field-value { @apply bg-teal-50 text-right text-slate-900; }
  .field-value[data-field="manufacturer_name"] { @apply font-medium; }
  .main-workspace { @apply flex max-h-screen min-w-0 flex-col overflow-hidden bg-catalog-surface; }
  .data-panel { @apply min-w-0 overflow-hidden bg-catalog-surface; }
  .table-wrap { @apply min-h-0 flex-1 overflow-auto; scrollbar-gutter: stable; }
  .variant-grid { @apply min-w-0 text-[11px]; min-width: var(--variant-min-width, 820px); }
  .variant-header, .variant-row { @apply grid; grid-template-columns: var(--variant-columns); }
  .variant-header { @apply sticky top-0 z-10; }
  .variant-header-cell { @apply h-[22px] whitespace-nowrap border-b border-r border-slate-300 bg-slate-200 px-1 py-0.5 font-medium text-slate-800; }
  .variant-row { @apply min-h-[22px] border-b border-slate-300; }
  .variant-row:nth-child(even) { @apply bg-slate-100; }
  .variant-row:hover { @apply bg-slate-200; }
  .variant-cell { @apply min-w-0 whitespace-nowrap border-r border-slate-300 px-1 py-0.5 text-center text-slate-800; }
  .variant-cell[data-label=""] { @apply p-0; }
  .empty-row { @apply py-4 text-center text-slate-500; }
  .variant-cell.problem-ean { @apply bg-red-600 font-semibold text-white; }
  .modal-backdrop { @apply fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 p-4; }
  .modal-backdrop[hidden] { display: none; }
  .suggested-dialog, .source-dialog, .settings-dialog { @apply max-h-[90vh] w-full overflow-hidden rounded-lg border border-slate-300 bg-slate-50 shadow-2xl; }
  .source-dialog-actions { @apply flex items-center gap-1.5; }
  .suggested-dialog { @apply max-w-2xl; }
  .source-dialog { @apply max-w-3xl; }
  .settings-dialog { @apply max-w-md; }
  .suggested-header { @apply flex items-center justify-between border-b border-slate-300 bg-slate-200 px-3 py-2; }
  .suggested-header h2 { @apply m-0 text-sm font-semibold text-slate-800; }
  .modal-close, .settings-test-button, .settings-inline-button { @apply inline-flex items-center justify-center gap-1.5 rounded border border-slate-300 bg-white px-2 py-1 text-[11px] text-slate-800 shadow-sm hover:bg-slate-100; }
  .modal-close .sidebar-icon, .settings-test-button .sidebar-icon, .settings-inline-button .sidebar-icon { @apply h-3.5 w-3.5 text-slate-500; }
  .suggested-list, .source-list, .settings-content { @apply max-h-[calc(90vh-48px)] overflow-y-auto p-2; }
  .settings-content { @apply grid gap-2; }
  .settings-group { @apply m-0 rounded border border-slate-300 p-2; }
  .settings-group legend { @apply px-1 text-xs font-semibold text-slate-700; }
  .settings-option { @apply flex items-center gap-1 py-0.5 text-[11px] text-slate-700; }
  .settings-option .settings-inline-button { @apply ml-auto py-0.5 text-[10px]; }
  .settings-tool-actions { @apply ml-auto flex items-center gap-1; }
  .settings-tool-actions .settings-inline-button { @apply ml-0; }
  .settings-option input { @apply accent-catalog-focus; }
  .settings-option input:disabled + span { @apply text-slate-400; }
  .local-db-fields { @apply grid gap-1; }
  .local-db-fields[hidden] { display: none; }
  .settings-field { @apply grid grid-cols-[72px_minmax(0,1fr)] items-center gap-2 text-[11px] text-slate-700; }
  .settings-field input { @apply min-w-0 rounded border border-slate-300 bg-white px-1 py-1 text-[11px]; }
  .settings-select { @apply min-w-0 rounded border border-slate-300 bg-white px-1 py-1 text-[11px] text-slate-800; }
  .settings-note, .settings-permissions { @apply m-0 text-[10px] leading-tight text-slate-500; }
  .settings-permissions { @apply grid gap-0.5; }
  .adminer-login-hint { @apply mt-1 grid gap-0.5 rounded border border-slate-300 bg-slate-100 p-1.5 text-[10px] leading-tight text-slate-600; }
  .adminer-login-row { @apply flex items-center justify-between gap-2; }
  .adminer-login-row strong { @apply truncate text-right font-semibold text-slate-800; }
  .connection-ok { @apply text-emerald-700; }
  .connection-error { @apply text-red-700; }
  .suggested-row { @apply grid grid-cols-[40px_minmax(0,1fr)_auto] items-center gap-2 border-b border-slate-200 px-1 py-1 text-[11px]; }
  .suggested-row:nth-child(even) { @apply bg-slate-100; }
  .suggested-row img { @apply h-9 w-9 object-contain; }
  .suggested-id, .suggested-active { @apply text-slate-500; }
  .suggested-name, .suggested-reference { @apply min-w-0 truncate; }
  .suggested-pick, .source-row-action, .source-picture-action { @apply rounded border border-slate-300 bg-white px-1.5 py-0.5 text-[10px] hover:bg-slate-100; }
  .source-section { @apply mb-2 overflow-hidden rounded border border-slate-300; }
  .source-section-header, .source-row { @apply flex items-center justify-between gap-2 border-b border-slate-200 px-2 py-1 text-[11px]; }
  .source-section-header { @apply bg-slate-200 font-semibold; }
  .source-section-actions { @apply flex items-center gap-1; }
  .source-row { @apply bg-white hover:bg-slate-100; }
  .source-row-title { @apply min-w-0 flex-1 truncate; }
  .source-status, .source-row-action { @apply shrink-0 rounded px-1 text-[10px]; }
  .source-status.is-ok { @apply bg-emerald-100 text-emerald-700; }
  .source-status.is-muted { @apply bg-slate-200 text-slate-600; }
  .picture-candidate { @apply grid grid-cols-[72px_minmax(0,1fr)_auto] items-center gap-2 border-b border-slate-200 p-2 text-[10px]; }
  .picture-candidate.is-too-small { @apply bg-amber-50; }
  .picture-candidate-preview { @apply flex h-16 w-[72px] items-center justify-center bg-white; }
  .picture-candidate img { @apply max-h-16 w-[72px] object-contain; }
  .picture-candidate-meta { @apply grid min-w-0 gap-0.5; }
  .picture-candidate-title { @apply min-w-0 truncate font-semibold text-slate-800; }
  .picture-candidate-dimensions,
  .picture-candidate-target,
  .picture-candidate-duplicate { @apply min-w-0 truncate text-slate-500; }
  .picture-candidate.is-too-small .picture-candidate-dimensions { @apply font-semibold text-amber-700; }
  .picture-candidate-save { @apply min-w-[76px]; }
  @media (max-width: 980px) {
    .catalog-screen { @apply flex flex-col pl-0; }
    .catalog-screen.sidebar-collapsed { @apply pl-0; }
    .sidebar-drawer { @apply w-[min(18rem,calc(100vw-1rem))] min-h-0; }
    .sidebar-drawer:not([aria-hidden="true"]) { @apply max-h-screen; }
    .sidebar-drawer[aria-hidden="true"] { @apply -translate-x-full; }
    .sidebar-open-button { @apply left-2 top-2; }
    .secondary-panel { @apply border-r-0 pt-0; }
    .secondary-panel { @apply order-1; }
    .main-workspace { @apply order-2; }
    .table-wrap { @apply max-h-[70vh]; }
    .column-header { @apply h-7; writing-mode: horizontal-tb; }
    .secondary-collapsed .secondary-panel .column-header,
    .workspace-collapsed .main-workspace .workspace-header { @apply h-7 flex-row py-0; writing-mode: horizontal-tb; }
    .secondary-collapsed .secondary-panel .column-header span,
    .workspace-collapsed .main-workspace .workspace-header span { display: inline; }
    .workspace-collapsed .main-workspace .table-wrap { display: none; }
    .variant-grid { @apply min-w-0; }
    .variant-header { @apply hidden; }
    .variant-row { @apply grid grid-cols-2 gap-x-2 border-b border-slate-300 p-2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .variant-cell { @apply flex min-h-7 items-center justify-between gap-2 border-b border-slate-200 px-1 py-1 text-right; white-space: normal; }
    .variant-cell::before { content: attr(data-label); @apply shrink-0 text-left text-[10px] font-medium text-slate-500; }
    .variant-cell[data-label=""]::before { content: none; }
    .variant-cell[data-label=""] { @apply col-span-2; }
    .variant-message-row { @apply block; }
    html.dark .variant-row { @apply border-slate-700; }
    html.dark .variant-cell { @apply border-slate-700; }
  }

  @media (min-width: 981px) {
    .sidebar-overlay { display: none; }
  }

  html:not(.dark) .control-panel { @apply bg-slate-100 text-slate-700; }
  html:not(.dark) .sidebar-drawer-header,
  html:not(.dark) .sidebar-footer { @apply border-slate-300; }
  html:not(.dark) .panel-header,
  html:not(.dark) .sidebar-drawer-header,
  html:not(.dark) .column-header { @apply border-slate-300 bg-slate-100 text-slate-700; }
  html:not(.dark) .sidebar-drawer-title { @apply text-slate-700; }
  html:not(.dark) .drawer-trigger .drawer-chevron,
  html:not(.dark) .select-chevron,
  html:not(.dark) .select-display,
  html:not(.dark) .manufacturer-trigger .sidebar-icon { @apply text-slate-700; }
  html:not(.dark) .sidebar-close-button,
  html:not(.dark) .sidebar-open-button,
  html:not(.dark) .drawer-trigger,
  html:not(.dark) .arrow-button,
  html:not(.dark) .action-button,
  html:not(.dark) .input-like { @apply border-slate-300 bg-white text-slate-700; }
  html:not(.dark) .panel-control-button { @apply border-slate-400 bg-white text-slate-700; }
  html:not(.dark) .sidebar-close-button:hover,
  html:not(.dark) .sidebar-open-button:hover,
  html:not(.dark) .drawer-trigger:hover,
  html:not(.dark) .arrow-button:hover:not(:disabled),
  html:not(.dark) .action-button:hover:not(:disabled) { @apply border-slate-400 bg-slate-200 text-slate-900; }
  html:not(.dark) .arrow-button::before { @apply text-slate-700; }
  html:not(.dark) #scanInput { @apply bg-slate-200 placeholder:text-slate-500; }
  html:not(.dark) .picture-slot,
  html:not(.dark) .mapping-box { @apply border-slate-300 bg-white text-slate-600; }
  html:not(.dark) .mapping-toggle::before { @apply border-slate-700; }
  html:not(.dark) .app-status { @apply border-slate-300 bg-white text-slate-700; }
  html:not(.dark) .sidebar-mapping-box { @apply border-slate-300 bg-slate-100; }
  html:not(.dark) .mapping-summary { @apply border border-slate-300 bg-white text-slate-700; }
  html:not(.dark) .mapping-panel { @apply border-slate-300 bg-white; }
  html:not(.dark) .mapping-detail-status { @apply text-slate-600; }
  html:not(.dark) .manufacturer-trigger { @apply border-slate-300 bg-white text-slate-700; }
  html:not(.dark) .manufacturer-trigger:hover { @apply border-slate-400 bg-slate-200; }
  html.contrast-light-high:not(.dark) .control-panel { @apply bg-slate-200 text-slate-900; }
  html.contrast-light-high:not(.dark) .action-button,
  html.contrast-light-high:not(.dark) .arrow-button,
  html.contrast-light-high:not(.dark) .input-like,
  html.contrast-light-high:not(.dark) .manufacturer-trigger { @apply border-slate-500 text-slate-900; }
  html.contrast-light-high:not(.dark) .sidebar-icon { @apply text-slate-700; }

  html.dark body { @apply bg-slate-950 text-slate-100; }
  html.dark .control-panel { @apply bg-slate-950; }
  html.dark .secondary-panel { @apply border-slate-700 bg-slate-800; }
  html.dark .data-panel { @apply bg-slate-950; }
  html.dark .field-label { @apply border-slate-700 bg-slate-800 text-slate-200; }
  html.dark .field-value { @apply border-slate-700 bg-slate-900 text-slate-100; }
  html.dark .variant-header-cell { @apply border-slate-700 bg-slate-800 text-slate-100; }
  html.dark .variant-row { @apply border-slate-700; }
  html.dark .variant-row:nth-child(even) { @apply bg-slate-800; }
  html.dark .variant-row:hover { @apply bg-slate-700; }
  html.dark .variant-cell { @apply border-slate-700 text-slate-200; }
  html.dark .arrow-button,
  html.dark .action-button,
  html.dark .input-like { @apply border-slate-600 bg-slate-800 text-slate-100; }
  html.dark .arrow-button:hover:not(:disabled),
  html.dark .action-button:hover:not(:disabled) { @apply border-slate-400 bg-slate-700; }
  html.dark #scanInput { @apply bg-slate-700 placeholder:text-slate-400; }
  html.dark .manufacturer-menu { @apply border-slate-700 bg-slate-900; }
  html.dark .manufacturer-search { @apply border-slate-600 bg-slate-800 text-slate-100; }
  html.dark .manufacturer-option { @apply text-slate-200 hover:bg-slate-800; }
  html.dark .manufacturer-option[aria-selected="true"] { @apply bg-slate-700 text-white; }
  html.dark .column-header { @apply border-slate-700 text-slate-300; }
  html.dark .panel-control-button,
  html.dark .column-toggle { @apply border-slate-600 bg-slate-800 text-slate-100 hover:border-slate-400 hover:bg-slate-700; }
  html.contrast-dark-high.dark .control-panel { @apply bg-slate-950 text-white; }
  html.contrast-dark-high.dark .action-button,
  html.contrast-dark-high.dark .arrow-button,
  html.contrast-dark-high.dark .input-like,
  html.contrast-dark-high.dark .manufacturer-trigger { @apply border-slate-500 bg-slate-700 text-white; }
  html.contrast-dark-high.dark .sidebar-icon { @apply text-slate-100; }
  html.dark .settings-dialog,
  html.dark .suggested-dialog,
  html.dark .source-dialog { @apply border-slate-700 bg-slate-900; }
  html.dark .suggested-header { @apply border-slate-700 bg-slate-800; }
  html.dark .suggested-header h2,
  html.dark .settings-group legend,
  html.dark .settings-option,
  html.dark .settings-field { @apply text-slate-100; }
  html.dark .settings-group { @apply border-slate-700; }
  html.dark .settings-field input { @apply border-slate-600 bg-slate-800 text-slate-100; }
  html.dark .adminer-login-hint { @apply border-slate-700 bg-slate-800 text-slate-400; }
  html.dark .adminer-login-row strong { @apply text-slate-100; }
  html.dark .modal-close,
  html.dark .settings-test-button,
  html.dark .settings-inline-button,
  html.dark .suggested-pick,
  html.dark .source-row-action,
  html.dark .source-picture-action { @apply border-slate-600 bg-slate-800 text-slate-100 hover:bg-slate-700; }
  html.dark .source-section { @apply border-slate-700; }
  html.dark .source-section-header { @apply border-slate-700 bg-slate-800 text-slate-100; }
  html.dark .source-row { @apply border-slate-700 bg-slate-900 text-slate-100 hover:bg-slate-800; }
  html.dark .suggested-row,
  html.dark .picture-candidate { @apply border-slate-700; }
  html.dark .picture-candidate.is-too-small { @apply bg-amber-950/40; }
  html.dark .picture-candidate-preview { @apply bg-slate-800; }
  html.dark .picture-candidate-title { @apply text-slate-100; }
  html.dark .picture-candidate-dimensions,
  html.dark .picture-candidate-target,
  html.dark .picture-candidate-duplicate { @apply text-slate-400; }
  html.dark .picture-candidate.is-too-small .picture-candidate-dimensions { @apply text-amber-300; }
  html.dark .suggested-row:nth-child(even) { @apply bg-slate-800; }
}
