:root{--green:#174b2a;--green2:#2f6b3b;--gold:#c9a227;--bg:#f4f7ef;--line:#dfe8d8;--dark:#203020}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--dark)}body.erp-background{background-position:center;background-size:cover;background-attachment:fixed;background-repeat:no-repeat}.bg-dashboard{background-image:linear-gradient(rgba(8,29,16,.38),rgba(8,29,16,.48)),url("../img/backgrounds/dashboard.webp")}.bg-production{background-image:linear-gradient(rgba(7,24,13,.42),rgba(7,24,13,.48)),url("../img/backgrounds/production.webp")}.bg-qc-lab{background-image:linear-gradient(rgba(6,21,18,.42),rgba(6,21,18,.50)),url("../img/backgrounds/qc-lab.webp")}.bg-sales-finance{background-image:linear-gradient(rgba(9,25,14,.42),rgba(9,25,14,.50)),url("../img/backgrounds/sales-finance.webp")}.bg-outgrowers{background-image:linear-gradient(rgba(8,27,14,.40),rgba(8,27,14,.50)),url("../img/backgrounds/outgrowers.webp")}.bg-events{background-image:linear-gradient(rgba(7,24,13,.42),rgba(7,24,13,.50)),url("../img/backgrounds/events.webp")}header{background:linear-gradient(135deg,rgba(23,75,42,.96),rgba(14,45,27,.96));color:white;padding:14px 24px;position:sticky;top:0;z-index:10;box-shadow:0 8px 22px rgba(0,0,0,.15);backdrop-filter:blur(8px)}.brandbar{display:flex;align-items:center;gap:14px}.brand-logo{width:74px;height:74px;object-fit:contain;background:white;border-radius:18px;padding:7px;box-shadow:0 8px 22px rgba(0,0,0,.18)}header h1{margin:0;font-size:24px}header p{margin:4px 0 0;opacity:.9}.network-pill{margin-left:auto;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:white;text-decoration:none;padding:10px 12px;border-radius:999px;font-weight:700}.layout{display:flex;align-items:flex-start;min-height:calc(100vh - 90px)}.sidebar{width:260px;background:rgba(20,56,31,.96);padding:12px;flex-shrink:0;overflow:auto}.nav-section{color:#d8c46d;text-transform:uppercase;font-size:11px;font-weight:800;margin:14px 8px 6px;letter-spacing:.08em}.sidebar a{display:block;color:white;text-decoration:none;padding:10px 10px;margin:3px;border-radius:10px;background:rgba(255,255,255,.07);font-size:14px}.sidebar a:hover{background:rgba(255,255,255,.18)}.content{padding:22px;width:100%;max-width:1500px;margin:0 auto;align-self:flex-start;background:rgba(244,247,239,.76);backdrop-filter:blur(2px);min-height:calc(100vh - 104px)}.hero-card{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(237,246,233,.94));border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:18px;display:flex;justify-content:space-between;gap:14px;align-items:center;box-shadow:0 8px 28px rgba(0,0,0,.08)}.hero-network{background:#14381f;color:white;padding:12px;border-radius:14px;text-align:center}.hero-network b{font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.two-col{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.card,.stat{background:rgba(255,255,255,.95);border:1px solid rgba(223,232,216,.9);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 8px 28px rgba(0,0,0,.08);backdrop-filter:blur(7px)}.stat{border-left:7px solid var(--green2);min-height:98px}.stat b{font-size:30px;color:var(--green);display:block;margin-bottom:6px}h2{color:var(--green);margin:0 0 14px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.wide{grid-column:1/-1}label{font-weight:700;font-size:13px;margin:7px 0 4px;display:block}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd8c3;border-radius:10px;font-size:16px;background:white}textarea{min-height:82px}button,.btn{display:inline-block;background:var(--green);color:white;border:0;text-decoration:none;padding:11px 15px;border-radius:10px;margin-top:10px;cursor:pointer;font-weight:700}.btn.gold{background:#9b7a15}.btn.secondary{background:#586b55}.btn.compact{padding:7px 10px;margin:0;font-size:12px}.table-scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;background:white;font-size:14px}th,td{border-bottom:1px solid #e4ecdc;padding:10px;text-align:left;vertical-align:top}th{background:#edf4e8;position:sticky;top:0}.muted{color:#586b55;margin-top:-6px}.system-credit{margin-top:28px;padding:14px;text-align:center;color:#40543f;border-top:1px solid var(--line);font-size:13px;background:rgba(255,255,255,.58);border-radius:12px}.flash{background:#e6f4ea;border-left:5px solid var(--green2);padding:12px;border-radius:10px;margin-bottom:12px}.badge{padding:5px 9px;border-radius:999px;background:#edf4e8;color:#174b2a;font-size:12px;display:inline-block}.bar-row{display:grid;grid-template-columns:1.4fr 2fr auto;gap:10px;align-items:center;margin:12px 0}.bar{height:14px;background:#edf4e8;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green2),var(--gold));border-radius:999px}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.mini-grid div{background:#f5f8f0;border:1px solid var(--line);border-radius:14px;padding:14px}.mini-grid strong{display:block;color:var(--green);font-size:26px}.mini-grid span{font-size:13px;color:#586b55}.big-url{font-size:28px;font-weight:800;color:var(--green);background:#edf4e8;border:1px solid var(--line);padding:18px;border-radius:16px;text-align:center;word-break:break-all}@media(max-width:850px){body.erp-background{background-attachment:scroll}header{position:relative;padding:12px}.brandbar{align-items:flex-start}.brand-logo{width:56px;height:56px;border-radius:14px}header h1{font-size:18px}.network-pill{display:none}.layout{display:block}.sidebar{width:100%;display:flex;overflow-x:auto;gap:6px;padding:8px;position:sticky;top:0;z-index:9}.sidebar a{white-space:nowrap;font-size:13px;padding:9px 10px}.nav-section{display:none}.content{padding:12px;margin:0 auto}.hero-card{display:block}.hero-network{margin-top:12px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:13px;min-height:86px}.stat b{font-size:24px}.card{padding:14px;border-radius:14px}.bar-row{grid-template-columns:1fr;gap:5px}table{font-size:13px;min-width:760px}.formgrid{grid-template-columns:1fr}button,.btn{width:100%;text-align:center}.btn.compact{width:auto}.big-url{font-size:20px}}@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.brandbar{gap:9px}.content{padding:10px}.stat b{font-size:22px}}@media print{header,.sidebar,.no-print,.btn,button{display:none!important}.layout{display:block}.content{padding:0;background:white;backdrop-filter:none}.card{box-shadow:none;border:1px solid #aaa;break-inside:avoid}body{background:white!important}.table-scroll{overflow:visible}table{min-width:0}}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-form input,.inline-form select{min-width:120px;max-width:180px}.inline-form button{white-space:nowrap}

.callout{border-radius:14px;padding:14px;margin:12px 0;border:1px solid var(--line)}.callout.good{background:#e9f8ec;border-left:6px solid #2f6b3b}.callout.bad{background:#fff1ef;border-left:6px solid #b6422c}.soft{background:#fbfdf7}.checkbox-row{display:flex;gap:8px;align-items:center}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions form{margin:0}.actions .btn,.actions button{margin:0;width:auto}.money{text-align:right;font-variant-numeric:tabular-nums}.status-draft{background:#edf0f2;color:#3f4a52}.status-posted{background:#e7f0ff;color:#1d4f91}.status-paid{background:#e5f7ea;color:#176b32}.status-part-paid{background:#fff4d6;color:#7a5700}.status-void{background:#fde9e7;color:#9b2d22}.document{max-width:900px;margin:0 auto;background:#fff;padding:32px;border:1px solid #d9e1d4}.document-head{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid var(--green);padding-bottom:18px;margin-bottom:20px}.document-logo{width:110px;height:110px;object-fit:contain}.document-title{text-align:right}.document-title h1{color:var(--green);font-size:34px;margin:0}.totals{margin-left:auto;width:min(420px,100%)}.totals td:first-child{font-weight:700}.total-due{font-size:20px;color:var(--green)}.line-items input,.line-items select{min-width:120px}.line-items .product-name{min-width:220px}.danger{background:#9b2d22!important}
.pos-price{font-size:28px;font-weight:800;color:var(--green)}.stars{color:#d99b00;font-size:18px;letter-spacing:2px}.review-score{font-size:24px;font-weight:800;color:var(--green)}

/* V3.3 image-led Nyanga Craft visual system */
:root{
  --green:#2c2a21;
  --green2:#c99a32;
  --gold:#d6a73c;
  --bg:#171811;
  --line:rgba(255,255,255,.34);
  --dark:#26251f;
}
body.erp-background{
  min-height:100vh;
  background-color:#171811;
}
.bg-dashboard{background-image:linear-gradient(110deg,rgba(12,13,9,.24),rgba(12,13,9,.10)),url("../img/backgrounds/dashboard.webp")}
.bg-production{background-image:linear-gradient(110deg,rgba(12,13,9,.25),rgba(12,13,9,.12)),url("../img/backgrounds/production.webp")}
.bg-qc-lab{background-image:linear-gradient(110deg,rgba(7,14,15,.24),rgba(7,14,15,.10)),url("../img/backgrounds/qc-lab.webp")}
.bg-sales-finance{background-image:linear-gradient(110deg,rgba(13,10,6,.25),rgba(13,10,6,.10)),url("../img/backgrounds/sales-finance.webp")}
.bg-outgrowers{background-image:linear-gradient(110deg,rgba(11,12,7,.24),rgba(11,12,7,.10)),url("../img/backgrounds/outgrowers.webp")}
.bg-events{background-image:linear-gradient(110deg,rgba(9,11,7,.25),rgba(9,11,7,.10)),url("../img/backgrounds/events.webp")}
header{
  background:linear-gradient(90deg,rgba(15,16,12,.94),rgba(20,20,15,.68));
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 30px rgba(0,0,0,.32);
  backdrop-filter:blur(18px) saturate(135%);
}
header h1{color:#fff8e8;letter-spacing:.01em}
header p{color:#e8dcc1}
.brand-logo{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.network-pill{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.24);
  backdrop-filter:blur(10px);
}
.sidebar{
  background:linear-gradient(180deg,rgba(16,17,13,.91),rgba(18,18,14,.76));
  border-right:1px solid rgba(255,255,255,.17);
  box-shadow:10px 0 32px rgba(0,0,0,.22);
  backdrop-filter:blur(18px) saturate(135%);
}
.nav-section{color:#e4bb5a}
.sidebar a{
  background:rgba(255,255,255,.075);
  border:1px solid transparent;
  color:#fffaf0;
}
.sidebar a:hover{
  background:rgba(214,167,60,.22);
  border-color:rgba(230,194,111,.38);
  transform:translateX(2px);
}
.content{
  background:transparent;
  backdrop-filter:none;
  padding:24px;
}
.hero-card{
  background:linear-gradient(120deg,rgba(255,252,244,.92),rgba(248,239,218,.82));
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  backdrop-filter:blur(16px) saturate(125%);
}
.card,.stat{
  background:rgba(255,252,245,.88);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 16px 42px rgba(0,0,0,.20);
  backdrop-filter:blur(16px) saturate(125%);
}
.stat{border-left:7px solid #d6a73c}
.stat b,.mini-grid strong,.review-score,.pos-price{color:#6d4e0d}
h2{color:#4c3810}
.hero-network{
  background:linear-gradient(135deg,rgba(37,31,18,.94),rgba(96,67,16,.92));
  border:1px solid rgba(255,255,255,.16);
}
input,select,textarea{
  background:rgba(255,255,255,.84);
  border-color:rgba(99,77,32,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(214,167,60,.55);
  border-color:#b78721;
}
button,.btn{
  background:linear-gradient(135deg,#b9841f,#e0b44d);
  color:#211a0b;
  box-shadow:0 8px 20px rgba(72,48,7,.20);
}
button:hover,.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn.gold{background:linear-gradient(135deg,#8e6415,#c99a32);color:white}
.btn.secondary{background:rgba(43,41,33,.90);color:white}
.danger{background:linear-gradient(135deg,#7f261e,#b74331)!important;color:white!important}
table{background:rgba(255,255,255,.88)}
th{background:rgba(234,218,181,.88);color:#49370f}
th,td{border-bottom-color:rgba(105,83,37,.15)}
.muted{color:#665d49}
.flash{
  background:rgba(255,246,215,.94);
  border-left-color:#d6a73c;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.badge{background:#eee0bb;color:#5c430d}
.mini-grid div{background:rgba(255,250,238,.72);border-color:rgba(117,89,35,.18)}
.bar{background:rgba(110,87,39,.14)}
.bar i{background:linear-gradient(90deg,#8c6417,#e0b44d)}
.system-credit{
  color:#f4ead2;
  background:rgba(18,18,14,.58);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
}
@media(max-width:850px){
  .content{background:transparent}
  .sidebar{background:rgba(15,16,12,.94)}
}
@media print{
  .content{background:#fff}
  .system-credit{display:none!important}
}

/* V4.0 folder navigation and phone-first operations screens */
.sidebar{position:sticky;top:102px;max-height:calc(100vh - 102px)}
.sidebar .nav-home{font-weight:800;background:linear-gradient(135deg,rgba(214,167,60,.36),rgba(255,255,255,.10));border-color:rgba(230,194,111,.34)}
.nav-group{margin:7px 3px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.055);overflow:hidden}
.nav-group summary{list-style:none;cursor:pointer;color:#fff8e8;font-weight:800;padding:12px 13px;position:relative;padding-right:36px}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:after{content:'›';position:absolute;right:14px;top:8px;font-size:24px;color:#e4bb5a;transition:transform .18s ease}
.nav-group[open] summary:after{transform:rotate(90deg)}
.nav-group[open] summary{background:rgba(214,167,60,.16);border-bottom:1px solid rgba(255,255,255,.12)}
.nav-children{padding:5px}
.nav-children a{margin:3px 0;padding:9px 11px;background:rgba(0,0,0,.14);font-size:13px}
.nav-children a.nav-current{background:rgba(214,167,60,.34);border-color:rgba(244,216,151,.45);color:#fff}
.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.section-tabs .btn{margin:0;width:auto}
.alert-count{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#8d2f23;color:white;font-weight:800;font-size:12px}
.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.summary-strip>div{background:rgba(255,250,238,.78);border:1px solid rgba(117,89,35,.18);border-radius:13px;padding:13px}
.summary-strip b{font-size:23px;color:#6d4e0d;display:block}
.compact-form{padding:12px;background:rgba(255,255,255,.45);border:1px solid rgba(117,89,35,.18);border-radius:12px;margin:8px 0}
.warning-row{background:#fff1df}
.overdue{color:#9b2d22;font-weight:800}
@media(max-width:850px){
  .layout{display:block}
  .sidebar{position:relative;top:auto;max-height:none;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:6px;padding:9px;background:rgba(15,16,12,.96)}
  .sidebar .nav-home,.sidebar .nav-group{min-width:0;margin:0}
  .sidebar .nav-home{display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;min-height:46px}
  .nav-group summary{font-size:13px;min-height:46px;display:flex;align-items:center;padding:9px 30px 9px 10px}
  .nav-group[open]{grid-column:1/-1}
  .nav-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}
  .nav-children a{white-space:normal;text-align:center;margin:0;display:flex;align-items:center;justify-content:center;min-height:42px}
  .section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-tabs .btn{width:100%}
  .mobile-cards table,.mobile-cards tbody,.mobile-cards tr,.mobile-cards td{display:block;min-width:0;width:100%}
  .mobile-cards thead,.mobile-cards th{display:none}
  .mobile-cards tr{background:rgba(255,255,255,.9);border:1px solid rgba(117,89,35,.20);border-radius:12px;padding:10px;margin:8px 0}
  .mobile-cards td{border:0;padding:5px 4px}
  .mobile-cards td[data-label]:before{content:attr(data-label) ': ';font-weight:800;color:#5a4312}
}
@media(max-width:430px){.sidebar{grid-template-columns:1fr}.nav-group[open]{grid-column:auto}.nav-children{grid-template-columns:1fr}}
