:root {
  /* ---- tokens de marca Uviveiro ---- */
  --color-primary:      #1B3B2B;
  --color-background:   #EFF6EC;
  --color-accent:        #C97D4F;
  --color-accent-hover:  #B56A3D;
  --color-secondary:    #4E7A5C;
  --color-text:         #1B3B2B;
  --color-text-muted:   #5C6F64;
  --color-white:        #FFFFFF;
  --font-heading: 'Poppins', sans-serif;
  --font-body:    'Inter', sans-serif;

  /* ---- variáveis semânticas usadas pelo resto do app, derivadas da marca ---- */
  --page:        #EFF6EC;
  --card:        #ffffff;
  --hero-bg:     #1B3B2B;
  --hero-ink:    #ffffff;
  --hero-muted:  rgba(255,255,255,0.55);
  --hero-sub:    rgba(255,255,255,0.65);
  --ink:         #1B3B2B;
  --ink-2:       #4E7A5C;
  --ink-muted:   #5C6F64;
  --line:        #DCE8D6;
  --accent:      #C97D4F;
  --chip-bg:     #E4EEE0;
  --chip-ink:    #4E7A5C;
  --shadow:      0 1px 2px rgba(27,59,43,0.05), 0 8px 24px rgba(27,59,43,0.08);
  --good-bg:     #E3F0E5; --good-ink: #2F6B45;
  --warn-bg:     #FBEEDD; --warn-ink: #B5762E;
  --crit-bg:     #FBE7E5; --crit-ink: #B23A3A;
  --c-produtor:  #4E7A5C;
  --c-atacadista:#3E7CA6;
  --c-revendedor:#A98A63;
  --tooltip-bg:  #1B3B2B;
  --tooltip-ink: #ffffff;
  --atacadista-bg: #E1EBF2;
}

* { box-sizing: border-box; }
body {
  margin: 0; background: var(--page); color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--font-heading); font-weight: 600; color: var(--color-primary);
  margin: 0 0 0.5em;
}

.btn-primary, .btn-secondary {
  font: inherit; font-size: 13px; font-weight: 700; padding: 9px 18px;
  border-radius: 10px; cursor: pointer; white-space: nowrap;
}
.btn-primary { background: var(--color-accent); color: var(--color-white); border: none; }
.btn-primary:hover { background: var(--color-accent-hover); }
.btn-secondary { background: transparent; color: var(--color-primary); border: 1.5px solid var(--color-primary); }
.btn-secondary:hover { background: rgba(27,59,43,0.06); }
.btn-primary:disabled, .btn-secondary:disabled { opacity: 0.6; cursor: default; }

.card { background: var(--card); border-radius: 18px; padding: 18px; box-shadow: var(--shadow); }
.card h2 { font-size: 12.5px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; }

.chip { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 100px; background: var(--chip-bg); color: var(--chip-ink); }
.chip-tipo { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 100px; white-space: nowrap; }
.chip-tipo .dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.chip-tipo.produtor { background: var(--good-bg); color: var(--good-ink); }
.chip-tipo.atacadista { background: var(--atacadista-bg); color: var(--c-atacadista); }
.chip-tipo.revendedor { background: var(--chip-bg); color: var(--chip-ink); }

.status-btn { font: inherit; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 100px; border: none; cursor: pointer; }
.status-pendente { background: var(--chip-bg); color: var(--chip-ink); }
.status-validado { background: var(--good-bg); color: var(--good-ink); }
.status-invalido { background: var(--crit-bg); color: var(--crit-ink); }
.status-duplicado { background: var(--warn-bg); color: var(--warn-ink); }

.muted { color: var(--ink-muted); }

.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.form-field input, .form-field select, .form-field textarea {
  font: inherit; font-size: 13.5px; padding: 9px 12px;
  border-radius: 10px; border: 1px solid var(--line);
  background: var(--page); color: var(--ink);
}
.form-error { color: var(--crit-ink); font-size: 12.5px; min-height: 16px; }
.form-ok { color: var(--good-ink); font-size: 12.5px; min-height: 16px; }
