/**
 * Техноустав — design tokens (источник истины)
 * Синхронизировать с docs/design/tokens/tu-design-tokens.css
 * Документация: docs/design/technostav-visual-system.md
 */

:root {
  --tu-accent: #155eef;
  --tu-accent-hover: #0f4fbf;
  --tu-accent-soft: rgba(21, 94, 239, 0.08);
  --tu-accent-glow: none;
  --tu-accent-glow-strong: none;

  --tu-white: #ffffff;
  --tu-bg: #eef3f8;
  --tu-bg-elevated: #ffffff;
  --tu-bg-subtle: #f3f6fa;
  --tu-graphite: #111827;
  --tu-graphite-muted: #1e293b;
  --tu-text: #111827;
  --tu-text-muted: #475569;
  --tu-text-on-dark: #f1f5f9;
  --tu-text-muted-on-dark: #94a3b8;

  --tu-surface: #ffffff;
  --tu-surface-glass: rgba(255, 255, 255, 0.96);
  --tu-surface-glass-dark: rgba(15, 23, 42, 0.92);
  --tu-glass-blur: 6px;
  --tu-glass-blur-strong: 8px;

  --tu-border: #cbd5e1;
  --tu-border-strong: #94a3b8;
  --tu-border-glow: rgba(21, 94, 239, 0.35);
  --tu-grid-line: rgba(15, 23, 42, 0.06);

  --tu-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --tu-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06);
  --tu-shadow-glass: 0 8px 20px rgba(15, 23, 42, 0.06);
  --tu-shadow-panel: none;

  --tu-ok: #059669;
  --tu-warn: #d97706;
  --tu-danger: #dc2626;

  --tu-radius: 12px;
  --tu-radius-lg: 14px;
  --tu-radius-pill: 999px;
  --tu-nav-height: 4rem;
  --tu-sidebar-width: 17.75rem;
  --tu-section-y: clamp(3.5rem, 6vw, 5.5rem);
  --tu-content-max: 72rem;

  --tu-font: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --tu-font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;

  --tu-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --tu-duration: 180ms;
}

[data-tu-zone="showcase"] {
  --tu-zone-bg: var(--tu-bg);
  --tu-zone-surface: var(--tu-surface);
  --tu-zone-glass-blur: var(--tu-glass-blur);
  --tu-zone-accent-glow: none;
  --tu-zone-grid-opacity: 0.45;
}

[data-tu-zone="gateway"] {
  --tu-zone-bg: linear-gradient(165deg, #eef3f8 0%, #f3f6fa 45%, #e8edf3 100%);
  --tu-zone-surface: var(--tu-surface-glass);
  --tu-zone-glass-blur: var(--tu-glass-blur-strong);
  --tu-zone-accent-glow: none;
  --tu-zone-grid-opacity: 0.55;
}

[data-tu-zone="control"] {
  --tu-zone-bg: var(--tu-bg);
  --tu-zone-surface: var(--tu-bg-elevated);
  --tu-zone-glass-blur: 8px;
  --tu-zone-accent-glow: none;
  --tu-zone-grid-opacity: 0.55;
}

body[data-tu-zone] {
  font-family: var(--tu-font);
  color: var(--tu-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* Единые flash-баннеры (витрина / gateway / кабинет) */
.tu-flash.alert,
.auth-gateway .alert,
.tron-flashes .alert {
  border-radius: var(--tu-radius, 12px);
  border-width: 1px;
  box-shadow: var(--tu-shadow-sm);
}

.tu-flash.alert-success,
.auth-gateway .alert-success,
.tron-flashes .alert-success {
  color: #065f46;
  background: #ecfdf5;
  border-color: rgba(5, 150, 105, 0.28);
}

.tu-flash.alert-warning,
.auth-gateway .alert-warning,
.tron-flashes .alert-warning {
  color: #92400e;
  background: #fffbeb;
  border-color: rgba(217, 119, 6, 0.28);
}

.tu-flash.alert-danger,
.auth-gateway .alert-danger,
.tron-flashes .alert-danger {
  color: #991b1b;
  background: #fef2f2;
  border-color: rgba(220, 38, 38, 0.28);
}

.tu-flash.alert-info,
.auth-gateway .alert-info,
.tron-flashes .alert-info {
  color: #1e3a8a;
  background: #eff6ff;
  border-color: rgba(21, 94, 239, 0.22);
}

