/**
 * GymDiet Master — Luxury Motion & Swiss Sports-Tech Styling
 * OLED Obsidian Black (#000000), Emerald Neon (#00f076).
 * Natural spring physics, tabular numerals, titanium micro-borders.
 */

/* =========================================================
   1. TABULAR NUMERALS & MONOSPACE SPORTS CHRONO METRICS
   ========================================================= */
.timer,
.workout-timer,
.rest-timer-display,
.kbju-value,
.metric-value,
.profile-metric-val,
.stat-number,
.calorie-target,
.water-val,
.num-tabular,
.food-macro-val,
.workout-set-input,
.one-rm-res-value,
.hud-time-text {
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

/* =========================================================
   2. NATURAL SPRING PHYSICS & TACTILE PRESS
   ========================================================= */
button:not(:disabled),
.btn:not(:disabled),
.nav-item,
.section-tile,
.habit-card,
.dashboard-dot,
.weekly-dot,
.workout-set-row,
.food-item-row,
.glass-card-interactive {
  transition: transform 0.16s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.16s ease, border-color 0.16s ease !important;
}

button:not(:disabled):active,
.btn:not(:disabled):active,
.nav-item:active,
.section-tile:active,
.habit-card:active,
.dashboard-dot:active,
.weekly-dot:active,
.glass-card-interactive:active {
  transform: scale(0.962) translateY(1px) !important;
}

/* =========================================================
   3. TITANIUM MICRO-BORDERS (LIGHT-ANGLED HIGHLIGHTS)
   ========================================================= */
.glass-card,
.card-tier-luxury,
.section-tile,
.workout-catalog-card {
  position: relative;
  background-color: #05080e !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top-color: rgba(255, 255, 255, 0.18) !important;
  border-left-color: rgba(0, 240, 118, 0.18) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* =========================================================
   4. OBSIDIAN NEON SHIMMER SKELETONS
   ========================================================= */
.skeleton-shimmer {
  position: relative;
  overflow: hidden;
  background: #080c14 !important;
  border-radius: 12px;
}

.skeleton-shimmer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 240, 118, 0.08) 45%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(0, 240, 118, 0.08) 55%,
    transparent 100%
  );
  transform: translateX(-100%);
  animation: luxury-shimmer-sweep 2s infinite ease-in-out;
}

@keyframes luxury-shimmer-sweep {
  100% {
    transform: translateX(100%);
  }
}

/* =========================================================
   5. FLOATING WORKOUT REST HUD CAPSULE
   ========================================================= */
.floating-workout-hud {
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 9999;
  width: calc(100% - 32px);
  max-width: 420px;
  background: rgba(5, 8, 14, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0, 240, 118, 0.35);
  border-top-color: rgba(255, 255, 255, 0.3);
  border-radius: 24px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8), 0 0 24px rgba(0, 240, 118, 0.2);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-sizing: border-box;
}

.floating-workout-hud.is-hidden {
  transform: translateX(-50%) translateY(-120%);
  opacity: 0;
  pointer-events: none;
}

.floating-workout-hud.is-warning {
  border-color: #fbbf24;
  background: rgba(251, 191, 36, 0.14);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8), 0 0 28px rgba(251, 191, 36, 0.45);
  animation: hud-warning-pulse 0.7s infinite alternate ease-in-out;
}

.floating-workout-hud.is-warning .hud-ring-fill {
  stroke: #fbbf24;
}

.floating-workout-hud.is-warning .hud-time-text {
  color: #fbbf24;
}

.floating-workout-hud.is-expired {
  border-color: #00f076;
  background: rgba(0, 240, 118, 0.18);
  box-shadow: 0 0 32px rgba(0, 240, 118, 0.5);
  animation: hud-pulse 1s infinite alternate ease-in-out;
}

@keyframes hud-pulse {
  0% { transform: translateX(-50%) scale(1); }
  100% { transform: translateX(-50%) scale(1.02); }
}

@keyframes hud-warning-pulse {
  0% { transform: translateX(-50%) scale(1); }
  100% { transform: translateX(-50%) scale(1.025); }
}

