:root{--green:#0f5b33;--green2:#168542;--lime:#8bd450;--ink:#102018;--muted:#66756d;--bg:#f6faf7;--card:#fff;--line:#dfe9e2;--warn:#e8961e;--danger:#d64242;--blue:#2b72d6;--shadow:0 16px 38px rgba(16,45,28,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem .95rem;font-weight:800;cursor:pointer}button.primary{background:var(--green2);border-color:var(--green2);color:#fff}button.secondary{background:#eaf8ee;color:var(--green);border-color:#bde8c9}.agv-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.agv-sidebar{background:linear-gradient(180deg,#06381f,#062416);color:#fff;padding:1.1rem;display:flex;flex-direction:column;gap:1rem}.agv-logo img{width:190px;max-width:100%;display:block}.agv-nav{display:grid;gap:.25rem}.agv-nav a{color:#eaf7ee;text-decoration:none;font-weight:850;padding:.85rem;border-radius:12px}.agv-nav a.active,.agv-nav a:hover{background:linear-gradient(90deg,#168542,#0f6b39)}.agv-side-card{margin-top:auto;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:16px;padding:1rem}.agv-side-card p{color:#d5e6dc}.agv-side-card button{width:100%;background:#22b34f;color:#fff;border:0}.agv-main{padding:1.25rem}.agv-topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.hamburger{font-size:1.1rem}.agv-title{flex:1}.agv-title h1{margin:0;font-size:1.8rem}.agv-title p{margin:.2rem 0;color:var(--muted)}.agv-top-actions{display:flex;gap:.6rem;align-items:center}.agv-top-actions input{width:300px;border:1px solid var(--line);border-radius:12px;padding:.75rem}.agv-top-actions select,.form-grid input,.form-grid select,.scan-input,textarea{border:1px solid var(--line);border-radius:12px;padding:.78rem;background:#fff}.pill{display:inline-flex;align-items:center;border-radius:999px;background:#eef7ef;color:var(--green);font-weight:900;padding:.35rem .65rem}.pill.good{background:#e8f8ed}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;margin-bottom:1rem}.metric{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow)}.metric span{color:var(--muted);font-weight:800}.metric strong{display:block;font-size:1.65rem;color:var(--green);margin:.3rem 0}.metric.warn strong{color:var(--warn)}.metric.danger strong{color:var(--danger)}.metric small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1.45fr 1fr;gap:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:var(--shadow)}.card.wide{grid-column:1/-1}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.card-head h2{font-size:1.08rem;margin:0}.card-head h2 span{font-size:.85rem;color:var(--muted)}.help{border-radius:999px;width:32px;height:32px;padding:0;color:var(--green)}.scan-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:-.3rem -.3rem .75rem}.scan-tabs button{border:0;border-radius:0;background:transparent}.scan-tabs .active{border-bottom:4px solid var(--green2);color:var(--green)}.scan-circle{margin:1rem auto;width:230px;height:230px;border:5px solid #25b951;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(#fff,#f0faf3)}.scan-circle div{font-size:3rem;color:var(--green)}.scan-circle strong{font-size:1.3rem}.scan-circle span{color:var(--muted);font-size:.9rem}.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.button-row.end{justify-content:flex-end}.scan-status{display:flex;justify-content:space-between;background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:.8rem;margin:.8rem 0}.product-layout{display:grid;grid-template-columns:180px 1fr;gap:1rem}.product-photo{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#edf8ef,#fff);min-height:210px;display:grid;place-items:center;position:relative;overflow:hidden}.product-photo img{max-width:100%;max-height:210px;display:none}.product-photo.has-img img{display:block}.product-photo.has-img span{display:none}.product-info h3{font-size:1.55rem;margin:.2rem 0}.product-info p{color:var(--muted);margin:.2rem 0}.badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.badges span{background:#eaf3ff;color:#185ca8;border-radius:999px;padding:.35rem .65rem;font-weight:900;font-size:.82rem}.product-info dl{display:grid;grid-template-columns:145px 1fr;gap:.45rem}.product-info dt{color:var(--muted)}.product-info dd{margin:0;font-weight:850}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:.9rem 0}.form-grid label{display:grid;gap:.35rem;font-weight:800;color:var(--muted)}textarea{width:100%;min-height:72px;resize:vertical}.donut-wrap{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:center}.donut{width:170px;height:170px;border-radius:50%;background:conic-gradient(#0c8d3c 0 40%,#245aa8 40% 68%,#35a9a3 68% 84%,#8c58bb 84% 94%,#ffbd55 94%);display:grid;place-items:center;font-weight:950;box-shadow:inset 0 0 0 45px #fff}.legend{display:grid;gap:.45rem}.legend-row{display:grid;grid-template-columns:14px 1fr auto;gap:.5rem;align-items:center}.swatch{height:14px;border-radius:4px}.bars{display:grid;gap:.55rem}.bar-row{display:grid;grid-template-columns:130px 1fr 70px;gap:.5rem;align-items:center}.track{height:14px;border-radius:999px;background:#edf4ef;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,var(--green2),var(--lime))}.timeline{margin-top:.8rem;display:flex;align-items:flex-end;gap:.25rem;height:90px;border:1px solid var(--line);border-radius:12px;padding:.5rem;background:#f8fbf8}.tick{width:18px;background:linear-gradient(180deg,var(--green2),var(--lime));border-radius:6px 6px 0 0}.alert-list,.needed-list{display:grid;gap:.6rem}.alert,.needed{border:1px solid var(--line);border-left:5px solid var(--warn);border-radius:14px;padding:.75rem;background:#fff}.alert.critical{border-left-color:var(--danger);background:#fff7f7}.alert strong,.needed strong{display:block}.alert small,.needed small{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:.72rem;border-bottom:1px solid var(--line);text-align:left}th{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.thumb{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#eef7ef;object-fit:contain}.modal{min-width:min(580px,92vw);background:#fff;border-radius:20px;padding:1.25rem;position:relative}.modal.large{width:min(850px,94vw)}dialog{border:0;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.x{position:absolute;right:1rem;top:1rem;border:0;background:#f3f5f3}.check{display:flex;gap:.5rem;margin:.55rem 0;color:var(--ink);font-weight:800}.result{margin-top:1rem;background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:1rem;line-height:1.7}@media(max-width:1300px){.dashboard-grid{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.agv-shell{grid-template-columns:1fr}.agv-sidebar{display:none}.dashboard-grid,.metric-grid,.product-layout,.donut-wrap,.form-grid{grid-template-columns:1fr}.agv-topbar,.agv-top-actions{flex-direction:column;align-items:stretch}.agv-top-actions input{width:100%}}@media print{.agv-sidebar,.scanner-card,.agv-top-actions,button,dialog{display:none!important}.agv-shell,.dashboard-grid,.metric-grid{display:block}.card,.metric{box-shadow:none;margin-bottom:1rem;break-inside:avoid}}


/* AgroVista Inventory production fixes */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.agv-shell{width:100%;max-width:100vw;overflow-x:hidden}
.agv-main{min-width:0;width:100%;overflow-x:hidden}
.card,.metric,.dashboard-grid,.metric-grid,.product-layout,.form-grid{min-width:0}
.table-wrap{max-width:100%;overflow-x:auto}
.agv-logo{display:flex;align-items:center;justify-content:center}
.agv-logo img{object-fit:contain;max-height:140px}
.storage-map-mini{grid-column:1/-1}
.storage-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.storage-bin{min-height:84px;border-radius:16px;padding:.85rem;background:linear-gradient(145deg,#0b3b22,#116633);color:#fff;display:flex;flex-direction:column;justify-content:space-between;font-weight:900}
.storage-bin small{color:rgba(255,255,255,.78);font-weight:750}
.agv-mobile-nav-open .agv-sidebar{transform:translateX(0)}
@media(max-width:1180px){
  .agv-shell{grid-template-columns:1fr}
  .agv-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;width:280px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 42px rgba(0,0,0,.28)}
  .dashboard-grid{grid-template-columns:1fr!important}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .agv-topbar{flex-wrap:wrap}
  .agv-top-actions{width:100%;flex-wrap:wrap}
}
@media(max-width:760px){
  .metric-grid,.storage-map-grid{grid-template-columns:1fr}
  .agv-main{padding:.85rem}
  .button-row button{flex:1 1 100%}
}
