/* Sunny Systems — design tokens (V4 NewBrand26)
 * Gerado por tokens/build.mjs a partir de tokens/tokens.json. Não editar à mão.
 * status: medido = lido do site/arquivos oficiais · derivado = calculado · proposta = aguardando validação
 */

:root {

  /* color.amber */
  --sunny-color-amber-50: #FFFDF4; /* [medido] Usado no gradiente da arte do hero */
  --sunny-color-amber-100: #FFF8E6; /* [medido] bg-light-accent na doc do site */
  --sunny-color-amber-200: #FFE7A8; /* [medido] Usado em traços da arte do hero */
  --sunny-color-amber-300: #F5D660; /* [medido] Amarelo claro oficial */
  --sunny-color-amber-400: #F0C840; /* [medido] Amarelo oficial; hover do botão primário */
  --sunny-color-amber-500: #FFB61F; /* [medido] Âmbar oficial; cor principal da marca */
  --sunny-color-amber-600: #E5A31B; /* [medido] Usado no gradiente de botões e badges de produto */
  --sunny-color-amber-700: #C98A12; /* [medido] Usado nas faixas da landing do Sunshine */
  --sunny-color-amber-800: #7E5B14; /* [derivado] Interpolação entre 700 e 900. Único tom de âmbar aprovado como texto sobre branco */
  --sunny-color-amber-900: #332C15; /* [medido] 'Escuro' oficial; texto sobre âmbar */

  /* color.neutral */
  --sunny-color-neutral-0: #FFFFFF; /* [medido] Branco; fundo do modo claro */
  --sunny-color-neutral-50: #F7F7F5; /* [medido] Card do modo claro */
  --sunny-color-neutral-100: #DFDFDF; /* [medido] Texto principal sobre escuro */
  --sunny-color-neutral-200: #BCBCBC; /* [derivado] Midpoint entre 100 e 300 */
  --sunny-color-neutral-300: #999999; /* [medido] Cinza do 'SYSTEMS' no wordmark */
  --sunny-color-neutral-400: #8F8F8F; /* [medido] Texto secundário */
  --sunny-color-neutral-500: #5C5C5C; /* [medido] Usado em labels mono do ScopeWard. Não passa AA como texto sobre escuro */
  --sunny-color-neutral-600: #3A3A3A; /* [medido] Cinza do 'SUNNY' no wordmark; bordas fortes */
  --sunny-color-neutral-700: #232828; /* [medido] Superfície elevada nas páginas de produto */
  --sunny-color-neutral-800: #1C2020; /* [medido] Card sobre fundo escuro */
  --sunny-color-neutral-900: #1A1A1D; /* [medido] Fundo principal */
  --sunny-color-neutral-950: #0E1113; /* [medido] Fundo de terminal nas páginas de produto */
  --sunny-color-neutral-warm-900: #1A150C; /* [medido] Barra de título da janela quente */
  --sunny-color-neutral-warm-950: #14110A; /* [medido] Corpo da janela quente */

  /* color.feedback */
  --sunny-color-feedback-error-300: #FF8888; /* [medido] Texto de erro nos formulários de lead */
  --sunny-color-feedback-error-500: #FF5D5D; /* [medido] Borda inválida; --sev-crit no ScopeWard */
  --sunny-color-feedback-error-700: #B32D2D; /* [derivado] Texto de erro sobre branco */
  --sunny-color-feedback-success-300: #9ADFB6; /* [derivado] */
  --sunny-color-feedback-success-500: #6FCF97; /* [medido] --sev-ok no ScopeWard; 'copiado' no DevXOS */
  --sunny-color-feedback-success-700: #2E7D4F; /* [derivado] */
  --sunny-color-feedback-warning-300: #FFBE8A; /* [derivado] */
  --sunny-color-feedback-warning-500: #FF9E54; /* [medido] --sev-high no ScopeWard; acento de escrita na topologia do RootPilot */
  --sunny-color-feedback-warning-700: #A85B1E; /* [derivado] */
  --sunny-color-feedback-info-300: #A9C4DD; /* [derivado] */
  --sunny-color-feedback-info-500: #7FA6C9; /* [medido] --sev-low no ScopeWard */
  --sunny-color-feedback-info-700: #3A6A94; /* [derivado] */

  /* color.alpha */
  --sunny-color-alpha-white-4: rgba(255, 255, 255, 0.04); /* [medido] Borda de card */
  --sunny-color-alpha-white-6: rgba(255, 255, 255, 0.06); /* [medido] */
  --sunny-color-alpha-white-8: rgba(255, 255, 255, 0.08); /* [medido] Borda de card em hover */
  --sunny-color-alpha-white-12: rgba(255, 255, 255, 0.12); /* [medido] */
  --sunny-color-alpha-black-6: rgba(0, 0, 0, 0.06); /* [proposta] Borda sutil no modo claro */
  --sunny-color-alpha-amber-4: rgba(255, 182, 31, 0.04); /* [medido] */
  --sunny-color-alpha-amber-7: rgba(255, 182, 31, 0.07); /* [medido] Glow do hero */
  --sunny-color-alpha-amber-10: rgba(255, 182, 31, 0.10); /* [medido] Fundo do badge */
  --sunny-color-alpha-amber-15: rgba(255, 182, 31, 0.15); /* [medido] Linha divisória do hero; drop-shadow da ilustração */
  --sunny-color-alpha-amber-30: rgba(255, 182, 31, 0.30); /* [medido] Glow forte */
  --sunny-color-alpha-ink-92: rgba(26, 26, 29, 0.92); /* [medido] Fundo do header ao rolar */
  --sunny-color-alpha-white-5: rgba(255, 255, 255, 0.055); /* [medido] Fundo de input em hover */

  /* color.bg */
  --sunny-color-bg-base: var(--sunny-color-neutral-900); /* [medido] */
  --sunny-color-bg-card: var(--sunny-color-neutral-800); /* [medido] */
  --sunny-color-bg-elevated: var(--sunny-color-neutral-700); /* [medido] */
  --sunny-color-bg-terminal: var(--sunny-color-neutral-950); /* [medido] */
  --sunny-color-bg-header: var(--sunny-color-alpha-ink-92); /* [medido] */
  --sunny-color-bg-accent-soft: var(--sunny-color-alpha-amber-10); /* [medido] */

  /* color.text */
  --sunny-color-text-primary: var(--sunny-color-neutral-100); /* [medido] */
  --sunny-color-text-secondary: var(--sunny-color-neutral-400); /* [medido] */
  --sunny-color-text-inverse: var(--sunny-color-neutral-900); /* [medido] */
  --sunny-color-text-accent: var(--sunny-color-amber-500); /* [medido] Destaque em âmbar sobre escuro */
  --sunny-color-text-accent-soft: var(--sunny-color-amber-300); /* [medido] */
  --sunny-color-text-on-accent: var(--sunny-color-amber-900); /* [medido] Texto sobre botão âmbar */

  /* color.border */
  --sunny-color-border-subtle: var(--sunny-color-alpha-white-4); /* [medido] */
  --sunny-color-border-default: var(--sunny-color-alpha-white-8); /* [medido] */
  --sunny-color-border-strong: var(--sunny-color-neutral-600); /* [medido] Borda do seletor de idioma */
  --sunny-color-border-accent: var(--sunny-color-amber-500); /* [medido] */

  /* color.accent */
  --sunny-color-accent-default: var(--sunny-color-amber-500); /* [medido] */
  --sunny-color-accent-hover: var(--sunny-color-amber-400); /* [medido] */
  --sunny-color-accent-active: var(--sunny-color-amber-600); /* [derivado] */
  --sunny-color-accent-soft: var(--sunny-color-alpha-amber-10); /* [medido] */
  --sunny-color-accent-glow: var(--sunny-color-alpha-amber-7); /* [medido] */

  /* color.focus */
  --sunny-color-focus-ring: var(--sunny-color-amber-500); /* [medido] outline 2px, offset 2px */

  /* color.status */
  --sunny-color-status-error-text: var(--sunny-color-feedback-error-300); /* [medido] */
  --sunny-color-status-error-icon: var(--sunny-color-feedback-error-500); /* [medido] */
  --sunny-color-status-error-border: var(--sunny-color-feedback-error-500); /* [medido] */
  --sunny-color-status-error-bg: rgba(255, 93, 93, 0.06); /* [medido] */
  --sunny-color-status-success-text: var(--sunny-color-feedback-success-300); /* [derivado] */
  --sunny-color-status-success-icon: var(--sunny-color-feedback-success-500); /* [medido] */
  --sunny-color-status-success-border: var(--sunny-color-feedback-success-500); /* [medido] */
  --sunny-color-status-success-bg: rgba(111, 207, 151, 0.08); /* [proposta] */
  --sunny-color-status-warning-text: var(--sunny-color-feedback-warning-300); /* [derivado] */
  --sunny-color-status-warning-icon: var(--sunny-color-feedback-warning-500); /* [medido] */
  --sunny-color-status-warning-border: var(--sunny-color-feedback-warning-500); /* [medido] */
  --sunny-color-status-warning-bg: rgba(255, 158, 84, 0.08); /* [proposta] */
  --sunny-color-status-info-text: var(--sunny-color-feedback-info-300); /* [derivado] */
  --sunny-color-status-info-icon: var(--sunny-color-feedback-info-500); /* [medido] */
  --sunny-color-status-info-border: var(--sunny-color-feedback-info-500); /* [medido] */
  --sunny-color-status-info-bg: rgba(127, 166, 201, 0.08); /* [proposta] */

  /* color.severity */
  --sunny-color-severity-critical: var(--sunny-color-feedback-error-500); /* [medido] */
  --sunny-color-severity-high: var(--sunny-color-feedback-warning-500); /* [medido] */
  --sunny-color-severity-medium: var(--sunny-color-amber-400); /* [medido] */
  --sunny-color-severity-low: var(--sunny-color-feedback-info-500); /* [medido] */
  --sunny-color-severity-ok: var(--sunny-color-feedback-success-500); /* [medido] */

  /* font.family */
  --sunny-font-family-display: 'Bricolage Grotesque', sans-serif; /* [medido] Títulos e wordmark. Eixo opsz 12–96 */
  --sunny-font-family-body: 'Inter', sans-serif; /* [medido] Corpo e UI */
  --sunny-font-family-mono: 'JetBrains Mono', ui-monospace, monospace; /* [medido] Código, comandos, IDs. Carregada no site, mas sem token no CSS raiz */

  /* font.weight */
  --sunny-font-weight-regular: 400; /* [medido] */
  --sunny-font-weight-medium: 500; /* [medido] */
  --sunny-font-weight-semibold: 600; /* [medido] */
  --sunny-font-weight-bold: 700; /* [medido] */

  /* font.size */
  --sunny-font-size-10: 0.625rem; /* [medido] */
  --sunny-font-size-11: 0.6875rem; /* [medido] */
  --sunny-font-size-12: 0.75rem; /* [medido] */
  --sunny-font-size-13: 0.8125rem; /* [medido] */
  --sunny-font-size-14: 0.875rem; /* [medido] */
  --sunny-font-size-15: 0.9375rem; /* [medido] */
  --sunny-font-size-16: 1rem; /* [medido] */
  --sunny-font-size-17: 1.0625rem; /* [medido] */
  --sunny-font-size-18: 1.125rem; /* [medido] */
  --sunny-font-size-20: 1.25rem; /* [medido] */
  --sunny-font-size-22: 1.375rem; /* [medido] */
  --sunny-font-size-32: 2rem; /* [medido] */
  --sunny-font-size-fluid-sm: clamp(1.75rem, 3vw, 2.5rem); /* [medido] Título de seção */
  --sunny-font-size-fluid-md: clamp(2rem, 4vw, 3.25rem); /* [medido] */
  --sunny-font-size-fluid-lg: clamp(2.25rem, 4vw, 3.5rem); /* [medido] */
  --sunny-font-size-fluid-display: clamp(2.75rem, 5.5vw, 4.25rem); /* [medido] h1 do hero */

  /* font.line-height */
  --sunny-font-line-height-tight: 1.08; /* [medido] Display */
  --sunny-font-line-height-snug: 1.2; /* [medido] Títulos */
  --sunny-font-line-height-normal: 1.6; /* [medido] Corpo */
  --sunny-font-line-height-relaxed: 1.75; /* [medido] Descrições longas */

  /* font.letter-spacing */
  --sunny-font-letter-spacing-tight: -0.02em; /* [medido] Display */
  --sunny-font-letter-spacing-snug: -0.01em; /* [medido] Títulos */
  --sunny-font-letter-spacing-wide: 0.08em; /* [medido] Overline e badge */
  --sunny-font-letter-spacing-wider: 0.14em; /* [medido] Rótulos em caixa alta */

  /* type.display */
  --sunny-type-display-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-display-size: var(--sunny-font-size-fluid-display); /* [medido] */
  --sunny-type-display-weight: var(--sunny-font-weight-bold); /* [medido] */
  --sunny-type-display-line-height: var(--sunny-font-line-height-tight); /* [medido] */
  --sunny-type-display-letter-spacing: var(--sunny-font-letter-spacing-tight); /* [medido] */

  /* type.heading-1 */
  --sunny-type-heading-1-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-heading-1-size: var(--sunny-font-size-fluid-lg); /* [medido] */
  --sunny-type-heading-1-weight: var(--sunny-font-weight-bold); /* [medido] */
  --sunny-type-heading-1-line-height: var(--sunny-font-line-height-snug); /* [medido] */
  --sunny-type-heading-1-letter-spacing: var(--sunny-font-letter-spacing-snug); /* [medido] */

  /* type.heading-2 */
  --sunny-type-heading-2-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-heading-2-size: var(--sunny-font-size-fluid-md); /* [medido] */
  --sunny-type-heading-2-weight: var(--sunny-font-weight-bold); /* [medido] */
  --sunny-type-heading-2-line-height: var(--sunny-font-line-height-snug); /* [medido] */
  --sunny-type-heading-2-letter-spacing: var(--sunny-font-letter-spacing-snug); /* [medido] */

  /* type.heading-3 */
  --sunny-type-heading-3-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-heading-3-size: var(--sunny-font-size-fluid-sm); /* [medido] */
  --sunny-type-heading-3-weight: var(--sunny-font-weight-bold); /* [medido] */
  --sunny-type-heading-3-line-height: var(--sunny-font-line-height-snug); /* [medido] */
  --sunny-type-heading-3-letter-spacing: var(--sunny-font-letter-spacing-snug); /* [medido] */

  /* type.heading-4 */
  --sunny-type-heading-4-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-heading-4-size: var(--sunny-font-size-22); /* [medido] */
  --sunny-type-heading-4-weight: var(--sunny-font-weight-semibold); /* [medido] */
  --sunny-type-heading-4-line-height: var(--sunny-font-line-height-snug); /* [medido] */
  --sunny-type-heading-4-letter-spacing: 0; /* [medido] */

  /* type.heading-5 */
  --sunny-type-heading-5-family: var(--sunny-font-family-display); /* [medido] */
  --sunny-type-heading-5-size: var(--sunny-font-size-20); /* [medido] */
  --sunny-type-heading-5-weight: var(--sunny-font-weight-semibold); /* [medido] */
  --sunny-type-heading-5-line-height: var(--sunny-font-line-height-snug); /* [medido] */
  --sunny-type-heading-5-letter-spacing: 0; /* [medido] */

  /* type.body-lg */
  --sunny-type-body-lg-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-body-lg-size: var(--sunny-font-size-18); /* [medido] */
  --sunny-type-body-lg-weight: var(--sunny-font-weight-regular); /* [medido] */
  --sunny-type-body-lg-line-height: var(--sunny-font-line-height-relaxed); /* [medido] */
  --sunny-type-body-lg-letter-spacing: 0; /* [medido] */

  /* type.body */
  --sunny-type-body-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-body-size: var(--sunny-font-size-16); /* [medido] */
  --sunny-type-body-weight: var(--sunny-font-weight-regular); /* [medido] */
  --sunny-type-body-line-height: var(--sunny-font-line-height-normal); /* [medido] */
  --sunny-type-body-letter-spacing: 0; /* [medido] */

  /* type.body-sm */
  --sunny-type-body-sm-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-body-sm-size: var(--sunny-font-size-15); /* [medido] */
  --sunny-type-body-sm-weight: var(--sunny-font-weight-regular); /* [medido] */
  --sunny-type-body-sm-line-height: var(--sunny-font-line-height-normal); /* [medido] */
  --sunny-type-body-sm-letter-spacing: 0; /* [medido] */

  /* type.label */
  --sunny-type-label-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-label-size: var(--sunny-font-size-14); /* [medido] */
  --sunny-type-label-weight: var(--sunny-font-weight-medium); /* [medido] */
  --sunny-type-label-line-height: var(--sunny-font-line-height-normal); /* [medido] */
  --sunny-type-label-letter-spacing: 0; /* [medido] */

  /* type.caption */
  --sunny-type-caption-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-caption-size: var(--sunny-font-size-13); /* [medido] */
  --sunny-type-caption-weight: var(--sunny-font-weight-regular); /* [medido] */
  --sunny-type-caption-line-height: var(--sunny-font-line-height-normal); /* [medido] */
  --sunny-type-caption-letter-spacing: 0; /* [medido] */

  /* type.overline */
  --sunny-type-overline-family: var(--sunny-font-family-body); /* [medido] */
  --sunny-type-overline-size: var(--sunny-font-size-12); /* [medido] */
  --sunny-type-overline-weight: var(--sunny-font-weight-semibold); /* [medido] */
  --sunny-type-overline-line-height: 1; /* [medido] */
  --sunny-type-overline-letter-spacing: var(--sunny-font-letter-spacing-wide); /* [medido] */
  --sunny-type-overline-transform: uppercase; /* [medido] */

  /* type.code */
  --sunny-type-code-family: var(--sunny-font-family-mono); /* [medido] */
  --sunny-type-code-size: var(--sunny-font-size-14); /* [medido] */
  --sunny-type-code-weight: var(--sunny-font-weight-regular); /* [medido] */
  --sunny-type-code-line-height: var(--sunny-font-line-height-normal); /* [medido] */
  --sunny-type-code-letter-spacing: 0; /* [medido] */

  /* space.1 */
  --sunny-space-1: 4px; /* [medido] */

  /* space.2 */
  --sunny-space-2: 8px; /* [medido] */

  /* space.3 */
  --sunny-space-3: 12px; /* [medido] */

  /* space.4 */
  --sunny-space-4: 16px; /* [medido] */

  /* space.6 */
  --sunny-space-6: 24px; /* [medido] */

  /* space.8 */
  --sunny-space-8: 32px; /* [medido] */

  /* space.12 */
  --sunny-space-12: 48px; /* [medido] */

  /* space.16 */
  --sunny-space-16: 64px; /* [medido] */

  /* space.section */
  --sunny-space-section: 100px; /* [medido] Padding vertical de seção */

  /* radius.sm */
  --sunny-radius-sm: 2px; /* [medido] Tags pequenas */

  /* radius.md */
  --sunny-radius-md: 4px; /* [medido] Botões e inputs */

  /* radius.lg */
  --sunny-radius-lg: 8px; /* [medido] Painéis */

  /* radius.xl */
  --sunny-radius-xl: 12px; /* [medido] Cards */

  /* radius.full */
  --sunny-radius-full: 999px; /* [medido] Pills */

  /* shadow.glow-sm */
  --sunny-shadow-glow-sm: 0 0 12px rgba(255, 182, 31, 0.40); /* [medido] Glow em ícones e dots */

  /* shadow.glow-md */
  --sunny-shadow-glow-md: 0 0 30px rgba(255, 182, 31, 0.30), 0 0 60px rgba(255, 182, 31, 0.10); /* [medido] Glow em elementos de destaque */

  /* shadow.elevation-md */
  --sunny-shadow-elevation-md: 0 12px 40px rgba(0, 0, 0, 0.35); /* [medido] Cards flutuantes */

  /* shadow.elevation-lg */
  --sunny-shadow-elevation-lg: 0 24px 70px rgba(0, 0, 0, 0.50); /* [medido] Modais e mockups */

  /* blur.header */
  --sunny-blur-header: 20px; /* [medido] */

  /* blur.card */
  --sunny-blur-card: 24px; /* [medido] */

  /* motion.duration */
  --sunny-motion-duration-fast: 0.15s; /* [medido] */
  --sunny-motion-duration-base: 0.2s; /* [medido] */
  --sunny-motion-duration-slow: 0.3s; /* [medido] */

  /* motion.easing */
  --sunny-motion-easing-default: ease; /* [medido] */

  /* breakpoint.md */
  --sunny-breakpoint-md: 768px; /* [medido] Menu mobile e grid em uma coluna */

  /* breakpoint.lg */
  --sunny-breakpoint-lg: 1024px; /* [medido] */

  /* breakpoint.container */
  --sunny-breakpoint-container: 1200px; /* [medido] Largura máxima do conteúdo */

  /* button.primary */
  --sunny-button-primary-bg: var(--sunny-color-accent-default); /* [medido] */
  --sunny-button-primary-fg: var(--sunny-color-text-on-accent); /* [medido] */
  --sunny-button-primary-bg-hover: var(--sunny-color-accent-hover); /* [medido] */
  --sunny-button-primary-bg-active: var(--sunny-color-accent-active); /* [derivado] */

  /* button.secondary */
  --sunny-button-secondary-bg: transparent; /* [medido] */
  --sunny-button-secondary-fg: var(--sunny-color-accent-default); /* [medido] */
  --sunny-button-secondary-border: 1.5px solid var(--sunny-color-accent-default); /* [medido] */
  --sunny-button-secondary-bg-hover: var(--sunny-color-accent-default); /* [medido] */
  --sunny-button-secondary-fg-hover: var(--sunny-color-text-on-accent); /* [medido] */

  /* button.padding-y */
  --sunny-button-padding-y: 14px; /* [medido] */

  /* button.padding-x */
  --sunny-button-padding-x: 32px; /* [medido] */

  /* button.padding-y-sm */
  --sunny-button-padding-y-sm: 10px; /* [medido] */

  /* button.padding-x-sm */
  --sunny-button-padding-x-sm: 24px; /* [medido] */

  /* button.radius */
  --sunny-button-radius: var(--sunny-radius-md); /* [medido] */

  /* button.font-size */
  --sunny-button-font-size: var(--sunny-font-size-15); /* [medido] */

  /* button.font-size-sm */
  --sunny-button-font-size-sm: var(--sunny-font-size-13); /* [medido] */

  /* button.font-weight */
  --sunny-button-font-weight: var(--sunny-font-weight-semibold); /* [medido] */

  /* button.gap */
  --sunny-button-gap: var(--sunny-space-2); /* [medido] */

  /* badge.bg */
  --sunny-badge-bg: var(--sunny-color-accent-soft); /* [medido] */

  /* badge.fg */
  --sunny-badge-fg: var(--sunny-color-accent-default); /* [medido] */

  /* badge.padding-y */
  --sunny-badge-padding-y: 6px; /* [medido] */

  /* badge.padding-x */
  --sunny-badge-padding-x: 16px; /* [medido] */

  /* badge.radius */
  --sunny-badge-radius: var(--sunny-radius-full); /* [medido] */

  /* badge.font-size */
  --sunny-badge-font-size: var(--sunny-font-size-12); /* [medido] */

  /* badge.letter-spacing */
  --sunny-badge-letter-spacing: var(--sunny-font-letter-spacing-wide); /* [medido] */

  /* card.bg */
  --sunny-card-bg: var(--sunny-color-bg-card); /* [medido] */

  /* card.border */
  --sunny-card-border: 1px solid var(--sunny-color-border-subtle); /* [medido] */

  /* card.border-hover */
  --sunny-card-border-hover: 1px solid var(--sunny-color-border-default); /* [medido] */

  /* card.radius */
  --sunny-card-radius: var(--sunny-radius-xl); /* [medido] */

  /* card.padding */
  --sunny-card-padding: var(--sunny-space-8); /* [medido] */

  /* card.blur */
  --sunny-card-blur: var(--sunny-blur-card); /* [medido] */

  /* input.bg */
  --sunny-input-bg: var(--sunny-color-alpha-white-4); /* [medido] */

  /* input.bg-hover */
  --sunny-input-bg-hover: var(--sunny-color-alpha-white-5); /* [medido] */

  /* input.bg-focus */
  --sunny-input-bg-focus: var(--sunny-color-alpha-amber-4); /* [medido] */

  /* input.fg */
  --sunny-input-fg: var(--sunny-color-neutral-0); /* [medido] O site usa branco puro; proposta é migrar para text.primary */

  /* input.placeholder */
  --sunny-input-placeholder: var(--sunny-color-text-secondary); /* [medido] Com opacity 0.65 */

  /* input.border */
  --sunny-input-border: 1px solid var(--sunny-color-border-default); /* [medido] */

  /* input.border-focus */
  --sunny-input-border-focus: 1px solid var(--sunny-color-accent-default); /* [medido] */

  /* input.border-invalid */
  --sunny-input-border-invalid: 1px solid var(--sunny-color-status-error-border); /* [medido] */

  /* input.bg-invalid */
  --sunny-input-bg-invalid: var(--sunny-color-status-error-bg); /* [medido] */

  /* input.radius */
  --sunny-input-radius: var(--sunny-radius-md); /* [medido] */

  /* input.padding */
  --sunny-input-padding: 12px 14px; /* [medido] 14px horizontal foge da base 4; proposta é 12px 16px */

  /* input.font-size */
  --sunny-input-font-size: 0.95rem; /* [medido] Fora da escala; proposta é font.size.15 */

  /* input.label */
  --sunny-input-label-family: var(--sunny-font-family-mono); /* [medido] */
  --sunny-input-label-size: 0.7rem; /* [medido] Fora da escala; proposta é font.size.11 */
  --sunny-input-label-weight: var(--sunny-font-weight-semibold); /* [medido] */
  --sunny-input-label-letter-spacing: 0.12em; /* [medido] */
  --sunny-input-label-transform: uppercase; /* [medido] */
  --sunny-input-label-fg: var(--sunny-color-text-secondary); /* [medido] */

  /* input.error */
  --sunny-input-error-fg: var(--sunny-color-status-error-text); /* [medido] */
  --sunny-input-error-size: var(--sunny-font-size-12); /* [medido] */

  /* input.gap */
  --sunny-input-gap: 6px; /* [medido] Entre label e campo */

  /* nav.link */
  --sunny-nav-link-fg: var(--sunny-color-text-primary); /* [medido] */
  --sunny-nav-link-fg-hover: var(--sunny-color-accent-default); /* [medido] */
  --sunny-nav-link-underline: 2px solid var(--sunny-color-accent-default); /* [medido] */
  --sunny-nav-link-font-size: var(--sunny-font-size-14); /* [medido] */
  --sunny-nav-link-font-weight: var(--sunny-font-weight-medium); /* [medido] */

  /* nav.gap */
  --sunny-nav-gap: var(--sunny-space-8); /* [medido] */

  /* focus.outline */
  --sunny-focus-outline: 2px solid var(--sunny-color-focus-ring); /* [medido] */

  /* focus.offset */
  --sunny-focus-offset: 2px; /* [medido] */

  /* header.bg-scrolled */
  --sunny-header-bg-scrolled: var(--sunny-color-bg-header); /* [medido] */

  /* header.blur */
  --sunny-header-blur: var(--sunny-blur-header); /* [medido] */

  /* header.border-bottom */
  --sunny-header-border-bottom: 1px solid rgba(255, 182, 31, 0.08); /* [medido] */

  /* terminal.bg */
  --sunny-terminal-bg: var(--sunny-color-bg-terminal); /* [medido] Corpo da janela */

  /* terminal.bar */
  --sunny-terminal-bar: var(--sunny-color-neutral-900); /* [medido] Barra de título */

  /* terminal.bg-warm */
  --sunny-terminal-bg-warm: var(--sunny-color-neutral-warm-950); /* [medido] Corpo da janela, variante quente */

  /* terminal.bar-warm */
  --sunny-terminal-bar-warm: var(--sunny-color-neutral-warm-900); /* [medido] Barra de título, variante quente */

  /* terminal.dot-close */
  --sunny-terminal-dot-close: var(--sunny-color-feedback-error-500); /* [medido] Dot da esquerda. Posicional, não é estado de erro */

  /* terminal.dot-min */
  --sunny-terminal-dot-min: var(--sunny-color-amber-500); /* [medido] Dot do meio. Posicional, não é aviso */

  /* terminal.dot-max */
  --sunny-terminal-dot-max: var(--sunny-color-feedback-success-500); /* [medido] Dot da direita. Posicional, não é sucesso */

  /* terminal.dot-size */
  --sunny-terminal-dot-size: 11px; /* [medido] Diâmetro do dot, igual em ScopeWard, DevXOS e Sunshine */
}

