/* kaufEinHorn Theme (scoped, non-invasive)
   Safe to include globally: doesn't override existing styles unless used via .ke-* classes */

:root {
  --ke-bg: #000000;
  --ke-surface: #000000;
  --ke-surface-2: #0a0a0a;
  --ke-text: #ffffff;
  --ke-text-muted: #b3b3b3;
  --ke-border: #26282a;
  /* Primary = blue (general actions), Success = green (save), Danger = red-orange (delete/stop), Warning = logo orange */
  --ke-primary: #3b82f6;
  --ke-primary-600: #2563eb;
  --ke-primary-focus: rgba(59, 130, 246, 0.35);

  --ke-success: #22c55e;
  --ke-success-600: #16a34a;

  --ke-danger: #ff5a2f;
  --ke-danger-600: #e14c23;

  --ke-warning: #f8b33a;
  --ke-accent-purple: #000000;

  --ke-radius-sm: 4px;
  --ke-radius: 8px;
  --ke-shadow-xs: 0 1px 2px rgba(0,0,0,0.25);
  --ke-shadow-s: 0 2px 6px rgba(0,0,0,0.28);

  --ke-space-1: 4px;
  --ke-space-2: 8px;
  --ke-space-3: 12px;
  --ke-space-4: 16px;

  --ke-font-sm: 12px;
  --ke-font: 14px;
  --ke-font-lg: 16px;
  --ke-line: 1.35;
}

/***** Light Mode *****/
[data-theme="light"] {
  --ke-bg: #f5f5f5;
  --ke-surface: #ffffff;
  --ke-surface-2: #e8e8e8;
  --ke-text: #000000;
  --ke-text-muted: #666666;
  --ke-border: #dddddd;
  --ke-primary: #2563eb;
  --ke-primary-600: #1d4ed8;
  --ke-primary-focus: rgba(37, 99, 235, 0.25);
  --ke-success: #16a34a;
  --ke-success-600: #15803d;
  --ke-danger: #dc2626;
  --ke-danger-600: #b91c1c;
  --ke-warning: #d97706;
  --ke-shadow-xs: 0 1px 2px rgba(0,0,0,0.08);
  --ke-shadow-s: 0 2px 6px rgba(0,0,0,0.10);
}

/***** Buttons *****/
.ke-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: var(--ke-font);
  line-height: 1.2;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ke-btn:hover { filter: brightness(1.05); }
.ke-btn:disabled { opacity: .6; cursor: not-allowed; }
.ke-btn:focus { outline: 2px solid var(--ke-primary-focus); outline-offset: 2px; }

