/* ═══════════════════════════════════════════════════════════════════
   theme-next.css — Design tokens extracted from workout-tracker prototype

   Подключить в base.html ПОСЛЕ текущих CSS:
   <link rel="stylesheet" href="{{ url_for('static', path='css/theme-next.css') }}">

   Dark theme = default. Light theme через [data-theme="light"].
   ═══════════════════════════════════════════════════════════════════ */

/* ───── Dark theme (default) ───── */
:root {

  /* Alpha overlays — white with opacity (dark theme) */

  /* Dark overlays — for inner shadows, input backgrounds */

  /* BG with alpha — sticky headers, blur overlays */

  /* Font */
}

/* ───── Light theme ───── */
:root[data-theme="light"] {

  /* Dark overlays become light fills in light theme (inputs, inset strips) */
}

/* Типографика полотна и наследование шрифта контролами переехали в слой. */

/* ───── Coach-home tints (accent / green / amber / orange) ─────
   Derived from the accent + status colors above; used by the client
   home redesign (hero, daily report, goal, rating). Dark = default. */
:root {
  --ui-hero-bg: linear-gradient(150deg, color-mix(in srgb, var(--ui-accent) 18%, transparent), color-mix(in srgb, var(--ui-accent) 5%, transparent) 55%, var(--ui-surface));
}
:root[data-theme="light"] {
  --ui-hero-bg: var(--ui-surface); /* флэт: тот же белый, что у поверхностей */
}

/* ───── Client bottom tab-bar (coach-home redesign) ───── */
.cw-tabbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--ui-z-sticky);
  display: grid; grid-template-columns: repeat(4, 1fr);
  max-width: 480px; margin: 0 auto;
  padding: var(--ui-s-2) var(--ui-s-3) calc(env(safe-area-inset-bottom, 0px) + var(--ui-s-3));
  background: linear-gradient(180deg, transparent 0%, var(--ui-bg-a-88) 30%, var(--ui-bg) 70%);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.cw-tab {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  text-decoration: none; color: var(--ui-a-45); font-family: var(--ui-font);
  padding: var(--ui-s-1) 0; -webkit-tap-highlight-color: transparent;
}
.cw-tab i { font-size: var(--ui-t-xl); }
.cw-tab span { font-size: var(--ui-t-2xs); font-weight: 600; }
.cw-tab.is-active { color: var(--ui-accent); }
.cw-tab.is-active span { font-weight: 800; }
.cw-tab:active { opacity: 0.6; }
/* 96px — не шаг шкалы, это клиренс под .cw-tabbar (её высота задаётся содержимым) */
body.cw-has-tabbar .container { padding-bottom: 96px; }

/* ───── Animations ───── */
@keyframes nx-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes nx-slideUp {
  from { transform: translateY(100%); opacity: 0.6; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes nx-prPop {
  0%   { opacity: 0; transform: scale(0.6) translateY(-10px); }
  30%  { opacity: 1; transform: scale(1.1) translateY(0); }
  60%  { transform: scale(1); }
  100% { opacity: 0; transform: scale(0.95) translateY(-8px); }
}
@keyframes nx-aiPulse {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
