@font-face{font-family:Manrope;src:url("assets/fonts/manrope-variable.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}
/* ==========================================================================
   ProFarm Calc — Design Tokens
   Fonte única de verdade para cor, tipografia, espaçamento, raio e sombra.
   Carregue ANTES de calc-base.css / profarm-styles.css.

   Regra do projeto: nenhum valor de cor literal fora deste arquivo.
   Se precisar de uma cor nova, crie um token aqui.
   ========================================================================== */

:root {
  /* ── Marca: escala do verde ProFarm ─────────────────────────────────── */
  --pf-green-50:  #eef6f0;
  --pf-green-100: #d4e9da;
  --pf-green-200: #a8d3b6;
  --pf-green-300: #6fb888;
  --pf-green-400: #2d9b57;   /* claro   */
  --pf-green-500: #1a6b3c;   /* PRIMÁRIO — identidade do app */
  --pf-green-600: #155935;
  --pf-green-700: #0f4226;   /* escuro  */
  --pf-green-800: #0a2e1a;
  --pf-green-900: #061c10;

  /* ── Acento âmbar ───────────────────────────────────────────────────── */
  --pf-amber-300: #ffc848;
  --pf-amber-400: #f0a500;
  --pf-amber-500: #c47e00;
  --pf-amber-600: #8f5c00;

  /* ── Neutros com leve matiz verde ───────────────────────────────────── */
  --pf-neutral-0:   #ffffff;
  --pf-neutral-50:  #f8faf7;
  --pf-neutral-100: #f0f4ef;
  --pf-neutral-200: #dde8d8;
  --pf-neutral-300: #c2d2bc;
  --pf-neutral-400: #637455;   /* AA sobre branco e sobre o fundo */
  --pf-neutral-500: #5a6651;
  --pf-neutral-700: #2f3a29;
  --pf-neutral-900: #1a1f16;

  /* ── Papéis semânticos (LIGHT) ──────────────────────────────────────── */
  --pf-primary:          var(--pf-green-500);
  --pf-primary-strong:   var(--pf-green-700);
  --pf-primary-soft:     var(--pf-green-400);
  --pf-primary-surface:  var(--pf-green-500);  /* fundo de botão/header   */
  --pf-on-primary:       #ffffff;              /* texto sobre o primário  */
  --pf-primary-tint:     var(--pf-green-50);   /* fundo suave de destaque */

  --pf-accent:           var(--pf-amber-400);
  --pf-accent-strong:    var(--pf-amber-500);
  --pf-on-accent:        #241a00;

  --pf-bg:               var(--pf-neutral-100);
  --pf-surface:          var(--pf-neutral-0);
  --pf-surface-2:        var(--pf-neutral-50);
  --pf-surface-3:        var(--pf-neutral-100);

  --pf-text:             var(--pf-neutral-900);
  --pf-text-2:           var(--pf-neutral-500);
  --pf-text-3:           var(--pf-neutral-400);
  --pf-on-dark:          #f2f7ef;              /* texto sobre header verde */

  --pf-border:           var(--pf-neutral-200);
  --pf-border-strong:    var(--pf-neutral-300);

  /* ── Estados ────────────────────────────────────────────────────────── */
  --pf-success:     #1f7a3d;   --pf-success-tint: #e6f4ea;   --pf-on-success: #ffffff;
  --pf-warning:     #945700;   --pf-warning-tint: #fdf1dd;   --pf-on-warning: #ffffff;
  --pf-danger:      #c62828;   --pf-danger-tint:  #fdeaea;   --pf-on-danger:  #ffffff;
  --pf-info:        #1565c0;   --pf-info-tint:    #e7f0fb;   --pf-on-info:    #ffffff;

  /* ── Cores auxiliares de domínio ────────────────────────────────────── */
  --pf-soil:        #6d4c41;   /* solo / preparo   */
  --pf-soil-light:  #a1887f;
  --pf-water:       #0277bd;   /* irrigação / calda */
  --pf-crop:        #558b2f;   /* cultura           */

  /* ── Gradientes ─────────────────────────────────────────────────────── */
  --pf-gradient-primary: linear-gradient(135deg, var(--pf-green-400) 0%, var(--pf-green-600) 100%);
  --pf-gradient-soil:    linear-gradient(135deg, var(--pf-soil-light) 0%, var(--pf-soil) 100%);
  --pf-gradient-bg:      linear-gradient(180deg, var(--pf-neutral-50) 0%, var(--pf-neutral-100) 100%);

  /* ── Sombras ────────────────────────────────────────────────────────── */
  --pf-shadow-sm: 0 1px 3px rgba(10, 46, 26, .10);
  --pf-shadow:    0 2px 12px rgba(10, 46, 26, .10);
  --pf-shadow-lg: 0 8px 32px rgba(10, 46, 26, .14);
  --pf-ring:      0 0 0 3px rgba(26, 107, 60, .28);   /* foco de teclado */

  /* ── Raio ───────────────────────────────────────────────────────────── */
  --pf-radius-sm: 10px;
  --pf-radius:    16px;
  --pf-radius-lg: 24px;
  --pf-radius-pill: 999px;

  /* ── Espaçamento (escala de 4) ──────────────────────────────────────── */
  --pf-space-1: 4px;   --pf-space-2: 8px;   --pf-space-3: 12px;
  --pf-space-4: 16px;  --pf-space-5: 20px;  --pf-space-6: 24px;
  --pf-space-8: 32px;  --pf-space-10: 40px; --pf-space-12: 48px;

  /* ── Tipografia ─────────────────────────────────────────────────────── */
  --pf-font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --pf-font-display: 'Manrope', var(--pf-font-sans);
  --pf-font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;

  --pf-text-xs:   0.75rem;    /* 12px — legendas          */
  --pf-text-sm:   0.875rem;   /* 14px — apoio             */
  --pf-text-base: 1rem;       /* 16px — corpo e inputs    */
  --pf-text-lg:   1.125rem;   /* 18px — subtítulo         */
  --pf-text-xl:   1.375rem;   /* 22px — título de card    */
  --pf-text-2xl:  1.75rem;    /* 28px — título de seção   */
  --pf-text-3xl:  2.25rem;    /* 36px — título de página  */

  --pf-leading-tight: 1.2;
  --pf-leading:       1.55;

  /* ── Diagramas técnicos ─────────────────────────────────────────────
     Ilustrações de máquina (trator, espalhadeira, multímetro, CAN bus).
     Têm aparência própria e NÃO seguem o tema claro/escuro: um chassi
     metálico deve parecer metal nos dois temas.                        */
  --pf-diagram-bg:      #1e293b;   /* corpo de máquina / painel   */
  --pf-diagram-bg-deep: #0f172a;   /* pneu, fundo de instrumento  */
  --pf-diagram-line:    #334155;   /* contorno / moldura          */
  --pf-diagram-metal:   #475569;   /* peça metálica               */
  --pf-diagram-wire:    #64748b;   /* cabo / chicote              */
  --pf-diagram-light:   #94a3b8;   /* peça clara                  */
  --pf-diagram-tint:    #e2e8f0;   /* partícula / mostrador       */
  --pf-diagram-screen:  #121212;   /* display LCD                 */
  --pf-diagram-screen-2:#111827;
  --pf-diagram-panel:   #1e1e1e;   /* painel de controle          */
  --pf-diagram-panel-2: #3c3c3c;
  --pf-diagram-glow:    #4afde0;   /* texto de display            */
  --pf-diagram-glow-2:  #38bdf8;
  --pf-diagram-plot:    #f8fafc;   /* área de gráfico             */

  /* Desenho técnico de controle de seções: prancha clara nos dois temas */
  --pf-diagram-paper:        #fbfaf5;   /* fundo da prancha            */
  --pf-diagram-ink:          #1f2933;   /* texto e cotas               */
  --pf-diagram-ink-2:        #52606d;   /* texto secundário            */
  --pf-diagram-soil:         #ece2cf;   /* solo sem produto            */
  --pf-diagram-soil-2:       #d8c6a3;   /* sulco / marcas no solo      */
  --pf-diagram-applied:      #c4e3c2;   /* área já aplicada            */
  --pf-diagram-applied-line: #2e7d32;   /* borda da cobertura          */
  --pf-diagram-overlap:      #b42318;   /* sobreposição (texto/linha)  */
  --pf-diagram-overlap-tint: #f6c8c1;
  --pf-diagram-gap:          #8f5b0e;   /* falha (texto/linha)         */
  --pf-diagram-gap-tint:     #f7e1b0;
  --pf-diagram-command:      #1d5fbf;   /* comando / antecipação       */
  --pf-diagram-reference:    #6d34a8;   /* ponto de ativação           */
  --pf-diagram-spray:        #3d8fd1;   /* calda / jato                */
  --pf-diagram-spray-tint:   #d6e9f8;
  --pf-diagram-seed:         #a86b12;   /* semente                     */
  --pf-diagram-body:         #2f6b3b;   /* carroceria de máquina       */
  --pf-diagram-glass:        #cfe3ee;   /* vidro de cabine             */

  /* Código de cores ISO 10625 das pontas de pulverização (fixo nos dois temas) */
  --pf-iso-01: #f28a1b;  --pf-iso-015: #2f9a46; --pf-iso-02: #f4c400;  --pf-iso-025: #b48acb;
  --pf-iso-03: #1f5fbf;  --pf-iso-04: #d32f2f;  --pf-iso-05: #7b4a2a;  --pf-iso-06: #8c8c8c;
  --pf-iso-08: #ffffff;  --pf-iso-10: #6cbbe8;  --pf-iso-15: #8fd36b;  --pf-iso-20: #1b1b1b;

  /* ── Sobreposição de modal ──────────────────────────────────────────── */
  --pf-overlay: rgba(6, 28, 16, .72);

  /* ── Movimento ──────────────────────────────────────────────────────── */
  --pf-transition: all .25s cubic-bezier(.4, 0, .2, 1);

  /* ── Alvo mínimo de toque (WCAG 2.5.8) ──────────────────────────────── */
  --pf-touch: 44px;
}

/* ==========================================================================
   TEMA ESCURO
   Só os papéis semânticos mudam — a escala de marca permanece a mesma.
   ========================================================================== */
:root[data-theme="dark"],
html[data-theme="dark"] {
  --pf-primary:          #4ade80;   /* texto, ícones e bordas: verde claro  */
  --pf-primary-strong:   #86efac;
  --pf-primary-soft:     #22c55e;
  --pf-primary-surface:  #15803d;   /* fundo de botão: verde médio-escuro   */
  --pf-on-primary:       #f0fdf4;
  --pf-primary-tint:     #16281c;

  --pf-accent:           #fbbf24;
  --pf-accent-strong:    #f59e0b;
  --pf-on-accent:        #241a00;

  --pf-bg:               #0d1509;
  --pf-surface:          #1a2416;
  --pf-surface-2:        #1f2b1a;
  --pf-surface-3:        #253321;

  --pf-text:             #e8f0e0;
  --pf-text-2:           #9ab08a;
  --pf-text-3:           #7a9070;
  --pf-on-dark:          #e8f0e0;

  --pf-border:           #2a3d22;
  --pf-border-strong:    #3b5230;

  --pf-success:     #4ade80;   --pf-success-tint: #122a1a;   --pf-on-success: #05230f;
  --pf-warning:     #fbbf24;   --pf-warning-tint: #2b2109;   --pf-on-warning: #221900;
  --pf-danger:      #f87171;   --pf-danger-tint:  #2e1414;   --pf-on-danger:  #2b0606;
  --pf-info:        #60a5fa;   --pf-info-tint:    #10203a;   --pf-on-info:    #04152b;

  --pf-soil:        #a1887f;
  --pf-soil-light:  #c2a79c;
  --pf-water:       #38bdf8;
  --pf-crop:        #8bc34a;

  --pf-gradient-primary: linear-gradient(135deg, #1f3a22 0%, #132415 100%);
  --pf-gradient-soil:    linear-gradient(135deg, #5c3510 0%, #3a1e05 100%);
  --pf-gradient-bg:      linear-gradient(180deg, #0d1509 0%, #080d05 100%);

  --pf-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);
  --pf-shadow:    0 2px 12px rgba(0, 0, 0, .45);
  --pf-shadow-lg: 0 8px 32px rgba(0, 0, 0, .55);
  --pf-ring:      0 0 0 3px rgba(74, 222, 128, .35);
  --pf-overlay:   rgba(0, 0, 0, .78);
}

/* ==========================================================================
   ALIASES LEGADOS
   Mantêm calc-base.css e profarm-styles.css funcionando sem reescrita,
   já bebendo da paleta unificada. Não use estes nomes em código novo.
   ========================================================================== */
:root,
:root[data-theme="dark"],
html[data-theme="dark"] {
  /* nomes usados por profarm-styles.css (índice) */
  --pr:     var(--pf-primary);
  --pr-l:   var(--pf-primary-soft);
  --pr-d:   var(--pf-primary-strong);
  --ac:     var(--pf-accent);
  --ac-d:   var(--pf-accent-strong);
  --bg:     var(--pf-bg);
  --surf:   var(--pf-surface);
  --surf2:  var(--pf-surface-2);
  --tx:     var(--pf-text);
  --tx2:    var(--pf-text-2);
  --tx3:    var(--pf-text-3);
  --bd:     var(--pf-border);
  --red:    var(--pf-danger);
  --blue:   var(--pf-info);
  --sh:     var(--pf-shadow);
  --sh-l:   var(--pf-shadow-lg);
  --r:      var(--pf-radius);
  --r-sm:   var(--pf-radius-sm);
  --r-lg:   var(--pf-radius-lg);
  --tr:     var(--pf-transition);

  /* nomes usados por calc-base.css (calculadoras) */
  --primary:        var(--pf-primary);
  --primary-dark:   var(--pf-primary-strong);
  --primary-light:  var(--pf-primary-soft);
  --secondary:      var(--pf-accent);
  --secondary-light: var(--pf-amber-300);
  --accent:         var(--pf-accent);
  --danger:         var(--pf-danger);
  --warning:        var(--pf-warning);
  --success:        var(--pf-success);
  --info:           var(--pf-info);
  --seed-brown:     var(--pf-soil);
  --seed-light:     var(--pf-soil-light);
  --field-green:    var(--pf-crop);
  --bg-light:       var(--pf-bg);
  --bg-white:       var(--pf-surface);
  --text-primary:   var(--pf-text);
  --text-secondary: var(--pf-text-2);
  --border:         var(--pf-border);
  --shadow:         var(--pf-shadow);
  --shadow-lg:      var(--pf-shadow-lg);
  --gradient-green: var(--pf-gradient-primary);
  --gradient-seed:  var(--pf-gradient-soil);
  --bg-gradient:    var(--pf-gradient-bg);

  /* nomes da camada "Design System 2026" de calc-base.css */
  --surface:      var(--pf-surface);
  --surface-soft: var(--pf-surface-2);
  --text-muted:   var(--pf-text-3);
  --radius:       var(--pf-radius);
  --radius-sm:    var(--pf-radius-sm);
}

/* ==========================================================================
   TEMAS DE MÓDULO
   Cada calculadora pode vestir uma cor própria sem sair do sistema:
   basta <html data-module="cafe">. Os aliases legados (--primary,
   --gradient-green…) apontam para estes tokens, então tudo se propaga.
   Cada tema define claro E escuro — é isso que faltava antes.
   ========================================================================== */

/* ── Café ─────────────────────────────────────────────────────────────── */
[data-module="cafe"] {
  --pf-primary: #4e342e; --pf-primary-strong: #3e2723; --pf-primary-soft: #6d4c41;
  --pf-primary-surface: #4e342e; --pf-primary-tint: #efebe9; --pf-accent: #d84315;
  --pf-gradient-primary: linear-gradient(135deg, #5d4037 0%, #3e2723 100%);
}
html[data-theme="dark"][data-module="cafe"] {
  --pf-primary: #bcaaa4; --pf-primary-strong: #d7ccc8; --pf-primary-soft: #a1887f;
  --pf-primary-surface: #5d4037; --pf-primary-tint: #2a211e; --pf-accent: #ff8a65;
  --pf-gradient-primary: linear-gradient(135deg, #4e342e 0%, #2a1b17 100%);
}

/* ── Irrigação ────────────────────────────────────────────────────────── */
[data-module="irrigacao"] {
  --pf-primary: #0277bd; --pf-primary-strong: #01579b; --pf-primary-soft: #0288d1;
  --pf-primary-surface: #0277bd; --pf-primary-tint: #e1f5fe; --pf-accent: #00897b;
  --pf-gradient-primary: linear-gradient(135deg, #0288d1 0%, #01579b 100%);
}
html[data-theme="dark"][data-module="irrigacao"] {
  --pf-primary: #4fc3f7; --pf-primary-strong: #81d4fa; --pf-primary-soft: #29b6f6;
  --pf-primary-surface: #0277bd; --pf-primary-tint: #0c2430; --pf-accent: #4db6ac;
  --pf-gradient-primary: linear-gradient(135deg, #01579b 0%, #012f52 100%);
}

/* ── Armazenagem ──────────────────────────────────────────────────────── */
[data-module="armazenagem"] {
  --pf-primary: #5d4037; --pf-primary-strong: #3e2723; --pf-primary-soft: #8d6e63;
  --pf-primary-surface: #5d4037; --pf-primary-tint: #efebe9; --pf-accent: #ffb300;
  --pf-gradient-primary: linear-gradient(135deg, #795548 0%, #3e2723 100%);
}
html[data-theme="dark"][data-module="armazenagem"] {
  --pf-primary: #bcaaa4; --pf-primary-strong: #d7ccc8; --pf-primary-soft: #a1887f;
  --pf-primary-surface: #5d4037; --pf-primary-tint: #2a211e; --pf-accent: #ffca28;
  --pf-gradient-primary: linear-gradient(135deg, #4e342e 0%, #2a1b17 100%);
}

/* ── Bovinos ──────────────────────────────────────────────────────────── */
[data-module="bovinos"] {
  --pf-primary: #33691e; --pf-primary-strong: #1b5e20; --pf-primary-soft: #558b2f;
  --pf-primary-surface: #33691e; --pf-primary-tint: #f1f8e9; --pf-accent: #ff6f00;
  --pf-gradient-primary: linear-gradient(135deg, #558b2f 0%, #1b5e20 100%);
}
html[data-theme="dark"][data-module="bovinos"] {
  --pf-primary: #aed581; --pf-primary-strong: #c5e1a5; --pf-primary-soft: #8bc34a;
  --pf-primary-surface: #33691e; --pf-primary-tint: #1a2410; --pf-accent: #ffa726;
  --pf-gradient-primary: linear-gradient(135deg, #294f17 0%, #14290b 100%);
}

/* ── Calagem ──────────────────────────────────────────────────────────── */
[data-module="calagem"] {
  --pf-primary: #546e7a; --pf-primary-strong: #37474f; --pf-primary-soft: #78909c;
  --pf-primary-surface: #546e7a; --pf-primary-tint: #eceff1; --pf-accent: #ff8f00;
  --pf-gradient-primary: linear-gradient(135deg, #78909c 0%, #455a64 100%);
}
html[data-theme="dark"][data-module="calagem"] {
  --pf-primary: #90a4ae; --pf-primary-strong: #cfd8dc; --pf-primary-soft: #78909c;
  --pf-primary-surface: #455a64; --pf-primary-tint: #1b2429; --pf-accent: #ffb300;
  --pf-gradient-primary: linear-gradient(135deg, #37474f 0%, #263238 100%);
}

/* ── Custo operacional ────────────────────────────────────────────────── */
[data-module="custo-operacional"] {
  --pf-primary: #1b5e20; --pf-primary-strong: #0c3b10; --pf-primary-soft: #4c8c4a;
  --pf-primary-surface: #1b5e20; --pf-primary-tint: #e8f5e9; --pf-accent: #ffb300;
  --pf-gradient-primary: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
}
html[data-theme="dark"][data-module="custo-operacional"] {
  --pf-primary: #81c784; --pf-primary-strong: #a5d6a7; --pf-primary-soft: #66bb6a;
  --pf-primary-surface: #1b5e20; --pf-primary-tint: #14261a; --pf-accent: #ffca28;
  --pf-gradient-primary: linear-gradient(135deg, #1b5e20 0%, #0c3b10 100%);
}

/* ── GNSS ─────────────────────────────────────────────────────────────── */
[data-module="gnss"] {
  --pf-primary: #1565c0; --pf-primary-strong: #0d47a1; --pf-primary-soft: #1976d2;
  --pf-primary-surface: #1565c0; --pf-primary-tint: #e3f2fd; --pf-accent: #ffb300;
  --pf-gradient-primary: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);
}
html[data-theme="dark"][data-module="gnss"] {
  --pf-primary: #64b5f6; --pf-primary-strong: #90caf9; --pf-primary-soft: #42a5f5;
  --pf-primary-surface: #1565c0; --pf-primary-tint: #0e1d30; --pf-accent: #ffca28;
  --pf-gradient-primary: linear-gradient(135deg, #0d47a1 0%, #062a60 100%);
}

/* ── Adubação (verde padrão, só ajusta o escuro) ──────────────────────── */
html[data-theme="dark"][data-module="adubacao"] {
  --pf-primary: #81c784; --pf-primary-strong: #c8e6c9; --pf-primary-soft: #66bb6a;
  --pf-gradient-primary: linear-gradient(135deg, #1b5e20 0%, #123c14 100%);
}

/* ── Cor de solo (usada em diagramas de plantio/preparo) ──────────────── */
:root { --pf-soil-surface: #8d6e63; --pf-soil-surface-dark: #5d4037; }
html[data-theme="dark"] { --pf-soil-surface: #5d4037; --pf-soil-surface-dark: #3e2723; }

/* ── Folha de laudo ───────────────────────────────────────────────────────
   Relatórios simulam papel impresso: claros nos dois temas, de propósito. */
:root, html[data-theme="dark"] {
  --pf-paper: #ffffff;
  --pf-on-paper: #212121;
  --pf-paper-border: #cfcfcf;
}
