/* ==========================================================================
   Design System Base Zari Running (Admin) — Paleta Oficial Opção A (Atlântico)
   ==========================================================================
   ORDEM DESTE ARQUIVO (fonte → derivado → semântico → funcional → domínio):
   1. Marca Zari         2. Tons sutis da marca      3. Feedback/status
   4. Superfícies        5. Textos & bordas          6. Modais & overlays
   7. Tipos de treino    8. Zonas de treino          9. Tipografia
   10. Elevação & bordas
   ========================================================================== */

:root {
  /* ------------------------------------------------------------------------
     1. MARCA ZARI (AZUL PETRÓLEO & SKY)
     USO: identidade da plataforma — sidebar, header, botão primário do
     sistema, links, estados ativos de navegação.
     NUNCA usar para: badges de status, alertas, ou classificação de dado
     (isso é --color-success/warning/danger/info na seção 3, ou --treino-*
     na seção 7). Ver theming-multi-role: super admin sempre usa este bloco,
     exceto durante impersonation (aí usa a cor da assessoria acessada).
     ------------------------------------------------------------------------ */
  --zari-teal: #5d96a7;
  --zari-teal-dark: #47798a;
  --zari-sky: #86c6d7;
  --zari-sky-dark: #5d96a7;
  --zari-navy: #16303d;

  --color-primary: var(--zari-teal);
  --color-primary-hover: var(--zari-teal-dark);
  --color-secondary: var(--zari-sky);
  --color-secondary-hover: var(--zari-sky-dark);
  --color-tertiary: #eab308;

  /* TINTAS DERIVADAS DA COR PRIMÁRIA */
  --color-primary-tint-50: color-mix(
    in srgb,
    var(--color-primary) 10%,
    transparent
  );
  --color-primary-tint-100: color-mix(
    in srgb,
    var(--color-primary) 15%,
    transparent
  );
  --color-primary-tint-200: color-mix(
    in srgb,
    var(--color-primary) 30%,
    transparent
  );
  --color-primary-tint-400: color-mix(
    in srgb,
    var(--color-primary) 60%,
    transparent
  );
  --color-primary-tint-600: var(--color-primary);
  --color-primary-tint-800: var(--color-primary-hover);

  /* ------------------------------------------------------------------------
     2. TONS SUTIS DA MARCA (derivados de --zari-teal e --zari-navy)
     USO: fundo de chip/badge de marca (não confundir com badge de status),
     hover sutil, destaque leve. Matiz ajustado deliberadamente ~15° mais
     azulado que o teal puro — teal muito dessaturado tende a ler como
     verde-menta ao olho humano, então não recalcular a partir do
     --zari-teal bruto.
     ------------------------------------------------------------------------ */
  --zari-teal-subtle: rgba(80, 140, 190, 0.12);
  --zari-teal-subtle-border: rgba(80, 140, 190, 0.25);
  --zari-teal-subtle-hover: rgba(80, 140, 190, 0.3);
  --zari-navy-subtle: rgba(22, 48, 61, 0.08);
  --zari-navy-subtle-border: rgba(22, 48, 61, 0.2);

  /* ------------------------------------------------------------------------
     3. FEEDBACK & STATUS (Harmonizado com a Identidade Visual Zari)
     USO: Mensagens de resultado, confirmações, badges de status ativo/sucesso,
     alertas e avisos operacionais.
     DIRETRIZES DE DESIGN:
     - No ecossistema Zari, a cor de sucesso/ativo é o DOURADO REFINADO (#a9842c),
       nunca verde comum.
     - Elementos informativos usam a família Teal Zari (--zari-teal).
     - Risco e exclusões irreversíveis usam vermelho (--color-danger).
     ------------------------------------------------------------------------ */
  --color-success: #a9842c;
  --color-success-bg: rgba(169, 132, 44, 0.12);
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;
  --color-danger: #980b0b;
  --color-danger-bg: #fef2f2;
  --color-info: var(--zari-teal);
  --color-info-bg: var(--zari-teal-subtle);

  /* ------------------------------------------------------------------------
     4. SUPERFÍCIES & FUNDOS
     ------------------------------------------------------------------------ */
  --color-bg-body: #f8fafc;
  --color-bg-surface: #ffffff;
  --color-bg-subtle: #f1f5f9;
  --color-bg-sidebar: var(--zari-navy);
  --color-sidebar-text: #f8fafc;
  --color-sidebar-muted: #94a3b8;
  --color-sidebar-active: #1f3f4f;
  --color-sidebar-hover: rgba(255, 255, 255, 0.06);

  /* ------------------------------------------------------------------------
     5. TEXTOS & BORDAS
     ------------------------------------------------------------------------ */
  --color-text-main: #0f172a;
  --color-text-muted: #64748b;
  --color-border: #e2e8f0;
  --color-border-light: #f1f5f9;

  /* ------------------------------------------------------------------------
     6. MODAIS & OVERLAYS
     REGRA DE BOTÃO PRINCIPAL DO MODAL (ModalService):
       - Modal informativo/aviso/confirmação comum -> botão principal usa
         var(--color-primary). É o padrão. Use isto a menos que a ação
         seja destrutiva.
       - Modal de confirmação de ação destrutiva/irreversível (excluir,
         desativar, cancelar assinatura) -> botão principal usa
         var(--color-danger).
       Nunca o contrário: --color-danger não é "a cor de destaque do
       modal", é especificamente o sinal de "isso vai apagar/desfazer algo".
     ------------------------------------------------------------------------ */
  --modal-backdrop: rgba(15, 23, 42, 0.6);
  --modal-backdrop-blur: 3px;

  /* ------------------------------------------------------------------------
     7. CORES DE TIPOS DE TREINO (calendário & visão anual)
     USO: exclusivo para classificar visualmente o tipo de treino no
     calendário/planilha. NÃO reutilizar --zari-* (marca) nem --color-*
     (feedback/status) aqui, e vice-versa — são namespaces separados de
     propósito. Também não confundir com --zona-* (seção 8): tipo e zona
     são eixos independentes, um treino pode ter os dois ao mesmo tempo.
     ATENÇÃO AO ADICIONAR NOVAS CORES NESTE BLOCO: evitar a família
     laranja/vermelho-alaranjado (matiz ~0-40°) — é a cor de marca mais
     comum entre assessorias de corrida (ex: CZN #EE7110, LC Run #e8402d),
     e colide visualmente com o branding do cliente. Antes de adicionar um
     tom novo aqui, comparar o matiz com as cores de marca de tenants
     existentes.
     --treino-indefinido é o FALLBACK obrigatório para qualquer treino sem
     tipo cadastrado/reconhecido — nunca deixar um treino sem cor, e nunca
     usar outra cor da lista "por padrão" nesse caso.
     ------------------------------------------------------------------------ */
  --treino-aquecimento: #0891b2;
  --treino-longao: #2b7a78;
  --treino-intervalado: #db2777;
  --treino-rodagem: #475569;
  --treino-regenerativo: #059669;
  --treino-prova: #7c3aed;
  --treino-forca: #4f46e5;
  --treino-descanso: #cbd5e1;
  --treino-indefinido: #a1a1aa;

  /* ------------------------------------------------------------------------
     8. ZONAS DE TREINO (intensidade de esforço — FC/Pace)
     USO: exclusivo para representar a zona de intensidade calculada
     (Tanaka/Karvonen para FC, Weltman para pace). 
     Gradiente monocromático sky → navy (claro = esforço leve, escuro =
     esforço máximo), decisão de produto — não a convenção azul/verde/
     amarelo/laranja/vermelho comum em outros apps de corrida.
     NÃO confundir com --treino-* (seção 7): um treino pode ter tipo (ex:
     intervalado) E zona-alvo (ex: zona 4 de 5) ao mesmo tempo — são eixos
     independentes que podem aparecer juntos.
     ------------------------------------------------------------------------ */

  --zona6-1: color-mix(in srgb, var(--color-primary) 22%, #ffffff);
  --zona6-2: color-mix(in srgb, var(--color-primary) 42%, #ffffff);
  --zona6-3: color-mix(in srgb, var(--color-primary) 65%, #ffffff);
  --zona6-4: var(--color-primary);
  --zona6-5: color-mix(in srgb, var(--color-primary) 78%, #000000);
  --zona6-6: color-mix(in srgb, var(--color-primary) 58%, #000000);

  --zona6-z1-text: #0f172a;
  --zona6-z2-text: #0f172a;
  --zona6-z3-text: #ffffff;
  --zona6-z4-text: #ffffff;
  --zona6-z5-text: #ffffff;
  --zona6-z6-text: #ffffff;

  /* ------------------------------------------------------------------------
     9. FASES DE TREINAMENTO (PERIODIZAÇÃO)
     USO: badges e indicadores de fases do macrociclo / periodização.
     Paleta esportiva harmoniosa e consistente com o sistema Zari.
     ------------------------------------------------------------------------ */
  --fase-base-bg: rgba(93, 150, 167, 0.15);
  --fase-base-text: #2c5866;
  --fase-base-border: rgba(93, 150, 167, 0.35);

  --fase-construcao-bg: rgba(234, 179, 8, 0.15);
  --fase-construcao-text: #854d0e;
  --fase-construcao-border: rgba(234, 179, 8, 0.35);

  --fase-especifico-bg: rgba(225, 29, 72, 0.12);
  --fase-especifico-text: #9f1239;
  --fase-especifico-border: rgba(225, 29, 72, 0.3);

  --fase-polimento-bg: rgba(124, 58, 237, 0.14);
  --fase-polimento-text: #5b21b6;
  --fase-polimento-border: rgba(124, 58, 237, 0.3);

  --fase-transicao-bg: rgba(100, 116, 139, 0.15);
  --fase-transicao-text: #334155;
  --fase-transicao-border: rgba(100, 116, 139, 0.3);

  --fase-recuperacao-bg: rgba(16, 185, 129, 0.15);
  --fase-recuperacao-text: #065f46;
  --fase-recuperacao-border: rgba(16, 185, 129, 0.3);

  --fase-choque-bg: rgba(239, 68, 68, 0.15);
  --fase-choque-text: #991b1b;
  --fase-choque-border: rgba(239, 68, 68, 0.35);

  /* ------------------------------------------------------------------------
     10. TIPOS DE SEMANA (ESTÍMULOS & PERIODIZAÇÃO)
     USO: badges de tipos de microciclo em planos de 5k a Maratona.
     ------------------------------------------------------------------------ */
  --tipo-carga-bg: rgba(100, 116, 139, 0.08);
  --tipo-carga-text: #475569;
  --tipo-carga-border: rgba(100, 116, 139, 0.2);

  --tipo-recovery-bg: rgba(2, 132, 199, 0.12);
  --tipo-recovery-text: #0369a1;
  --tipo-recovery-border: rgba(2, 132, 199, 0.28);

  --tipo-pico-bg: rgba(194, 65, 12, 0.12);
  --tipo-pico-text: #c2410c;
  --tipo-pico-border: rgba(194, 65, 12, 0.28);

  --tipo-polimento-bg: rgba(124, 58, 237, 0.12);
  --tipo-polimento-text: #6d28d9;
  --tipo-polimento-border: rgba(124, 58, 237, 0.25);

  --tipo-transicao-bg: rgba(100, 116, 139, 0.15);
  --tipo-transicao-text: #334155;
  --tipo-transicao-border: rgba(100, 116, 139, 0.3);

  --tipo-especifico-bg: rgba(99, 102, 241, 0.12);
  --tipo-especifico-text: #3730a3;
  --tipo-especifico-border: rgba(99, 102, 241, 0.28);

  --tipo-prova-bg: rgba(124, 58, 237, 0.14);
  --tipo-prova-text: #5b21b6;
  --tipo-prova-border: rgba(124, 58, 237, 0.3);

  --tipo-teste-bg: rgba(8, 145, 178, 0.14);
  --tipo-teste-text: #0e7490;
  --tipo-teste-border: rgba(8, 145, 178, 0.3);

  /* ------------------------------------------------------------------------
     11. TIPOGRAFIA
     ------------------------------------------------------------------------ */
  --font-heading:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", monospace;

  /* ------------------------------------------------------------------------
     10. ELEVAÇÃO & BORDAS
     ------------------------------------------------------------------------ */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm:
    0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-xl:
    0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 9999px;

  /* ------------------------------------------------------------------------
     11. CARDS DE TREINO E ESTRUTURA GARMIN CONNECT
     USO: Modal de edição/prescrição e visualização detalhada de treino
     (timeline segmentada, cards de etapas, grupos de repetições e sub-cards).
     ------------------------------------------------------------------------ */

  /* 11.1 Barra de Linha do Tempo / Timeline Superior */
  --treino-timeline-bg: var(--color-bg-body, #f8fafc);
  --treino-timeline-border: var(--color-border, #e2e8f0);
  --treino-timeline-radius: var(--radius-sm, 6px);
  --treino-timeline-height: 50px;
  --treino-timeline-gap: 3px;
  --treino-timeline-seg-radius: 3px;

  /* 11.2 Card de Etapa Simples (Aquecimento, Desaquecimento, Rodagem) */
  --treino-card-bg: var(--color-bg-surface, #ffffff);
  --treino-card-border: var(--color-border, #e2e8f0);
  --treino-card-radius: 6px;
  --treino-card-padding: 11px 14px;
  --treino-card-accent-width: 4.5px;
  --treino-card-shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.06);

  /* 11.3 Grupo de Repetição ("Repetir N Vezes") */
  --treino-repeat-bg: var(--color-bg-body, #f8fafc);
  --treino-repeat-border: var(--color-border, #e2e8f0);
  --treino-repeat-radius: 8px;
  --treino-repeat-padding: 12px 14px;
  --treino-repeat-header-color: var(--color-text-main, #0f172a);
  --treino-repeat-input-bg: var(--color-bg-surface, #ffffff);
  --treino-repeat-input-border: var(--color-primary, #5d96a7);
  --treino-repeat-input-color: var(--color-text-main, #0f172a);

  /* 11.4 Sub-cards Internos de Repetição (Tiros e Recuperações) */
  --treino-subcard-bg: var(--color-bg-surface, #ffffff);
  --treino-subcard-border: var(--color-border, #e2e8f0);
  --treino-subcard-radius: 6px;
  --treino-subcard-padding: 10px 12px;
  --treino-subcard-margin-bottom: 8px;

  /* 11.5 Tipografia & Textos dos Cards */
  --treino-card-title-color: var(--color-text-main, #0f172a);
  --treino-card-metric-color: var(--color-text-main, #0f172a);
  --treino-card-label-color: var(--color-text-muted, #64748b);

  /* 11.6 Ações e Menus (⋮ e Botão + Adicionar Etapa) */
  --treino-card-menu-color: var(--color-text-muted, #64748b);
  --treino-card-menu-hover-bg: color-mix(
    in srgb,
    var(--color-text-muted) 10%,
    transparent
  );

  /* 11.7 Caixa de Nota do Treinador */
  --treino-note-bg: var(--color-bg-surface, #ffffff);
  --treino-note-border: var(--color-border, #e2e8f0);
  --treino-note-radius: var(--radius-md, 10px);
  --treino-note-padding: 14px 16px;

  /* ------------------------------------------------------------------------
     12. GAMIFICAÇÃO, INSÍGNIAS & RANKS (SELOS DE ATLETA)
     USO: Identificadores visuais dos níveis de progressão, medalhas e conquistas.
     ------------------------------------------------------------------------ */
  /* 12.1 Selos de Níveis (Ranks) */
  --rank-selo-inicial-color: #5d96a7;
  --rank-selo-inicial-bg: rgba(93, 150, 167, 0.12);
  --rank-selo-inicial-border: rgba(93, 150, 167, 0.35);

  --rank-selo-bronze-color: #cd7f32;
  --rank-selo-bronze-bg: rgba(205, 127, 50, 0.12);
  --rank-selo-bronze-border: rgba(205, 127, 50, 0.35);

  --rank-selo-prata-color: #64748b;
  --rank-selo-prata-bg: rgba(100, 116, 139, 0.12);
  --rank-selo-prata-border: rgba(100, 116, 139, 0.35);

  --rank-selo-ouro-color: #eab308;
  --rank-selo-ouro-bg: rgba(234, 179, 8, 0.12);
  --rank-selo-ouro-border: rgba(234, 179, 8, 0.35);

  --rank-selo-diamante-color: #06b6d4;
  --rank-selo-diamante-bg: rgba(6, 182, 212, 0.12);
  --rank-selo-diamante-border: rgba(6, 182, 212, 0.35);

  --rank-selo-lenda-color: #8b5cf6;
  --rank-selo-lenda-bg: rgba(139, 92, 246, 0.12);
  --rank-selo-lenda-border: rgba(139, 92, 246, 0.35);

  /* 12.2 Elementos de Insígnias & Conquistas */
  --gamificacao-badge-icon-color: var(--zari-teal, #5d96a7);
  --gamificacao-badge-icon-bg: rgba(93, 150, 167, 0.12);
  --gamificacao-badge-border: var(--color-border, #e2e8f0);
  --gamificacao-xp-color: var(--color-warning, #f59e0b);
  --gamificacao-streak-color: var(--zari-teal, #5d96a7);
  --gamificacao-streak-bg: rgba(93, 150, 167, 0.12);
  --gamificacao-sos-color: var(--color-success, #10b981);
  --gamificacao-sos-bg: var(--color-success-bg, rgba(16, 185, 129, 0.1));

  /* ------------------------------------------------------------------------
   * VARIÁVEIS ADICIONADAS NA AUDITORIA A47 (PAD-009)
   * ------------------------------------------------------------------------ */
  --color-primary-light: var(--color-info-bg);
  --color-danger-border: rgba(239, 68, 68, 0.3);
  --color-sidebar-header: var(--color-bg-sidebar);

  /* Nível avançado e zonas auxiliares */
  --zona6-z5-bg: rgba(147, 51, 234, 0.12);
  --zona6-z5: #9333ea;

  /* Bordas e fundos sutis de sidebar */
  --sidebar-borda-suave: rgba(255, 255, 255, 0.06);
  --sidebar-border-subtle: rgba(255, 255, 255, 0.08);
  --sidebar-bg-subtle-04: rgba(255, 255, 255, 0.04);
  --sidebar-bg-subtle-08: rgba(255, 255, 255, 0.08);
  --sidebar-bg-subtle-12: rgba(255, 255, 255, 0.12);
  --sidebar-bg-subtle-15: rgba(255, 255, 255, 0.15);
  --sidebar-bg-subtle-25: rgba(255, 255, 255, 0.25);
  --sidebar-border-subtle-12: rgba(255, 255, 255, 0.12);
  --sidebar-border-subtle-14: rgba(255, 255, 255, 0.14);
  --sidebar-border-subtle-15: rgba(255, 255, 255, 0.15);
  --sidebar-card-gradient: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);

  /* Cards e sombras */
  --sombra-card-hover: 0 2px 8px rgba(0, 0, 0, 0.06);
  --sombra-card-hover-deep: 0 4px 12px rgba(0, 0, 0, 0.08);
  --sombra-dropdown-elevated: 0 6px 20px rgba(0, 0, 0, 0.06);
  --sombra-card-intensa: 0 6px 18px rgba(0, 0, 0, 0.08);
  --sombra-card-subtle-04: 0 1px 2px rgba(0, 0, 0, 0.04);
  --sombra-card-subtle-05: 0 1px 3px rgba(0, 0, 0, 0.05);
  --sombra-card-2px-04: 0 2px 8px rgba(0, 0, 0, 0.04);
  --sombra-card-elevated-12: 0 2px 12px rgba(0, 0, 0, 0.07);
  --sombra-badge-subtle: 0 1px 2px rgba(0, 0, 0, 0.08);
  --sombra-avatar-subtle: 0 2px 6px rgba(0, 0, 0, 0.12);
  --sombra-avatar-dark: 0 2px 8px rgba(0, 0, 0, 0.2);
  --sombra-switch-knob: 0 1.5px 3px rgba(0, 0, 0, 0.25);
  --sombra-dialog-25: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --sombra-video-hover: 0 6px 12px rgba(0, 0, 0, 0.08);
  --sombra-video-dark: 0 6px 20px rgba(0, 0, 0, 0.35);
  --sombra-drawer-lateral: -6px 0 25px rgba(0, 0, 0, 0.18);
  --sombra-dialog-intensa: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.08);

  /* Elementos específicos de interface */
  --overlay-video-hover: rgba(0, 0, 0, 0.5);
  --overlay-video-thumb: rgba(0, 0, 0, 0.12);
  --overlay-drawer-backdrop: rgba(15, 23, 42, 0.45);
  --overlay-modal-semitransparente: rgba(0, 0, 0, 0.5);
  --card-glass-bg: rgba(255, 255, 255, 0.85);
  --card-glass-border: rgba(255, 255, 255, 0.5);
  --card-glass-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  --card-dark-deep: #0b132b;
  --card-dark-black: #000;
  --track-slider-cinza: rgba(150, 150, 150, 0.2);

  /* Enxoval / Destaques Zari Navy & Teal */
  --enxoval-card-gradient: linear-gradient(135deg, rgba(22, 48, 61, 0.05) 0%, rgba(93, 150, 167, 0.08) 100%);
  --enxoval-card-border: rgba(93, 150, 167, 0.35);
  --enxoval-card-shadow: 0 2px 6px rgba(22, 48, 61, 0.06);
  --enxoval-focus-ring: 0 0 0 2px rgba(93, 150, 167, 0.18);
  --enxoval-card-badge-shadow: 0 1px 4px rgba(93, 150, 167, 0.15);
  --enxoval-card-badge-hover-shadow: 0 2px 6px rgba(93, 150, 167, 0.22);
  --fisiologia-bar-leve: color-mix(in srgb, var(--zari-teal) 35%, #ffffff);

  /* Badges de regras e metodologia */
  --badge-metodologia-tp-text: #7c3aed;
  --badge-metodologia-tp-bg: color-mix(in srgb, #8b5cf6 12%, transparent);
  --badge-metodologia-tp-border: color-mix(in srgb, #8b5cf6 25%, transparent);
  --badge-metodologia-bl-text: #0284c7;
  --badge-metodologia-bl-bg: color-mix(in srgb, #0284c7 12%, transparent);
  --badge-metodologia-bl-border: color-mix(in srgb, #0284c7 25%, transparent);
  --badge-metodologia-bl-bg-15: color-mix(in srgb, #0284c7 15%, transparent);
  --badge-metodologia-bl-border-30: color-mix(in srgb, #0284c7 30%, transparent);
  --badge-regras-rg-text: #b45309;
  --badge-regras-rg-bg: color-mix(in srgb, #f59e0b 15%, transparent);
  --badge-regras-rg-border: color-mix(in srgb, #f59e0b 35%, transparent);

  /* Fallback e defaults de temas (Super Admin) */
  --tema-fallback-primary: #EE7110;
  --tema-fallback-secondary: #1F2937;
  --tema-fallback-tertiary: #EAB308;
  --tema-fallback-white: #ffffff;
}

@media (max-width: 860px) {
  .grid-ranks-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 580px) {
  .grid-ranks-container {
    grid-template-columns: 1fr !important;
  }
}

