/** Fediya Studio — theme tokens (load after themes.css) */

html[data-app="team"],
html[data-app="team"][data-team-theme="light"] {
  color-scheme: light;
  --team-bg: #f4f7f1;
  --team-surface: #ffffff;
  --team-surface-2: #eef3ea;
  --team-surface-hover: #e8efe3;
  --team-text: #152318;
  --team-text-muted: rgba(21, 35, 24, 0.58);
  --team-accent: #5f9a38;
  --team-accent-bright: #aad082;
  --team-accent-deep: #2f6b52;
  --team-gold: #c9a84c;
  --team-teal: #5eb5a6;
  --team-glass-border: rgba(95, 154, 56, 0.14);
  --team-blur: 16px;
  --status-success: #3d9a5f;
  --status-success-bg: rgba(61, 154, 95, 0.12);
  --status-warning: #c9920a;
  --status-warning-bg: rgba(201, 146, 10, 0.14);
  --status-danger: #d64545;
  --status-danger-bg: rgba(214, 69, 69, 0.12);
  --status-info: #5eb5a6;
  --status-info-bg: rgba(94, 181, 166, 0.12);
  --status-neutral: #8a968f;
  --status-neutral-bg: rgba(138, 150, 143, 0.12);
  --sidebar-w: 280px;
  --topbar-h: 56px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(21, 35, 24, 0.06);
  --shadow-md: 0 8px 24px rgba(47, 107, 82, 0.1);
  --shadow-glow: 0 0 0 3px rgba(95, 154, 56, 0.22);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms;
  --duration-normal: 220ms;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.875rem;
  --text-lg: 1rem;
  --text-xl: 1.125rem;
  --text-2xl: 1.25rem;
  --font-body: "Vazirmatn", system-ui, sans-serif;
  --font-display: "Fediya Display", "Vazirmatn", sans-serif;
  --team-success: var(--status-success);
  --team-warning: var(--status-warning);
  --team-danger: var(--status-danger);
  --team-muted: var(--team-text-muted);
  --team-border: var(--team-glass-border);
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
}

html[data-app="team"][data-team-theme="dark"] {
  color-scheme: dark;
  --team-bg: #0f1410;
  --team-surface: #1a221c;
  --team-surface-2: #222c25;
  --team-text: #e8f0ea;
  --team-text-muted: rgba(232, 240, 234, 0.58);
  --team-glass-border: rgba(170, 208, 130, 0.12);
}

body.team-app {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--font-weight-body, 400);
  line-height: 1.6;
  background: var(--team-bg);
  color: var(--team-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}

html[data-app="team"] {
  font-size: 100%;
}

/* Form controls & buttons — browsers often skip body font inheritance */
html[data-app="team"] button,
html[data-app="team"] input,
html[data-app="team"] select,
html[data-app="team"] textarea,
html[data-app="team"] optgroup,
html[data-app="team"] option {
  font-family: var(--font-body);
}

.team-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(170, 208, 130, 0.12), transparent 55%),
    var(--team-bg);
}

.team-card {
  background: color-mix(in srgb, var(--team-surface) 92%, transparent);
  backdrop-filter: blur(var(--team-blur));
  border: 1px solid var(--team-glass-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.team-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  height: auto;
  padding: 4px 10px;
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.25;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  white-space: nowrap;
}

.team-pill--dot::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.team-pill--success { color: var(--status-success); background: var(--status-success-bg); }
.team-pill--warning { color: var(--status-warning); background: var(--status-warning-bg); }
.team-pill--danger { color: var(--status-danger); background: var(--status-danger-bg); }
.team-pill--info { color: var(--status-info); background: var(--status-info-bg); }
.team-pill--neutral { color: var(--status-neutral); background: var(--status-neutral-bg); }

.team-stat { padding: var(--space-4); }
.team-stat__value {
  font-family: var(--font-display, "Fediya Display", sans-serif);
  font-size: var(--text-2xl);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.team-stat__bar {
  height: 4px;
  margin-top: var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--team-surface-2);
  overflow: hidden;
}
.team-stat__bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--team-accent-deep), var(--team-accent), var(--team-accent-bright));
}

.team-stat__label { font-size: var(--text-sm); color: var(--team-text-muted); margin-bottom: 4px; }

.team-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-h, 34px);
  padding: 0 var(--control-px, 12px);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--team-accent-deep), var(--team-accent), var(--team-accent-bright));
  box-shadow: 0 4px 12px rgba(47, 107, 82, 0.18);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}

.team-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-h-sm, 32px);
  padding: 0 var(--control-px, 12px);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid var(--team-glass-border);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--team-text);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}

.team-ai-card {
  border: 1px solid color-mix(in srgb, var(--team-gold) 35%, var(--team-glass-border));
  background: linear-gradient(135deg, color-mix(in srgb, var(--team-gold) 6%, var(--team-surface)), color-mix(in srgb, var(--team-teal) 6%, var(--team-surface)));
}

.team-ai-coach {
  margin: 10px 0 0;
  line-height: 1.75;
  font-size: 0.92rem;
  color: var(--team-text);
}

.team-ai-coach__hint {
  opacity: 0.75;
}

/* ── Two-font hierarchy (display vs body) ── */
html[data-app="team"] :is(
  [class*="-hero__title"],
  [class*="-hero__eyebrow"],
  [class*="-empty"] h2,
  [class*="-card__title"],
  [class*="-stat__value"],
  [class*="-kpi__value"],
  .team-topbar__title,
  .team-drawer__brand-text strong
) {
  font-family: var(--font-display);
  letter-spacing: var(--tracking-tight, -0.02em);
}

html[data-app="team"] [class*="-hero__title"] {
  font-weight: 700;
}

html[data-app="team"] [class*="-hero__eyebrow"] {
  font-family: var(--font-body);
  font-weight: 500;
  letter-spacing: var(--tracking-normal, 0);
}

html[data-app="team"] a:not([class*="btn"]):not([class*="-action"]):not([class*="-filter"]):not([class*="-stat"]):not(.team-nav__link):not(.team-mobile-nav__item):not(.team-topbar__cta):not(.team-sidebar__logout):not([class*="-nav__btn"]):not([class*="-nav__today"]) {
  font-family: var(--font-body);
}
