/* ============================================================
   UVICA AP — VERSIÓN 4 · "Agro Fresco"
   Skin de sobreescritura (se carga DESPUÉS de styles.css).
   Clara y aireada: verde fresco, fondos menta, esquinas suaves,
   sombras leves — un aire de producto fresco y moderno.
   ============================================================ */
:root {
  --brown: #1f3d2a;          /* texto fuerte verdoso oscuro */
  --green: #2fa360;          /* verde fresco */
  --lime: #7bc96f;
  --green-dark: #1f7a48;
  --bg: #124a2e;             /* header verde profundo */
  --panel: #ffffff;
  --muted: #6d7d72;
  --border: #e3ede6;
  --primary: #2fa360;
  --primary-dark: #1f7a48;
  --ok: #16a34a;
  --err: #e5484d;
  --soft: #f1f7f2;           /* menta muy claro */
  --heading: "Montserrat", system-ui, sans-serif;
  --body: "Roboto", system-ui, -apple-system, sans-serif;
}
body { color: #223028; }

/* superficies redondeadas y aireadas */
.card, .panel { border-radius: 16px; border: 1px solid var(--border);
  box-shadow: 0 6px 22px rgba(18,74,46,.06); }
button { border-radius: 10px; }
input, select, .ccosto-input, .manual-search input, input[type="search"] { border-radius: 10px !important; }
.container { gap: 24px; }

/* header verde fresco */
.topbar { background: #124a2e; background-image: linear-gradient(100deg,#1f7a48,#124a2e); border-bottom: none; }
.brand span { color: #d8f0e0; }
.tab.active { background: #fff; color: #124a2e; border-bottom: 2px solid #2fa360; }

/* login fresco */
.login-wrap { background: radial-gradient(1100px 560px at 8% -12%, #7bc96f 0%, transparent 55%),
              linear-gradient(140deg, #2fa360, #124a2e 82%); }
.login-brand { background: linear-gradient(158deg,#57bd7a 0%,#2fa360 55%,#1f7a48 100%); }
.login-brand::after { background: rgba(123,201,111,.4); }
.brand-points li::before { color: #1f7a48; }
.field input:focus { border-color: #2fa360; box-shadow: 0 0 0 3px rgba(47,163,96,.18); }
.login-form .btn-primary { background: #2fa360; }
.login-form .btn-primary:hover:not(:disabled) { background: #1f7a48; }
.pw-toggle { color: #1f7a48; } .pw-toggle:hover { background: #e7f4ec; }

/* KPI */
.card.kpi.action { border-left: 4px solid #2fa360; }
.card.kpi.action .value { color: #1f7a48; }
.card.kpi.warn { border-left: 4px solid #e0932a; }

/* pasos de revisión — naranja cálido → verde */
.rev-step { border-radius: 14px; }
.rev-step.todo { border-color: #e0932a; background: #fffaf0; }
.rev-step.todo .rev-step-n { background: #e0932a; }
.rev-step.confirmed { border-color: #2fa360; background: #f2fbf5; }
.rev-step.confirmed .rev-step-n { background: #2fa360; }
.rev-step.confirmed .rev-step-tag { color: #1f7a48; }
.confirm-btn { background: #e0932a; }
.confirm-btn:hover:not(:disabled) { background: #c47d1c; }
.confirm-btn.is-confirmed { background: #2fa360; }
.add-btn { background: #2fa360; } .add-btn:hover { background: #1f7a48; }
.cc-chip { background: #eaf7ef; border-color: #bfe6cd; }
.oc-cuenta-note { background: #f2fbf5; border-color: #bfe6cd; } .oc-cuenta-note b { color: #1f7a48; }
.cta-sug .pct, .finca-chip .pct { color: #1f7a48; }
.cta-sug:hover, .finca-chip:hover, .finca-chip.on { border-color: #2fa360; background: #eaf7ef; }

/* resumen listo — verde brillante */
.rev-summary { border-color: #2fa360; background: #f2fbf5; box-shadow: 0 0 0 4px rgba(47,163,96,.12); }
.rev-summary .confirmed-n { background: #2fa360; }
.sum-main { border-color: #bfe6cd; } .sum-main b { color: #1f7a48; }
.approve { background: #2fa360; } .approve:hover { background: #1f7a48; }

/* dashboards */
.stat-v.prov { color: #1f7a48; } .stat-v.open { color: #e0932a; }
.sb-seg.prov, .mc-seg.prov { background: #2fa360; }
.sb-seg.open, .mc-seg.open { background: #e0932a; }
.areachart .ar-canc { fill: #2fa360; fill-opacity: .85; }
.areachart .ar-saldo { fill: #e0932a; fill-opacity: .8; }

tr.clickable:hover td { background: #f2fbf5; }
