/* MandiLive — palette grounded in the mandi: leaf, husk, turmeric. */
:root{
  --bg:#F3F5EF; --card:#FFFFFF; --ink:#1E2A20; --dim:#5C6A5E; --line:#D9DFD0;
  --green:#1E6B3C; --green-deep:#154C2B; --turmeric:#C98A00; --turmeric-ink:#7A5300;
  --danger:#B3261E; --ok-bg:#E4F0E4; --warn-bg:#FBF1DA; --err-bg:#F8E4E2;
  --radius:10px; --shadow:0 1px 2px rgba(30,42,32,.07);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Tamil",sans-serif}
.wrap{max-width:1060px;margin:0 auto;padding:0 14px}
a{color:var(--green-deep)}
h1{font-size:1.5rem;margin:.8rem 0 .5rem}h2{font-size:1.1rem;margin:.2rem 0 .6rem}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:.82rem;word-break:break-all}
.dim{color:var(--dim)} .strong{font-weight:700} .num{text-align:right;font-variant-numeric:tabular-nums}

/* header */
.top{background:var(--green-deep);color:#fff;position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;gap:14px;min-height:52px;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.02em;font-size:1.05rem}
.brand-mark{color:var(--turmeric)}
.nav{margin-left:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.nav a{color:#E9F1E7;text-decoration:none;padding:6px 2px}
.nav .who{color:#B9CDB4;font-size:.85rem}
.langsw{border:1px solid #3E6B4E;border-radius:999px;padding:4px 10px !important}
.badge{background:var(--turmeric);color:#2A1F00;border-radius:999px;padding:0 7px;font-size:.75rem;font-weight:700}

/* cards, layout */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:14px;margin:12px 0}
.card.muted{background:#FAFBF7}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.rowline{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.toolbar{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding-top:10px;margin-top:10px;
  border-top:1px dashed var(--line)}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}

/* forms */
label{display:block;font-size:.85rem;color:var(--dim);margin:8px 0 3px}
input,select{width:100%;padding:11px 10px;border:1px solid var(--line);border-radius:8px;
  font:inherit;background:#fff;min-height:44px}
input.big{font-size:1.3rem;letter-spacing:.06em}
form.inline{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
form.inline input,form.inline select{width:auto;min-height:38px;padding:7px 8px}
.seg{display:flex;gap:16px;padding:6px 0}
:focus-visible{outline:3px solid var(--turmeric);outline-offset:1px}

/* buttons — big tap targets */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;
  padding:10px 16px;min-height:44px;font:inherit;font-weight:600;text-decoration:none}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:hover{background:var(--green-deep)}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.warn{background:var(--warn-bg);border-color:var(--turmeric);color:var(--turmeric-ink)}
.btn.ghost{background:transparent}
.btn.big{min-height:52px;font-size:1.05rem;padding:12px 22px}
.btn.small{min-height:34px;padding:5px 10px;font-size:.85rem}
.btn[disabled]{opacity:.5;cursor:wait}

/* pills, flash */
.pill{display:inline-block;background:#EDF2E7;border:1px solid var(--line);border-radius:999px;
  padding:2px 10px;font-size:.78rem;font-weight:600;white-space:nowrap}
.pill.big{font-size:.9rem;padding:4px 12px}
.pill.ok{background:var(--ok-bg);border-color:#9DC3A0}
.pill.warn{background:var(--warn-bg);border-color:var(--turmeric)}
.pill.danger{background:var(--err-bg);border-color:var(--danger);color:var(--danger)}
.flash{border-radius:8px;padding:10px 12px;margin:10px 0;border:1px solid var(--line)}
.flash.ok{background:var(--ok-bg)} .flash.err{background:var(--err-bg)} .flash.warn{background:var(--warn-bg)}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th,.tbl td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{color:var(--dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.scrolly{display:block;overflow-x:auto;white-space:nowrap}

/* THE SIGNATURE: live price ticker */
.ticker{display:flex;justify-content:space-between;gap:16px;align-items:center;
  border-left:6px solid var(--turmeric)}
.ticker-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.ticker-price{font-size:clamp(2rem,8vw,3.2rem);font-weight:800;font-variant-numeric:tabular-nums;
  line-height:1.1;color:var(--green-deep)}
.ticker-price.mine{color:var(--turmeric-ink)}
.ticker-sub{font-size:.85rem;color:var(--dim)}
.ticker-side{text-align:right}
.countdown{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}
.countdown.closing{color:var(--danger)}
.livechip{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.85rem}
.dot{width:10px;height:10px;border-radius:50%;background:var(--danger);display:inline-block;
  animation:pulse 1.2s infinite}
.dot.live{background:var(--danger)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.dot{animation:none}}

.bidrow{display:flex;gap:8px}
.bidrow input{font-size:1.4rem;font-variant-numeric:tabular-nums}
#livelist .bidamt{width:100px;min-height:36px;padding:6px 8px;text-align:right}
#livelist td{vertical-align:middle}
.quick{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.bigprice{font-size:1.1rem}
.kpis{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.kpis .k{display:block;font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.kpis .v{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}
.meter{flex:1;min-width:140px;height:10px;background:#E6EBDD;border-radius:99px;overflow:hidden}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--turmeric))}

.photos{display:flex;gap:8px;flex-wrap:wrap}
.photos img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.notif.unread{border-left:5px solid var(--turmeric)}
.auth-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}
@media(max-width:720px){.auth-grid{grid-template-columns:1fr}}
.filters{display:flex;gap:8px;flex-wrap:wrap}.filters select{width:auto;min-width:130px}
.hero{padding:18px 0 4px}
.doc{max-width:760px}
.schedrow{border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}
.foot{padding:26px 14px;color:var(--dim);font-size:.85rem}
.acard .ticker-price{font-size:1.5rem}
.acard{border-left:4px solid var(--line)} .acard.live{border-left-color:var(--danger)}

/* gate: eNAM-style tabs + dense field grid, farmer live-lookup popup, inline edit rows */
.err{color:var(--danger)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0 0}
.tabbtn{padding:9px 16px;border:1px solid var(--line);border-bottom:none;background:#EDF2E7;color:var(--ink);
  border-radius:8px 8px 0 0;cursor:pointer;font-weight:700;font-size:.85rem;min-height:40px}
.tabbtn.active{background:var(--card);color:var(--green-deep)}
.tabpanel{border-radius:0 var(--radius) var(--radius) var(--radius);margin-top:0}
.enamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 14px}
@media(max-width:480px){.enamgrid{grid-template-columns:1fr 1fr}}
.lookupbox{margin:8px 0 4px}
.lookup{border-radius:8px;padding:10px 12px;border:1px solid var(--line)}
.lookup.found{background:var(--ok-bg);border-color:#9DC3A0}
.lookup.newf{background:var(--warn-bg);border-color:var(--turmeric)}
.lookup label{margin:6px 0 3px}
.editrow{padding:2px 0}
.rowactions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#farmersBody td[colspan]{padding:10px 6px}

/* staff access grid + collapsible access editor rows */
.permgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
@media(max-width:640px){.permgrid{grid-template-columns:1fr}}
.permopt{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink);margin:6px 0}
.permopt input{width:auto;min-height:0}
.staffrow{border-top:1px solid var(--line);padding:10px 0}
.staffrow summary{cursor:pointer;font-size:.92rem}
.staffrow form{margin-top:10px}
