/* ============================================================================
   RexBIM — тема личного кабинета в дизайн-системе сайта rexbim.cloud.

   Накладывается ПОВЕРХ Mantine через CSS-переменные — код клиента не меняется
   (только подключение этого файла в index.html). Палитра — из плагина
   (Core/Themes/ThemeManager.cs, тёмная тема), шрифты самохостятся на сайте
   и отдаются с CORS (Caddyfile: /assets/fonts/*).

   Файл живёт в патче server/client-patches/0002-rexbim-theme.patch —
   при обновлении client-src патч накладывается заново.
   ========================================================================== */

/* ---- шрифты сайта: Unbounded (заголовки), Onest (текст), JetBrains Mono ---- */
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 700; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/unbounded-700-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 700; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/unbounded-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 500; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-500-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 500; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 700; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-700-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 700; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/onest-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2116; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/jetbrainsmono-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://rexbim.cloud/assets/fonts/jetbrainsmono-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2116; }

/* ---- типографика: обе схемы ---- */
:root {
  --mantine-font-family: 'Onest', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --mantine-font-family-headings: 'Unbounded', 'Onest', sans-serif;
  --mantine-font-family-monospace: 'JetBrains Mono', ui-monospace, monospace;
}
.mantine-Title-root { letter-spacing: -.01em; }

/* ---- фирменная лазурь вместо mantine-blue: обе схемы ---- */
:root {
  --mantine-color-blue-0: #E3F4FC;
  --mantine-color-blue-1: #C0E7F8;
  --mantine-color-blue-2: #8FD4F2;
  --mantine-color-blue-3: #56BDE9;
  --mantine-color-blue-4: #28A9DF;
  --mantine-color-blue-5: #0F9CDB;
  --mantine-color-blue-6: #0696D7;
  --mantine-color-blue-7: #0B7CB3;
  --mantine-color-blue-8: #0D688F;
  --mantine-color-blue-9: #0E5674;
  --mantine-color-blue-filled: #0696D7;
  --mantine-color-blue-filled-hover: #0B7CB3;
  --mantine-color-blue-light: rgba(6, 150, 215, .12);
  --mantine-color-blue-light-hover: rgba(6, 150, 215, .19);
  --mantine-color-blue-light-color: #56BDE9;
  --mantine-color-blue-outline: #0696D7;
  --mantine-color-blue-outline-hover: rgba(6, 150, 215, .08);
  --mantine-primary-color-0: var(--mantine-color-blue-0);
  --mantine-primary-color-1: var(--mantine-color-blue-1);
  --mantine-primary-color-2: var(--mantine-color-blue-2);
  --mantine-primary-color-3: var(--mantine-color-blue-3);
  --mantine-primary-color-4: var(--mantine-color-blue-4);
  --mantine-primary-color-5: var(--mantine-color-blue-5);
  --mantine-primary-color-6: var(--mantine-color-blue-6);
  --mantine-primary-color-7: var(--mantine-color-blue-7);
  --mantine-primary-color-8: var(--mantine-color-blue-8);
  --mantine-primary-color-9: var(--mantine-color-blue-9);
  --mantine-primary-color-filled: var(--mantine-color-blue-filled);
  --mantine-primary-color-filled-hover: var(--mantine-color-blue-filled-hover);
  --mantine-primary-color-light: var(--mantine-color-blue-light);
  --mantine-primary-color-light-hover: var(--mantine-color-blue-light-hover);
  --mantine-primary-color-light-color: var(--mantine-color-blue-light-color);
}

/* ---- тёмная схема: бумага и серые плагина ---- */
:root[data-mantine-color-scheme="dark"] {
  --mantine-color-body: #14181D;                 /* --paper */
  --mantine-color-text: #E7ECF1;                 /* --ink */
  --mantine-color-dimmed: #98A3AF;               /* --ink-dim */
  --mantine-color-default: #1E242B;              /* --paper-2 */
  --mantine-color-default-hover: #272E37;        /* --paper-3 */
  --mantine-color-default-color: #E7ECF1;
  --mantine-color-default-border: #2E3741;       /* --line */
  --mantine-color-dark-0: #E7ECF1;
  --mantine-color-dark-1: #C6CDD4;
  --mantine-color-dark-2: #98A3AF;
  --mantine-color-dark-3: #6C7782;
  --mantine-color-dark-4: #2E3741;
  --mantine-color-dark-5: #272E37;
  --mantine-color-dark-6: #1E242B;
  --mantine-color-dark-7: #14181D;
  --mantine-color-dark-8: #10141A;
  --mantine-color-dark-9: #0C0F14;
  --mantine-color-error: #E5634D;                /* --danger: красные пометки */
  --mantine-color-anchor: #0696D7;
}

/* чертёжная сетка кульмана за контентом — как на сайте */
:root[data-mantine-color-scheme="dark"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(231, 236, 241, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 236, 241, .022) 1px, transparent 1px),
    linear-gradient(rgba(231, 236, 241, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231, 236, 241, .045) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px, 120px 120px, 120px 120px;
}

/* панели и карточки: бумага-2 с волосяной светлой рамкой, как безели сайта */
:root[data-mantine-color-scheme="dark"] .mantine-Paper-root,
:root[data-mantine-color-scheme="dark"] .mantine-Card-root {
  background-color: #1E242B;
  border: 1px solid rgba(255, 255, 255, .06);
}
:root[data-mantine-color-scheme="dark"] .mantine-Modal-content { background-color: #1E242B; }
:root[data-mantine-color-scheme="dark"] .mantine-Modal-header { background-color: #1E242B; }
:root[data-mantine-color-scheme="dark"] .mantine-AppShell-header,
:root[data-mantine-color-scheme="dark"] .mantine-AppShell-navbar,
:root[data-mantine-color-scheme="dark"] .mantine-AppShell-footer {
  background-color: rgba(20, 24, 29, .82);
  backdrop-filter: blur(14px);
  border-color: rgba(255, 255, 255, .07);
}

/* кнопки-пилюли — фирменный знак сайта */
.mantine-Button-root { border-radius: 999px; font-weight: 600; }
.mantine-Badge-root { font-weight: 600; }
.mantine-SegmentedControl-root { border-radius: 999px; }
.mantine-SegmentedControl-indicator { border-radius: 999px; }

/* поля ввода: тёмная бумага и лазурный фокус */
:root[data-mantine-color-scheme="dark"] .mantine-Input-input {
  background-color: #14181D;
  border-color: #2E3741;
}
:root[data-mantine-color-scheme="dark"] .mantine-Input-input:focus {
  border-color: #0696D7;
}

/* таблицы и разделители — линии чертежа */
:root[data-mantine-color-scheme="dark"] .mantine-Table-table { --table-border-color: #222A32; }
:root[data-mantine-color-scheme="dark"] .mantine-Divider-root { --divider-color: #2E3741; }
