:root {
  /* Скругления (единая шкала) */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-pill: 9999px;

  /* Модалки */
  --modal-padding: 24px;
  --modal-shadow: 0 16px 32px rgba(8, 15, 32, 0.1);
  --modal-title-size: 24px;
  --modal-title-color: var(--color-text-secondary);
  /* Единое затемнение подложки (как у .modal_common / подтверждение удаления) */
  --modal-backdrop-bg: rgba(0, 0, 0, 0.28);
  --modal-backdrop-filter: brightness(0.97);

  --color-bg-page: #f2f2f7;
  --color-bg-panel: #ffffff;
  --color-bg-panel-alt: #f7f7fa;
  --color-bg-elevated: #eef0f3;
  --color-bg-muted: #f4f4f6;
  --color-bg-subtle: #fafafc;

  --black: #1b1b1d;
  --black-light: #2f2f34;
  --gray-light: var(--color-border-soft);

  --color-border-soft: #e2e2e7;
  --color-border-muted: #a3a3a8;
  --color-border: #c7c7cc;
  --color-border-strong: #bfc7cf;
  --color-border-input: #d6d6db;
  /* Подписи к полям, чекбоксы в модалках и т.п. (раньше var был не задан — border пропадал) */
  --color-border-light: var(--color-border-input);

  --color-overlay-strong: rgba(255, 255, 255, 0.66);

  --color-text-primary: #1b1b1d;
  --color-text-secondary: #2f2f34;
  --color-text-tertiary: #5c5c63;
  --color-text-muted: #7c7c84;
  --color-text-inverse: #ffffff;

  --color-primary-50: #e8f2ff;
  --color-primary-100: #e0efff;
  --color-primary-200: #63a6ff;
  --color-primary-300: #4a94ff;
  --color-primary-400: #3a84fe;
  --color-primary-500: #007aff;
  --color-primary-600: #005ecb;
  --color-primary-700: #004a99;
  --color-primary-800: #036ba6;
  --color-primary-900: #0056b3;
  --color-primary-contrast: #ffffff;

  --color-primary-disabled: #3c7fd7;
  --color-primary-transparent: rgba(74, 148, 255, 0.05);
  --color-primary-soft: rgba(74, 148, 255, 0.1);

  --color-input-disabled: #f4f4f6;

  --color-success: #12b886;
  --color-success-soft: rgba(18, 184, 134, 0.1);

  --color-error: #d90429;
  --color-error-hover: #ef1525;
  --color-error-soft: #ffe4e6;

  --color-warning: #ff7a5c;

  --color-info-bg-notification: #e6f4ff;
  --color-info-notification: #0b5ed7;

  --color-success-bg-notification: #d9fbe8;
  --color-success-notification: #146c43;

  --color-warning-bg-notification: #fff4e5;
  --color-warning-notification: #b45309;

  --color-error-bg-notification: #ffe4e6;
  --color-error-notification: #9f1239;

  --primary: var(--color-primary-300);
  --primary-disabled: var(--color-primary-disabled);
  --primary-transparent: var(--color-primary-transparent);
  --primary-bg-hover: var(--color-bg-muted);
  --primary-active: var(--color-primary-400);
  --primary-hover: var(--color-primary-100);
  --text-primary: var(--color-primary-400);
  --text-gray: var(--color-text-muted);
  --option-bg-hover: var(--color-bg-muted);
  --white: var(--color-bg-panel);
  --border: var(--color-border);
  --bg-table-wrapper: var(--color-bg-panel-alt);
  --table-title: var(--color-text-tertiary);
  --apple-gray-light: var(--color-bg-page);
  --apple-border: var(--color-border);
  --apple-text: var(--color-text-primary);
  --apple-blue: var(--color-primary-500);
  --apple-blue-light: var(--color-primary-100);
  --apple-blue-hover: var(--color-primary-600);
  --error: var(--color-error);
  --error-hover: var(--color-error-hover);
  --error-transparent: var(--color-error-soft);
  --selected-option: var(--color-primary-soft);
  --input-disabled: var(--color-input-disabled);
  --success: var(--color-success);
  --success-transparent: var(--color-success-soft);
}