.hud-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.hud-ring-wrap {
  position: relative;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.hud-ring-svg {
  transform: rotate(-90deg);
  width: 32px;
  height: 32px;
}

.hud-ring-bg {
  stroke: rgba(255, 255, 255, 0.12);
}

.hud-ring-fill {
  stroke: #00f076;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.3s linear;
}

.hud-details {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.hud-time-text {
  font-size: 15px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -0.3px;
  line-height: 1.15;
}

.hud-desc-text {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hud-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.hud-btn-add {
  padding: 4px 9px;
  border-radius: 12px;
  background: rgba(0, 240, 118, 0.15);
  border: 1px solid rgba(0, 240, 118, 0.3);
  color: #00f076;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.1s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.15s ease;
}

.hud-btn-add:active {
  transform: scale(0.92);
  background: rgba(0, 240, 118, 0.3);
}

.hud-btn-close {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  cursor: pointer;
  transition: transform 0.1s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hud-btn-close:active {
  transform: scale(0.88);
}

/* =========================================================
   6. ATMOSPHERIC OLED OBSIDIAN CANVAS & GLOW
   ========================================================= */
body:not(.light-theme),
:root[data-theme='dark'] body,
:root:not([data-theme='light']) body {
  background-color: #000000 !important;
  background-image:
    radial-gradient(ellipse 650px 480px at 95% -4%, rgba(0, 240, 118, 0.065), transparent 70%),
    radial-gradient(ellipse 550px 450px at -10% 45%, rgba(56, 189, 248, 0.035), transparent 70%) !important;
  background-attachment: fixed !important;
}

/* =========================================================
   7. ULTRA-PREMIUM GLASS CARDS & SPECULAR HIGHLIGHTS
   ========================================================= */
:root:not([data-theme="light"]) .glass-card,
:root:not([data-theme="light"]) .card-tier-luxury,
:root:not([data-theme="light"]) .workout-recovery-hub-card,
:root:not([data-theme="light"]) .dashboard-progress-card {
  position: relative !important;
  background: linear-gradient(165deg, rgba(14, 21, 35, 0.82) 0%, rgba(6, 10, 18, 0.94) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-left: 1px solid rgba(0, 240, 118, 0.16) !important;
  box-shadow: 0 16px 42px -6px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-radius: 20px !important;
}

/* =========================================================
   8. NEXO AI COACH EXECUTIVE BANNER
   ========================================================= */
:root:not([data-theme="light"]) #main-nexo-quick-banner,
:root:not([data-theme="light"]) .nexo-quick-banner {
  background: linear-gradient(135deg, var(--primary-soft, rgba(0, 240, 118, 0.08)) 0%, rgba(9, 15, 26, 0.92) 55%, rgba(0, 0, 0, 0.4) 100%) !important;
  border: 1px solid var(--primary-glow, rgba(0, 240, 118, 0.28)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.6), 0 0 20px var(--primary-soft, rgba(0, 240, 118, 0.1)) !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

#main-nexo-quick-banner:hover {
  border-color: var(--primary, #00f076) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7), 0 0 28px var(--primary-glow, rgba(0, 240, 118, 0.2)) !important;
  transform: translateY(-1px);
}

.nexo-pulse-dot {
  background: var(--primary, #00f076) !important;
  box-shadow: 0 0 8px var(--primary, #00f076) !important;
  animation: pulseLiveDot 2s infinite ease-in-out !important;
}

@keyframes pulseLiveDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

.nexo-online-chip {
  background: var(--primary-soft, rgba(0, 240, 118, 0.15)) !important;
  border: 1px solid var(--primary-glow, rgba(0, 240, 118, 0.35)) !important;
  color: var(--primary, #00f076) !important;
  box-shadow: 0 0 10px var(--primary-soft, rgba(0, 240, 118, 0.2)) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

.nexo-banner-arrow svg {
  stroke: var(--primary, #00f076) !important;
  filter: drop-shadow(0 0 6px var(--primary-glow, rgba(0, 240, 118, 0.4)));
  transition: transform 0.2s ease;
}

#main-nexo-quick-banner:hover .nexo-banner-arrow svg {
  transform: translateX(3px);
}

/* =========================================================
   9. CALORIE PROGRESS RING & HERO METRICS
   ========================================================= */
.relative svg circle:first-child {
  stroke: rgba(255, 255, 255, 0.09) !important;
  stroke-width: 9px !important;
}

#cal-progress-ring {
  stroke-width: 9px !important;
  stroke: var(--primary, #00f076) !important;
  filter: drop-shadow(0 0 10px var(--primary-glow, rgba(0, 240, 118, 0.65))) !important;
}

#cal-consumed {
  font-family: inherit !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6) !important;
}

#cal-percent {
  display: inline-block !important;
  background: var(--primary-soft, rgba(0, 240, 118, 0.12)) !important;
  border: 1px solid var(--primary-glow, rgba(0, 240, 118, 0.32)) !important;
  color: var(--primary, #00f076) !important;
  border-radius: 999px !important;
  padding: 3px 14px !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 0 14px var(--primary-soft, rgba(0, 240, 118, 0.2)) !important;
}

/* Macro progress tracks */
div:has(> #protein-progress),
div:has(> #fat-progress),
div:has(> #carbs-progress) {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#protein-progress {
  background: #00f076 !important;
  box-shadow: 0 0 10px rgba(0, 240, 118, 0.5) !important;
}

#fat-progress {
  background: #fbbf24 !important;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.45) !important;
}

#carbs-progress {
  background: #38bdf8 !important;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.45) !important;
}

/* =========================================================
   10. WATER TRACKER QUICK CAPSULES
   ========================================================= */
:root:not([data-theme="light"]) .btn-water-quick {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  color: #f8fafc !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.18s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.btn-water-quick:hover {
  background: rgba(0, 240, 118, 0.14) !important;
  border-color: rgba(0, 240, 118, 0.45) !important;
  color: #00f076 !important;
  box-shadow: 0 0 16px rgba(0, 240, 118, 0.28) !important;
  transform: translateY(-1px);
}

.btn-water-quick:active {
  transform: scale(0.95) !important;
}

#water-progress {
  position: relative;
  overflow: hidden;
  background: var(--progress-fill-water, linear-gradient(90deg, var(--primary, #00f076) 0%, #38bdf8 100%)) !important;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.45) !important;
}

#water-progress::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 50%,
    transparent 100%
  );
  transform: translateX(-100%);
  animation: water-liquid-wave 2.4s infinite linear;
}

@keyframes water-liquid-wave {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}


/* =========================================================
   11. SECTION TILES IN «ЕЩЁ» (ALL SECTIONS GRID)
   ========================================================= */
.all-sections-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* =========================================================
   11. ALL-SECTIONS GRID & SECTION TILES (PREMIUM ALIGNED 2-COL)
   ========================================================= */
.all-sections-grid,
#screen-more .all-sections-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

:root:not([data-theme="light"]) .more-hub-card,
:root:not([data-theme="light"]) #screen-more .more-hub-card {
  background: linear-gradient(180deg, rgba(16, 24, 38, 0.98) 0%, rgba(7, 11, 18, 0.99) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 22px !important;
  padding: 16px 14px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout style;
  content-visibility: visible !important;
  transform: translateZ(0);
  box-sizing: border-box !important;
}

/* Regular 2-column tile */
:root:not([data-theme="light"]) .section-tile,
:root:not([data-theme="light"]) #screen-more .section-tile {
  background: linear-gradient(155deg, rgba(16, 24, 38, 0.96) 0%, rgba(7, 11, 18, 0.98) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  padding: 12px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 104px !important;
  height: 104px !important;
  max-height: 104px !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  cursor: pointer !important;
  gap: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout style;
  content-visibility: visible !important;
  transform: translateZ(0);
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease !important;
}

.section-tile[hidden],
#screen-more .section-tile[hidden],
.section-tile.is-hidden,
#screen-more .section-tile.is-hidden {
  display: none !important;
}

.section-tile:hover,
#screen-more .section-tile:hover {
  border-color: var(--primary-glow, rgba(0, 240, 118, 0.45)) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.65), 0 0 18px var(--primary-soft, rgba(0, 240, 118, 0.22)) !important;
  transform: translateY(-2px) !important;
}

.section-tile:active,
#screen-more .section-tile:active {
  transform: scale(0.96) !important;
}

.section-tile-icon,
#screen-more .section-tile-icon {
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  border-radius: 12px !important;
  background: radial-gradient(circle, var(--primary-soft, rgba(0, 240, 118, 0.18)) 0%, rgba(0, 0, 0, 0.2) 70%) !important;
  border: 1px solid var(--primary-glow, rgba(0, 240, 118, 0.28)) !important;
  box-shadow: 0 0 12px var(--primary-soft, rgba(0, 240, 118, 0.15)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--primary, #00f076) !important;
  margin: 0 auto 6px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  transition: border-color 0.14s ease, transform 0.14s ease !important;
  transform: translateZ(0);
}

.section-tile:hover .section-tile-icon,
#screen-more .section-tile:hover .section-tile-icon {
  background: radial-gradient(circle, var(--primary-soft, rgba(0, 240, 118, 0.3)) 0%, rgba(0, 0, 0, 0.3) 70%) !important;
  border-color: var(--primary, rgba(0, 240, 118, 0.55)) !important;
  box-shadow: 0 0 18px var(--primary-glow, rgba(0, 240, 118, 0.4)) !important;
}

.section-tile-icon svg,
#screen-more .section-tile-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke: var(--primary, #00f076) !important;
  color: var(--primary, #00f076) !important;
}

:root:not([data-theme="light"]) .section-tile-label,
:root:not([data-theme="light"]) #screen-more .section-tile-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  text-align: center !important;
  letter-spacing: -0.01em !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  hyphens: none !important;
  margin: 0 !important;
  padding: 0 2px !important;
  box-sizing: border-box !important;
}

:root:not([data-theme="light"]) .section-tile-caption,
:root:not([data-theme="light"]) #screen-more .section-tile-caption {
  font-size: 9.5px !important;
  font-weight: 500 !important;
  color: rgba(218, 225, 248, 0.55) !important;
  text-align: center !important;
  line-height: 1.1 !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 2px auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
}

/* Wide featured hero tile - MUST BE PLACED AFTER section-tile */
:root:not([data-theme="light"]) .section-tile.section-tile-featured-wide,
:root:not([data-theme="light"]) #screen-more .section-tile.section-tile-featured-wide {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--primary-soft, rgba(0, 240, 118, 0.12)) 0%, rgba(16, 24, 38, 0.90) 100%) !important;
  border: 1px solid var(--primary-glow, rgba(0, 240, 118, 0.35)) !important;
  border-top: 1px solid var(--primary, rgba(0, 240, 118, 0.6)) !important;
  border-radius: 18px !important;
  padding: 12px 14px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: 68px !important;
  height: auto !important;
  max-height: none !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 16px var(--primary-soft, rgba(0, 240, 118, 0.12)) !important;
  cursor: pointer !important;
  text-align: left !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout style;
  transform: translateZ(0);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease !important;
}

