html[data-sk-theme] {
  --sk-surface: #fff;
  --sk-surface-soft: #fbfdfd;
  --sk-surface-selected: #eef8f9;
  --sk-text: #102a33;
  --sk-text-muted: #506c6e;
  --sk-border: #dbe6e9;
  --sk-action: #055e68;
  --sk-action-hover: #04454c;
  --sk-on-action: #fff;
  --sk-danger: #c0392b;
  --sk-success: #0f8a5f;
  --sk-warning: #b3791a;
  --sk-required: var(--brand);
}

html[data-sk-theme][data-theme="dark"] {
  color-scheme: dark;
  --sk-page: #141a1b;
  --sk-surface: #202728;
  --sk-surface-soft: #283132;
  --sk-surface-selected: #213d3d;
  --sk-text: #edf2f0;
  --sk-text-muted: #b5c4c3;
  --sk-border: #627474;
  --sk-card-border: #627474;
  --sk-disabled-text: #a7b9b8;
  --sk-disabled-surface: #283132;
  --sk-option-text: #edf2f0;
  --sk-action: #126e76;
  --sk-action-hover: #0d5a62;
  --sk-on-action: #fff;
  --sk-danger: #ffaba4;
  --sk-danger-surface: #422c2e;
  --sk-success: #8ed5ac;
  --sk-success-surface: #263a30;
  --sk-warning: #f5ce83;
  --sk-warning-surface: #3b3428;
  --sk-focus: #85d8d2;
  --sk-required: #85d8d2;
  --panel: var(--sk-surface);
  --bg: var(--sk-page);
  --ink: var(--sk-text);
  --muted: var(--sk-text-muted);
  --line: #415050;
  --line-strong: var(--sk-border);
  --brand: var(--sk-action);
  --brand-dark: #85d8d2;
  --danger: var(--sk-danger);
  --warn: var(--sk-warning);
  --shadow: 0 12px 40px rgba(0,0,0,.24);
}

html[data-sk-theme] .sk-theme-picker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  font-size: 12px;
  color: #fff;
  letter-spacing: 0;
}
html[data-sk-theme] .sk-theme-picker select {
  width: 102px;
  min-height: 36px;
  padding: 5px 8px;
  border: 1px solid #8ca6a8;
  border-radius: 6px;
  background: #203638;
  color: #fff;
  font: inherit;
  font-size: 13px;
  appearance: auto;
  color-scheme: dark;
}
html[data-sk-theme] .sk-theme-picker select:focus-visible { outline: 2px solid #ffb703; outline-offset: 3px; }
html[data-sk-theme] .sk-modal { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }

html[data-sk-theme][data-theme="dark"] :is(.sk-modal, .skreg input, .sk-chip) {
  background: var(--sk-surface);
  color: var(--sk-text);
}
html[data-sk-theme][data-theme="dark"] :where(.sk-modal-bg, .sk-lightbox) { background: rgba(0,0,0,.72); }
html[data-sk-theme][data-theme="dark"] :is(.skreg input:focus, .skreg .skreg-offer, .sk-chip:hover, .sk-refresh, .sk-modal .sk-cancel) {
  background: var(--sk-surface-selected);
  color: var(--brand-dark);
}
html[data-sk-theme][data-theme="dark"] :is(.skreg button, .sk-modal .sk-ok, .sk-chip.applied) {
  background: var(--sk-action);
  color: var(--sk-on-action);
}
html[data-sk-theme][data-theme="dark"] :is(.skreg button:hover, .skreg .skreg-offer button:disabled, .sk-modal .sk-ok:hover) {
  background: var(--sk-action-hover);
  color: var(--sk-on-action);
}
html[data-sk-theme][data-theme="dark"] .skreg button.skreg-ghost { background: transparent; color: var(--brand-dark); border-color: var(--sk-border); }
html[data-sk-theme][data-theme="dark"] .skreg .skreg-back-top a { color: #08181d; }
html[data-sk-theme][data-theme="dark"] :is(.sk-load-err, .skreg .skreg-hint.err) { color: var(--sk-danger); }
html[data-sk-theme][data-theme="dark"] .sk-load-err { background: var(--sk-danger-surface); border-color: #a56f70; }
html[data-sk-theme][data-theme="dark"] :where(.sk-load-err button, .sk-modal .sk-ok.sk-danger) { background: #922f36; color: #fff; }
html[data-sk-theme][data-theme="dark"] .sk-check { background: var(--sk-surface-soft); }
html[data-sk-theme][data-theme="dark"] .sk-check:checked { background: var(--sk-action); }
html[data-sk-theme][data-theme="dark"] :where(input, select, textarea)::placeholder { color: #a7b9b8; opacity: 1; }
html[data-sk-theme][data-theme="dark"] :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--sk-focus);
  outline-offset: 3px;
}
html[data-sk-theme][data-theme="dark"] .sk-diff :where(th, td) { color: var(--sk-text-muted); border-color: var(--line); }
html[data-sk-theme][data-theme="dark"] .sk-diff td b { color: var(--brand-dark); }
@media print {
  html[data-sk-theme] .sk-theme-picker { display: none; }
}