/*
 * Основа оформления для всех страниц, включая вход: шрифт, цвета, радиусы.
 *
 * Стиль перенесён из прототипа новой панели состава (RWnewStaff, app/globals.css):
 * светлая тема — светло-серый фон, белые карточки, оранжевый бренд; тёмная —
 * графит с фиолетовым акцентом. Мягкие скругления (карточки 18 px, кнопки 10 px),
 * тихие тени вместо рамок-коробок, системный шрифт без загрузки файлов.
 *
 * Tabler остаётся каркасом (таблицы, формы), но его переменные переопределены
 * здесь, поэтому его компоненты получают тот же вид. Оранжевый #fc9404 на белом
 * слишком светлый для текста (2:1) — для ссылок и надписей отдельный, тёмный
 * оттенок --accent-text (5:1); сам оранжевый — только заливки, на нём тёмный текст.
 */

/* светлая тема (по умолчанию) */
:root, :root[data-bs-theme=light] {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --tblr-font-sans-serif: var(--font);
  --tblr-body-font-family: var(--font);
  --tblr-body-font-size: .875rem;
  --tblr-body-line-height: 1.5;

  --tblr-body-bg: #f6f6f8;
  --tblr-bg-surface: #ffffff;
  --tblr-bg-surface-secondary: #f1f1f4;
  --tblr-bg-surface-tertiary: #f1f1f4;
  --tblr-body-color: #242429;
  --tblr-emphasis-color: #18181d;
  --tblr-secondary-color: #666670;
  --tblr-secondary: #75757f;
  --tblr-muted: #666670;
  --tblr-border-color: #e4e4e9;
  --tblr-border-color-translucent: rgba(24, 24, 32, .08);

  --tblr-primary: #fc9404;
  --tblr-primary-rgb: 252, 148, 4;
  --tblr-primary-lt: #faf5ed;
  --tblr-primary-fg: #1b1712;
  --tblr-link-color: #a65a00;
  --tblr-link-color-rgb: 166, 90, 0;
  --tblr-link-hover-color: #855715;

  --tblr-green: #256443; --tblr-green-lt: #eef7f1;
  --tblr-red: #a63742; --tblr-red-lt: #faf0f0;
  --tblr-yellow-lt: #faf5ed;
  --tblr-success: #1eb875; --tblr-danger: #c83c49;

  --tblr-border-radius: 10px;
  --tblr-border-radius-sm: 8px;
  --tblr-border-radius-lg: 18px;
  --tblr-box-shadow-card: none;
  --tblr-shadow-card: none;

  /* свои токены панели */
  --accent-fill: #fc9404;      /* кнопки, заливки */
  --accent-hover: #ffad38;
  --accent-ink: #1b1712;       /* текст на заливке */
  --accent-text: #a65a00;      /* ссылки и надписи акцентом */
  --sidebar: #f0f0f3;
  --sidebar-accent: #e5e5eb;
  --sidebar-border: #dedee5;
  --field: #fafafc;
  --hero: #242429;             /* тёмные шапки-«герои» в обеих темах */
  --switch-track: #ececf1;
  --panel-edge: rgba(255, 255, 255, .7);
  --panel-shadow: 0 1px 2px rgba(24, 24, 32, .025), 0 8px 24px -20px rgba(24, 24, 32, .12);
  --overlay-shadow: 0 12px 48px -12px rgba(24, 24, 32, .22);
  --ring: 0 0 0 3px rgba(252, 148, 4, .18);
  --raised: inset 0 1px 0 var(--panel-edge), 0 2px 6px rgba(15, 23, 42, .08);
  --selection: rgba(252, 148, 4, .2);
  color-scheme: light;
}