.section-tile.section-tile-featured-wide:hover,
#screen-more .section-tile.section-tile-featured-wide:hover {
  border-color: var(--primary, #00f076) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.65), 0 0 22px var(--primary-glow, rgba(0, 240, 118, 0.25)) !important;
  transform: translateY(-2px) !important;
}

.section-tile.section-tile-featured-wide:active,
#screen-more .section-tile.section-tile-featured-wide:active {
  transform: scale(0.97) !important;
}

.section-tile.section-tile-featured-wide .section-tile-icon,
#screen-more .section-tile.section-tile-featured-wide .section-tile-icon {
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 12px !important;
}

.featured-tile-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
  text-align: left !important;
}

.featured-tile-badge {
  font-size: 9px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--primary, #00f076) !important;
  margin-bottom: 2px !important;
}

.featured-tile-title {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: var(--text-primary, #ffffff) !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
}

.featured-tile-caption {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: var(--text-secondary, rgba(218, 225, 248, 0.6)) !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
  text-align: left !important;
}

.section-tile-featured-wide .section-tile-label,
#screen-more .section-tile-featured-wide .section-tile-label,
#section-ai-coach .section-tile-label {
  display: inline-block !important;
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.section-tile-featured-wide .featured-tile-caption,
#screen-more .section-tile-featured-wide .featured-tile-caption,
#section-ai-coach .featured-tile-caption {
  display: block !important;
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.featured-tile-arrow {
  color: var(--primary, #00f076) !important;
  opacity: 0.85 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

/* =========================================================
   12. FROSTED ACRYLIC BOTTOM DOCK (NAVIGATION)
   ========================================================= */
:root:not([data-theme='light']) .bottom-nav,
body:not(.light-theme) .bottom-nav {
  background: rgba(5, 8, 14, 0.88) !important;
  backdrop-filter: blur(28px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 -12px 36px rgba(0, 0, 0, 0.75) !important;
}

.bottom-nav .nav-item {
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.15s ease !important;
}

.bottom-nav .nav-item.active,
.bottom-nav .nav-item[aria-current='page'] {
  color: #00f076 !important;
}

.bottom-nav .nav-item.active .nav-icon,
.bottom-nav .nav-item[aria-current='page'] .nav-icon {
  filter: drop-shadow(0 0 8px rgba(0, 240, 118, 0.65)) !important;
  transform: scale(1.08) translateY(-1px) !important;
}

.bottom-nav .nav-item.active .nav-label,
.bottom-nav .nav-item[aria-current='page'] .nav-label {
  font-weight: 800 !important;
  color: #00f076 !important;
  text-shadow: 0 0 10px rgba(0, 240, 118, 0.4) !important;
}

/* =========================================================
   13. PRIMARY BRAND BUTTONS & UNIVERSAL CONTROLS
   ========================================================= */
.btn-primary,
.gd-btn-primary,
button.btn-primary,
.primary-btn {
  background: linear-gradient(135deg, #00f076 0%, #00d669 100%) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 22px rgba(0, 240, 118, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  transition: all 0.18s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.btn-primary:hover,
.gd-btn-primary:hover,
button.btn-primary:hover,
.primary-btn:hover {
  box-shadow: 0 8px 28px rgba(0, 240, 118, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  transform: translateY(-1px) !important;
}

.btn-primary:active,
.gd-btn-primary:active,
button.btn-primary:active,
.primary-btn:active {
  transform: scale(0.96) !important;
}

/* =========================================================
   14. APP TOP HEADERS
   ========================================================= */
:root:not([data-theme="light"]) #screen-main .header,
:root:not([data-theme="light"]) .screen > .header {
  background: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
}

:root:not([data-theme="light"]) .main-brand-title,
:root:not([data-theme="light"]) #main-brand-logo-text {
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  background: linear-gradient(180deg, #ffffff 0%, #cbd5e1 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* =========================================================
   15. DIARY 4-STAT MACRO SUMMARY & MEAL CARDS
   ========================================================= */
:root:not([data-theme="light"]) #screen-diary .grid-cols-4 > div,
:root:not([data-theme="light"]) .diary-macros-grid > div {
  background: linear-gradient(165deg, rgba(16, 24, 38, 0.75) 0%, rgba(7, 11, 18, 0.9) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45) !important;
  transition: all 0.15s ease !important;
}

#screen-diary .grid-cols-4 > div:nth-child(1) span:first-child,
#screen-diary .grid-cols-4 > div:nth-child(2) span:first-child {
  color: #00f076 !important;
  text-shadow: 0 0 12px rgba(0, 240, 118, 0.4) !important;
}

#screen-diary .grid-cols-4 > div:nth-child(3) span:first-child {
  color: #fbbf24 !important;
  text-shadow: 0 0 12px rgba(251, 191, 36, 0.35) !important;
}

#screen-diary .grid-cols-4 > div:nth-child(4) span:first-child {
  color: #38bdf8 !important;
  text-shadow: 0 0 12px rgba(56, 189, 248, 0.35) !important;
}

/* =========================================================
   16. FLOATING TOASTS & ACHIEVEMENT ALERTS
   ========================================================= */
.toast,
#toast,
.achievement-toast,
div[class*='toast'] {
  background: rgba(8, 14, 24, 0.94) !important;
  border: 1px solid rgba(0, 240, 118, 0.35) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.8), 0 0 24px rgba(0, 240, 118, 0.2) !important;
  border-radius: 18px !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

/* =========================================================
   17. INPUTS & FORM CONTROLS
   ========================================================= */
:root:not([data-theme="light"]) input[type="text"]:not(.raw-input),
:root:not([data-theme="light"]) input[type="number"]:not(.raw-input),
:root:not([data-theme="light"]) input[type="search"]:not(.raw-input),
:root:not([data-theme="light"]) select,
:root:not([data-theme="light"]) textarea {
  background: rgba(14, 21, 35, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: #00f076 !important;
  box-shadow: 0 0 0 3px rgba(0, 240, 118, 0.22) !important;
  outline: none !important;
}

/* =========================================================
   18. COMPREHENSIVE LIGHT THEME OVERRIDES (HIGH SPECIFICITY)
   ========================================================= */
html[data-theme="light"] .more-hub-card,
html[data-theme="light"] #screen-more .more-hub-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
}

html[data-theme="light"] .more-hub-title,
html[data-theme="light"] #screen-more .more-hub-title,
html[data-theme="light"] #screen-more .dashboard-progress-heading,
html[data-theme="light"] .dashboard-progress-heading,
html[data-theme="light"] #screen-more .header .screen-title,
html[data-theme="light"] .main-brand-title,
html[data-theme="light"] #main-brand-logo-text {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 800 !important;
}

html[data-theme="light"] .section-tile,
html[data-theme="light"] #screen-more .section-tile {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

html[data-theme="light"] .section-tile:hover,
html[data-theme="light"] #screen-more .section-tile:hover {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  border-color: #047857 !important;
}

html[data-theme="light"] .section-tile.section-tile-featured-wide,
html[data-theme="light"] #screen-more .section-tile.section-tile-featured-wide {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
}

html[data-theme="light"] #screen-more .section-tile-label,
html[data-theme="light"] .section-tile-label {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 800 !important;
}

html[data-theme="light"] #screen-more .section-tile-caption,
html[data-theme="light"] .section-tile-caption {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-weight: 600 !important;
}

html[data-theme="light"] #screen-more .section-tile.section-tile-featured-wide .section-tile-label,
html[data-theme="light"] .section-tile.section-tile-featured-wide .section-tile-label {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  font-weight: 800 !important;
}

html[data-theme="light"] #screen-more .section-tile.section-tile-featured-wide .section-tile-caption,
html[data-theme="light"] .section-tile.section-tile-featured-wide .section-tile-caption {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-weight: 600 !important;
}

html[data-theme="light"] #screen-more .section-tile-icon,
html[data-theme="light"] .section-tile-icon {
  background: rgba(16, 185, 129, 0.12) !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  color: #047857 !important;
}

html[data-theme="light"] #screen-more .section-tile-icon svg,
html[data-theme="light"] .section-tile-icon svg {
  stroke: #047857 !important;
  color: #047857 !important;
}

html[data-theme="light"] #screen-more .section-tile-arrow svg,
html[data-theme="light"] .section-tile-arrow svg {
  stroke: #047857 !important;
}

html[data-theme="light"] .glass-card,
html[data-theme="light"] .card-tier-luxury,
html[data-theme="light"] .workout-recovery-hub-card,
html[data-theme="light"] .dashboard-progress-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
  color: #000000 !important;
}

html[data-theme="light"] #main-nexo-quick-banner,
html[data-theme="light"] .nexo-quick-banner {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  color: #000000 !important;
}

html[data-theme="light"] #screen-main .header,
html[data-theme="light"] .screen > .header {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  color: #000000 !important;
}

html[data-theme="light"] #screen-diary .grid-cols-4 > div,
html[data-theme="light"] .diary-macros-grid > div {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

html[data-theme="light"] .btn-water-quick {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

html[data-theme="light"] input[type="text"]:not(.raw-input),
html[data-theme="light"] input[type="number"]:not(.raw-input),
html[data-theme="light"] input[type="search"]:not(.raw-input),
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #000000 !important;
}

/* =========================================================
   20. UNIFIED COMPREHENSIVE UI POLISH ACROSS ALL SCREENS
   (Design Standard Compliant: OLED #000000 + Neon #00f076)
   ========================================================= */

/* 20.1 Universal Tactile Spring Feedback */
button:not(:disabled):active,
.btn:not(:disabled):active,
.nav-item:active,
.section-tile:active,
.habit-card:active,
.grocery-tool-btn:active,
.diary-copy-meal-btn:active,
.btn-copy-yesterday:active,
.workout-step-chip:active,
.btn-water-quick:active,
.btn-banner-change:active,
.profile-stat-col:active,
.heatmap-cell:active,
.profile-activity-card:active {
  transform: scale(0.96) translateY(1px) !important;
  transition: transform 0.12s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* 20.2 Sapphire Glass Borders & Depth on All Cards (Dark Theme) */
:root:not([data-theme='light']) .card,
:root:not([data-theme='light']) #dashboard-focus-card,
:root:not([data-theme='light']) .dashboard-progress-card,
:root:not([data-theme='light']) .calorie-card,
:root:not([data-theme='light']) .water-card,
:root:not([data-theme='light']) .diary-entry,
:root:not([data-theme='light']) .grocery-item,
:root:not([data-theme='light']) .workout-session-card,
:root:not([data-theme='light']) .workout-catalog-card,
:root:not([data-theme='light']) .profile-activity-card,
:root:not([data-theme='light']) .profile-heatmap-card,
:root:not([data-theme='light']) .profile-yandex-card,
:root:not([data-theme='light']) .section-tile {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(0, 240, 118, 0.26) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* 20.3 Focus Card Highlighting */
#dashboard-focus-card {
  position: relative;
  overflow: hidden;
}
#dashboard-focus-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #00f076, transparent);
  pointer-events: none;
}

/* 20.4 Diary Macro Pill Badges */
.macro-badge-protein {
  background: rgba(0, 240, 118, 0.14) !important;
  color: #00f076 !important;
  border: 1px solid rgba(0, 240, 118, 0.3) !important;
  border-radius: 6px;
  padding: 2px 6px;
  font-weight: 700;
  font-size: 11px;
}
.macro-badge-fat {
  background: rgba(251, 191, 36, 0.14) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.3) !important;
  border-radius: 6px;
  padding: 2px 6px;
  font-weight: 700;
  font-size: 11px;
}
.macro-badge-carbs {
  background: rgba(56, 189, 248, 0.14) !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  border-radius: 6px;
  padding: 2px 6px;
  font-weight: 700;
  font-size: 11px;
}

/* 20.5 Grocery Item Checked State */
.grocery-item.bought,
.grocery-item.is-checked {
  opacity: 0.45 !important;
  transition: opacity 0.25s ease, transform 0.2s ease;
}
.grocery-item.bought .grocery-item-title,
.grocery-item.is-checked .grocery-item-title {
  text-decoration: line-through !important;
  color: #64748b !important;
}

/* 20.6 Workout Active Set Left Indicator */
.workout-set-row.is-active,
.workout-set-logger-card {
  border-left: 3px solid #00f076 !important;
}

/* 20.7 Activity Heatmap Pulse for Current Day */
.heatmap-cell[style*="border: 1.5px solid #00f076"],
.heatmap-cell[style*="border: 1.5px solid rgb(0, 240, 118)"] {
  animation: heatmap-today-glow 2.5s infinite ease-in-out;
}
@keyframes heatmap-today-glow {
  0%, 100% {
    box-shadow: 0 0 4px rgba(0, 240, 118, 0.3);
  }
  50% {
    box-shadow: 0 0 12px rgba(0, 240, 118, 0.7);
  }
}

/* 20.8 Quick Water Buttons Micro-glow */
.btn-water-quick:hover,
.btn-water-quick:active {
  border-color: rgba(56, 189, 248, 0.5) !important;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.25) !important;
}



