:root{
  --bg:#0e1117;--bg2:#161b24;--bg3:#1e2533;--bg4:#252d3d;
  --bdr:#2e3a50;--bdr2:#3d4f6a;
  --tx:#e8ecf4;--tx2:#9aafc8;--tx3:#5a6e8a;
  --grn:#4ade80;--grn-d:#1a3a25;--grn-b:#2a5a3a;
  --amb:#fbbf24;--amb-d:#3a2a0a;--amb-b:#5a3f0a;
  --blu:#60a5fa;--blu-d:#0f2040;--blu-b:#1e3a6a;
  --red:#f87171;--red-d:#3a1010;--red-b:#5a2020;
  --pur:#a78bfa;--tel:#2dd4bf;--tel-d:#0a2a28;--gry:#2a3347;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font-family:'Segoe UI',system-ui,sans-serif;font-size:14px;min-height:100vh}

/* ── Shared header ── */
.hdr{background:var(--bg2);border-bottom:1px solid var(--bdr);padding:14px 20px;display:flex;align-items:center;gap:12px}
.hdr-icon{width:34px;height:34px;background:var(--grn-d);border:1px solid var(--grn-b);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}
.hdr-title{font-size:16px;font-weight:600}
.hdr-sub{font-size:11px;color:var(--tx3);margin-top:1px}
.badge{margin-left:auto;background:var(--grn-d);border:1px solid var(--grn-b);color:var(--grn);font-size:11px;padding:2px 9px;border-radius:20px;font-weight:500}
.hdr-nav{display:flex;gap:8px;margin-left:12px}
.hdr-nav a{font-size:12px;color:var(--tx2);text-decoration:none;padding:4px 10px;border:1px solid var(--bdr);border-radius:6px;background:var(--bg3);transition:color .15s}
.hdr-nav a:hover{color:var(--tx)}
.hdr-nav a.active{color:var(--grn);border-color:var(--grn-b)}

/* ── Common controls ── */
.fbtn{background:var(--bg3);border:1px solid var(--bdr);border-radius:5px;padding:4px 10px;font-size:11px;color:var(--tx2);cursor:pointer}
.fbtn.act{background:var(--blu-d);border-color:var(--blu-b);color:var(--blu)}
.fbtn:hover:not(.act){border-color:var(--bdr2)}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:20px;background:var(--bg4);color:var(--tx3);border:1px solid var(--bdr)}
.pill.ok{background:var(--grn-d);color:var(--grn);border-color:var(--grn-b)}
.pill.warn{background:var(--amb-d);color:var(--amb);border-color:var(--amb-b)}

/* ── Crop tier badges ── */
.ct{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;min-width:20px;text-align:center;display:inline-block}
.t1,.t2{background:var(--grn-d);color:var(--grn);border:1px solid var(--grn-b)}
.t3,.t4{background:var(--blu-d);color:var(--blu);border:1px solid var(--blu-b)}
.t5,.t6{background:var(--amb-d);color:var(--amb);border:1px solid var(--amb-b)}
.t7,.t8,.t9{background:var(--red-d);color:var(--red);border:1px solid var(--red-b)}
.t10,.t11,.t12,.t13,.t14,.t15,.t16{background:#2a1040;color:var(--pur);border:1px solid #4a2080}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bdr);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--bdr2)}
