/**
 * Design tokens — шрифты (2 семейства), палитра бренда, радиусы, отступы.
 * Подключается после Tailwind/DaisyUI и переопределяет темы light/dark.
 *
 * Foundation v1: публичный UI EiDOC поверх Tailwind/DaisyUI.
 */

:root {
  /* Два шрифта: текст и интерфейс / заголовки */
  --ui-font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ui-font-display: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif;

  /*
   * Единая шкала типографики каталогов (16px база).
   * Одинаковые роли на /companies, /experts, /communities, /docs,
   * /marketplace и /services используют один и тот же токен.
   * Минимум для читаемого текста — --ui-fs-2xs (12px).
   */
  --ui-fs-2xs: 0.75rem;    /* 12px — бейджи, чипы, метки */
  --ui-fs-xs: 0.8125rem;   /* 13px — счётчики, подписи, мета */
  --ui-fs-sm: 0.875rem;    /* 14px — вторичный текст, кнопки, фильтры */
  --ui-fs-md: 0.9375rem;   /* 15px — плотный вспомогательный текст */
  --ui-fs-base: 1rem;      /* 16px — основной текст и описания */
  --ui-fs-lg: 1.125rem;    /* 18px — заголовок карточки */
  --ui-fs-xl: 1.25rem;     /* 20px — заголовок секции */
  --ui-fs-2xl: 1.5rem;     /* 24px */
  --ui-fs-3xl: 1.875rem;   /* 30px — H1 страницы */
  --ui-lh-tight: 1.25;
  --ui-lh-body: 1.5;

  /* Единая шкала отступов (кратно 4px) */
  --ui-space-1: 0.25rem;
  --ui-space-2: 0.5rem;
  --ui-space-3: 0.75rem;
  --ui-space-4: 1rem;
  --ui-space-5: 1.25rem;
  --ui-space-6: 1.5rem;
  --ui-space-7: 1.75rem;
  --ui-space-8: 2rem;
  --ui-space-10: 2.5rem;
  --ui-space-12: 3rem;

  /* Brand — Design UI Foundation (ds.tsx T) */
  --brand-navy: #0b1f3a;
  --brand-navy-mid: #1e3a5f;
  --brand-navy-light: #eff6ff;
  --brand-blue: #1d4ed8;
  --brand-blue-hover: #1e40af;
  --brand-blue-light: #eff6ff;
  --brand-blue-mid: #dbeafe;

  /* Semantic — ds.tsx */
  --ui-color-green: #059669;
  --ui-color-green-light: #ecfdf5;
  --ui-color-green-mid: #d1fae5;
  --ui-color-amber: #d97706;
  --ui-color-amber-light: #fffbeb;
  --ui-color-amber-mid: #fef3c7;
  --ui-color-red: #dc2626;
  --ui-color-red-light: #fef2f2;
  --ui-color-red-mid: #fecaca;
  --ui-color-purple: #7c3aed;
  --ui-color-purple-light: #f5f3ff;
  --ui-color-purple-mid: #ede9fe;
  --ui-color-teal: #0891b2;
  --ui-color-teal-light: #ecfeff;
  --ui-color-teal-mid: #cffafe;

  /* Aliases (legacy names → ds.tsx) */
  --ui-color-primary: var(--brand-blue);
  --ui-color-primary-hover: var(--brand-blue-hover);
  --ui-color-secondary: var(--brand-blue);
  --ui-color-accent: var(--brand-blue-mid);
  --ui-color-success: var(--ui-color-green);
  --ui-color-warning: var(--ui-color-amber);
  --ui-color-danger: var(--ui-color-red);
  --ui-color-info: var(--ui-color-teal);

  /* Text hierarchy — ds.tsx */
  --ui-color-ink: #0f172a;
  --ui-color-text-sub: #374151;
  --ui-color-muted: #6b7280;
  --ui-color-text-light: #9ca3af;

  /* Surfaces — ds.tsx */
  --ui-color-canvas: #f1f5f9;
  --ui-color-canvas-hover: #e9eef5;
  --ui-color-surface: #ffffff;
  --ui-color-surface-muted: #f8fafc;

  /* Borders — ds.tsx */
  --ui-color-border: #e2e8f0;
  --ui-color-border-light: #f1f5f9;
  --ui-color-border-strong: #cbd5e1;
  --ui-color-border-focus: var(--brand-blue);

  /* Dark navy sidebar (desktop public shell) */
  --ui-sidebar-bg: var(--brand-navy);
  --ui-sidebar-text: rgba(255, 255, 255, 0.82);
  --ui-sidebar-muted: rgba(255, 255, 255, 0.44);
  --ui-sidebar-active-bg: var(--brand-blue);
  --ui-sidebar-hover-bg: #1e293b;
  --ui-sidebar-border: rgba(255, 255, 255, 0.06);
  --ui-topbar-h: 3rem;
  /* Зазор между топбаром и контентом; мобильный боковой — 12px (не дублировать px-4 на .eidoc-page) */
  --ui-page-gap-top: var(--ui-space-4);
  --ui-page-gap-x: var(--ui-space-3);
  --ui-ring-focus: color-mix(in srgb, var(--ui-color-primary) 42%, transparent);

  --ui-radius-xs: 0.375rem;
  --ui-radius-sm: 0.5rem;
  --ui-radius-md: 0.75rem;
  --ui-radius-lg: 1rem;
  --ui-radius-xl: 1.25rem;
  --ui-radius-pill: 999px;

  --ui-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --ui-shadow-card: 0 4px 12px rgba(15, 23, 42, 0.07);
  --ui-shadow-float: 0 8px 24px rgba(15, 23, 42, 0.09);
  --ui-shadow-modal: 0 16px 40px rgba(15, 23, 42, 0.12);
  --ui-shadow-focus: 0 0 0 4px color-mix(in srgb, var(--ui-color-primary) 18%, transparent);

  /**
   * Единая типографическая шкала (лента, пост, docs, Blok) — rem от 16px root.
   * Совпадает с --editor-header-* в editor-content.css.
   */
  --ui-type-body-size: 1rem;
  --ui-type-body-lh: 1.625;
  --ui-type-h1: 2rem;
  --ui-type-h2: 1.5rem;
  --ui-type-h3: 1.25rem;
  --ui-type-h4: 1.125rem;
  --ui-type-h5: 1rem;
  --ui-type-h6: 0.875rem;

  /**
   * Оптимальная ширина читаемой колонки (≈65–72 символа); совпадает с max-w-2xl.
   */
  --ui-content-read-width: 42rem;
}