/* =====================================================================
   21. ULTRA-PREMIUM POLISH & GLASSMORPHISM 2.0 (Executive Edition)
   ===================================================================== */

/* 21.1 Ultra-Luxury Sapphire Glassmorphism & Inset Light Catch */
:root:not([data-theme='light']) .glass-card,
:root:not([data-theme='light']) .dashboard-focus-card,
:root:not([data-theme='light']) .nexo-quick-banner,
:root:not([data-theme='light']) .workout-recovery-hub-card {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 14px 36px rgba(0, 0, 0, 0.65) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
}

/* 21.2 Spring Physics on Touch & Clicks */
.glass-card[onclick],
.section-tile,
.btn-water-quick,
.dfc-action-btn,
.st-row,
#btn-dashboard-open-pack,
#btn-dashboard-tasks,
.quick-meal-btn,
.dashboard-workout-mini-cta,
#dashboard-repeat-btn {
  transition: transform 0.16s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.18s ease, border-color 0.18s ease !important;
}
.glass-card[onclick]:active,
.section-tile:active,
.btn-water-quick:active,
.dfc-action-btn:active,
#btn-dashboard-open-pack:active,
#btn-dashboard-tasks:active,
.quick-meal-btn:active,
.dashboard-workout-mini-cta:active,
#dashboard-repeat-btn:active {
  transform: scale(0.965) !important;
}