[data-theme="light"] {
  --sunny-color-bg-base: var(--sunny-color-neutral-0);
  --sunny-color-bg-card: var(--sunny-color-neutral-50);
  --sunny-color-bg-elevated: var(--sunny-color-neutral-0);
  --sunny-color-bg-accent-soft: var(--sunny-color-amber-100);
  --sunny-color-text-primary: var(--sunny-color-neutral-900);
  --sunny-color-text-secondary: var(--sunny-color-neutral-600);
  --sunny-color-text-inverse: var(--sunny-color-neutral-100);
  --sunny-color-text-accent: var(--sunny-color-amber-800);
  --sunny-color-text-accent-soft: var(--sunny-color-amber-700);
  --sunny-color-border-subtle: var(--sunny-color-alpha-black-6);
  --sunny-color-border-default: #E0DDD8;
  --sunny-color-border-strong: var(--sunny-color-neutral-200);
  --sunny-color-status-error-text: var(--sunny-color-feedback-error-700);
  --sunny-color-status-success-text: var(--sunny-color-feedback-success-700);
  --sunny-color-status-warning-text: var(--sunny-color-feedback-warning-700);
  --sunny-color-status-info-text: var(--sunny-color-feedback-info-700);
}

/* Aliases de compatibilidade com os nomes atuais de website/src/style.css */
:root {
  --color-amber: var(--sunny-color-amber-500);
  --color-yellow: var(--sunny-color-amber-400);
  --color-yellow-light: var(--sunny-color-amber-300);
  --color-dark: var(--sunny-color-amber-900);
  --color-black: var(--sunny-color-neutral-900);
  --color-gray-dark: var(--sunny-color-neutral-600);
  --color-gray-mid: var(--sunny-color-neutral-400);
  --color-gray-light: var(--sunny-color-neutral-100);
  --color-white: var(--sunny-color-neutral-0);
  --bg-dark: var(--sunny-color-neutral-900);
  --bg-dark-card: var(--sunny-color-neutral-800);
  --bg-dark-elev: var(--sunny-color-neutral-700);
  --bg-light: var(--sunny-color-neutral-0);
  --bg-light-card: var(--sunny-color-neutral-50);
  --bg-light-accent: var(--sunny-color-amber-100);
  --space-xs: var(--sunny-space-1);
  --space-sm: var(--sunny-space-2);
  --space-md: var(--sunny-space-3);
  --space-lg: var(--sunny-space-4);
  --space-xl: var(--sunny-space-6);
  --space-2xl: var(--sunny-space-8);
  --space-3xl: var(--sunny-space-12);
  --space-4xl: var(--sunny-space-16);
  --radius-sm: var(--sunny-radius-sm);
  --radius-md: var(--sunny-radius-md);
  --radius-lg: var(--sunny-radius-lg);
  --radius-xl: var(--sunny-radius-xl);
  --radius-full: var(--sunny-radius-full);
  --font-display: var(--sunny-font-family-display);
  --font-body: var(--sunny-font-family-body);
  --font-mono: var(--sunny-font-family-mono);
  --sev-crit: var(--sunny-color-severity-critical);
  --sev-high: var(--sunny-color-severity-high);
  --sev-med: var(--sunny-color-severity-medium);
  --sev-low: var(--sunny-color-severity-low);
  --sev-ok: var(--sunny-color-severity-ok);
}