@media (min-width: 768px) {
  :root {
    --ui-page-gap-top: var(--ui-space-6);
    --ui-page-gap-x: var(--ui-space-6);
  }
}

/**
 * Breakpoints (справочно; в коде — Tailwind/Daisy defaults).
 * sm 640px | md 768px | lg 1024px | xl 1280px | 2xl 1536px
 */

html {
  font-family: var(--ui-font-body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 1023px) {
  html {
    font-size: 16px;
  }

  html.eidoc-mobile-non-safari {
    font-size: 14px;
  }

  input,
  textarea,
  select,
  button {
    font-size: inherit;
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-display {
  font-family: var(--ui-font-display);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

html[data-theme] {
  --rounded-box: var(--ui-radius-lg);
  --rounded-btn: var(--ui-radius-md);
  --rounded-badge: var(--ui-radius-pill);
}

/* Light: legacy global pair for admin and non-public shells. */
html[data-theme="light"] {
  --p: 60.48% 0.2166 257.21;
  --pc: 100% 0 0;
  --a: 79.1% 0.0357 238.3;
  --ac: 32% 0.08 240;
}

/* Dark: legacy global pair for admin and non-public shells. */
html[data-theme="dark"] {
  --p: 71.98% 0.1992 257.21;
  --pc: 100% 0 0;
  --a: 79.1% 0.0357 238.3;
  --ac: 22% 0.05 250;
}

/**
 * Public (non-admin) UI: slightly light-grey base surfaces in light theme.
 * Scope via body.eidoc-public so /adp (admin) stays untouched.
 */
html[data-theme="light"] body.eidoc-public {
  /* DaisyUI channels → ds.tsx (primary blue #1D4ED8) */
  --p: 49.06% 0.2172 264.05;
  --pc: 100% 0 0;
  --s: 49.06% 0.2172 264.05;
  --sc: 100% 0 0;
  --a: 79.24% 0.1218 236.19;
  --ac: 20.77% 0.0398 265.75;
  --n: 20.77% 0.0398 265.75;
  --nc: 98.42% 0.0034 247.86;
  --b1: 96.18% 0.0086 247.91;
  --b2: 98.42% 0.0034 247.86;
  --b3: 91.15% 0.0185 250.60;
  --bc: 20.77% 0.0398 265.75;
  --in: 49.06% 0.2172 264.05;
  --inc: 100% 0 0;
  --su: 55.48% 0.1448 160.62;
  --suc: 100% 0 0;
  --wa: 66.58% 0.1574 58.32;
  --wac: 100% 0 0;
  --er: 57.71% 0.2152 27.33;
  --erc: 100% 0 0;
}

html[data-theme="dark"] body.eidoc-public {
  --p: 71.37% 0.1434 254.62;
  --pc: 12.88% 0.0406 264.70;
  --s: 77.29% 0.1535 163.22;
  --sc: 12.88% 0.0406 264.70;
  --a: 79.24% 0.1218 236.19;
  --ac: 12.88% 0.0406 264.70;
  --n: 93.19% 0.0316 255.59;
  --nc: 12.88% 0.0406 264.70;
  --b1: 18.31% 0.0309 263.38;
  --b2: 20.93% 0.0323 262.41;
  --b3: 26.75% 0.0350 260.77;
  --bc: 93.19% 0.0316 255.59;
  --in: 79.24% 0.1218 236.19;
  --su: 77.29% 0.1535 163.22;
  --ui-color-canvas: #0b1220;
  --ui-color-surface: #101827;
  --ui-color-surface-muted: #1c2637;
  --ui-color-border: #334155;
  --ui-color-border-strong: #475569;
  --ui-color-ink: #dbeafe;
  --ui-color-muted: #94a3b8;
}

/* Tailwind ring по бренду */
*,
::before,
::after {
  --tw-ring-color: var(--ui-ring-focus);
}

/* Primary «floating» surface shadow */
.shadow-ui-float {
  box-shadow: var(--ui-shadow-float);
}

html[data-theme="dark"] .shadow-ui-float {
  box-shadow:
    0 22px 60px -38px oklch(0% 0 0 / 0.76),
    0 1px 0 oklch(100% 0 0 / 0.05) inset;
}

/* Public app canvas — Design Foundation */
body.eidoc-public .eidoc-app-shell {
  background-color: var(--ui-color-canvas);
}

body.eidoc-public .eidoc-main-with-sidebar {
  background-color: var(--ui-color-canvas);
}


#captcha-container {
  width: -webkit-fill-available;
  text-align: -webkit-center;
}