.ke-btn-primary { background: var(--ke-primary); border-color: var(--ke-primary); color: #fff; }
.ke-btn-primary:hover { background: var(--ke-primary-600); border-color: var(--ke-primary-600); }

.ke-btn-success { background: var(--ke-success); border-color: var(--ke-success); color: #fff; }
.ke-btn-success:hover { background: var(--ke-success-600); border-color: var(--ke-success-600); }

.ke-btn-danger { background: var(--ke-danger); border-color: var(--ke-danger); color: #fff; }
.ke-btn-danger:hover { background: var(--ke-danger-600); border-color: var(--ke-danger-600); }

.ke-btn-warning { background: var(--ke-warning); border-color: var(--ke-warning); color: #111; }
.ke-btn-warning:hover { filter: brightness(0.95); }

.ke-btn-secondary { background: var(--ke-surface-2); border-color: var(--ke-border); color: var(--ke-text); }
.ke-btn-secondary:hover { background: var(--ke-border); }

.ke-btn-outline { background: transparent; border-color: var(--ke-border); color: var(--ke-text); }
.ke-btn-outline:hover { background: var(--ke-surface-2); }

.ke-btn-sm { padding: 4px 8px; font-size: var(--ke-font-sm); }
.ke-btn-lg { padding: 10px 14px; font-size: var(--ke-font-lg); }

/* Ghost variant for transparent buttons */
.ke-btn-ghost { background: transparent; border-color: transparent; color: var(--ke-text-muted); }
.ke-btn-ghost:hover { background: var(--ke-surface-2); color: var(--ke-text); }

/***** Cards *****/
.ke-card {
  background: var(--ke-surface);
  color: var(--ke-text);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  box-shadow: var(--ke-shadow-xs);
  padding: var(--ke-space-4);
}
.ke-card + .ke-card { margin-top: var(--ke-space-3); }
.ke-card-header { font-size: 16px; font-weight: 600; margin: 0 0 var(--ke-space-2) 0; }

/* Legacy .card alias → .ke-card */
.card {
  background: var(--ke-surface);
  color: var(--ke-text);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  box-shadow: var(--ke-shadow-xs);
  padding: var(--ke-space-4);
}
.card-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--ke-border);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.card-header h1 { margin: 0; font-size: 1.25rem; color: var(--ke-text); }
.card-header h2 { margin: 0; font-size: 1rem; font-weight: 500; color: var(--ke-text-muted); }
.card-body { padding: 20px; }

/***** Badges *****/
.ke-badge {
  display: inline-block;
  min-width: 18px;
  padding: 2px 6px;
  font-size: 11px;
  line-height: 1;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  border: 1px solid var(--ke-border);
  border-radius: 999px;
  font-weight: 600;
}
.ke-badge--success { background: var(--ke-success); color: #fff; border-color: var(--ke-success); }
.ke-badge--warning { background: var(--ke-warning); color: #111; border-color: var(--ke-warning); }
.ke-badge--danger { background: var(--ke-danger); color: #fff; border-color: var(--ke-danger); }
.ke-badge--primary { background: var(--ke-primary); color: #fff; border-color: var(--ke-primary); }

/* Legacy .badge alias */
.badge {
  display: inline-block;
  min-width: 18px;
  padding: 2px 6px;
  font-size: 11px;
  line-height: 1;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  border: 1px solid var(--ke-border);
  border-radius: 999px;
  font-weight: 600;
}
.pill {
  display: inline-block;
  padding: 4px 12px;
  font-size: 12px;
  border-radius: 999px;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  border: 1px solid var(--ke-border);
}

/***** Accordion (native <details>) *****/
.ke-accordion,
details.ke-accordion {
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  overflow: hidden;
  margin-bottom: 8px;
}
.ke-accordion summary,
details.ke-accordion > summary {
  cursor: pointer;
  padding: 10px 14px;
  font-weight: 600;
  font-size: 14px;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ke-accordion summary::-webkit-details-marker { display: none; }
.ke-accordion summary::marker { content: ''; }
.ke-accordion summary::after {
  content: '›';
  transition: transform .2s ease;
  color: var(--ke-text-muted);
}
.ke-accordion[open] summary::after { transform: rotate(90deg); }
.ke-accordion .ke-accordion-body {
  padding: 12px 14px;
  background: var(--ke-surface);
  border-top: 1px solid var(--ke-border);
  color: var(--ke-text);
}

/* Legacy details alias */
details:not(.ke-accordion) {
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  overflow: hidden;
}
details:not(.ke-accordion) > summary {
  cursor: pointer;
  padding: 10px 14px;
  font-weight: 600;
  color: var(--ke-text);
  background: var(--ke-surface-2);
}

/***** Tables *****/
.ke-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--ke-text);
  font-size: 13.5px;
}
.ke-table th, .ke-table td {
  padding: 6px 8px;
  text-align: left;
  border-bottom: 1px solid var(--ke-border);
  line-height: 1.25;
}
.ke-table th { background: #000000; font-weight: 600; font-size: 12.5px; position: sticky; top: 0; z-index: 2; }
.ke-table tr:nth-child(even) { background: #0a0a0a; }
.ke-table tr:hover { background: transparent !important; }

[data-theme="light"] .ke-table th { background: #f0f0f0; }
[data-theme="light"] .ke-table tr:nth-child(even) { background: #fafafa; }
[data-theme="light"] .ke-table tr:hover {
  background: transparent !important;
}

/* Override specific table hover styles from other CSS files */
#myTable tr:hover,
.bestandsliste-table tr:hover td,
.entries-table tbody tr:hover,
.qr-reservation-table tbody tr:hover,
table tr:hover {
  background: transparent !important;
}
[data-theme="light"] #myTable tr:hover,
[data-theme="light"] .bestandsliste-table tr:hover td,
[data-theme="light"] .entries-table tbody tr:hover,
[data-theme="light"] .qr-reservation-table tbody tr:hover,
[data-theme="light"] table tr:hover {
  background: transparent !important;
}

/* Bare table elements: ensure they work in both modes */
table {
  color: var(--ke-text);
  max-width: 100%;
  table-layout: fixed;
}
table th {
  background: var(--ke-surface-2);
  color: var(--ke-text);
}
table td {
  border-bottom-color: var(--ke-border);
  word-wrap: break-word;
}
[data-theme="light"] table th { background: var(--ke-surface-2); }
[data-theme="light"] table td { color: var(--ke-text); }

/* Ensure table fits within page content */
.ke-page-content table {
  width: 100%;
  max-width: 100%;
}

/***** Forms *****/
.ke-form-control,
input.ke-form-control,
textarea.ke-form-control,
select.ke-form-control {
  width: 100%;
  padding: 6px 10px;
  font-size: 13px;
  line-height: var(--ke-line);
  color: var(--ke-text) !important;
  background: var(--ke-surface-2) !important;
  border: 1px solid var(--ke-border) !important;
  border-radius: var(--ke-radius-sm);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.15);
  caret-color: var(--ke-primary);
  font-family: inherit;
}
.ke-form-control::placeholder { color: #bfbfbf; }
.ke-form-control:focus { outline: 2px solid var(--ke-primary-focus); outline-offset: 1px; }
textarea.ke-form-control { resize: vertical; }
.ke-form-sm { font-size: 12px; padding: 4px 8px; }
.ke-form-control[type="number"] { appearance: textfield; }
.ke-form-control::-webkit-outer-spin-button,
.ke-form-control::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

select.ke-form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 30px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M5.8 7.2l4.2 4.6 4.2-4.6 1.3 1.2-5.5 6-5.5-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 14px 14px;
}
select.ke-form-control::-ms-expand { display: none; }

[data-theme="light"] select.ke-form-control {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000000' d='M5.8 7.2l4.2 4.6 4.2-4.6 1.3 1.2-5.5 6-5.5-6z'/%3E%3C/svg%3E");
}

.field input.ke-form-control,
.field select.ke-form-control,
.field textarea.ke-form-control,
.form-page input.ke-form-control,
.form-page select.ke-form-control,
.form-page textarea.ke-form-control {
  color: var(--ke-text) !important;
  background: var(--ke-surface-2) !important;
  border: 1px solid var(--ke-border) !important;
}

[data-theme="light"] .field input.ke-form-control,
[data-theme="light"] .field select.ke-form-control,
[data-theme="light"] .field textarea.ke-form-control,
[data-theme="light"] .form-page input.ke-form-control,
[data-theme="light"] .form-page select.ke-form-control,
[data-theme="light"] .form-page textarea.ke-form-control {
  background: #ffffff !important;
}

.ke-checkbox { width: 16px; height: 16px; vertical-align: middle; accent-color: var(--ke-primary); }

/* All checkboxes/radios use consistent accent color */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--ke-primary);
}

.form-page .field .form-control,
.form-page .form-control {
  color: var(--ke-text) !important;
  background: var(--ke-surface-2) !important;
  border: 1px solid var(--ke-border) !important;
  border-radius: var(--ke-radius-sm) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.15) !important;
}

[data-theme="light"] .form-page .field .form-control,
[data-theme="light"] .form-page .form-control {
  background: #ffffff !important;
}

/***** Alerts (Django messages) *****/
.ke-alert { padding: 8px 10px; border-radius: var(--ke-radius-sm); border: 1px solid var(--ke-border); margin: 8px 0; }
.ke-alert-success { background: rgba(34, 197, 94, .15); border-color: #2ea44f; }
.ke-alert-info { background: rgba(59, 130, 246, .15); border-color: #3b82f6; }
.ke-alert-warning { background: rgba(245, 158, 11, .15); border-color: #f59e0b; }
.ke-alert-danger { background: rgba(220, 38, 38, .15); border-color: #ef4444; }

[data-theme="light"] .ke-alert-success { background: rgba(22, 163, 74, .12); }
[data-theme="light"] .ke-alert-info { background: rgba(37, 99, 235, .10); }

/* Legacy .messages alias → .ke-alert system */
.messages {
  list-style: none;
  padding: 0;
  margin: 0 0 12px 0;
}
.messages li {
  padding: 8px 12px;
  border-radius: var(--ke-radius-sm);
  margin-bottom: 6px;
  border: 1px solid var(--ke-border);
  color: var(--ke-text);
}
.messages li.success { border-color: var(--ke-success); background: rgba(34, 197, 94, .15); }
.messages li.error,
.messages li.danger { border-color: var(--ke-danger); background: rgba(220, 38, 38, .15); color: var(--ke-text); }
.messages li.warning { border-color: var(--ke-warning); background: rgba(245, 158, 11, .15); }
.messages li.info { border-color: var(--ke-primary); background: rgba(59, 130, 246, .15); }

[data-theme="light"] .messages li.success { background: rgba(22, 163, 74, .12); }
[data-theme="light"] .messages li.error,
[data-theme="light"] .messages li.danger { background: rgba(220, 38, 38, .10); }
[data-theme="light"] .messages li.warning { background: rgba(245, 158, 11, .10); }
[data-theme="light"] .messages li.info { background: rgba(37, 99, 235, .10); }

/* ke-info-box */
.ke-info-box {
  background: rgba(76, 175, 80, 0.1);
  border: 1px solid var(--ke-success);
  border-radius: var(--ke-radius-sm);
  padding: var(--ke-space-4);
  margin-bottom: var(--ke-space-4);
  color: var(--ke-text-muted);
  font-size: var(--ke-font-sm);
  line-height: 1.5;
}
.ke-info-box--success { border-color: var(--ke-success); background: rgba(34, 197, 94, .1); }
.ke-info-box--warning { border-color: var(--ke-warning); background: rgba(245, 158, 11, .1); }
.ke-info-box--danger { border-color: var(--ke-danger); background: rgba(220, 38, 38, .1); }
.ke-info-box--info { border-color: var(--ke-primary); background: rgba(59, 130, 246, .1); }

[data-theme="light"] .ke-info-box { background: rgba(22, 163, 74, .06); border-color: var(--ke-success); }
[data-theme="light"] .ke-info-box--warning { background: rgba(245, 158, 11, .06); }
[data-theme="light"] .ke-info-box--danger { background: rgba(220, 38, 38, .06); }
[data-theme="light"] .ke-info-box--info { background: rgba(37, 99, 235, .06); }

/***** Utilities *****/
.ke-flex { display: flex; }
.ke-grid { display: grid; }
.ke-gap-1 { gap: var(--ke-space-1); }
.ke-gap-2 { gap: var(--ke-space-2); }
.ke-gap-3 { gap: var(--ke-space-3); }
.ke-mt-1 { margin-top: var(--ke-space-1); }
.ke-mt-2 { margin-top: var(--ke-space-2); }
.ke-mt-3 { margin-top: var(--ke-space-3); }
.ke-mb-2 { margin-bottom: var(--ke-space-2); }
.ke-mb-3 { margin-bottom: var(--ke-space-3); }
.ke-text-muted { color: var(--ke-text-muted); }

@media (max-width: 600px) {
  .ke-btn { font-size: 12px; padding: 4px 8px; }
  .ke-form-control { font-size: 12px; padding: 4px 8px; }
  .ke-table { font-size: 12.5px; }
}

/***** LEGACY INPUT ALIASES → .ke-form-control System *****/
/* Maps old input class names to .ke-form-control so they get dark+light mode automatically */
.styled-input,
.form-input,
.input1,
.search-input,
.quantity-input,
.unit-select,
.dokument-search-input,
.report-select,
.report-input,
.admin-textarea,
.bestand-form-field input,
.bestand-form-field select,
.bestand-form-field textarea,
.bestand-form-select,
.user-search-input,
.nutrient-input,
.nutrient-select,
.supplier-modal-select,
.supplier-modal-input,
.group-form input,
.group-form textarea,
.field-block textarea,
.field-block input,
.form-login-flex input,
.content-edit-text,
.form-group input,
.form-group select,
.form-group textarea,
.public-report-form textarea,
.form-check-input,
.form-control {
  width: 100%;
  padding: 6px 10px;
  font-size: 13px;
  line-height: var(--ke-line);
  color: var(--ke-text) !important;
  background: var(--ke-surface-2) !important;
  border: 1px solid var(--ke-border) !important;
  border-radius: var(--ke-radius-sm);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.15);
  caret-color: var(--ke-primary);
  font-family: inherit;
}
.styled-input:focus,
.form-input:focus,
.input1:focus,
.search-input:focus,
.quantity-input:focus,
.unit-select:focus,
.admin-textarea:focus,
.bestand-form-field input:focus,
.bestand-form-field select:focus,
.bestand-form-field textarea:focus,
.user-search-input:focus,
.nutrient-input:focus,
.nutrient-select:focus,
.supplier-modal-select:focus,
.group-form input:focus,
.group-form textarea:focus,
.field-block textarea:focus,
.field-block input:focus,
.form-login-flex input:focus,
.content-edit-text:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.public-report-form textarea:focus,
.form-control:focus {
  outline: 2px solid var(--ke-primary-focus);
  outline-offset: 1px;
}

/* Quantity-specific: keep green border accent */
.quantity-input,
#quantity-input {
  border-color: var(--ke-success) !important;
  text-align: center;
}

/* Dokument search: keep special no-border look */
.dokument-search-input {
  border: none !important;
  box-shadow: none !important;
}

/* Bare select from index_grid_redesign.css */
select {
  border: 1px solid var(--ke-border) !important;
  background: var(--ke-surface-2) !important;
  color: var(--ke-text) !important;
}

/* Number inputs: remove spinners */
input[type="number"].styled-input,
input[type="number"].form-input,
input[type="number"].input1,
input[type="number"].quantity-input,
input[type="number"].ke-form-control {
  appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/***** LEGACY BUTTON ALIASES → .ke-btn System *****/
/* Maps old class names to .ke-btn equivalents so they get dark+light mode automatically */
.styled-button,
.button-link,
.btn,
.action-button,
.adjust-button,
.kaufe-ich-button,
.button,
.back-button,
.upload-button,
.small-button,
.edit-button,
.remove-button,
.save-button,
.cancel-button,
.mache-ich-button,
.close-btn,
.quick-supplier-btn,
.category-filter-btn,
.plan-btn,
.btn-send-report,
.btn-cancel-report,
.ep-btn-primary,
.ep-btn-secondary,
.eis-btn,
.apr-btn,
.apr-quick-btn,
.phone-btn,
.create-new-item-button,
.add-to-list-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: var(--ke-font);
  line-height: 1.2;
  color: var(--ke-text);
  background: var(--ke-surface-2);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.styled-button:hover,
.button-link:hover,
.btn:hover,
.action-button:hover,
.adjust-button:hover,
.kaufe-ich-button:hover,
.button:hover,
.back-button:hover,
.upload-button:hover,
.small-button:hover,
.edit-button:hover,
.remove-button:hover,
.save-button:hover,
.cancel-button:hover,
.mache-ich-button:hover,
.close-btn:hover,
.quick-supplier-btn:hover,
.category-filter-btn:hover,
.plan-btn:hover,
.btn-send-report:hover,
.btn-cancel-report:hover,
.ep-btn-primary:hover,
.ep-btn-secondary:hover,
.eis-btn:hover,
.apr-btn:hover,
.apr-quick-btn:hover,
.phone-btn:hover,
.create-new-item-button:hover,
.add-to-list-button:hover {
  filter: brightness(1.05);
}

/* Green variants (most common — #4CAF50 based) */
.styled-button,
.action-button,
.kaufe-ich-button,
.upload-button,
.small-button,
.save-button,
.mache-ich-button,
.button-link,
.btn,
.create-new-item-button,
.add-to-list-button,
.eis-btn {
  background: var(--ke-success);
  border-color: var(--ke-success);
  color: #fff;
}
.styled-button:hover,
.action-button:hover,
.kaufe-ich-button:hover,
.upload-button:hover,
.small-button:hover,
.save-button:hover,
.mache-ich-button:hover,
.button-link:hover,
.btn:hover,
.create-new-item-button:hover,
.add-to-list-button:hover,
.eis-btn:hover {
  background: var(--ke-success-600);
  border-color: var(--ke-success-600);
}

/* Danger variants */
.remove-button,
.cancel-button,
.btn-cancel,
.btn-danger {
  background: var(--ke-danger);
  border-color: var(--ke-danger);
  color: #fff;
}
.remove-button:hover,
.cancel-button:hover,
.btn-cancel:hover,
.btn-danger:hover {
  background: var(--ke-danger-600);
  border-color: var(--ke-danger-600);
}

/* Primary (blue) variants */
.adjust-button,
.edit-button,
.save-button,
.btn-primary,
.ep-btn-primary,
.apr-quick-btn {
  background: var(--ke-primary);
  border-color: var(--ke-primary);
  color: #fff;
}
.adjust-button:hover,
.edit-button:hover,
.save-button:hover,
.btn-primary:hover,
.ep-btn-primary:hover,
.apr-quick-btn:hover {
  background: var(--ke-primary-600);
  border-color: var(--ke-primary-600);
}

/* Warning variants */
.btn-send-report,
.quick-supplier-btn,
.category-filter-btn {
  background: var(--ke-warning);
  border-color: var(--ke-warning);
  color: #111;
}

/* Secondary/outline variants */
.back-button,
.close-btn,
.btn-cancel-report,
.ep-btn-secondary,
.btn-secondary,
.btn-cancel {
  background: var(--ke-surface-2);
  border-color: var(--ke-border);
  color: var(--ke-text);
}
.back-button:hover,
.close-btn:hover,
.btn-cancel-report:hover,
.ep-btn-secondary:hover,
.btn-secondary:hover,
.btn-cancel:hover {
  background: var(--ke-border);
}

/* Size overrides for small button classes */
.adjust-button,
.small-button,
.phone-btn,
.apr-quick-btn {
  padding: 4px 8px;
  font-size: var(--ke-font-sm);
}

/* Width overrides for specific buttons */
.adjust-button {
  min-width: 40px;
  width: 40px;
}
.remove-button {
  width: 100%;
  max-width: 200px;
}

/* Legacy form buttons from forms.css */
.button-primary {
  background: var(--ke-primary) !important;
  border-color: var(--ke-primary) !important;
  color: #fff !important;
}
.button-secondary {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/***** MODAL SYSTEM *****/
/* Unified modal with dark+light mode support */
.ke-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-backdrop);
  background-color: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.ke-modal-overlay.active { display: flex; }

.ke-modal-content {
  background: var(--ke-surface);
  color: var(--ke-text);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  width: min(560px, 96vw);
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}

.ke-modal-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--ke-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ke-modal-header h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--ke-text); }

.ke-modal-body { padding: 20px; }

.ke-modal-footer {
  padding: 12px 20px;
  border-top: 1px solid var(--ke-border);
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.ke-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  color: var(--ke-text-muted);
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
}
.ke-modal-close:hover { color: var(--ke-text); }

/* Legacy modal aliases → ke-modal system */
.modal-overlay,
.qty-modal-backdrop,
.email-modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-backdrop);
  background-color: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal-overlay.active,
.qty-modal-backdrop.active,
.email-modal-backdrop.active { display: flex; }

.modal-content,
.qty-modal-content,
.email-modal-content {
  background: var(--ke-surface);
  color: var(--ke-text);
  border: 1px solid var(--ke-border);
  border-radius: var(--ke-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  width: min(560px, 96vw);
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  padding: 20px;
}

.modal-header,
.qty-modal-content h3,
.email-modal-content h3 {
  color: var(--ke-text);
}

.modal-body { padding: 0; }

.modal-footer {
  border-top: 1px solid var(--ke-border);
  padding-top: 12px;
  margin-top: 12px;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* Light mode for modals */
[data-theme="light"] .modal-overlay,
[data-theme="light"] .qty-modal-backdrop,
[data-theme="light"] .email-modal-backdrop,
[data-theme="light"] .ke-modal-overlay {
  background-color: rgba(0,0,0,0.3);
}

/***** Global Page Wrapper Overrides for Light Mode - MAXIMUM SPECIFICITY *****/
/* Force main containers to use theme variables so they switch with data-theme */
/* Using html[data-theme="light"] + body selector for maximum specificity */
html[data-theme="light"] body,
html[data-theme="light"] body.ke-page-content,
html[data-theme="light"] .ke-page-content,
html[data-theme="light"] .content-wrapper,
html[data-theme="light"] .main-content,
html[data-theme="light"] .page-content,
html[data-theme="light"] .ke-safe-frame-overlay,
html[data-theme="light"] .ke-safe-frame-overlay--pad,
html[data-theme="light"] .navbar,
html[data-theme="light"] .navbar-ghost,
html[data-theme="light"] .global-footer {
  background: var(--ke-bg) !important;
  color: var(--ke-text) !important;
}

/* Also target html directly for background inheritance */
html[data-theme="light"] {
  background: var(--ke-bg) !important;
}

/* Ultra-specific: target body with all its possible classes */
html[data-theme="light"] body[class],
html[data-theme="light"] body:not([class]) {
  background: var(--ke-bg) !important;
  color: var(--ke-text) !important;
}

/* Nav bar specific */
html[data-theme="light"] .navbar {
  background: var(--ke-surface) !important;
  border-bottom: 1px solid var(--ke-border) !important;
}
html[data-theme="light"] .navbar a {
  color: var(--ke-text) !important;
}
html[data-theme="light"] .navbar a.active {
  color: var(--ke-primary) !important;
  background: rgba(0, 0, 0, 0.06) !important;
}
html[data-theme="light"] .navbar a:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}
html[data-theme="light"] .navbar-ghost {
  background: var(--ke-surface) !important;
  border-top: 1px solid var(--ke-border) !important;
}

/* Top nav bar: force light background */
html[data-theme="light"] nav {
  background: #ffffff !important;
  color: #111111 !important;
}
html[data-theme="light"] nav .brand,
html[data-theme="light"] nav .brand .wordmark {
  color: #000000 !important;
}
html[data-theme="light"] nav .nav-right a {
  color: #333333 !important;
}
html[data-theme="light"] nav .nav-right button {
  color: #333333 !important;
}
html[data-theme="light"] nav .nav-right .toggle_button {
  color: #333333 !important;
}
/* Also ensure dark mode nav stays black (only when html does NOT have light theme) */
html:not([data-theme="light"]) nav {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Dark mode navbar: fix purple #1d1b4a from shopping_list.css */
.navbar {
  background-color: #000000 !important;
}
.navbar a {
  color: #f2f2f2 !important;
  transition: background-color .15s, color .15s;
}
.navbar a.active {
  color: #ffd089 !important;
  background-color: rgba(255,208,137,.12) !important;
  font-weight: 700;
  border-bottom: 2px solid #ffd089;
}
.navbar a:hover {
  background-color: rgba(255,255,255,.06) !important;
}
[data-theme="light"] .navbar {
  background-color: #ffffff !important;
}
[data-theme="light"] .navbar a {
  color: #333333 !important;
}
[data-theme="light"] .navbar a.active {
  color: #2563eb !important;
  background-color: rgba(37,99,235,.08) !important;
  border-bottom: 2px solid #2563eb;
}
[data-theme="light"] .navbar a:hover {
  background-color: rgba(0,0,0,.04) !important;
}

/* Footer */
html[data-theme="light"] .global-footer {
  border-top: 1px solid var(--ke-border) !important;
}

/* Sidebar / drawer */
html[data-theme="light"] .nav-drawer,
html[data-theme="light"] .nav-drawer details,
html[data-theme="light"] .nav-drawer .submenu {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Cards / blocks that commonly use hardcoded #000 */
html[data-theme="light"] .welcome-block,
html[data-theme="light"] .info-block,
html[data-theme="light"] .detail-section,
html[data-theme="light"] .zutat-card,
html[data-theme="light"] .speisen-table-row,
html[data-theme="light"] .ingredient-entry-row,
html[data-theme="light"] .price-panel,
html[data-theme="light"] .preis-mobile-panel {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* Table rows */
[data-theme="light"] .ke-table th {
  background: var(--ke-surface) !important;
}
[data-theme="light"] .ke-table tr:nth-child(even) {
  background: var(--ke-surface-2) !important;
}
[data-theme="light"] .ke-table tr:hover {
  background: transparent !important;
}

/* Inputs in light mode */
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/***** AGGRESSIVE INLINE-STYLE OVERRIDES FOR LIGHT MODE *****/
/* Background overrides - catch ALL common dark inline background formats */
[data-theme="light"] [style*="background:#000"],
[data-theme="light"] [style*="background:#000000"],
[data-theme="light"] [style*="background-color:#000"],
[data-theme="light"] [style*="background-color:#000000"],
[data-theme="light"] [style*="background: #000"],
[data-theme="light"] [style*="background: #000000"],
[data-theme="light"] [style*="background-color: #000"],
[data-theme="light"] [style*="background-color: #000000"],
[data-theme="light"] [style*="background:#000 !important"],
[data-theme="light"] [style*="background: #000 !important"],
[data-theme="light"] [style*="background-color:#000 !important"],
[data-theme="light"] [style*="background-color: #000 !important"] {
  background: var(--ke-bg) !important;
}
[data-theme="light"] [style*="background:#111"],
[data-theme="light"] [style*="background:#111111"],
[data-theme="light"] [style*="background:#0b0b0b"],
[data-theme="light"] [style*="background:#0a0a0a"],
[data-theme="light"] [style*="background:#1a1a1a"],
[data-theme="light"] [style*="background:#222"],
[data-theme="light"] [style*="background:#222222"],
[data-theme="light"] [style*="background:#333"],
[data-theme="light"] [style*="background:#333333"],
[data-theme="light"] [style*="background:#444"],
[data-theme="light"] [style*="background:#444444"] {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background:#0f0f10"],
[data-theme="light"] [style*="background:#0f0f0f"] {
  background: var(--ke-surface-2) !important;
}
/* Extended dark background variants (catch-all for inline styles) */
[data-theme="light"] [style*="background:#101010"],
[data-theme="light"] [style*="background:#141414"],
[data-theme="light"] [style*="background:#1a1a1a"],
[data-theme="light"] [style*="background:#1e1e1e"],
[data-theme="light"] [style*="background:#1b1b1b"],
[data-theme="light"] [style*="background:#0a0e14"],
[data-theme="light"] [style*="background:#0a0a0a"],
[data-theme="light"] [style*="background:#0b0b0b"],
[data-theme="light"] [style*="background:#070b12"],
[data-theme="light"] [style*="background:#2b2b2b"],
[data-theme="light"] [style*="background:#1f1f1f"],
[data-theme="light"] [style*="background:#121212"],
[data-theme="light"] [style*="background:#0e0e0e"],
[data-theme="light"] [style*="background:#2a2a2a"],
[data-theme="light"] [style*="background:#2b2b2b"],
[data-theme="light"] [style*="background:#26282a"],
[data-theme="light"] [style*="background:#1d1b4a"],
[data-theme="light"] [style*="background:#000000"],
[data-theme="light"] [style*="background:#111111"],
[data-theme="light"] [style*="background:#222222"],
[data-theme="light"] [style*="background:#333333"],
[data-theme="light"] [style*="background:#444444"],
[data-theme="light"] [style*="background:#555"],
[data-theme="light"] [style*="background:#555555"],
[data-theme="light"] [style*="background:#4f4f4f"],
[data-theme="light"] [style*="background:#666"],
[data-theme="light"] [style*="background:#666666"] {
  background: var(--ke-surface) !important;
}
/* rgba/hex semi-dark backgrounds -> keep but lighten */
[data-theme="light"] [style*="background:rgba(0,0,0"],
[data-theme="light"] [style*="background: rgba(0,0,0"],
[data-theme="light"] [style*="background:rgba(0, 0, 0"],
[data-theme="light"] [style*="background-color:rgba(0,0,0"],
[data-theme="light"] [style*="background-color:rgba(0, 0, 0"] {
  background: rgba(0, 0, 0, 0.05) !important;
}

/* Color overrides - white/light text on dark backgrounds */
/* White / near-white text -> dark text */
[data-theme="light"] [style*="color:#fff"],
[data-theme="light"] [style*="color:#ffffff"],
[data-theme="light"] [style*="color:#FFF"],
[data-theme="light"] [style*="color:#FFFFFF"],
[data-theme="light"] [style*="color: #fff"],
[data-theme="light"] [style*="color: #ffffff"],
[data-theme="light"] [style*="color:white"],
[data-theme="light"] [style*="color: white"],
[data-theme="light"] [style*="color:#f5f7fa"],
[data-theme="light"] [style*="color:#f2f2f2"],
[data-theme="light"] [style*="color:#eee"],
[data-theme="light"] [style*="color:#eeeeee"],
[data-theme="light"] [style*="color:#f0f0f0"] {
  color: var(--ke-text) !important;
}
/* Light gray / pale blue / pale yellow text -> muted dark text */
[data-theme="light"] [style*="color:#ddd"],
[data-theme="light"] [style*="color:#dddddd"],
[data-theme="light"] [style*="color:#ccc"],
[data-theme="light"] [style*="color:#cccccc"],
[data-theme="light"] [style*="color:#bbb"],
[data-theme="light"] [style*="color:#bbbbbb"],
[data-theme="light"] [style*="color:#aaa"],
[data-theme="light"] [style*="color:#aaaaaa"],
[data-theme="light"] [style*="color:#999"],
[data-theme="light"] [style*="color:#999999"],
[data-theme="light"] [style*="color:#b8c2da"],
[data-theme="light"] [style*="color:#c9d3df"],
[data-theme="light"] [style*="color:#9aa8b8"],
[data-theme="light"] [style*="color:#95afcd"],
[data-theme="light"] [style*="color:#9ecfff"],
[data-theme="light"] [style*="color:#7ecfff"],
[data-theme="light"] [style*="color:#8ab4ff"],
[data-theme="light"] [style*="color:#9cf"],
[data-theme="light"] [style*="color:#9ed0ff"],
[data-theme="light"] [style*="color:#9ec3ff"],
[data-theme="light"] [style*="color:#ffd9bf"],
[data-theme="light"] [style*="color:#7ecb7e"],
[data-theme="light"] [style*="color:#9bcf9f"],
[data-theme="light"] [style*="color:#8fd3ff"],
[data-theme="light"] [style*="color:#ffb74d"],
[data-theme="light"] [style*="color:#ffb07a"] {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] [style*="color:#ddd"],
[data-theme="light"] [style*="color:#dddddd"],
[data-theme="light"] [style*="color:#ccc"],
[data-theme="light"] [style*="color:#cccccc"],
[data-theme="light"] [style*="color:#bbb"],
[data-theme="light"] [style*="color:#bbbbbb"],
[data-theme="light"] [style*="color:#aaa"],
[data-theme="light"] [style*="color:#aaaaaa"],
[data-theme="light"] [style*="color:#999"],
[data-theme="light"] [style*="color:#999999"] {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] [style*="color:#888"],
[data-theme="light"] [style*="color:#888888"],
[data-theme="light"] [style*="color:#777"],
[data-theme="light"] [style*="color:#777777"] {
  color: var(--ke-text-muted) !important;
}

/* Specific brand colors used in speisen_details */
[data-theme="light"] [style*="color:#9ecfff"],
[data-theme="light"] [style*="color:#7ecfff"],
[data-theme="light"] [style*="color:#8ab4ff"],
[data-theme="light"] [style*="color:#4CAF50"],
[data-theme="light"] [style*="color:#4caf50"],
[data-theme="light"] [style*="color:#22c55e"],
[data-theme="light"] [style*="color:#16a34a"] {
  color: var(--ke-primary) !important;
}
[data-theme="light"] [style*="color:#ff7b7b"],
[data-theme="light"] [style*="color:#ff6b6b"],
[data-theme="light"] [style*="color:#f44336"],
[data-theme="light"] [style*="color:#ef4444"],
[data-theme="light"] [style*="color:#dc2626"] {
  color: var(--ke-danger) !important;
}
[data-theme="light"] [style*="color:#ffc107"],
[data-theme="light"] [style*="color:#ffb300"],
[data-theme="light"] [style*="color:#f59e0b"],
[data-theme="light"] [style*="color:#d97706"] {
  color: var(--ke-warning) !important;
}
[data-theme="light"] [style*="color:#b8c2da"],
[data-theme="light"] [style*="color:#c9d3df"],
[data-theme="light"] [style*="color:#9aa8b8"],
[data-theme="light"] [style*="color:#95afcd"] {
  color: var(--ke-text-muted) !important;
}

/* Border overrides */
[data-theme="light"] [style*="border:#444"],
[data-theme="light"] [style*="border:#444444"],
[data-theme="light"] [style*="border-color:#444"],
[data-theme="light"] [style*="border-color:#444444"],
[data-theme="light"] [style*="border-bottom:#444"],
[data-theme="light"] [style*="border-bottom:1px solid #444"],
[data-theme="light"] [style*="border-top:#444"],
[data-theme="light"] [style*="border-top:1px solid #444"],
[data-theme="light"] [style*="border:1px solid #444"],
[data-theme="light"] [style*="border: 1px solid #444"] {
  border-color: var(--ke-border) !important;
}
[data-theme="light"] [style*="border:#333"],
[data-theme="light"] [style*="border:#333333"],
[data-theme="light"] [style*="border:#2f2f2f"],
[data-theme="light"] [style*="border:#2a2a2a"] {
  border-color: var(--ke-border) !important;
}
[data-theme="light"] [style*="border:#555"],
[data-theme="light"] [style*="border:#555555"],
[data-theme="light"] [style*="border:#666"],
[data-theme="light"] [style*="border:#666666"] {
  border-color: var(--ke-border) !important;
}
[data-theme="light"] [style*="border:#1f1f1f"],
[data-theme="light"] [style*="border:#233047"] {
  border-color: var(--ke-border) !important;
}
[data-theme="light"] [style*="border-top:2px solid #555"],
[data-theme="light"] [style*="border-top: 2px solid #555"] {
  border-top-color: var(--ke-border) !important;
}
[data-theme="light"] [style*="border-top:1px dashed #444"],
[data-theme="light"] [style*="border-top: 1px dashed #444"],
[data-theme="light"] [style*="border-top:1px dashed #2f2f2f"] {
  border-top-color: var(--ke-border) !important;
}

/* Specific element fixes */
[data-theme="light"] #speisen-gallery-main-caption,
[data-theme="light"] #speisen-gallery-counter,
[data-theme="light"] .bestand-open-trigger {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestand-open-trigger {
  color: var(--ke-primary) !important;
}

/* Gallery modal */
[data-theme="light"] #speisen-gallery-manage-modal {
  background: rgba(255, 255, 255, .86) !important;
}
[data-theme="light"] #speisen-gallery-manage-modal > div {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Price tooltips */
[data-theme="light"] .preis-mobile-panel {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* Menus */
[data-theme="light"] .zutat-menu,
[data-theme="light"] .block-menu {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}
[data-theme="light"] .zutat-menu button,
[data-theme="light"] .zutat-menu form button,
[data-theme="light"] .block-menu button {
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .zutat-menu button:hover,
[data-theme="light"] .zutat-menu form button:hover,
[data-theme="light"] .block-menu button:hover {
  background: var(--ke-surface-2) !important;
}

/* Welcome block and similar */
[data-theme="light"] .welcome-block {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Date picker modal */
[data-theme="light"] .date-picker-modal {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .weekday-btn {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .weekday-btn:hover {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-primary) !important;
}
[data-theme="light"] .weekday-btn.today {
  background: rgba(255, 152, 0, 0.2) !important;
  border-color: #ff9800 !important;
}
[data-theme="light"] .weekday-btn.weekend {
  background: rgba(100, 100, 100, 0.1) !important;
  border-color: var(--ke-border) !important;
}

/* Cookie banner */
[data-theme="light"] .ke-tech-cookie-banner {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ke-tech-cookie-banner p {
  background: var(--ke-surface) !important;
}
[data-theme="light"] .ke-tech-cookie-btn {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .ke-tech-cookie-btn.ok {
  background: var(--ke-success) !important;
  border-color: var(--ke-success) !important;
}

/* FAQ */
[data-theme="light"] .ke-template-faq-toggle {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ke-template-faq-content {
  background: var(--ke-surface) !important;
}

/* Lightbox */
[data-theme="light"] #ke-template-faq-lightbox {
  background: rgba(0, 0, 0, 0.85) !important;
}

/* Global footer legal links */
[data-theme="light"] .global-footer .legal-links a {
  color: var(--ke-text-muted) !important;
}

/* Search results */
[data-theme="light"] .search-result-item {
  background: var(--ke-surface) !important;
}

/* Modal overlays */
[data-theme="light"] .edit-overlay,
[data-theme="light"] .qty-modal-backdrop,
[data-theme="light"] .ke-add-todo-backdrop {
  background: rgba(0, 0, 0, 0.5) !important;
}
[data-theme="light"] .overlay-content {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .text-edit-area {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* Portion modal */
[data-theme="light"] .ke-add-todo-modal {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ke-add-todo-modal input,
[data-theme="light"] .ke-add-todo-modal select,
[data-theme="light"] .ke-add-todo-modal textarea {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* Unit settings modal */
[data-theme="light"] .unit-settings-modal-content {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .unit-settings-modal-content select,
[data-theme="light"] .unit-settings-modal-content input {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* Verlust modal */
[data-theme="light"] #loss-modal .overlay-content,
[data-theme="light"] #loss-overview .overlay-content {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Season modal */
[data-theme="light"] #season-config-modal > div {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] #season-config-modal input,
[data-theme="light"] #season-config-modal select {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .season-month-option {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
}

/* QR modal */
[data-theme="light"] #qr-action-modal .modal-content {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Toasts */
[data-theme="light"] .ke-toast {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* AI panel */
[data-theme="light"] .ai-panel {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ai-panel .msg {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
}

/* Global banner */
[data-theme="light"] .ke-global-banner {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Nav drawer */
[data-theme="light"] .nav-drawer {
  background: var(--ke-surface) !important;
}
[data-theme="light"] .nav-drawer details,
[data-theme="light"] .nav-drawer .submenu {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .nav-drawer .close-btn {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Production card */
[data-theme="light"] .home-production-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .home-production-card-inner {
  background: var(--ke-surface) !important;
}
[data-theme="light"] .dashboard-doc-card,
[data-theme="light"] .dashboard-production-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Speise specific rows that use inline background */
[data-theme="light"] .speisen-table-row--head,
[data-theme="light"] .speisen-summary-row,
[data-theme="light"] .speisen-portion-row,
[data-theme="light"] .speisen-portion-cta-row,
[data-theme="light"] .ingredient-block-row {
  background: var(--ke-surface) !important;
}

/* Dashed separator rows */
[data-theme="light"] [style*="background:#0b0b0b"],
[data-theme="light"] [style*="background:#0B0B0B"] {
  background: var(--ke-surface-2) !important;
}

/* Any element with hardcoded dark background that should be surface */
[data-theme="light"] [style*="background:#000"]:not(.navbar):not(.navbar-ghost):not(.global-footer):not(.nav-drawer):not(.modal-overlay):not(.qty-modal-backdrop):not(.edit-overlay),
[data-theme="light"] [style*="background:#111"]:not(.navbar):not(.navbar-ghost):not(.global-footer):not(.nav-drawer):not(.modal-overlay):not(.qty-modal-backdrop):not(.edit-overlay),
[data-theme="light"] [style*="background:#222"]:not(.navbar):not(.navbar-ghost):not(.global-footer):not(.nav-drawer):not(.modal-overlay):not(.qty-modal-backdrop):not(.edit-overlay) {
  background: var(--ke-surface) !important;
}

/***** CATCH-ALL: no light/white/pale text on light backgrounds in light mode *****/
/* Force ALL light/pale text colors to a dark readable color in light mode,
   EXCEPT inside modals/overlays (which keep their dark UI). This guarantees
   no white text on white/light background anywhere. */
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#fff"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#ffffff"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:white"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#f5f7fa"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#f2f2f2"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#eee"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#eef2fa"] {
  color: var(--ke-text) !important;
}

/* Pale grays / pale blues / pale yellows on light bg -> muted dark */
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#ddd"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#ccc"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#bbb"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#aaa"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#999"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#b8c2da"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#c9d3df"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#95afcd"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#f1f1f1"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#c9d9ee"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#eef3fb"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#9bb2d4"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#95a6bf"],
[data-theme="light"] :not(.edit-overlay):not(.qty-modal-backdrop):not(.overlay-content):not(.text-edit-area):not(.preis-mobile-panel):not(.zutat-menu):not(.block-menu):not(.nav-drawer):not(.date-picker-modal):not(.ke-add-todo-modal):not(.unit-settings-modal-content):not(.modal-overlay):not(.season-config-modal):not(.qr-action-modal):not(.ke-toast):not(.ai-panel):not(.ke-template-faq-content):not(#loss-modal):not(#loss-overview) [style*="color:#c9d9ee"] {
  color: var(--ke-text-muted) !important;
}

/* Keep semantic/brand accents readable on light background (NOT white/black) */
[data-theme="light"] a,
[data-theme="light"] a * {
  color: #333333 !important;
}
[data-theme="light"] a:hover {
  color: #000000 !important;
}
[data-theme="light"] .brand {
  color: #000000 !important;
}
[data-theme="light"] nav .brand {
  color: #000000 !important;
}
[data-theme="light"] .ingredient-name-cell a,
[data-theme="light"] .missing-data-link,
[data-theme="light"] .loss-applied,
[data-theme="light"] .diet-badge,
[data-theme="light"] .legal-link {
  color: #333333 !important;
}
[data-theme="light"] .text-danger,
[data-theme="light"] .remove-button,
[data-theme="light"] .danger,
[data-theme="light"] [style*="color:#ff7"],
[data-theme="light"] [style*="color:#ff4"],
[data-theme="light"] [style*="color:#ff3"] {
  color: var(--ke-danger) !important;
}
[data-theme="light"] .warning,
[data-theme="light"] [style*="color:#ffb"]:not([style*="color:#fff"]),
[data-theme="light"] [style*="color:#ffd"]:not([style*="color:#fff"]),
[data-theme="light"] [style*="color:#e6a817"] {
  color: var(--ke-warning) !important;
}

/* Speisen category tiles: override hardcoded #000 background */
[data-theme="light"] .category-button,
[data-theme="light"] .rotation-category-block,
[data-theme="light"] .modal .modal-content {
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .category-button .overlay {
  background: linear-gradient(180deg, rgba(255,255,255,0.3), rgba(0,0,0,0.04)) !important;
}

/* Verbrauch button on waren page: override hardcoded dark green */
[data-theme="light"] a[href*="verbrauch"] {
  background: #f0fdf4 !important;
  border-color: #16a34a !important;
  color: #16a34a !important;
}
[data-theme="light"] a[href*="verbrauch"]:hover {
  background: #dcfce7 !important;
}

/* Eis compare table: override hardcoded dark background */
[data-theme="light"] #compare-body,
[data-theme="light"] .ctab,
[data-theme="light"] .ctab th,
[data-theme="light"] .ctab td,
[data-theme="light"] .ctab tr {
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ctab th {
  color: var(--ke-text) !important;
  border-bottom-color: var(--ke-border) !important;
}
[data-theme="light"] .ctab tr.ctot td {
  color: var(--ke-text) !important;
  border-top-color: var(--ke-border) !important;
}
[data-theme="light"] #compare-body {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Hardcoded #000 backgrounds on elements with style attribute - already handled by catch-all above */
/* But explicit fixes for known problematic inline-styled elements */
[data-theme="light"] [style*="background:#000"]:not(.navbar):not(.navbar-ghost):not(.global-footer):not(.nav-drawer):not(.modal-overlay):not(.qty-modal-backdrop):not(.edit-overlay) {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background: #000"]:not(.navbar):not(.navbar-ghost):not(.global-footer):not(.nav-drawer):not(.modal-overlay):not(.qty-modal-backdrop):not(.edit-overlay) {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background:#000 !important"] {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background-color:#000"] {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background-color: #000"] {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background-color:#000 !important"] {
  background: var(--ke-surface) !important;
}
[data-theme="light"] [style*="background-color: #000 !important"] {
  background: var(--ke-surface) !important;
}

/***** Inline style utilities (Phase 12) *****/
/* These replace hardcoded inline style= color attributes in templates */

/* Background utilities */
.ke-bg-black { background-color: var(--ke-bg, #000) !important; }
.ke-bg-surface { background-color: var(--ke-surface, #111) !important; }
.ke-bg-surface-2 { background-color: var(--ke-surface-2, #1a1a1a) !important; }
.ke-bg-surface-3 { background-color: #2a2a2a !important; }
[data-theme="light"] .ke-bg-black { background-color: #fff !important; }
[data-theme="light"] .ke-bg-surface { background-color: var(--ke-surface) !important; }
[data-theme="light"] .ke-bg-surface-2 { background-color: var(--ke-surface-2) !important; }
[data-theme="light"] .ke-bg-surface-3 { background-color: #e5e7eb !important; }

/* Text color utilities */
.ke-text-white { color: var(--ke-text, #fff) !important; }
.ke-text-muted { color: var(--ke-text-muted, #999) !important; }
.ke-text-light { color: #ccc !important; }
.ke-text-dim { color: #888 !important; }
[data-theme="light"] .ke-text-white { color: var(--ke-text, #111) !important; }
[data-theme="light"] .ke-text-muted { color: var(--ke-text-muted, #666) !important; }
[data-theme="light"] .ke-text-light { color: #444 !important; }
[data-theme="light"] .ke-text-dim { color: #888 !important; }

/* Border utilities */
.ke-border-dark { border-color: var(--ke-border) !important; }

/* Select / dropdown utility */
.ke-select {
  background: var(--ke-surface-2) !important;
  border: 1px solid var(--ke-border) !important;
  color: var(--ke-text) !important;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.8rem;
}
[data-theme="light"] .ke-select {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}

/* Accent color utilities */
.ke-text-primary { color: var(--ke-primary, #4CAF50) !important; }
.ke-text-warning { color: var(--ke-warning, #ffa726) !important; }
.ke-text-danger { color: var(--ke-danger, #ef4444) !important; }
.ke-text-success { color: var(--ke-success, #4CAF50) !important; }
[data-theme="light"] .ke-text-primary { color: var(--ke-primary) !important; }
[data-theme="light"] .ke-text-warning { color: var(--ke-warning) !important; }
[data-theme="light"] .ke-text-danger { color: var(--ke-danger) !important; }
[data-theme="light"] .ke-text-success { color: var(--ke-success) !important; }

/***** Item Details — Global Light Mode Fixes (loaded from <head>) *****/
[data-theme="light"] body.item-details-page { background-color: var(--ke-bg) !important; color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .info-block,
[data-theme="light"] .info-block { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .section-title,
[data-theme="light"] .section-title { color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .info-label,
[data-theme="light"] .info-label { color: var(--ke-text-muted) !important; }
[data-theme="light"] .detail-page .info-value,
[data-theme="light"] .info-value { color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .form-input,
[data-theme="light"] .form-input { background: var(--ke-bg) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .detail-section,
[data-theme="light"] .detail-section { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .quantity-section,
[data-theme="light"] .quantity-section { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .header-container,
[data-theme="light"] .header-container { background: var(--ke-surface) !important; }
[data-theme="light"] .detail-page .header-text h1,
[data-theme="light"] .header-text h1,
[data-theme="light"] .detail-page .header-text h3,
[data-theme="light"] .header-text h3 { color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .ke-btn,
[data-theme="light"] .ke-btn { background: var(--ke-surface-2) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .button,
[data-theme="light"] .button { background: var(--ke-surface-2) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .contents-nav { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .detail-page .contents-title { color: var(--ke-text) !important; }
[data-theme="light"] .detail-page .contents-links a { color: var(--ke-primary) !important; }
/* Completeness card */
[data-theme="light"] .completeness-card { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .completeness-card--red { border-color: var(--ke-danger) !important; }
[data-theme="light"] .completeness-card--yellow { border-color: var(--ke-warning) !important; }
[data-theme="light"] .completeness-card--green { border-color: var(--ke-success) !important; }
[data-theme="light"] .completeness-score { color: var(--ke-text) !important; }
[data-theme="light"] .completeness-pill--red { background: rgba(220,38,38,.12) !important; color: var(--ke-danger) !important; border-color: rgba(220,38,38,.3) !important; }
[data-theme="light"] .completeness-pill--yellow { background: rgba(245,158,11,.12) !important; color: var(--ke-warning) !important; border-color: rgba(245,158,11,.3) !important; }
[data-theme="light"] .completeness-pill--green { background: rgba(34,197,94,.12) !important; color: var(--ke-success) !important; border-color: rgba(34,197,94,.3) !important; }
[data-theme="light"] .completeness-progress { background: var(--ke-surface-2) !important; }
[data-theme="light"] .completeness-meta { color: var(--ke-text-muted) !important; }
[data-theme="light"] .completeness-section-title { color: var(--ke-text) !important; }
[data-theme="light"] .completeness-chip { background: var(--ke-surface-2) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .completeness-chip--critical { background: rgba(220,38,38,.08) !important; color: var(--ke-danger) !important; border-color: rgba(220,38,38,.3) !important; }
[data-theme="light"] .completeness-details summary { color: var(--ke-text-muted) !important; }
[data-theme="light"] .completeness-item { color: var(--ke-text) !important; }
[data-theme="light"] .completeness-status-badge { border-color: var(--ke-border) !important; color: var(--ke-text-muted) !important; }
[data-theme="light"] .completeness-status-badge.red { background: rgba(220,38,38,.1) !important; color: var(--ke-danger) !important; }
[data-theme="light"] .completeness-status-badge.yellow { background: rgba(245,158,11,.1) !important; color: var(--ke-warning) !important; }
[data-theme="light"] .completeness-status-badge.green { background: rgba(34,197,94,.1) !important; color: var(--ke-success) !important; }
/* Similar items */
[data-theme="light"] .int-similar-card { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; box-shadow: 0 2px 8px rgba(0,0,0,.08) !important; }
[data-theme="light"] .int-similar-body h3 { color: var(--ke-text) !important; }
[data-theme="light"] .int-similar-cat { color: var(--ke-text-muted) !important; }
[data-theme="light"] .int-similar-body p { color: var(--ke-text-muted) !important; }
[data-theme="light"] .int-similar-link { color: var(--ke-primary) !important; }
[data-theme="light"] .int-similar-nav { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; color: var(--ke-warning) !important; }
[data-theme="light"] .int-similar-section h2 { color: var(--ke-text) !important; }
/* Badge: distinct text vs bg color */
[data-theme="light"] .int-similar-badge-new { background: #dcfce7 !important; color: #166534 !important; border-color: #86efac !important; }
/* Product info fields */
[data-theme="light"] .product-info .pi-field { background: var(--ke-bg) !important; border-color: var(--ke-border) !important; }
[data-theme="light"] .product-info .pi-label { color: var(--ke-text-muted) !important; }
[data-theme="light"] .product-info .pi-value { color: var(--ke-text) !important; }
/* Adjust/remove/metro/rewe buttons */
[data-theme="light"] .adjust-button,
[data-theme="light"] .remove-button,
[data-theme="light"] .metro-button,
[data-theme="light"] .rewe-button { background: var(--ke-surface-2) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
/* Content edit modal */
[data-theme="light"] .content-edit-modal { background: var(--ke-surface) !important; border-color: var(--ke-border) !important; color: var(--ke-text) !important; }
[data-theme="light"] .content-edit-text { background: var(--ke-bg) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
/* Nutrient inputs */
[data-theme="light"] .nutrient-input,
[data-theme="light"] .nutrient-select { background: var(--ke-bg) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
/* Supplier modal */
[data-theme="light"] .supplier-modal-content { background: var(--ke-surface) !important; color: var(--ke-text) !important; border-color: var(--ke-border) !important; }
/* Contents title & links */
[data-theme="light"] .contents-title { color: var(--ke-text) !important; }
[data-theme="light"] .contents-links a { color: var(--ke-primary) !important; }
[data-theme="light"] .contents-links a:hover { color: var(--ke-primary-hover) !important; }

/* Bestandsliste tabs - used across speisen pages */
[data-theme="light"] .bestandsliste-tab {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-tab:hover {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-tab.active {
  background: rgba(76, 175, 80, 0.15) !important;
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}

/* Bestandsliste page - main container and elements */
[data-theme="light"] .bestandsliste-page {
  background: var(--ke-bg) !important;
  color: var(--ke-text) !important;
  border-color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-header {
  border-bottom-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-header h1 {
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-rows {
  background: transparent !important;
}
[data-theme="light"] .bestandsliste-row {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-row:hover {
  background: transparent !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-row.no-inventory {
  background: transparent !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-no-rotation {
  border-color: var(--ke-border) !important;
  background: rgba(140, 140, 140, 0.08) !important;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-no-rotation .bestandsliste-name a {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-no-rotation .bestandsliste-name small {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-leer {
  border-color: var(--ke-border) !important;
  background: rgba(100, 100, 100, 0.06) !important;
  opacity: 0.65;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-leer .bestandsliste-name a {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-row.bestandsliste-row-leer .bestandsliste-name small {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-leer-badge {
  color: var(--ke-text-muted) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-stock-date {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-btn {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-btn:hover {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-btn-minus {
  border-color: var(--ke-danger) !important;
  color: var(--ke-danger) !important;
}
[data-theme="light"] .bestandsliste-btn-plus {
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-btn-settings {
  border-color: var(--ke-primary) !important;
  color: var(--ke-primary) !important;
}
[data-theme="light"] .bestandsliste-btn-inventory {
  border-color: var(--ke-primary) !important;
  color: var(--ke-primary) !important;
}
[data-theme="light"] .bestandsliste-input {
  background: var(--ke-bg) !important;
  color: var(--ke-text) !important;
  border-color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-input:focus {
  background: var(--ke-bg) !important;
  border-color: var(--ke-primary) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-name a {
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-name a:hover {
  color: var(--ke-primary) !important;
}
[data-theme="light"] .bestandsliste-name small {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-stock-date {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-rotation-heading {
  color: var(--ke-text-muted) !important;
}

/* Delta badge readability in light mode */
[data-theme="light"] .bestandsliste-input-delta {
  background: transparent !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-input-delta.is-negative {
  color: var(--ke-danger) !important;
}
[data-theme="light"] .bestandsliste-input-delta.is-positive {
  color: var(--ke-success) !important;
}

/* Ensure negative delta badge has no dark background in light mode */
[data-theme="light"] .bestandsliste-input-delta.is-negative {
  background: transparent !important;
}
[data-theme="light"] .bestandsliste-category-heading {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-gericht-heading {
  color: var(--ke-primary) !important;
}
[data-theme="light"] .bestandsliste-leer-badge {
  color: var(--ke-text-muted) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-summary-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-summary-card strong {
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-summary-card span {
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-action,
[data-theme="light"] .bestandsliste-back {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-action:hover,
[data-theme="light"] .bestandsliste-back:hover {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-action {
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-action-danger {
  border-color: var(--ke-danger) !important;
  color: var(--ke-danger) !important;
}
[data-theme="light"] .bestandsliste-action-danger:hover {
  background: rgba(217, 83, 79, 0.12) !important;
  border-color: var(--ke-danger) !important;
  color: var(--ke-danger) !important;
}
[data-theme="light"] .bestandsliste-tabs {
  background: transparent !important;
}
[data-theme="light"] .bestandsliste-tab {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-tab:hover {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-tab.active {
  background: rgba(76, 175, 80, 0.15) !important;
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-tab-highlight {
  background: rgba(46, 125, 50, 0.12) !important;
  border-color: #2e7d32 !important;
  color: #2e7d32 !important;
}
[data-theme="light"] .bestandsliste-badge-ok {
  color: var(--ke-success) !important;
  border-color: rgba(46, 125, 50, 0.6) !important;
}
[data-theme="light"] .bestandsliste-badge-warning {
  color: var(--ke-warning) !important;
  border-color: rgba(245, 158, 11, 0.6) !important;
}
[data-theme="light"] .bestandsliste-badge-critical {
  color: var(--ke-danger) !important;
  border-color: rgba(220, 38, 38, 0.6) !important;
}

/* Production filterbar */
[data-theme="light"] .produktion-filterbar label {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .produktion-filterbar select,
[data-theme="light"] .produktion-filterbar input[type="date"],
[data-theme="light"] .produktion-filter-submit {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .produktion-filterbar select:focus,
[data-theme="light"] .produktion-filterbar input[type="date"]:focus,
[data-theme="light"] .produktion-filter-submit:focus {
  outline-color: var(--ke-success) !important;
}
[data-theme="light"] .produktion-check-filter {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .produktion-filter-submit {
  background: var(--ke-surface) !important;
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}
[data-theme="light"] .produktion-filter-submit:hover {
  background: rgba(76, 175, 80, 0.12) !important;
}

/* Production check filter inner */
[data-theme="light"] .produktion-check-filter .check-inner {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Chart cards */
[data-theme="light"] .chart-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .chart-fullscreen-btn {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .chart-fullscreen-btn:hover {
  background: var(--ke-surface-2) !important;
  color: var(--ke-text) !important;
}

/* Period filter row */
[data-theme="light"] .period-filter-row {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}

/* Production limits modal & other modals */
[data-theme="light"] .production-limits-modal {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .production-limits-note {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .production-limits-grid label {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .production-limits-grid input {
  border-color: var(--ke-border) !important;
  background: var(--ke-surface-2) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .production-modal-back,
[data-theme="light"] .production-modal-save {
  border-color: var(--ke-border) !important;
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .production-modal-save {
  border-color: var(--ke-success) !important;
  color: var(--ke-success) !important;
}

/* Date picker buttons */
[data-theme="light"] .production-date-nav,
[data-theme="light"] .production-date-action,
[data-theme="light"] .production-date-danger {
  border-color: var(--ke-border) !important;
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .production-date-action:hover,
[data-theme="light"] .production-date-nav:hover {
  border-color: var(--ke-primary) !important;
}
[data-theme="light"] .production-date-danger {
  border-color: #b52b2b !important;
  background: #ff4247 !important;
  color: #fff !important;
}

/* Empty state */
[data-theme="light"] .empty-state {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text-muted) !important;
}

/* Charge forecast list */
[data-theme="light"] .charge-forecast-list span {
  border-color: var(--ke-border) !important;
  background: var(--ke-surface-2) !important;
  color: var(--ke-text-muted) !important;
}

/* Planning table */
[data-theme="light"] .planning-table {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .planning-table thead tr {
  border-bottom-color: var(--ke-border) !important;
}
[data-theme="light"] .planning-table th {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .planning-table td {
  border-bottom-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .planning-table td small {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .planning-name {
  color: var(--ke-text) !important;
}
[data-theme="light"] .planning-suggestion strong {
  color: var(--ke-text) !important;
}
[data-theme="light"] .planning-weather-cell {
  color: var(--ke-text) !important;
}
[data-theme="light"] .planning-wechsel-header {
  background: var(--ke-surface-2) !important;
}
[data-theme="light"] .planning-toggle-row:hover {
  background: transparent !important;
}
[data-theme="light"] .planning-child-row {
  background: var(--ke-surface-2) !important;
}
[data-theme="light"] .planning-child-row .planning-name {
  color: var(--ke-text-muted) !important;
}

/* Bestandsliste modals - light mode */
[data-theme="light"] .bestandsliste-modal-backdrop {
  background: rgba(0, 0, 0, 0.6) !important;
}

[data-theme="light"] .bestandsliste-modal {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-modal h3 {
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-modal-sub {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .bestandsliste-modal-grid label {
  color: var(--ke-primary) !important;
}
[data-theme="light"] .bestandsliste-modal-grid input {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .bestandsliste-modal-section {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .bestandsliste-modal-section strong {
  color: var(--ke-success) !important;
}
[data-theme="light"] .bestandsliste-modal-note {
  color: var(--ke-text-muted) !important;
}

/* Dokumente page cards - light mode */
[data-theme="light"] .dokument-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .dokument-card a {
  color: var(--ke-primary) !important;
}
[data-theme="light"] .dokument-card-head {
  background: transparent !important;
}
[data-theme="light"] .dokument-title-row {
  background: transparent !important;
}
[data-theme="light"] .dokument-description {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .dokument-actions button,
[data-theme="light"] .dokument-actions a {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .dokument-meta {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .dokument-attachment-chip,
[data-theme="light"] .dokument-link-chip {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .dokument-attachment-chip a {
  color: var(--ke-text) !important;
}
[data-theme="light"] .dokument-attachment-chip form button {
  color: var(--ke-danger) !important;
}
[data-theme="light"] .dokument-meta {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-ref-detail-page .ke-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-ref-tab {
  background: var(--ke-surface) !important;
  color: var(--ke-text) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-ref-tab:hover,
[data-theme="light"] .public-ref-tab:focus-visible,
[data-theme="light"] .public-ref-tab.is-active {
  border-color: var(--ke-warning) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-ref-backlink {
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-ref-kicker {
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-ref-intro {
  color: var(--ke-text-light) !important;
}
[data-theme="light"] .public-ref-badge,
[data-theme="light"] .public-ref-related-code {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-ref-badge--danger {
  background: rgba(239,68,68,0.15) !important;
  border-color: var(--ke-danger) !important;
  color: var(--ke-danger) !important;
}
[data-theme="light"] .public-ref-badge--warning {
  background: rgba(248,179,58,0.15) !important;
  border-color: var(--ke-warning) !important;
  color: var(--ke-warning) !important;
}
[data-theme="light"] .public-ref-aliases {
  color: var(--ke-text-light) !important;
}
[data-theme="light"] .public-ref-report-link {
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-ref-section + .public-ref-section {
  border-top-color: var(--ke-border) !important;
}
[data-theme="light"] .public-ref-section p {
  color: var(--ke-text-light) !important;
}
[data-theme="light"] .public-ref-related-name {
  color: var(--ke-text-light) !important;
}
[data-theme="light"] .public-report-modal__dialog {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-report-modal__close {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-report-modal__intro {
  color: var(--ke-text-light) !important;
}
[data-theme="light"] .public-report-check {
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-report-check input {
  accent-color: var(--ke-link) !important;
}
[data-theme="light"] .public-report-label {
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-report-form textarea {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-report-feedback {
  color: var(--ke-danger) !important;
}
[data-theme="light"] .public-report-feedback.is-success {
  color: var(--ke-success) !important;
}
[data-theme="light"] .public-faqs-page .ke-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .faq-accordion-item {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .faq-accordion-toggle {
  background: transparent !important;
  color: var(--ke-warning) !important;
}
[data-theme="light"] .faq-accordion-icon {
  color: var(--ke-link) !important;
}
[data-theme="light"] .faq-accordion-content {
  background: transparent !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .ke-staff-box {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .ke-staff-label {
  color: var(--ke-link) !important;
}
[data-theme="light"] .ke-input {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-input {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-results {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-search-group {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-item-search-item {
  background: transparent !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-item:hover {
  background: var(--ke-surface-2) !important;
}
[data-theme="light"] .public-item-search-cat {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-item-search-empty {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .category-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .category-card:hover {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-warning) !important;
}
[data-theme="light"] .category-card-name {
  color: var(--ke-text) !important;
}
[data-theme="light"] .category-card-count,
[data-theme="light"] .category-card-desc {
  color: var(--ke-text-muted) !important;
}

/* ==========================================
   PUBLIC ITEM DETAIL PAGE - Light Mode
   ========================================== */
[data-theme="light"] .public-breadcrumbs {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-breadcrumbs a {
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-breadcrumbs a[style*="background:#1f6feb"] {
  background: var(--ke-link) !important;
  border-color: var(--ke-link) !important;
  color: #fff !important;
}
[data-theme="light"] .public-item-search-input {
  background: var(--ke-bg) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-results {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-search-group {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-link) !important;
}
[data-theme="light"] .public-item-search-item {
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-item:hover {
  background: var(--ke-surface-2) !important;
}
[data-theme="light"] .public-item-search-name {
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-search-cat {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-item-search-empty {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-login-hint {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-login-hint strong {
  color: var(--ke-text) !important;
}
[data-theme="light"] .pi-ztabs-nav {
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .pi-ztab-btn {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .pi-ztab-btn:hover {
  color: var(--ke-text) !important;
}
[data-theme="light"] .pi-ztab-btn--active {
  color: var(--ke-text) !important;
  border-bottom-color: var(--ke-warning) !important;
}
[data-theme="light"] .public-similar-section h2 {
  color: var(--ke-warning) !important;
}
[data-theme="light"] .public-similar-section p {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-item-page .ke-card {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .ke-card-header {
  border-bottom-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .info-label {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-item-page .info-value {
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-page .info-block {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .detail-section {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .quantity-section {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .header-container {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .supplier-modal-content {
  background: var(--ke-surface) !important;
  border-color: var(--ke-border) !important;
}
[data-theme="light"] .public-item-page .disclaimer {
  color: var(--ke-text-muted) !important;
}
[data-theme="light"] .public-item-page .ke-btn {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-page .ke-btn:hover {
  background: var(--ke-surface) !important;
}
[data-theme="light"] .public-item-page .ke-btn-primary {
  background: var(--ke-primary) !important;
  border-color: var(--ke-primary) !important;
}
[data-theme="light"] .public-item-page .ke-btn-warning {
  background: var(--ke-warning) !important;
  border-color: var(--ke-warning) !important;
  color: #111 !important;
}
[data-theme="light"] .public-item-page .ke-btn-success {
  background: var(--ke-success) !important;
  border-color: var(--ke-success) !important;
}
[data-theme="light"] .public-item-page .ke-btn-danger {
  background: var(--ke-danger) !important;
  border-color: var(--ke-danger) !important;
}
[data-theme="light"] .public-item-page .ke-btn-secondary {
  background: var(--ke-surface-2) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-text) !important;
}
[data-theme="light"] .public-item-page .ke-btn-secondary:hover {
  background: var(--ke-surface) !important;
}
