:root{
  --f0:#050f05;--f1:#0c2010;--f2:#1a3d20;--f3:#276c2e;--f4:#3aab3a;--f5:#5bc05b;
  --pale:#c8edca;--mist:#e6f7e6;--bg:#f3fbf0;--bg2:#e8f5e2;
  --gold:#f59e0b;--goldL:#fef3c7;--amber:#d97706;
  --teal:#06b6d4;--tealL:#cffafe;
  --violet:#7c3aed;--violetL:#ede9fe;
  --orange:#ea580c;--orangeL:#fff7ed;
  --red:#dc2626;--redL:#fee2e2;
  --blue:#2563eb;--blueL:#dbeafe;
  --white:#fff;--g1:#374151;--g2:#6b7280;--g3:#9ca3af;--bdr:#e5e7eb;
  --serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;
  --shadow:0 1px 6px rgba(0,0,0,.07);--shadow2:0 6px 24px rgba(0,0,0,.12);
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:var(--sans);background:var(--bg);color:var(--g1);-webkit-font-smoothing:antialiased;}
button,input,select,textarea{font-family:var(--sans);outline:none;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-thumb{background:var(--pale);border-radius:4px;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.fu{animation:fadeUp .5s ease both;}
.fi{animation:fadeIn .3s ease both;}
.d1{animation-delay:.07s;}.d2{animation-delay:.14s;}.d3{animation-delay:.21s;}.d4{animation-delay:.28s;}.d5{animation-delay:.35s;}

/* ── PAGE ROUTING ── */
.page{display:none;}
.page.active{display:block;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer;border:none;transition:all .2s;border-radius:10px;font-family:var(--sans);text-decoration:none;}
.btn:active{transform:scale(.97);}
.btn-p{background:linear-gradient(135deg,var(--f3),var(--f4));color:var(--white);box-shadow:0 4px 14px rgba(58,171,58,.3);}
.btn-p:hover{box-shadow:0 6px 20px rgba(58,171,58,.45);filter:brightness(1.05);}
.btn-o{background:transparent;color:var(--f3);border:1.5px solid var(--f4);}
.btn-o:hover{background:var(--mist);}
.btn-g{background:rgba(58,171,58,.08);color:var(--f3);border:1px solid rgba(58,171,58,.2);}
.btn-g:hover{background:rgba(58,171,58,.14);}
.btn-w{background:var(--white);color:var(--g1);border:1px solid var(--bdr);}
.btn-w:hover{background:var(--bg);}
.btn-d{background:var(--red);color:var(--white);}
.btn-sm{padding:7px 16px;font-size:13px;}
.btn-md{padding:11px 22px;font-size:14px;}
.btn-lg{padding:15px 32px;font-size:15.5px;}
.btn-full{width:100%;}

/* ── CARDS ── */
.card{background:var(--white);border-radius:16px;border:1px solid var(--bdr);box-shadow:var(--shadow);}

/* ── TABLES ── */
.tbl{width:100%;border-collapse:collapse;}
.tbl thead tr{background:var(--f1);}
.tbl thead th{padding:12px 16px;text-align:left;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.tbl tbody tr{border-bottom:1px solid var(--bdr);transition:background .15s;}
.tbl tbody tr:nth-child(even){background:var(--bg);}
.tbl tbody tr:hover{background:var(--mist);}
.tbl tbody td{padding:13px 16px;font-size:13.5px;vertical-align:middle;}

/* ── FORMS ── */
.f-group{margin-bottom:16px;}
.f-label{display:block;font-size:12.5px;font-weight:600;color:var(--g2);margin-bottom:5px;}
.f-inp{width:100%;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:14px;background:var(--white);color:var(--g1);transition:border-color .2s,box-shadow .2s;}
.f-inp:focus{border-color:var(--f4);box-shadow:0 0 0 3px rgba(58,171,58,.1);}
.f-ico-wrap{position:relative;}
.f-ico-wrap .f-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;}
.f-ico-wrap .f-inp{padding-left:40px;}
.f-sel{width:100%;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:14px;background:var(--white);color:var(--g1);cursor:pointer;transition:border-color .2s;}
.f-sel:focus{border-color:var(--f4);}
.f-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.f-ta{width:100%;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:14px;color:var(--g1);resize:vertical;transition:border-color .2s;}
.f-ta:focus{border-color:var(--f4);}

/* ── TABS ── */
.tabs{display:flex;border-bottom:2px solid var(--bdr);margin-bottom:20px;}
.tab-btn{padding:10px 22px;font-size:14px;font-weight:500;color:var(--g3);background:transparent;border:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-2px;transition:all .15s;}
.tab-btn:hover{color:var(--g2);}
.tab-btn.on{color:var(--f3);font-weight:700;border-bottom-color:var(--f4);}

/* ── PROGRESS ── */
.prog{height:6px;background:var(--bdr);border-radius:3px;overflow:hidden;}
.prog-fill{height:100%;border-radius:3px;transition:width .6s ease;}

/* ── KPI CARD ── */
.kpi{background:var(--white);border-radius:16px;border:1px solid var(--bdr);box-shadow:var(--shadow);padding:20px 22px;}

/* ── SECTION HEAD ── */
.sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.sec-title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--f1);}

