/* ════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════ */
:root {
  --cream:#F7F3ED; --warm-white:#FDFAF6; --forest:#2D4A35; --forest-light:#3D6348;
  --sage:#7A9E7E; --sage-light:#B8D4BB; --gold:#D4A853; --gold-light:#e6c050;
  --dark:#1A1A1A; --mid:#5A5A5A; --light:#9A9A9A; --border:#E8E2D9;
  --success:#4A8C5C; --danger:#C8614A; --warning:#D4A853;
  /* Admin palette */
  --ab:#0F1923; --ac:#162130; --ab2:#1a2a3a; --aborder:#1E3040; --aa:#00D4AA;
  /* SuperAdmin palette */
  --sb:#0d0d1a; --sc:#13132b; --sb2:#1a1a35; --sborder:#252545; --sa:#7C5CFC;
  --sa2:#a084fd;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--dark);min-height:100vh;overflow-x:hidden;}

/* ════════════════════════════════════════
   LOGIN SCREEN
════════════════════════════════════════ */
#loginScreen{
  position:fixed;inset:0;z-index:2000;
  background:linear-gradient(145deg,#0d1a10 0%,var(--forest) 40%,#1a2e20 70%,#0d0d1a 100%);
  display:flex;align-items:center;justify-content:center;padding:18px;
  overflow-y:auto;
}
.login-wrap{width:100%;max-width:440px;text-align:center;}
.login-logo-wrap{margin-bottom:22px;}
.login-logo{width:68px;height:68px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px;box-shadow:0 10px 30px rgba(212,168,83,0.45);}
.login-brand{font-family:'Playfair Display',serif;font-size:1.8rem;color:white;letter-spacing:-0.02em;}
.login-tagline{font-size:0.78rem;color:rgba(255,255,255,0.4);letter-spacing:0.1em;text-transform:uppercase;margin-top:4px;}

.login-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(0,0,0,0.35);border-radius:16px;padding:4px;margin-bottom:20px;gap:2px;}
.login-tab{padding:11px 6px;border:none;background:none;color:rgba(255,255,255,0.4);font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all 0.22s;line-height:1.3;}
.login-tab .tab-icon{display:block;font-size:1.1rem;margin-bottom:3px;}
.login-tab.active{background:rgba(255,255,255,0.12);color:white;box-shadow:0 2px 8px rgba(0,0,0,0.3);}
.login-tab.tab-client.active{background:var(--forest);color:white;}
.login-tab.tab-admin.active{background:var(--aa);color:#0F1923;}
.login-tab.tab-super.active{background:var(--sa);color:white;}

.login-box{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:22px;padding:30px 28px;backdrop-filter:blur(24px);}
.login-form{display:none;}
.login-form.active{display:block;}
.login-form-title{font-family:'Playfair Display',serif;font-size:1.15rem;color:white;margin-bottom:4px;}
.login-form-sub{font-size:0.76rem;color:rgba(255,255,255,0.38);margin-bottom:20px;}
.role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px;}
.badge-client{background:rgba(45,74,53,0.5);color:var(--sage-light);border:1px solid rgba(122,158,126,0.3);}
.badge-admin{background:rgba(0,212,170,0.15);color:var(--aa);border:1px solid rgba(0,212,170,0.3);}
.badge-super{background:rgba(124,92,252,0.2);color:var(--sa2);border:1px solid rgba(124,92,252,0.35);}