/* тёмная тема — холодный графит, акцент фиолетовый */
:root[data-bs-theme=dark] {
  --tblr-body-bg: #111216;
  --tblr-bg-surface: #1a1b21;
  --tblr-bg-surface-secondary: #23242b;
  --tblr-bg-surface-tertiary: #23242b;
  --tblr-body-color: #eeeef2;
  --tblr-emphasis-color: #f6f6f9;
  --tblr-secondary-color: #ababba;
  --tblr-secondary: #878897;
  --tblr-muted: #ababba;
  --tblr-border-color: #353640;
  --tblr-border-color-translucent: rgba(255, 255, 255, .08);

  --tblr-primary: #8f7cff;
  --tblr-primary-rgb: 143, 124, 255;
  --tblr-primary-lt: #2a2537;
  --tblr-primary-fg: #12182e;
  --tblr-link-color: #bdb4ff;
  --tblr-link-color-rgb: 189, 180, 255;
  --tblr-link-hover-color: #d6d0ff;

  --tblr-green: #a0d5b4; --tblr-green-lt: #1e3028;
  --tblr-red: #f2a7b4; --tblr-red-lt: #32232b;
  --tblr-yellow-lt: #2d2716;
  --tblr-success: #62d9a5; --tblr-danger: #ff8798;

  --accent-fill: #8f7cff;
  --accent-hover: #aaa0ff;
  --accent-ink: #12182e;
  --accent-text: #c7bbff;
  --sidebar: #15161b;
  --sidebar-accent: #2a2b35;
  --sidebar-border: #30313b;
  --field: #202128;
  --hero: #1c1d24;
  --switch-track: #272832;
  --panel-edge: rgba(255, 255, 255, .025);
  --panel-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 8px 24px -18px rgba(0, 0, 0, .25);
  --overlay-shadow: 0 12px 48px -12px rgba(0, 0, 0, .55);
  --ring: 0 0 0 3px rgba(143, 124, 255, .25);
  --raised: inset 0 1px 0 var(--panel-edge), 0 2px 6px rgba(0, 0, 0, .3);
  --selection: rgba(143, 124, 255, .3);
  color-scheme: dark;
}

html { background: var(--sidebar); }
body {
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--tblr-body-bg);
  color: var(--tblr-body-color);
}
::selection { background: var(--selection); }
h1, h2, h3, .h1, .h2, .h3 { letter-spacing: -.02em; font-weight: 600; color: var(--tblr-emphasis-color); text-wrap: balance; }
a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
a:hover { text-decoration: none; }
:where(button, a, input, select, textarea):focus-visible { outline-offset: 3px; }

/* Tabler: мягкие карточки, кнопки и поля как в панели */
.card { border-color: var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg);
        box-shadow: inset 0 1px 0 var(--panel-edge), var(--panel-shadow); }
.btn { border-radius: var(--tblr-border-radius); font-weight: 600; box-shadow: none; }
.btn-primary { --tblr-btn-bg: var(--accent-fill); --tblr-btn-border-color: var(--accent-fill); --tblr-btn-hover-bg: var(--accent-hover);
  --tblr-btn-hover-border-color: var(--accent-hover); --tblr-btn-active-bg: var(--accent-hover); --tblr-btn-active-border-color: var(--accent-hover);
  --tblr-btn-color: var(--accent-ink); --tblr-btn-hover-color: var(--accent-ink); --tblr-btn-active-color: var(--accent-ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.form-control, .form-select { border-radius: var(--tblr-border-radius); box-shadow: none; background-color: var(--field); }
.form-control:focus, .form-select:focus { border-color: var(--accent-fill); background-color: var(--tblr-bg-surface); box-shadow: var(--ring); }
.form-check-input:checked { background-color: var(--accent-fill); border-color: var(--accent-fill); }

/* знак бренда: плитка с заливкой акцента */
.brand-mark { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; flex: none;
  background: var(--accent-fill); color: var(--accent-ink); font-size: 11px; font-weight: 800; letter-spacing: 0; }

/* нажатие: лёгкое «проседание», без движения при reduced motion */
@media (prefers-reduced-motion: no-preference) {
  .btn, .rw-press { transition: background-color .18s cubic-bezier(.22, 1, .36, 1), border-color .18s, color .18s, box-shadow .18s, scale .18s; }
  .btn:not(:disabled):active, .rw-press:active { scale: .975; }
}