/* 21.3 Tabular Numerals for Numerical Telemetry (no horizontal jitter) */
.font-stats-num,
#cal-consumed,
#water-consumed,
#protein-val,
#fat-val,
#carbs-val,
.workout-timer-digits,
.st-stat-val,
.dfc-time-hint,
.dfc-tag,
.st-time-chip,
#dashboard-streak-badge,
#dashboard-activity-streak-pill,
.workout-readiness-pill,
#water-goal-main,
#cal-goal,
#protein-goal,
#fat-goal,
#carbs-goal {
  font-variant-numeric: tabular-nums lining-nums !important;
  letter-spacing: -0.015em;
}

/* 21.4 Calorie Progress Ring Halo Glow & Apple Watch Style */
#cal-progress-ring {
  filter: drop-shadow(0 0 6px rgba(0, 240, 118, 0.65)) drop-shadow(0 0 14px rgba(0, 240, 118, 0.35)) !important;
  transition: stroke-dashoffset 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 21.5 Nexo Pulse Dot Organic Breathing */
.nexo-pulse-dot {
  box-shadow: 0 0 0 0 rgba(0, 240, 118, 0.7) !important;
  animation: nexoOrganicPulse 2.4s infinite cubic-bezier(0.45, 0, 0.55, 1) !important;
}
@keyframes nexoOrganicPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(0, 240, 118, 0.75);
  }
  70% {
    transform: scale(1.05);
    box-shadow: 0 0 0 7px rgba(0, 240, 118, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(0, 240, 118, 0);
  }
}