.li-group{margin-bottom:13px;text-align:left;}
.li-label{display:block;font-size:0.68rem;font-weight:600;color:rgba(255,255,255,0.42);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:5px;}
.li-input{width:100%;padding:12px 14px;background:rgba(255,255,255,0.07);border:1.5px solid rgba(255,255,255,0.1);border-radius:11px;color:white;font-family:'DM Sans',sans-serif;font-size:0.88rem;outline:none;transition:all 0.2s;}
.li-input:focus{border-color:var(--gold);background:rgba(255,255,255,0.11);}
.li-input::placeholder{color:rgba(255,255,255,0.25);}
.li-btn{width:100%;margin-top:6px;border:none;padding:14px;border-radius:13px;font-family:'DM Sans',sans-serif;font-size:0.93rem;font-weight:700;cursor:pointer;transition:all 0.2s;letter-spacing:0.01em;background:var(--gold);color:var(--forest);}
.li-btn:hover{transform:translateY(-2px);}
.btn-client{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--dark);}
.btn-client:hover{box-shadow:0 8px 22px rgba(212,168,83,0.4);}
.btn-admin{background:linear-gradient(135deg,var(--aa),#00a885);color:#0F1923;}
.btn-admin:hover{box-shadow:0 8px 22px rgba(0,212,170,0.3);}
.btn-super{background:linear-gradient(135deg,var(--sa),#5a3fd4);color:white;}
.btn-super:hover{box-shadow:0 8px 22px rgba(124,92,252,0.4);}
.li-error{background:rgba(200,97,74,0.18);border:1px solid rgba(200,97,74,0.5);border-radius:9px;padding:9px 13px;color:#ff9b87;font-size:0.79rem;margin-bottom:11px;display:none;}
.li-error.show{display:block;}
.li-hint{margin-top:14px;font-size:0.72rem;color:rgba(255,255,255,0.25);line-height:1.7;}
.li-hint strong{color:rgba(255,255,255,0.45);}
.li-btn-ghost{width:100%;padding:13px;border:1.5px solid rgba(255,255,255,0.18);background:transparent;color:rgba(255,255,255,0.55);border-radius:14px;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s;margin-top:10px;}
.li-btn-ghost:hover{border-color:rgba(255,255,255,0.4);color:rgba(255,255,255,0.85);}


/* ── MOT DE PASSE OUBLIÉ (modale inline checkout) ── */
.fp-panel{display:none;text-align:left;}
.fp-panel.open{display:block;}
.fp-back{background:none;border:none;color:rgba(255,255,255,0.38);font-size:0.78rem;cursor:pointer;font-family:'DM Sans',sans-serif;padding:0;margin-bottom:14px;display:flex;align-items:center;gap:5px;transition:color 0.2s;}
.fp-back:hover{color:rgba(255,255,255,0.7);}
.fp-ok-msg{background:rgba(74,140,92,0.15);border:1px solid rgba(74,140,92,0.4);border-radius:9px;padding:9px 13px;color:#a0ffb3;font-size:0.79rem;margin-bottom:11px;display:none;}
.fp-ok-msg.show{display:block;}
/* MODAL LOGIN (checkout) */
.login-required-overlay{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity 0.25s;}
.login-required-overlay.open{opacity:1;pointer-events:all;}
.login-required-box{background:linear-gradient(145deg,#0d1a10,var(--forest));border:1px solid rgba(255,255,255,0.12);border-radius:24px;padding:36px 30px;width:100%;max-width:400px;text-align:center;}
.lrb-icon{font-size:2.8rem;margin-bottom:14px;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;overflow:hidden;}
.lrb-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:white;margin-bottom:8px;}
.lrb-sub{font-size:0.83rem;color:rgba(255,255,255,0.45);margin-bottom:24px;line-height:1.6;}
.lrb-form{text-align:left;}
.lrb-form .li-group{margin-bottom:14px;}
.lrb-form .li-label{display:block;font-size:0.76rem;color:rgba(255,255,255,0.5);margin-bottom:6px;font-weight:500;}
.lrb-form .li-input{width:100%;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);border-radius:11px;padding:11px 14px;color:white;font-family:'DM Sans',sans-serif;font-size:0.9rem;outline:none;transition:border 0.2s;}
.lrb-form .li-input:focus{border-color:var(--gold);}
.lrb-error{font-size:0.78rem;color:#eb5757;margin-bottom:10px;display:none;}
.lrb-error.show{display:block;}
.lrb-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.lrb-cancel{background:none;border:none;color:rgba(255,255,255,0.35);font-family:'DM Sans',sans-serif;font-size:0.8rem;cursor:pointer;padding:8px;transition:color 0.2s;}
.lrb-cancel:hover{color:rgba(255,255,255,0.65);}
#registerOverlay .login-required-box{max-height:90vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent;}
#registerOverlay .li-input:focus{border-color:var(--gold);}
.reg-pwd-strength{height:3px;border-radius:3px;margin-top:6px;transition:all 0.3s;background:rgba(255,255,255,0.1);}
.reg-pwd-strength.weak{background:#eb5757;width:33%;}
.reg-pwd-strength.medium{background:#f2c94c;width:66%;}
.reg-pwd-strength.strong{background:#6fcf97;width:100%;}

/* ════════════════════════════════════════
   SHARED HEADER / NAV UTILITIES
════════════════════════════════════════ */
.view{display:none;}.view.active{display:block;}
.app-section{display:none;}.app-section.visible{display:block;}.app-locked .app-section{display:none!important;visibility:hidden!important;}

/* ════════════════════════════════════════
   CLIENT APP
════════════════════════════════════════ */
.client-header{background:var(--forest);color:white;padding:0 22px;display:flex;align-items:center;justify-content:space-between;height:62px;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px rgba(0,0,0,0.25);}
.logo{display:flex;align-items:center;gap:10px;}
.logo-icon{width:34px;height:34px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.logo-text{font-family:'Playfair Display',serif;font-size:1.2rem;white-space:nowrap;}
.logo-sub{font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--sage-light);display:block;margin-top:-2px;}
.hdr-right{display:flex;align-items:center;gap:9px;}
.user-badge{display:flex;align-items:center;gap:7px;font-size:0.78rem;color:rgba(255,255,255,0.7);}
.user-av{width:28px;height:28px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--dark);font-weight:700;flex-shrink:0;}
.logout-btn{background:none;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);padding:5px 10px;border-radius:8px;font-size:0.72rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.logout-btn:hover{border-color:white;color:white;}
.mnav-logout{color:rgba(255,100,80,0.65) !important;}
.mnav-logout:hover,.mnav-logout.active{color:rgba(255,100,80,1) !important;}
.admin-mob-logout,.super-mob-logout{display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--ac);border-top:1px solid var(--aborder);justify-content:space-between;align-items:center;}
.super-mob-logout{background:var(--sc);border-top-color:var(--sborder);}
.mob-logout-info{font-size:0.75rem;color:rgba(255,255,255,0.4);line-height:1.4;}
.mob-logout-info strong{color:rgba(255,255,255,0.7);display:block;}
.mob-logout-btn{background:rgba(255,80,60,0.15);border:1px solid rgba(255,80,60,0.3);color:rgba(255,120,100,0.9);padding:8px 16px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;}
.mob-logout-btn:hover{background:rgba(255,80,60,0.25);border-color:rgba(255,80,60,0.5);color:#ff7060;}
.cart-btn{background:var(--gold);color:var(--dark);border:none;padding:8px 14px;border-radius:30px;font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 0.2s;white-space:nowrap;}
.cart-btn:hover{background:var(--gold-light);}
.cart-count{background:var(--dark);color:white;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:0.67rem;font-weight:700;}

/* CLIENT TABS */
.client-nav{background:white;border-bottom:1.5px solid var(--border);display:flex;padding:0 22px;gap:2px;}
.cnav-btn{background:none;border:none;border-bottom:3px solid transparent;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:0.84rem;font-weight:500;color:var(--light);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.cnav-btn:hover{color:var(--forest);}
.cnav-btn.active{color:var(--forest);border-bottom-color:var(--forest);font-weight:600;}

/* MOBILE CATS */
.mobile-cats{display:none;overflow-x:auto;white-space:nowrap;padding:10px 12px;background:white;border-bottom:1px solid var(--border);scrollbar-width:none;}
.mobile-cats::-webkit-scrollbar{display:none;}
.mob-cat{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:20px;border:1.5px solid var(--border);background:none;font-family:'DM Sans',sans-serif;font-size:0.78rem;cursor:pointer;transition:all 0.2s;color:var(--mid);white-space:nowrap;margin-right:5px;}
.mob-cat.active{background:var(--forest);color:white;border-color:var(--forest);}
.mob-filter-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:white;font-family:'DM Sans',sans-serif;font-size:0.76rem;cursor:pointer;color:var(--mid);white-space:nowrap;transition:all 0.2s;}
.mob-filter-btn:hover{border-color:var(--sage);}
.mob-filter-btn.has-filters{background:var(--forest);color:white;border-color:var(--forest);}
.mob-filter-panel{display:none;background:white;border-bottom:1.5px solid var(--border);padding:10px 14px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
.mob-filter-panel::-webkit-scrollbar{display:none;}
.mob-filter-panel.open{display:flex;align-items:center;gap:10px;}
.mob-filter-panel .mfp-group{display:inline-flex;align-items:center;gap:6px;padding-right:12px;border-right:1px solid var(--border);}
.mob-filter-panel .mfp-group:last-child{border-right:none;}
.mob-filter-panel .mfp-label{font-size:0.68rem;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:0.04em;}
.mob-filter-panel .mfp-color{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all 0.15s;flex-shrink:0;}
.mob-filter-panel .mfp-color.active{border-color:var(--forest);box-shadow:0 0 0 2px white,0 0 0 4px var(--forest);}
.mob-filter-panel .mfp-tag{padding:4px 10px;border-radius:14px;font-size:0.72rem;cursor:pointer;border:1.5px solid var(--border);color:var(--mid);background:white;transition:all 0.15s;flex-shrink:0;}
.mob-filter-panel .mfp-tag.active{background:var(--forest);color:white;border-color:var(--forest);}
.mob-filter-panel .mfp-promo{padding:4px 10px;border-radius:14px;font-size:0.72rem;cursor:pointer;background:rgba(244,67,54,0.08);border:1.5px solid rgba(244,67,54,0.2);color:#F44336;transition:all 0.15s;flex-shrink:0;}
.mob-filter-panel .mfp-promo.active{background:#F44336;color:white;border-color:#F44336;}

/* HERO */
.hero{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-light) 100%);padding:46px 22px;text-align:center;color:white;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(ellipse,rgba(212,168,83,0.12) 0%,transparent 70%);}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:700;margin-bottom:11px;line-height:1.15;position:relative;}
.hero h1 em{color:var(--gold);font-style:italic;}
.hero p{font-size:clamp(0.82rem,2vw,0.96rem);color:rgba(255,255,255,0.7);max-width:430px;margin:0 auto 18px;line-height:1.6;position:relative;}
.delivery-badge{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:30px;padding:7px 16px;font-size:0.76rem;color:rgba(255,255,255,0.8);position:relative;}

/* MAIN SHOP LAYOUT */
.main-layout{display:grid;grid-template-columns:200px 1fr;max-width:1280px;margin:0 auto;padding:24px 18px;}
/* Variant filters */
.vf-group{margin-bottom:2px;}
.vf-group-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:7px 0;font-size:0.75rem;font-weight:600;color:var(--mid);user-select:none;}
.vf-group-header:hover{color:var(--dark);}
.vf-group-arrow{font-size:0.6rem;transition:transform 0.2s;color:var(--light);}
.vf-group.open .vf-group-arrow{transform:rotate(90deg);color:var(--forest);}
.vf-group-body{display:none;padding:4px 0 8px;flex-wrap:wrap;gap:5px;}
.vf-group.open .vf-group-body{display:flex;}
.vf-color{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all 0.2s;position:relative;}
.vf-color:hover{transform:scale(1.15);}
.vf-color.active{border-color:var(--forest);box-shadow:0 0 0 2px rgba(45,74,53,0.25);}
.vf-label{padding:4px 10px;border-radius:16px;font-size:0.72rem;cursor:pointer;border:1px solid var(--border);color:var(--mid);background:transparent;transition:all 0.2s;}
.vf-label:hover{border-color:var(--mid);color:var(--dark);}
.vf-label.active{background:rgba(45,74,53,0.08);border-color:var(--forest);color:var(--forest);font-weight:600;}
.vf-promo{padding:5px 12px;border-radius:16px;font-size:0.72rem;cursor:pointer;border:1px solid rgba(229,57,53,0.25);color:rgba(229,57,53,0.7);background:transparent;transition:all 0.2s;display:inline-flex;align-items:center;gap:4px;}
.vf-promo:hover{border-color:rgba(229,57,53,0.5);color:#e53935;}
.vf-promo.active{background:rgba(229,57,53,0.08);border-color:#e53935;color:#e53935;font-weight:600;}
.vf-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.vf-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:0.72rem;font-weight:600;background:rgba(45,74,53,0.06);border:1px solid rgba(45,74,53,0.2);color:var(--forest);}
.vf-pill-x{cursor:pointer;opacity:0.6;font-size:0.8rem;}
.vf-pill-x:hover{opacity:1;}
.vf-clear{font-size:0.7rem;cursor:pointer;color:var(--light);text-decoration:underline;}
.vf-clear:hover{color:var(--dark);}
.sidebar{padding-right:18px;}
.sidebar-section{margin-bottom:22px;}
.s-title{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--light);margin-bottom:7px;font-weight:600;}
.cat-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 11px;border:none;background:none;border-radius:9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.85rem;color:var(--mid);text-align:left;transition:all 0.18s;margin-bottom:2px;}
.cat-btn:hover{background:var(--border);color:var(--dark);}
.cat-btn.active{background:var(--forest);color:white;}
.legend{display:flex;flex-direction:column;gap:6px;}
.legend-item{display:flex;align-items:center;gap:7px;font-size:0.75rem;color:var(--mid);}
.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}

/* PRODUCTS */
.products-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px;flex-wrap:wrap;}
.products-header h2{font-family:'Playfair Display',serif;font-size:1.32rem;}
.search-bar{display:flex;align-items:center;gap:7px;background:white;border:1.5px solid var(--border);border-radius:11px;padding:8px 13px;width:220px;flex-shrink:0;}
.search-bar input{border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:0.83rem;background:none;color:var(--dark);width:100%;}
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px;}

/* PRODUCT CARD */
.product-card{background:white;border-radius:15px;overflow:hidden;border:1.5px solid var(--border);transition:all 0.22s;cursor:default;}
.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,0.09);border-color:var(--sage);}
.p-img{height:120px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:2.9rem;position:relative;overflow:hidden;}
:root{--font-product:'DM Sans',sans-serif;}
.p-name,.p-price,.p-unit,.p-origin{font-family:var(--font-product);}
.rte-btn{padding:4px 9px;border-radius:5px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);color:white;cursor:pointer;font-family:inherit;font-size:0.82rem;transition:background 0.15s;}
@keyframes ef-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.rte-btn:hover{background:rgba(255,255,255,0.12);}
/* ── Shipping ──────────────────────────────────────── */
.sh-src-btn{padding:7px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.55);cursor:pointer;font-size:0.82rem;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.sh-src-btn.active{background:rgba(212,168,83,0.18);border-color:#D4A853;color:#D4A853;font-weight:600;}
.sh-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:0.72rem;font-weight:600;}
.sh-badge-colis{background:rgba(96,165,250,0.15);color:#93c5fd;}
.sh-badge-uber{background:rgba(234,88,12,0.15);color:#fb923c;}
.sh-badge-deliveroo{background:rgba(20,184,166,0.15);color:#2dd4bf;}
.sh-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.71rem;font-weight:600;}
.sh-status-pending{background:rgba(156,163,175,0.15);color:#9ca3af;}
.sh-status-announced{background:rgba(96,165,250,0.15);color:#93c5fd;}
.sh-status-en_route,.sh-status-out_for_delivery{background:rgba(251,191,36,0.15);color:#fcd34d;}
.sh-status-delivered{background:rgba(74,222,128,0.15);color:#4ade80;}
.sh-status-cancelled,.sh-status-failed{background:rgba(248,113,113,0.15);color:#f87171;}

.sbadge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:20px;font-size:0.65rem;font-weight:600;}
.b-ok{background:#E8F5EA;color:#2D7A3D;}.b-low{background:#FFF8E8;color:#B8860B;}.b-out{background:#FDECEA;color:#C62828;}.b-pre{background:#EDE7F6;color:#4527A0;}
.p-info{padding:11px 13px;}
.p-name{font-weight:600;font-size:0.89rem;margin-bottom:3px;line-height:1.3;}
.p-origin{font-size:0.7rem;color:var(--light);margin-bottom:7px;}
.s-info{font-size:0.68rem;color:var(--light);display:flex;align-items:center;gap:5px;}
.s-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden;}
.s-fill{height:100%;border-radius:2px;}
.p-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;}
.p-price{font-family:'Playfair Display',serif;font-size:1rem;color:var(--forest);font-weight:700;}
.p-price-old{font-size:0.78rem;color:#999;text-decoration:line-through;margin-right:4px;}
.p-price-promo{color:#e53935;font-weight:800;}
.p-promo-badge{display:inline-block;font-size:0.58rem;font-weight:700;color:#fff;background:#e53935;padding:2px 6px;border-radius:8px;margin-left:4px;vertical-align:middle;letter-spacing:0.03em;}
.variant-dots{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0 2px;}
.variant-dot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all 0.15s;position:relative;}
.variant-dot:hover,.variant-dot.active{border-color:var(--forest);transform:scale(1.15);}
.variant-dot.out-of-stock{opacity:0.3;cursor:not-allowed;}
.variant-dot .vd-stock{display:none;position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:0.55rem;color:#888;white-space:nowrap;}
.variant-dot:hover .vd-stock,.variant-dot.active .vd-stock{display:block;}
.variant-label{display:inline-block;font-size:0.65rem;padding:2px 8px;border-radius:10px;border:1.5px solid var(--border);cursor:pointer;transition:all 0.15s;background:white;}
.variant-label:hover,.variant-label.active{border-color:var(--sage);background:var(--sage-light);font-weight:600;}
.variant-label.out-of-stock{opacity:0.35;cursor:not-allowed;}
.p-unit{font-size:0.66rem;color:var(--light);font-family:'DM Sans',sans-serif;}
.add-btn{background:var(--forest);color:white;border:none;width:32px;height:32px;border-radius:50%;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0;}
.add-btn:hover{background:var(--forest-light);transform:scale(1.1);}
.add-btn:disabled{background:var(--border);color:var(--light);cursor:not-allowed;transform:none;}
.qty-ctrl{display:flex;align-items:center;gap:5px;}
.qty-btn{background:var(--cream);border:1px solid var(--border);width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:0.95rem;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.qty-btn:hover{background:var(--border);}
.qty-val{font-weight:700;font-size:0.85rem;min-width:17px;text-align:center;}

/* ── ORDERS VIEW ── */
.orders-wrap{max-width:860px;margin:0 auto;padding:28px 18px;}
.orders-wrap h2{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:20px;}
.order-card{background:white;border-radius:16px;border:1.5px solid var(--border);padding:20px;margin-bottom:14px;transition:box-shadow 0.2s;}
.order-card:hover{box-shadow:0 6px 20px rgba(0,0,0,0.07);}
.order-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px;}
.order-ref-num{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--forest);}
.order-date{font-size:0.77rem;color:var(--light);}
.order-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:0.75rem;font-weight:600;}
.st-prep{background:#FFF8E8;color:#B8860B;}.st-ship{background:#E3F2FD;color:#1565C0;}.st-done{background:#E8F5EA;color:#2D7A3D;}.st-ready{background:#F3E8FF;color:#6D28D9;}.st-cancel{background:#FDECEA;color:#C62828;}
.order-items-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
.order-item-chip{display:flex;align-items:center;gap:5px;background:var(--cream);border-radius:8px;padding:4px 10px;font-size:0.78rem;}
.order-footer{display:flex;align-items:center;justify-content:space-between;}
.order-total{font-weight:700;font-size:0.95rem;color:var(--forest);}
.track-btn{background:var(--forest);color:white;border:none;padding:8px 16px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s;}
.track-btn:hover{background:var(--forest-light);}

/* TRACKING MODAL */
.track-steps{display:flex;flex-direction:column;gap:0;margin:18px 0;}
.track-step{display:flex;align-items:flex-start;gap:14px;padding-bottom:18px;position:relative;}
.track-step:not(:last-child)::after{content:'';position:absolute;left:15px;top:32px;width:2px;height:calc(100% - 14px);background:var(--border);}
.track-step.done::after{background:var(--forest);}
.ts-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem;flex-shrink:0;border:2px solid var(--border);background:white;z-index:1;}
.track-step.done .ts-dot{background:var(--forest);border-color:var(--forest);color:white;}
.track-step.current .ts-dot{background:white;border-color:var(--forest);box-shadow:0 0 0 4px rgba(45,74,53,0.12);}
.ts-info{padding-top:4px;}
.ts-label{font-weight:600;font-size:0.88rem;margin-bottom:2px;}
.ts-time{font-size:0.74rem;color:var(--light);}

/* ── CHECKOUT ── */
.checkout-layout{max-width:1020px;margin:0 auto;padding:26px 18px;display:grid;grid-template-columns:1fr 340px;gap:24px;}
.co-card{background:white;border-radius:17px;border:1.5px solid var(--border);padding:22px;margin-bottom:17px;}
.co-card h3{font-family:'Playfair Display',serif;font-size:1.08rem;margin-bottom:15px;display:flex;align-items:center;gap:8px;}
/* Delivery mode selector */
.delivery-mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.dm-opt{border:2px solid var(--border);border-radius:13px;padding:14px 12px;cursor:pointer;transition:all 0.22s;text-align:center;background:var(--cream);}
.dm-opt:hover{border-color:var(--sage);}
.dm-opt.active{border-color:var(--forest);background:white;box-shadow:0 0 0 3px rgba(45,74,53,0.07);}
.dm-icon{font-size:1.6rem;margin-bottom:5px;}
.dm-label{font-weight:600;font-size:0.88rem;color:var(--dark);}
.dm-sub{font-size:0.72rem;color:var(--light);margin-top:2px;}
.step-num{background:var(--forest);color:white;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.74rem;font-weight:700;flex-shrink:0;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.f-group{margin-bottom:11px;}
.f-label{display:block;font-size:0.69rem;font-weight:600;color:var(--mid);letter-spacing:0.04em;margin-bottom:4px;text-transform:uppercase;}
.f-input{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;font-family:'DM Sans',sans-serif;font-size:0.86rem;color:var(--dark);background:var(--cream);transition:border 0.2s;outline:none;}
.f-input:focus{border-color:var(--forest);background:white;}
.pay-methods{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:15px;}
.pay-opt{border:2px solid var(--border);border-radius:12px;padding:13px;cursor:pointer;transition:all 0.2s;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--cream);}
.pay-opt:hover{border-color:var(--sage);}
.pay-opt.selected{border-color:var(--forest);background:white;}
.pay-logo{font-size:1.6rem;}.pay-name{font-size:0.78rem;font-weight:600;}
.card-fields{display:none;}.card-fields.on{display:block;}
.pp-fields{display:none;}.pp-fields.on{display:flex;flex-direction:column;align-items:center;padding:16px;background:#FFF3E0;border-radius:12px;gap:8px;}
.pp-note{font-size:0.78rem;color:#666;text-align:center;}
.pp-btn{background:#0070BA;color:white;border:none;padding:10px 24px;border-radius:30px;font-size:0.85rem;font-weight:600;cursor:pointer;}
.order-sum{position:sticky;top:78px;}
.sum-card{background:white;border-radius:17px;border:1.5px solid var(--border);padding:20px;}
.sum-card h3{font-family:'Playfair Display',serif;font-size:1.08rem;margin-bottom:13px;padding-bottom:11px;border-bottom:1.5px solid var(--border);}
.sum-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:0.81rem;}
.sum-qty{background:var(--forest);color:white;border-radius:5px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:0.64rem;font-weight:700;flex-shrink:0;}
.sum-divider{border:none;border-top:1.5px solid var(--border);margin:11px 0;}
.t-row{display:flex;justify-content:space-between;font-size:0.83rem;color:var(--mid);margin-bottom:4px;}
.t-row.big{font-size:0.94rem;font-weight:700;color:var(--dark);padding-top:7px;border-top:1px solid var(--border);margin-top:3px;}
.place-btn{width:100%;margin-top:13px;background:linear-gradient(135deg,var(--forest),var(--forest-light));color:white;border:none;padding:14px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:0.92rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s;}
.place-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(45,74,53,0.33);}
.sec-note{display:flex;align-items:center;gap:5px;font-size:0.69rem;color:var(--light);margin-top:9px;justify-content:center;}

/* CONFIRM */
.confirm-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:34px 18px;}
.confirm-icon{width:76px;height:76px;background:linear-gradient(135deg,var(--forest),var(--forest-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;margin-bottom:20px;animation:popIn 0.5s cubic-bezier(0.4,0,0.2,1);}
@keyframes popIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.confirm-view h2{font-family:'Playfair Display',serif;font-size:1.75rem;margin-bottom:9px;color:var(--forest);}
.confirm-view p{color:var(--mid);font-size:0.89rem;max-width:340px;line-height:1.6;margin-bottom:20px;}
.order-ref-box{background:var(--cream);border:1.5px solid var(--border);border-radius:11px;padding:12px 22px;font-size:0.85rem;color:var(--mid);margin-bottom:20px;}
.order-ref-box span{font-family:'Playfair Display',serif;font-size:1rem;color:var(--forest);font-weight:700;}
.cont-btn{background:var(--forest);color:white;border:none;padding:12px 24px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:0.89rem;font-weight:600;cursor:pointer;transition:all 0.2s;}
.cont-btn:hover{background:var(--forest-light);}

/* CART */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;display:none;backdrop-filter:blur(2px);}
.cart-overlay.open{display:block;}
.cart-panel{position:fixed;top:0;right:0;width:min(400px,100vw);height:100vh;background:var(--warm-white);z-index:201;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;}
.cart-panel.open{transform:translateX(0);}
.cart-hdr{padding:17px 20px 12px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cart-hdr h3{font-family:'Playfair Display',serif;font-size:1.18rem;}
.close-btn{background:var(--cream);border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--mid);}
.cart-items-list{flex:1;overflow-y:auto;padding:12px 20px;}
.ci{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);}
.ci-em{background:var(--cream);width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.ci-name{font-weight:600;font-size:0.83rem;}
.ci-price{font-size:0.75rem;color:var(--mid);margin-top:1px;}
.cart-ftr{padding:15px 20px;border-top:1.5px solid var(--border);background:white;}
.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:var(--light);gap:9px;}
.checkout-cta{width:100%;background:var(--forest);color:white;border:none;padding:13px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:0.91rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s;}
.checkout-cta:hover{background:var(--forest-light);}

/* MOBILE NAV */
.mob-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--forest);border-top:1px solid rgba(255,255,255,0.1);z-index:150;padding-bottom:env(safe-area-inset-bottom);}
.mob-nav-inner{display:flex;}
.mnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 4px;border:none;background:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.59rem;color:rgba(255,255,255,0.45);transition:color 0.2s;}
.mnav-btn.active,.mnav-btn:hover{color:var(--gold);}
.mnav-icon{font-size:1.2rem;}

/* ════════════════════════════════════════
   ADMIN APP
════════════════════════════════════════ */
#adminApp{background:var(--ab);min-height:100vh;color:white;}
.admin-hdr{background:var(--ac);border-bottom:1px solid var(--aborder);padding:0 22px;height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.admin-logo{display:flex;align-items:center;gap:10px;}
.admin-logo-icon{width:34px;height:34px;background:var(--aa);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#0F1923;}
.admin-logo-text{font-family:'Playfair Display',serif;font-size:1.1rem;}
.admin-role-badge{background:rgba(0,212,170,0.14);border:1px solid rgba(0,212,170,0.28);color:var(--aa);font-size:0.61rem;font-weight:700;letter-spacing:0.1em;padding:2px 8px;border-radius:20px;text-transform:uppercase;}
.admin-nav-tabs{display:flex;gap:2px;padding:0 22px;background:var(--ac);border-bottom:1px solid var(--aborder);}
.ant-btn{background:none;border:none;border-bottom:2px solid transparent;padding:13px 15px;font-family:'DM Sans',sans-serif;font-size:0.82rem;font-weight:500;color:rgba(255,255,255,0.45);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.ant-btn:hover{color:rgba(255,255,255,0.75);}
.ant-btn.active{color:var(--aa);border-bottom-color:var(--aa);}
.admin-body{max-width:1180px;margin:0 auto;padding:26px 22px;}
.a-section{display:none;}.a-section.active{display:block;}
.a-page-title{font-family:'Playfair Display',serif;font-size:1.6rem;margin-bottom:4px;}
.a-page-sub{font-size:0.79rem;color:rgba(255,255,255,0.37);margin-bottom:24px;}

/* KPI STATS */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.kpi-card{background:var(--ac);border-radius:14px;border:1px solid var(--aborder);padding:18px;}
.kpi-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.37);margin-bottom:7px;}
.kpi-val{font-family:'Playfair Display',serif;font-size:1.85rem;font-weight:700;}
.kpi-sub{font-size:0.72rem;color:rgba(255,255,255,0.32);margin-top:4px;}
.kpi-trend{font-size:0.72rem;margin-top:5px;}
.trend-up{color:#6fcf97;}.trend-down{color:#eb5757;}.trend-flat{color:rgba(255,255,255,0.4);}

/* ADMIN CHARTS ROW */
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;}
.chart-card{background:var(--ac);border-radius:14px;border:1px solid var(--aborder);padding:18px;}
.chart-title{font-size:0.82rem;font-weight:600;color:rgba(255,255,255,0.7);margin-bottom:14px;}
.mini-chart{display:flex;align-items:flex-end;gap:6px;height:80px;}
.bar-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;height:100%;justify-content:flex-end;}
.bar{border-radius:4px 4px 0 0;width:100%;transition:height 0.4s;min-height:4px;}
.bar-label{font-size:0.6rem;color:rgba(255,255,255,0.35);}

/* STOCK TABLE */
.a-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap;}
.a-toolbar h3{font-family:'Playfair Display',serif;font-size:1.12rem;color:white;}
.refresh-btn{background:rgba(0,212,170,0.1);border:1px solid rgba(0,212,170,0.28);color:var(--aa);padding:8px 16px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s;}
.refresh-btn:hover{background:rgba(0,212,170,0.2);}
.stock-table{background:var(--ac);border-radius:16px;border:1px solid var(--aborder);overflow:hidden;overflow-x:auto;}
.stock-table table{min-width:560px;width:100%;}
table{width:100%;border-collapse:collapse;}
thead{background:rgba(0,0,0,0.28);}
th{padding:11px 14px;font-size:0.67rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;text-align:left;color:rgba(255,255,255,0.42);white-space:nowrap;}
td{padding:11px 14px;font-size:0.83rem;border-bottom:1px solid var(--aborder);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,0.025);}
.spill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:0.72rem;font-weight:600;white-space:nowrap;}
.sp-ok{background:rgba(74,140,92,0.2);color:#6fcf97;}
.sp-low{background:rgba(212,168,83,0.2);color:#f2c94c;}
.sp-out{background:rgba(200,97,74,0.2);color:#eb5757;}
.sp-pre{background:rgba(156,39,176,0.2);color:#ce93d8;}
.fc-bar-wrap{display:flex;align-items:center;gap:7px;}
.fc-bar{flex:1;height:6px;background:rgba(255,255,255,0.09);border-radius:3px;overflow:hidden;min-width:45px;}
.fc-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--aa),#00a885);}
.edit-btn{background:none;border:1px solid var(--aborder);padding:4px 10px;border-radius:7px;font-size:0.72rem;cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif;color:rgba(255,255,255,0.5);}
.edit-btn:hover{border-color:var(--aa);color:var(--aa);}

/* ADMIN ORDERS */
.adm-order-card{background:var(--ac);border-radius:14px;border:1px solid var(--aborder);padding:18px;margin-bottom:11px;}
.adm-order-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:7px;}
.adm-order-ref{font-weight:700;font-size:0.92rem;}
.adm-order-client{font-size:0.78rem;color:rgba(255,255,255,0.45);}
.status-select{background:var(--ab2);border:1px solid var(--aborder);color:white;padding:5px 10px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.78rem;cursor:pointer;outline:none;}

/* ════════════════════════════════════════
   SUPER ADMIN APP
════════════════════════════════════════ */
#superApp{background:var(--sb);min-height:100vh;color:white;}
.super-hdr{background:var(--sc);border-bottom:1px solid var(--sborder);padding:0 22px;height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.super-logo{display:flex;align-items:center;gap:10px;}
.super-logo-icon{width:34px;height:34px;background:transparent;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;overflow:hidden;}
.super-logo-text{font-family:'Playfair Display',serif;font-size:1.1rem;}
.super-role-badge{background:rgba(124,92,252,0.18);border:1px solid rgba(124,92,252,0.35);color:var(--sa2);font-size:0.61rem;font-weight:700;letter-spacing:0.1em;padding:2px 8px;border-radius:20px;text-transform:uppercase;}
.super-nav{display:flex;gap:2px;padding:0 22px;background:var(--sc);border-bottom:1px solid var(--sborder);overflow-x:auto;scrollbar-width:none;}
.super-nav::-webkit-scrollbar{display:none;}
.snt-btn{background:none;border:none;border-bottom:2px solid transparent;padding:13px 14px;font-family:'DM Sans',sans-serif;font-size:0.81rem;font-weight:500;color:rgba(255,255,255,0.4);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.snt-btn:hover{color:rgba(255,255,255,0.7);}
.snt-btn.active{color:var(--sa2);border-bottom-color:var(--sa);}
.theme-preset-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.82rem;color:rgba(255,255,255,0.75);transition:all 0.2s;white-space:nowrap;}
.theme-preset-btn:hover{border-color:rgba(255,255,255,0.35);color:white;background:rgba(255,255,255,0.1);}
.theme-preset-btn.active-theme{border-color:var(--sa);background:rgba(124,92,252,0.18);color:var(--sa2);}
.tpb-dots{display:flex;gap:3px;align-items:center;}.tpb-dots span{width:14px;height:14px;border-radius:50%;display:inline-block;flex-shrink:0;}
.theme-save-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:flex;align-items:center;justify-content:center;}
.theme-save-box{background:var(--sc);border:1px solid var(--sborder);border-radius:16px;padding:28px 32px;min-width:340px;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.ct-act-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:9px;border:1.5px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);cursor:pointer;font-size:1.3rem;transition:all .15s;user-select:none;}
.ct-act-card span{font-size:0.67rem;color:rgba(255,255,255,0.55);text-align:center;line-height:1.2;}
.ct-act-card:hover{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.09);}
.ct-act-card.active{border-color:var(--sa,#7c5cfc);background:rgba(124,92,252,0.18);}
.ct-act-card.active span{color:rgba(255,255,255,0.85);}

.p-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.theme-preset-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.82rem;color:rgba(255,255,255,0.75);transition:all 0.2s;white-space:nowrap;}
.theme-preset-btn:hover{border-color:rgba(255,255,255,0.35);color:white;background:rgba(255,255,255,0.1);}
.theme-preset-btn.active-theme{border-color:var(--sa);background:rgba(124,92,252,0.18);color:var(--sa2);}
.tpb-dots{display:flex;gap:3px;align-items:center;}.tpb-dots span{width:14px;height:14px;border-radius:50%;display:inline-block;flex-shrink:0;}
.theme-save-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:flex;align-items:center;justify-content:center;}
.theme-save-box{background:var(--sc);border:1px solid var(--sborder);border-radius:16px;padding:28px 32px;min-width:340px;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.5);}

