:root {
  /* === Брендовые === */
 --color-brand: #3C5170;
  --color-primary: #3C5170;          /* Deep Blue — основной */
  --color-accent: #D67D42;           /* Cosmic Orange — только точечно */
  --color-sage: #B7C4A8;
  --color-primary-hover: #2E3F58;    /* затемнённый для hover/active */
  --color-primary-light: #5A7093;    /* осветлённый для disabled-состояний, вторичного текста на primary-фоне */
  --color-accent-hover: #C06A32;
  --color-accent-light: #F3DCC9;     /* фон под акцентные бейджи/подсветки */
  /* === Вторичные акценты (для тегов/статусов, не для CTA) === */
  --color-lavender: #CBC0DE;
  --color-mist-blue: #AFC4D6;
  --color-gold: #D4B896;
  /* === Нейтральные / фоновые === */
  --color-bg-base: #F7F5F0;          /* Cream — фон приложения */
  --color-bg-surface: #FFFFFF;       /* карточки, модалки, поднятые поверхности */
  --color-bg-muted: #EFEBE3;         /* второстепенные блоки, hover на списках, разделители фона */
  --color-bg-sunken: #E8E3D9;        /* инпуты, поля поиска, "утопленные" зоны */
  /* === Текст === */
  --color-text-primary: #263548;     /* затемнённый Deep Blue — основной текст, не чистый чёрный */
  --color-text-secondary: #5C6B80;   /* вторичный текст, подписи, метаданные */
  --color-text-tertiary: #8C97A8;    /* плейсхолдеры, неактивные подписи */
  --color-text-on-primary: #F7F5F0;  /* текст на тёмных/primary-заливках */
  --color-text-on-accent: #FFFFFF;   /* текст на оранжевых CTA */
  --color-text-link: #3C5170;
  /* === Границы === */
  --color-border-default: #E2DCD0;
  --color-border-strong: #C9C1B2;
  --color-border-focus: #D67D42;     /* фокус инпута — акцентный, единственное системное исключение */
  /* === Статусы лидов (нейтральные, не тревожные) === */
  --status-price: #AFC4D6;           /* «просит цену» — Mist Blue */
  --status-price-text: #2E4A63;
  --status-meeting: #CBC0DE;         /* «ждёт созвона» — Lavender */
  --status-meeting-text: #4A3F63;
  --status-silent: #D4B896;          /* «пропал/молчит» — Light Gold */
  --status-silent-text: #6B4F2A;
  --status-done: #B7C4A8;            /* «закрыто/обработано» — Sage */
  --status-done-text: #3E5233;
  /* === Системные (вне палитры, обоснованно) === */
  --color-error: #C1503F;            /* приглушённый красный — только для реальных ошибок загрузки файла и т.п. */
  --color-error-bg: #F5DFDA;
  --color-warning: #B8863D;          /* приглушённый охра — предупреждения, не алармы */
  --color-warning-bg: #F2E5D0;
  --color-success: #6E8F5E;          /* приглушённый зелёный, близкий к Sage — подтверждения */
  --color-success-bg: #E3EADD;
  /* === Тени (мягкие, без резкого чёрного) === */
  --shadow-card: 0 1px 3px rgba(60, 81, 112, 0.08), 0 1px 2px rgba(60, 81, 112, 0.05);
  --shadow-modal: 0 8px 24px rgba(60, 81, 112, 0.16);
  --shadow-header: 0 1px 0 rgba(60, 81, 112, 0.06);
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-weight: normal; font-style: normal; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
html, body { scroll-behavior: smooth; overflow-x: hidden; position: relative; width: 100%; background: var(--color-bg-base); color: var(--color-text-primary); }
body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
::-webkit-scrollbar{ width: 7px; background: transparent;}
::-webkit-scrollbar-thumb { background: var(--status-done); border-radius: 4px; }
input, select, textarea, button, .click, a { -webkit-tap-highlight-color: rgba(0,0,0,0); outline: 0; outline-offset: 0; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, .click:focus-visible, a:focus-visible { outline: 2px solid var(--color-border-focus); outline-offset: 2px;}
.click, button { -webkit-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; }
a { color: inherit; text-decoration: none; cursor: pointer; }
button { border: none; background: none; }
input::-webkit-inner-spin-button { display: none; }
input::-webkit-outer-spin-button { display: none; }
input[type=number] { -moz-appearance: textfield; appearance: textfield; }
::placeholder { color: var(--color-text-tertiary); opacity: 1; }
img, svg { display: block; max-width: 100%; }
/* === Mobile Blocker === */
#mobile-blocker { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--color-bg-base); z-index: 99999; color: var(--color-text-primary); text-align: center; justify-content: center; align-items: center; flex-direction: column; padding: 24px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
#mobile-blocker h2 { font-size: 24px; font-weight: 700; margin: 0 0 12px 0; color: var(--color-text-primary); }
#mobile-blocker p { font-size: 16px; color: var(--color-text-secondary); max-width: 420px; line-height: 1.5; margin: 0; }
@media (max-width: 1024px) { #mobile-blocker { display: flex; } }