:root[data-theme='classic'] {
  /* Значения совпадают с базовыми и оставлены для наглядности */
}

/* Dark theme: deep base, crimson / pink accent (contrast-tuned borders & text) */
:root[data-theme='midnight'] {
  --color-bg-page: #0b0a10;
  --color-bg-panel: #14121c;
  --color-bg-panel-alt: #191724;
  --color-bg-elevated: #201e2b;
  --color-bg-muted: #262334;
  --color-bg-subtle: #14121c;

  --color-overlay-strong: rgba(11, 10, 16, 0.9);

  --color-text-primary: #f4f2f8;
  --color-text-secondary: #d6d2df;
  --color-text-tertiary: #b8b3c7;
  --color-text-muted: #9c94ad;
  --color-text-inverse: #0b0a10;

  --black: var(--color-text-primary);
  --black-light: var(--color-text-secondary);

  --color-border-soft: rgba(255, 255, 255, 0.14);
  --color-border-muted: rgba(255, 255, 255, 0.16);
  --color-border: rgba(255, 255, 255, 0.14);
  --color-border-strong: rgba(255, 255, 255, 0.22);
  --color-border-input: rgba(255, 255, 255, 0.18);

  --color-primary-50: rgba(255, 77, 109, 0.14);
  --color-primary-100: rgba(255, 77, 109, 0.22);
  --color-primary-200: #e84862;
  --color-primary-300: #ff4d6d;
  --color-primary-400: #e63656;
  --color-primary-500: #c41e3a;
  --color-primary-600: #a01830;
  --color-primary-700: #8a1529;
  --color-primary-800: #741322;
  --color-primary-900: #5e101b;
  --color-primary-contrast: #ffffff;

  --color-primary-disabled: #6b1420;
  --color-primary-transparent: rgba(255, 77, 109, 0.12);
  --color-primary-soft: rgba(255, 77, 109, 0.18);

  --color-input-disabled: #12101a;

  --color-success: #2fa97f;
  --color-success-soft: rgba(47, 169, 127, 0.22);

  --color-error: #ff4d6d;
  --color-error-hover: #ff6b85;
  --color-error-soft: rgba(255, 77, 109, 0.22);

  --color-warning: #e0b35a;

  --modal-backdrop-bg: rgba(0, 0, 0, 0.82);
  --modal-backdrop-filter: brightness(0.65) blur(4px);
}

:root[data-theme='midnight'] .modal-content,
:root[data-theme='midnight'] #modalContent,
:root[data-theme='midnight'] .modal-container,
:root[data-theme='midnight'] .modal_settings .modal-container,
:root[data-theme='midnight'] .input-modal__box {
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.6);
}

:root[data-theme='midnight'] .project-switcher-modal__box {
  background-color: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.6);
}

:root[data-theme='midnight'] .project-switcher-modal__box .auth-title {
  color: var(--color-text-primary);
}

:root[data-theme='midnight'] .project-switcher-modal__box .muted {
  color: var(--color-text-muted);
}

:root[data-theme='midnight'] .project-switcher-modal__box .project-option-row,
:root[data-theme='midnight'] .project-switcher-modal__box .project-option {
  background: transparent;
}

:root[data-theme='midnight'] .project-switcher-modal__box .project-option:hover,
:root[data-theme='midnight'] .project-switcher-modal__box .project-option:focus-visible {
  color: var(--color-primary-300);
  background: transparent;
}
:root[data-theme='midnight'] .project-switcher-modal__box .project-option:hover .project-id,
:root[data-theme='midnight'] .project-switcher-modal__box .project-option:focus-visible .project-id {
  color: inherit;
}

:root[data-theme='midnight'] .project-switcher-modal__box .project-id.mono {
  color: var(--color-text-muted);
}

:root[data-theme='midnight'] .project-switcher-modal__box .projects-actions__create {
  background: var(--color-primary-500);
  border-color: var(--color-primary-500);
}

:root[data-theme='midnight'] .project-switcher-modal__box .projects-actions__create:hover:not(:disabled) {
  background: var(--color-primary-600);
  border-color: var(--color-primary-600);
}