.super-body{max-width:1200px;margin:0 auto;padding:26px 22px;}
.s-section{display:none;}.s-section.active{display:block;}
.s-page-title{font-family:'Playfair Display',serif;font-size:1.6rem;margin-bottom:4px;}
.s-page-sub{font-size:0.79rem;color:rgba(255,255,255,0.35);margin-bottom:24px;}

/* SITE SETTINGS PANEL */
.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:22px;}
.set-card{background:var(--sc);border-radius:15px;border:1px solid var(--sborder);padding:20px;}
.set-card-title{font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.6);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.set-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px;}
.set-label{font-size:0.82rem;color:rgba(255,255,255,0.65);}
.set-input{background:rgba(255,255,255,0.07);border:1px solid var(--sborder);border-radius:8px;color:white;padding:8px 11px;font-family:'DM Sans',sans-serif;font-size:0.84rem;outline:none;transition:border 0.2s;width:160px;}
.set-input:focus{border-color:var(--sa);}
.set-input.wide{width:100%;margin-top:6px;}
.toggle{position:relative;width:42px;height:22px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:rgba(255,255,255,0.12);border-radius:22px;cursor:pointer;transition:0.3s;}
.toggle-slider::before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:white;border-radius:50%;transition:0.3s;}
.toggle input:checked+.toggle-slider{background:var(--sa);}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px);}
.save-set-btn{background:linear-gradient(135deg,var(--sa),#5a3fd4);color:white;border:none;padding:10px 22px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.86rem;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:6px;}
.save-set-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(124,92,252,0.35);}

/* PRODUCT MANAGER */
.prod-manager-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.add-prod-btn{background:linear-gradient(135deg,var(--sa),#5a3fd4);color:white;border:none;padding:10px 20px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all 0.2s;}
.add-prod-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(124,92,252,0.35);}
.prod-table{background:var(--sc);border-radius:15px;border:1px solid var(--sborder);overflow:hidden;overflow-x:auto;}
.prod-table table{min-width:700px;}
.prod-table th,.prod-table td{border-color:var(--sborder);}
.prod-table thead{background:rgba(124,92,252,0.08);}
.prod-table th{color:rgba(255,255,255,0.38);}
.del-btn{background:rgba(200,97,74,0.15);border:1px solid rgba(200,97,74,0.3);color:#eb5757;padding:4px 10px;border-radius:7px;font-size:0.72rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.del-btn:hover{background:rgba(200,97,74,0.25);}
.super-edit-btn{background:rgba(124,92,252,0.15);border:1px solid rgba(124,92,252,0.3);color:var(--sa2);padding:4px 10px;border-radius:7px;font-size:0.72rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.super-edit-btn:hover{background:rgba(124,92,252,0.25);}

/* USER MANAGER */
.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px;}
.user-card{background:var(--sc);border-radius:14px;border:1px solid var(--sborder);padding:18px;}
.user-card-top{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
.u-av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0;}
.u-av.client{background:rgba(45,74,53,0.4);color:var(--sage-light);}
.u-av.admin{background:rgba(0,212,170,0.15);color:var(--aa);}
.u-av.super{background:rgba(124,92,252,0.2);color:var(--sa2);}
.u-name{font-weight:600;font-size:0.9rem;}
.u-email{font-size:0.74rem;color:rgba(255,255,255,0.38);}
.u-role-tag{font-size:0.68rem;font-weight:700;padding:3px 9px;border-radius:20px;display:inline-block;margin-top:4px;}
.rt-client{background:rgba(45,74,53,0.35);color:var(--sage-light);}
.rt-admin{background:rgba(0,212,170,0.12);color:var(--aa);}
.rt-super{background:rgba(124,92,252,0.18);color:var(--sa2);}
.u-actions{display:flex;gap:7px;margin-top:12px;}
.u-action-btn{flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--sborder);color:rgba(255,255,255,0.55);padding:7px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.76rem;cursor:pointer;transition:all 0.2s;text-align:center;}
.u-action-btn:hover{background:rgba(255,255,255,0.09);}
.add-user-btn{background:linear-gradient(135deg,var(--sa),#5a3fd4);color:white;border:none;padding:10px 20px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all 0.2s;}
.add-user-btn:hover{transform:translateY(-1px);}

/* HOMEPAGE EDITOR */
.editor-layout{display:grid;grid-template-columns:1fr 340px;gap:18px;}
.editor-panel{background:var(--sc);border-radius:15px;border:1px solid var(--sborder);padding:20px;}
.editor-panel h4{font-size:0.85rem;font-weight:600;color:rgba(255,255,255,0.6);margin-bottom:15px;display:flex;align-items:center;gap:7px;}
.preview-panel{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-light) 100%);border-radius:15px;overflow:hidden;position:sticky;top:80px;}
.preview-inner{padding:28px 22px;text-align:center;}
.prev-h1{font-family:'Playfair Display',serif;font-size:1.6rem;color:white;line-height:1.2;margin-bottom:8px;}
.prev-h1 em{color:var(--gold);font-style:italic;}
.prev-p{font-size:0.82rem;color:rgba(255,255,255,0.7);margin-bottom:14px;line-height:1.5;}
.prev-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:30px;padding:7px 14px;font-size:0.73rem;color:rgba(255,255,255,0.8);}
.preview-label{background:rgba(124,92,252,0.3);border:1px dashed rgba(124,92,252,0.5);color:var(--sa2);font-size:0.68rem;font-weight:600;letter-spacing:0.08em;text-align:center;padding:6px;text-transform:uppercase;}
.hero-preview{background:linear-gradient(135deg,#0a1a0a 0%,#1a3a1a 50%,#0d2a0d 100%);border-radius:12px;padding:28px 24px;min-height:200px;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.prev-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:white;line-height:1.2;margin:0;}
.prev-title em{font-style:italic;color:var(--gold,#c9a84c);}
.prev-sub{font-size:0.82rem;color:rgba(255,255,255,0.6);margin:0;line-height:1.5;}

/* ════════════════════════════════════════
   SHARED MODAL
════════════════════════════════════════ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:500;display:none;align-items:center;justify-content:center;padding:18px;}
.modal-overlay.open{display:flex;}
.modal-box{background:white;border-radius:18px;padding:26px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;}
.modal-box h4{font-family:'Playfair Display',serif;font-size:1.12rem;margin-bottom:14px;}
.modal-btns{display:flex;gap:8px;margin-top:16px;}
.mb-save{flex:1;background:var(--forest);color:white;border:none;padding:11px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:0.86rem;font-weight:600;cursor:pointer;}
.mb-save:hover{background:var(--forest-light);}
.mb-cancel{flex:1;background:var(--cream);color:var(--mid);border:1.5px solid var(--border);padding:11px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:0.86rem;cursor:pointer;}
/* admin modal dark */
.modal-dark{background:var(--ac);border:1px solid var(--aborder);color:white;}
.modal-dark .f-input,.modal-dark .f-label{color:rgba(255,255,255,0.65);}
.modal-dark .f-input{background:rgba(255,255,255,0.07);border-color:var(--aborder);color:white;}
.modal-dark .f-input:focus{border-color:var(--aa);}
.modal-dark select.f-input option{background:#1a2a3a;color:white;}
.modal-super select.f-input option{background:#1a1a35;color:white;}
.emoji-cat-label{font-size:0.68rem;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:.05em;margin:6px 0 4px;}
.emoji-grid{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;}
.emoji-opt{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;
  border-radius:7px;cursor:pointer;transition:background .15s;}
.emoji-opt:hover,.emoji-opt.active{background:rgba(255,255,255,0.15);}

/* Tenant list */
.tenant-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;margin-bottom:6px;background:rgba(255,255,255,0.04);transition:background .15s;}
.tenant-row:hover{background:rgba(255,255,255,0.07);}
.tenant-row-name{font-size:0.85rem;font-weight:600;flex:1;}
.tenant-row-slug{font-size:0.72rem;color:rgba(255,255,255,0.35);}
.tenant-row-domain{font-size:0.72rem;color:rgba(255,255,255,0.3);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tenant-toggle{position:relative;width:40px;height:22px;flex-shrink:0;}
.tenant-toggle input{opacity:0;width:0;height:0;}
.tenant-toggle-slider{position:absolute;inset:0;border-radius:22px;cursor:pointer;transition:.25s;background:rgba(255,255,255,0.15);}
.tenant-toggle-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:white;transition:.25s;}
.tenant-toggle input:checked + .tenant-toggle-slider{background:var(--sa);}
.tenant-toggle input:checked + .tenant-toggle-slider:before{transform:translateX(18px);}
.tenant-status-badge{font-size:0.68rem;font-weight:600;padding:2px 8px;border-radius:20px;}
.tenant-status-badge.active{background:rgba(100,207,150,0.15);color:#6fcf97;}
.tenant-status-badge.inactive{background:rgba(255,100,100,0.12);color:#eb5757;}
.modal-dark .mb-cancel{background:rgba(255,255,255,0.06);border-color:var(--aborder);color:rgba(255,255,255,0.5);}
.modal-dark .mb-save{background:var(--aa);color:#0F1923;}
/* super modal */
.modal-super{background:var(--sc);border:1px solid var(--sborder);color:white;}
.modal-super .f-input{background:rgba(255,255,255,0.07);border-color:var(--sborder);color:white;}
.modal-super .f-input:focus{border-color:var(--sa);}
.modal-super .f-label{color:rgba(255,255,255,0.5);}
.modal-super .mb-cancel{background:rgba(255,255,255,0.05);border-color:var(--sborder);color:rgba(255,255,255,0.5);}
.modal-super .mb-save{background:var(--sa);color:white;}
select.f-input{cursor:pointer;}

/* TOAST */
.toast{position:fixed;bottom:76px;left:50%;transform:translateX(-50%) translateY(80px);opacity:0;pointer-events:none;background:var(--forest);color:white;padding:10px 20px;border-radius:30px;font-size:0.82rem;font-weight:500;z-index:900;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1),opacity 0.35s ease;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto;}

/* ════════════════════════════════════════
   CHATBOT IA
════════════════════════════════════════ */
.chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--aa),#00b894);border:none;color:white;font-size:1.5rem;cursor:pointer;z-index:200;box-shadow:0 4px 20px rgba(0,212,170,0.35);transition:transform 0.2s,box-shadow 0.2s;display:none;}
.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(0,212,170,0.5);}
.chat-fab.has-panel{background:linear-gradient(135deg,#ff6b6b,#ee5a24);}
.chat-panel{display:none;position:fixed;bottom:90px;right:24px;width:380px;max-height:520px;background:var(--ac);border:1px solid var(--aborder);border-radius:16px;z-index:200;box-shadow:0 12px 40px rgba(0,0,0,0.5);flex-direction:column;overflow:hidden;}
.chat-panel.open{display:flex;}
.chat-tabs{display:flex;border-bottom:1px solid var(--aborder);background:rgba(0,0,0,0.15);}
.chat-tab{flex:1;padding:9px 8px;border:none;background:none;color:rgba(255,255,255,0.4);font-size:0.78rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;border-bottom:2px solid transparent;}
.chat-tab:hover{color:rgba(255,255,255,0.7);}
.chat-tab.active{color:var(--aa);border-bottom-color:var(--aa);background:rgba(255,255,255,0.03);}
.chat-contact-tab{flex:1;overflow-y:auto;min-height:200px;max-height:360px;}
.chat-contact-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:rgba(255,255,255,0.05);border-radius:12px;text-decoration:none;color:white;transition:background 0.2s;}
.chat-contact-item:hover{background:rgba(255,255,255,0.1);}
.chat-contact-icon{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,0.08);flex-shrink:0;}
.chat-contact-label{font-size:0.72rem;color:rgba(255,255,255,0.4);margin-bottom:1px;}
.chat-contact-value{font-size:0.84rem;font-weight:500;color:white;}
.chat-header{padding:14px 18px;background:var(--ab2);border-bottom:1px solid var(--aborder);display:flex;align-items:center;justify-content:space-between;}
.chat-header-title{font-weight:600;font-size:0.88rem;color:white;display:flex;align-items:center;gap:8px;}
.chat-header-close{background:none;border:none;color:rgba(255,255,255,0.4);font-size:1.2rem;cursor:pointer;padding:4px 8px;}
.chat-header-close:hover{color:white;}
.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:360px;}
.chat-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:0.82rem;line-height:1.5;word-wrap:break-word;}
.chat-msg.user{align-self:flex-end;background:var(--aa);color:#0a1a14;border-bottom-right-radius:4px;}
.chat-msg.bot{align-self:flex-start;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.85);border-bottom-left-radius:4px;}
.chat-msg.bot.typing{color:rgba(255,255,255,0.4);font-style:italic;}
.chat-input-bar{padding:12px;border-top:1px solid var(--aborder);display:flex;gap:8px;background:var(--ab);}
.chat-input-bar input{flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:10px 14px;color:white;font-size:16px;font-family:'DM Sans',sans-serif;outline:none;}
.chat-input-bar input::placeholder{color:rgba(255,255,255,0.25);}
.chat-input-bar input:focus{border-color:var(--aa);}
.chat-input-bar button{background:var(--aa);border:none;border-radius:10px;padding:10px 14px;color:#0a1a14;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.85rem;white-space:nowrap;}
.chat-input-bar button:disabled{opacity:0.4;cursor:not-allowed;}

@media(max-width:480px){
  .chat-panel{right:8px;left:8px;bottom:80px;width:auto;max-height:70vh;}
  .chat-fab{bottom:80px;right:16px;width:50px;height:50px;font-size:1.3rem;}
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

/* ── Tablette large (≤1024px) ── */
@media(max-width:1024px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .charts-row{grid-template-columns:1fr;}
  .settings-grid{grid-template-columns:1fr;}
  .editor-layout{grid-template-columns:1fr;}
  .super-body{padding:20px 16px;}
  .admin-body{padding:20px 16px;}
}

/* ── Tablette portrait (≤900px) ── */
@media(max-width:900px){
  .checkout-layout{grid-template-columns:1fr;}
  .order-sum{position:static;}
  .f-row{grid-template-columns:1fr;}
  .login-tabs{grid-template-columns:1fr;}
  .delivery-mode-selector{grid-template-columns:1fr;}
  .pay-methods{grid-template-columns:1fr;}
}

/* ── Mobile (≤768px) ── */
@media(max-width:768px){
  /* ── Fix iOS Safari auto-zoom sur les inputs < 16px ── */
  input,select,textarea,.la-input,.li-input,.f-input,.set-input,.fp-input,
  .status-select,.set-tenant-select{font-size:16px !important;}

  /* Header client */
  .client-header{padding:0 14px;height:56px;}
  .logo-sub{display:none;}
  .logo-text{font-size:1.05rem;}
  .logout-btn{display:none;}
  .cart-btn span:not(.cart-count){display:none;}
  .cart-btn{padding:8px 11px;}

  /* Nav client — food buttons sur une 2e ligne sur mobile */
  .client-nav{flex-wrap:wrap;padding:0 12px;}
  #food-nav-btns{width:100%;justify-content:center;padding:8px 0;margin-left:0;border-top:1px solid var(--border);}

  /* Boutons logout mobile admin/super */
  .admin-mob-logout,.super-mob-logout{display:flex;}

  /* Padding bas pour nav mobile fixe */
  .admin-body{padding-bottom:70px !important;}
  .super-body{padding-bottom:70px !important;}

  /* Hero */
  .hero{padding:30px 14px;}
  .hero h1{font-size:1.7rem;}

  /* Layout principal */
  .mobile-cats{display:flex;}
  .main-layout{grid-template-columns:1fr;padding:13px 13px 80px;}
  .sidebar{display:none;}
  .products-header{flex-direction:column;align-items:flex-start;gap:8px;}
  .search-bar{width:100%;}
  .products-grid{grid-template-columns:repeat(2,1fr);gap:10px;}

  /* Panier & checkout */
  .cart-panel{width:100vw;}
  .checkout-layout{padding:13px;}

  /* Navigation mobile */
  .mob-nav{display:block;}
  .toast{bottom:84px;}

  /* Admin/Super body */
  .admin-body,.super-body{padding:14px;}

  /* KPI & charts */
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .kpi-val{font-size:1.6rem;}
  .charts-row{gap:10px;}
  .chart-card{padding:14px;}

  /* Toolbars */
  .a-toolbar{flex-direction:column;align-items:flex-start;gap:8px;}
  .a-toolbar > *{width:100%;}
  .a-toolbar button{width:auto;}

  /* Navs scrollables */
  .client-nav{overflow-x:auto;scrollbar-width:none;}
  .client-nav::-webkit-scrollbar{display:none;}
  .cnav-btn{padding:13px 12px;font-size:0.78rem;white-space:nowrap;}
  .admin-nav-tabs,.super-nav{overflow-x:auto;scrollbar-width:none;}
  .admin-nav-tabs::-webkit-scrollbar,.super-nav::-webkit-scrollbar{display:none;}
  .admin-nav-tabs .nav-tab,.super-nav .nav-tab{white-space:nowrap;font-size:0.78rem;padding:12px 10px;}

  /* Grilles utilisateurs & settings */
  .user-grid{grid-template-columns:1fr;}
  .settings-grid{grid-template-columns:1fr;}
  .editor-layout{grid-template-columns:1fr;}

  /* Inputs settings */
  .set-input{width:100%;max-width:200px;}

  /* Modales */
  .modal-overlay{padding:10px;}
  .modal-box{padding:18px;border-radius:14px;max-height:95vh;}
  .modal-btns{flex-direction:column;}
  .modal-btns .mb-save,.modal-btns .mb-cancel{width:100%;}

  /* Tables — responsive mobile */
  .stock-table{border-radius:10px;}
  .prod-table{border-radius:10px;}
  .stock-table th,.stock-table td,
  .prod-table th,.prod-table td{padding:7px 8px;font-size:0.75rem;}

  /* Produits: masquer Catégorie(2), Unité(4) */
  .prod-table th:nth-child(2),.prod-table td:nth-child(2),
  .prod-table th:nth-child(4),.prod-table td:nth-child(4){display:none;}
  .prod-table table{min-width:auto;width:100%;}

  /* Stock: masquer Catégorie(2), Prévision(4), Ventes/j(5), Seuil(6) */
  .stock-table:not(#sh-table-wrap) th:nth-child(2),.stock-table:not(#sh-table-wrap) td:nth-child(2),
  .stock-table:not(#sh-table-wrap) th:nth-child(4),.stock-table:not(#sh-table-wrap) td:nth-child(4),
  .stock-table:not(#sh-table-wrap) th:nth-child(5),.stock-table:not(#sh-table-wrap) td:nth-child(5),
  .stock-table:not(#sh-table-wrap) th:nth-child(6),.stock-table:not(#sh-table-wrap) td:nth-child(6){display:none;}
  .stock-table:not(#sh-table-wrap) table{min-width:auto;width:100%;}

  /* Expéditions: masquer Type(2), N°suivi(3), Date(7) */
  #sh-table-wrap th:nth-child(2),#sh-table-wrap td:nth-child(2),
  #sh-table-wrap th:nth-child(3),#sh-table-wrap td:nth-child(3),
  #sh-table-wrap th:nth-child(7),#sh-table-wrap td:nth-child(7){display:none;}
  #sh-table-wrap table{min-width:auto;width:100%;}

  /* Boutons actions empilés verticalement sur mobile */
  .prod-table td:last-child div{flex-direction:column !important;gap:4px !important;}
  .prod-table td:last-child button,.prod-table td:last-child .super-edit-btn,.prod-table td:last-child .del-btn{font-size:0.68rem !important;padding:3px 7px !important;white-space:nowrap;}

  /* Scroll touch fluide */
  .stock-table,.prod-table{-webkit-overflow-scrolling:touch;}

  /* Boutique client — padding bottom pour la nav fixe */
  .main-layout{padding-bottom:90px;}

  /* Tenant rows superadmin */
  .tenant-row{flex-wrap:wrap;gap:8px;}
  .tenant-row-domain{max-width:100%;white-space:normal;}

  /* Set tenant bar */
  .set-tenant-bar{flex-direction:column;align-items:stretch;}
  .set-tenant-select{min-width:unset;width:100%;}
}

/* ── Petit mobile (≤480px) ── */
@media(max-width:480px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .kpi-val{font-size:1.4rem;}
  .kpi-card{padding:12px;}
  .hero h1{font-size:1.45rem;}
  .hero p{font-size:0.85rem;}
  .client-header{height:52px;}
  .modal-box{padding:14px;}
  .chart-card{padding:12px;}
  .admin-nav-tabs .nav-tab,.super-nav .nav-tab{font-size:0.72rem;padding:10px 8px;}
  .cnav-btn{padding:11px 10px;font-size:0.75rem;}
  .set-tenant-bar{padding:0.5rem 0.75rem;}
}

/* ── Très petit (≤360px) ── */
@media(max-width:360px){
  .products-grid{grid-template-columns:1fr;}
  .kpi-grid{grid-template-columns:1fr;}
  .hero h1{font-size:1.3rem;}
  .modal-box{padding:12px;}
  .lc-brand,.la-brand,.ls-brand{font-size:1.6rem;}
}

/* ════════════════════════════════════════
   PARAMÈTRES BOUTIQUE — tenant selector
════════════════════════════════════════ */
.set-tenant-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.4rem;padding:.7rem 1rem;background:rgba(0,0,0,.2);border-radius:9px;border:1px solid var(--sborder);flex-wrap:wrap;}
.set-tenant-select{background:var(--sb2);color:white;border:1px solid var(--sborder);border-radius:8px;padding:.45rem .75rem;font-family:'DM Sans',sans-serif;font-size:.82rem;outline:none;cursor:pointer;min-width:280px;flex:1;}
.set-tenant-select:focus{border-color:var(--sa);}
.set-tenant-select option{background:#1a1a35;color:#ffffff !important;}

/* Grille 2 colonnes responsive */
.responsive-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:768px){.responsive-2col{grid-template-columns:1fr;}}
