/* TERRA GROUP — shared interface foundations. Logos retain original vector paths. */
:root{
  --terra-green:#152112;--terra-sand:#ded7cb;--terra-lime:#8fc935;
  --bg:#f3f1eb;--bg-2:#ded7cb;--paper:#fffefa;--glass:rgba(255,254,250,.95);
  --ink:#152112;--ink-2:#35452f;--muted:#606a5c;--accent:#8fc935;--accent-2:#a2d354;
  --forest:#152112;--forest-2:#263922;--mint:#eaf2dd;--sand:#ded7cb;--lavender:#ece9e1;
  --line:rgba(21,33,18,.14);--line-strong:rgba(21,33,18,.28);
  --shadow:0 8px 28px rgba(21,33,18,.055);--shadow-lg:0 18px 56px rgba(21,33,18,.12);
  --radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--sidebar:256px;
  --sans:"Manrope",Arial,Helvetica,sans-serif;--display:var(--sans);
}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6}
body h1,body h2,body h3,body h4{font-family:var(--sans);font-style:normal;color:var(--ink);letter-spacing:-.035em}
body h1 em,body h2 em,body h3 em{font-family:var(--sans);font-style:normal}
body .eyebrow{color:#42572f;font-size:11px;letter-spacing:.16em;font-weight:800}
body .btn{min-height:46px;border-radius:9px;font-size:13px;font-weight:800;box-shadow:none;transition:background .18s,color .18s,border-color .18s;letter-spacing:0}
body .btn:after{display:none}
body .btn-primary{background:var(--terra-lime);color:var(--terra-green);border:1px solid var(--terra-lime)}
body .btn-primary:hover{background:#a2d354;border-color:#a2d354;color:var(--terra-green);box-shadow:none}
body .btn-dark{background:var(--terra-green);color:#fffefa;border:1px solid var(--terra-green)}
body .btn-dark:hover{background:#30452a;border-color:#30452a;color:#fffefa;box-shadow:none}
body .btn-ghost,body .btn-outline{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}
body .btn-sm{min-height:42px;padding:10px 16px}
body :is(input,select,textarea){border-radius:8px;border-color:var(--line-strong);background:#fffefa;color:var(--ink);font-family:var(--sans);font-size:14px;min-height:46px;box-shadow:none}
body :is(input,select,textarea):focus{border-color:#577b29;box-shadow:0 0 0 3px rgba(143,201,53,.2)}
body label{font-size:12px;font-weight:750;line-height:1.5;color:var(--ink-2)}
body label small,body .help-text{font-size:12px;color:var(--muted);font-weight:500}
body input[type=checkbox],body input[type=radio]{min-height:18px;width:18px;height:18px;accent-color:#425e27;flex-shrink:0}
body a:focus-visible,body button:focus-visible,body summary:focus-visible{outline:3px solid #577b29;outline-offset:4px}
body .brand{gap:10px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.terra-logo{display:block;width:200px;height:auto;max-width:100%;object-fit:contain}
body .brand-caption{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;color:var(--muted)}
body .brand-light .brand-caption{color:var(--terra-sand)}
body .alert{border-radius:10px;font-size:14px;line-height:1.5;padding:16px 18px}
body .badge{font-size:11px;font-weight:750;border-radius:5px;padding:5px 8px}
body .empty-state,body .empty-inline{background:#eeece4;border:1px dashed #bac2ac;border-radius:12px;color:var(--ink-2);font-size:14px}
body .password-visibility{color:#354d24;border-color:#b4c79b;background:#edf3e4;border-radius:6px;min-height:32px;font-weight:800}
body .password-visibility:focus-visible{outline-color:#577b29}
body .password-recovery-link{color:#354d24;font-size:13px;text-decoration:underline;text-underline-offset:4px}
body .skip-link:focus{background:var(--terra-lime);color:var(--terra-green)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body *,body *:before,body *:after{animation:none!important;transition:none!important}body [data-reveal]{opacity:1!important;transform:none!important}}
@media(max-width:600px){body{font-size:14px}body .btn{min-height:46px}body :is(input,select,textarea){font-size:16px}.terra-logo{width:168px}}