/* 21.6 Smooth Sub-pixel Rendering for Crisp Text */
body, button, input, select, textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 21.7 Dashboard Hero Greeting & Daily Status Strip */
.dashboard-hero-greeting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 4px 14px 4px;
}
.hero-greeting-text {
  min-width: 0;
  flex: 1;
}
.hero-greeting-time {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--primary, #00f076);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
}
.hero-greeting-title {
  font-size: 22px;
  font-weight: 900;
  color: #ffffff;
  margin: 2px 0 0 0;
  letter-spacing: -0.025em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.hero-recovery-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 240, 118, 0.12);
  border: 1px solid rgba(0, 240, 118, 0.35);
  box-shadow: 0 0 14px rgba(0, 240, 118, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  padding: 6px 12px;
  border-radius: 999px;
  flex-shrink: 0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.hero-recovery-pill:hover,
.hero-recovery-pill:active {
  background: rgba(0, 240, 118, 0.2) !important;
  border-color: #00f076 !important;
  transform: scale(0.96);
}
.hero-recovery-icon {
  color: #00f076;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-recovery-label {
  font-size: 11.5px;
  font-weight: 700;
  color: #cbd5e1;
  letter-spacing: 0.02em;
}
.hero-recovery-label b {
  color: #00f076;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.hero-recovery-pulse {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00f076;
  box-shadow: 0 0 6px #00f076;
}

/* 21.8 Floating Rest Widget Sapphire Inset */
.floating-rest-mini-pill,
.floating-rest-expanded-card {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 16px 40px rgba(0, 0, 0, 0.75), 0 0 16px rgba(0, 240, 118, 0.18) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
}

/* 21.9 High-Protein Glow Badge & Macro Highlighting */
.diary-protein-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: rgba(0, 240, 118, 0.12) !important;
  border: 1px solid rgba(0, 240, 118, 0.35) !important;
  color: #00f076 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 2px 7px !important;
  border-radius: 6px !important;
  letter-spacing: 0.02em;
  box-shadow: 0 0 10px rgba(0, 240, 118, 0.18) !important;
  white-space: nowrap;
}