/* ── TOAST ── */
#toast{position:fixed;bottom:28px;right:28px;background:var(--f1);color:var(--white);padding:12px 22px;border-radius:30px;font-size:13.5px;font-weight:600;z-index:9999;box-shadow:var(--shadow2);display:none;animation:slideUp .22s ease;align-items:center;gap:8px;max-width:320px;}

/* ── LANDING ── */
.l-nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--bdr);padding:0 5vw;height:64px;display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer;}
.logo-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--f5),var(--f3));display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;box-shadow:0 3px 12px rgba(58,171,58,.3);}
.logo-name{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--f1);line-height:1;}
.logo-sub{font-size:8px;color:var(--g3);letter-spacing:2px;text-transform:uppercase;}

/* ── DASHBOARD SHELL ── */
.dash{display:flex;min-height:100vh;}
.sb{width:240px;flex-shrink:0;background:var(--f1);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .25s;overflow:hidden;}
.sb.coll{width:68px;}
.sb-logo-wrap{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;cursor:pointer;overflow:hidden;}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 0;}
.sb-nav::-webkit-scrollbar{width:2px;}
.sb-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 18px;background:transparent;border:none;cursor:pointer;border-left:3px solid transparent;transition:all .15s;white-space:nowrap;}
.sb-item:hover{background:rgba(255,255,255,.06);}
.sb-item.on{background:rgba(255,255,255,.1);border-left-color:var(--f5);}
.sb-ico{font-size:18px;flex-shrink:0;}
.sb-lbl{font-size:13.5px;font-weight:500;color:rgba(255,255,255,.55);overflow:hidden;}
.sb-item.on .sb-lbl{color:var(--white);font-weight:700;}
.sb-lbl-cnt{margin-left:auto;min-width:18px;height:18px;background:var(--f4);border-radius:9px;font-size:10px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.sb-foot{border-top:1px solid rgba(255,255,255,.08);padding:12px 18px;}
.sb-foot button{width:100%;display:flex;align-items:center;gap:12px;background:transparent;border:none;cursor:pointer;color:rgba(255,255,255,.45);font-size:13px;padding:8px 0;white-space:nowrap;}
.main{flex:1;overflow:auto;display:flex;flex-direction:column;min-width:0;}
.topbar{background:var(--white);border-bottom:1px solid var(--bdr);padding:0 28px;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;flex-shrink:0;}
.topbar-title{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--f1);}
.av-pill{display:flex;align-items:center;gap:8px;background:var(--mist);border:1px solid var(--pale);border-radius:30px;padding:6px 14px;cursor:default;}
.av-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--white);flex-shrink:0;}
.content{padding:28px;flex:1;}

/* ── MARKETPLACE PRODUCT GRID ── */
.p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.p-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--bdr);cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow);}
.p-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12);}
.p-img{height:128px;display:flex;align-items:center;justify-content:center;font-size:54px;position:relative;background:linear-gradient(135deg,#f0fdf4,#dcfce7);}
.p-body{padding:12px 13px 14px;}

/* ── INFO BOX ── */
.info-box{background:var(--mist);border-radius:10px;border:1px solid var(--pale);padding:10px 14px;font-size:13px;font-weight:700;}

/* ── BADGE ── */
.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;display:inline-block;border:1px solid;}

/* ── STATUS BADGE ── */
.sbadge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px;display:inline-block;}

/* ── RESPONSIVE ── */
@media(max-width:1200px){.p-grid{grid-template-columns:repeat(3,1fr)!important;}}
@media(max-width:1024px){.f-2col{grid-template-columns:1fr!important;}}
@media(max-width:900px){.p-grid{grid-template-columns:1fr 1fr!important;}}