.dc-macro-high-p {
  background: rgba(0, 240, 118, 0.1) !important;
  border: 1px solid rgba(0, 240, 118, 0.35) !important;
  box-shadow: 0 0 10px rgba(0, 240, 118, 0.16) !important;
}

.dc-macro-high-p .dc-macro-val {
  color: #00f076 !important;
  font-weight: 800 !important;
}

/* 21.10 Workout Quick Stepper Polish */
.workout-quick-stepper-row {
  display: flex !important;
  gap: 4px !important;
  margin-top: 5px !important;
}

.workout-step-chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #cbd5e1;
  border-radius: 8px;
  padding: 4px 5px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
  font-variant-numeric: tabular-nums;
  user-select: none;
}

.workout-step-chip:hover {
  background: rgba(0, 240, 118, 0.12);
  border-color: rgba(0, 240, 118, 0.4);
  color: #00f076;
}

.workout-step-chip:active {
  transform: scale(0.92) translateY(1px) !important;
}

/* =========================================================
   22. LUMINESCENT RING GLOWS & MUSCLE AVATAR SWITCHER
   ========================================================= */
#cal-progress-ring,
.cal-progress-ring-circle {
  filter: drop-shadow(0 0 8px rgba(0, 240, 118, 0.45));
}

#water-circle-fill {
  filter: drop-shadow(0 0 8px rgba(56, 189, 248, 0.55));
}

.workout-avatar-selector-bar {
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top-color: rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.workout-avatar-pill {
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.workout-avatar-pill.is-active {
  background: #00f076 !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 0 12px rgba(0, 240, 118, 0.4);
}

.workout-avatar-pill:active {
  transform: scale(0.94) !important;
}

/* Specular top border highlights on cards */
.workout-recovery-hub-card,
.st-card,
.card {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

