:root{
  --bg:#f4f6f8; --panel:#fff; --panel2:#f8fafc; --line:#d9e0e8; --text:#172033; --muted:#687385;
  --nav:#101828; --nav2:#182235; --primary:#1f4e79; --primary2:#173b5c; --accent:#2f80ed;
  --ok:#138a54; --warn:#a16207; --danger:#b42318; --radius:10px; --shadow:0 8px 24px rgba(15,23,42,.06);
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:var(--font);font-size:13px;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} .muted{color:var(--muted)}
.layout{display:flex;min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#d7e1ef;padding:18px 14px;z-index:20;box-shadow:4px 0 20px rgba(0,0,0,.12)}
.brandbar{display:flex;align-items:center;gap:11px;padding:6px 6px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}.brand-logo{width:36px;height:36px;border-radius:9px;background:#fff;color:var(--nav);font-weight:800;display:grid;place-items:center;letter-spacing:.04em}.brandbar strong{font-size:13px;color:#fff;display:block}.brandbar small{font-size:11px;color:#91a3ba}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7f8fa8;margin:18px 8px 8px}.nav{display:flex;flex-direction:column;gap:3px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#cbd7e7;font-size:13px;font-weight:600}.nav a:hover,.nav a.active{background:rgba(255,255,255,.09);color:#fff}.nav a .ico{width:18px;text-align:center;opacity:.82}.main{margin-left:248px;width:calc(100% - 248px);min-height:100vh}.topbar{height:64px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 26px;position:sticky;top:0;z-index:15}.search{display:flex;flex:1;max-width:850px}.search input{width:100%;height:40px;border:1px solid var(--line);border-right:0;border-radius:9px 0 0 9px;padding:0 14px;background:#fff}.search button{width:46px;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:0 9px 9px 0}.notif{margin-left:auto;display:flex;align-items:center;gap:8px;height:38px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:0 14px;font-weight:650}.count{min-width:18px;height:18px;border-radius:99px;background:#e11d48;color:#fff;font-size:11px;display:inline-grid;place-items:center}.content{padding:24px 28px 48px;max-width:1540px;margin:0 auto}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.page-intro h1{font-size:22px;margin:0 0 4px;font-weight:750;letter-spacing:-.02em}.page-intro p{margin:0;color:var(--muted)}
.btn,button.btn{border:0;border-radius:8px;background:var(--primary);color:#fff;padding:9px 13px;font-weight:750;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{background:var(--primary2)}.btn.light{background:#f1f5f9;color:#1f2937;border:1px solid var(--line)}.btn.red{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn.sm{padding:7px 10px;font-size:12px}.btn.ghost{background:#fff;color:var(--primary);border:1px solid var(--line)}
.card,.table-card,.accordion-card,.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.panel{padding:16px}.card h2{font-size:15px;margin:0 0 12px}.pro-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{padding:14px 15px}.metric .label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.metric .value{font-size:24px;line-height:1.25;font-weight:780;margin:5px 0 2px}.metric .hint{font-size:12px;color:var(--muted)}
.accordion-stack{display:grid;gap:10px}.accordion-card{overflow:hidden}.accordion-header{width:100%;border:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;cursor:pointer;text-align:left;color:var(--text)}.accordion-header strong{font-size:14px}.accordion-header small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.accordion-header:after{content:'+';font-weight:900;color:var(--primary)}.accordion-card.open .accordion-header:after{content:'−'}.accordion-body{display:none;border-top:1px solid var(--line);padding:14px 15px}.accordion-card.open .accordion-body{display:block}
.table-wrap,.table-card{overflow:auto}.compact-table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}.compact-table th{height:34px;background:#f8fafc;color:#475569;text-transform:uppercase;font-size:10px;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--line);padding:0 10px}.compact-table td{padding:9px 10px;border-bottom:1px solid #edf1f5;vertical-align:middle}.compact-table tr:hover td{background:#fafcff}.product-thumb{width:42px;height:42px;border:1px solid var(--line);border-radius:7px;object-fit:contain;background:#fff}.price{font-weight:800;color:#111827}.actions{display:flex;gap:6px;align-items:center}.badge{display:inline-flex;align-items:center;height:22px;border-radius:99px;padding:0 8px;font-size:11px;font-weight:750;background:#eef2f7;color:#334155}.badge-payée,.badge-livré,.badge-validé,.badge-accepté{background:#e8f7ef;color:#11633b}.badge-envoyée,.badge-en_attente,.badge-à_préparer{background:#fff7e5;color:#8a5a00}.badge-impayée,.badge-en_retard,.badge-refusé,.badge-annulé{background:#feeceb;color:#b42318}.badge-partiellement_payée,.badge-préparation{background:#e8f1ff;color:#1d4f91}
input,select,textarea{font-family:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#93b4d9;box-shadow:0 0 0 3px rgba(47,128,237,.12)}label{font-weight:700;color:#334155;font-size:12px;display:block;margin-bottom:6px}.formgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}textarea{min-height:88px;width:100%}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.top h1{margin:0;font-size:22px}.alert{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;margin-bottom:12px}.alert.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.profile-head{display:flex;align-items:center;gap:14px}.client-logo{width:72px;height:72px;border:1px solid var(--line);border-radius:12px;object-fit:contain;background:#f8fafc}.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:var(--radius)}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f6f8fb,#e8eef6)}.login-shell{width:min(960px,94vw);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.16);overflow:hidden}.login-cover{background:linear-gradient(145deg,#0f2238,#1f4e79);color:#fff;padding:44px}.login-cover h1{font-size:30px;margin:12px 0 10px}.login-cover p{color:#c9d7e7}.login-form{padding:44px}.login-form h2{margin:0 0 18px;font-size:22px}.login-form input{width:100%;margin-bottom:12px;height:42px}.login-form .btn{width:100%;justify-content:center;height:42px}
@media(max-width:1100px){.sidebar{width:210px}.main{margin-left:210px;width:calc(100% - 210px)}.pro-dashboard{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:relative;width:100%;height:auto}.layout{display:block}.main{margin:0;width:100%}.topbar{padding:10px;height:auto;flex-wrap:wrap}.content{padding:16px}.pro-dashboard{grid-template-columns:1fr}.page-intro{display:block}.login-shell{grid-template-columns:1fr}.login-cover{display:none}}


/* V6.9 - B2B collapsible sections: every module opens as a professional closed card */
.content > .accordion-card, main > .accordion-card{margin-bottom:10px;}
.b2b-collapse{margin-bottom:10px;}
.accordion-stack{display:grid;gap:10px;}
.accordion-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 5px 18px rgba(15,23,42,.045);overflow:hidden;}
.accordion-header{min-height:44px;width:100%;border:0;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;cursor:pointer;text-align:left;color:var(--text);}
.accordion-header:hover{background:#f8fafc;}
.accordion-header strong{font-size:13px;font-weight:750;letter-spacing:-.01em;}
.accordion-header small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:2px;}
.accordion-header:after{content:'+';display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:#f1f5f9;color:#334155;font-weight:900;line-height:1;}
.accordion-card.open .accordion-header{border-bottom:1px solid var(--line);}
.accordion-card.open .accordion-header:after{content:'−';background:#e8eef6;color:var(--primary);}
.accordion-body{display:none;padding:14px;background:#fff;}
.accordion-card.open .accordion-body{display:block;}
.accordion-body > .card,.accordion-body > .panel,.accordion-body > .table-card{box-shadow:none;border:0;border-radius:0;padding:0;background:transparent;}
.accordion-body > table{width:100%;}
.card h2,.panel h2{font-size:14px;margin:0 0 10px;}
.content > table, main > table{width:100%;border-collapse:collapse;background:#fff;font-size:12px;}
.content > table th, main > table th{height:34px;background:#f8fafc;color:#475569;text-transform:uppercase;font-size:10px;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--line);padding:0 10px;}
.content > table td, main > table td{padding:9px 10px;border-bottom:1px solid #edf1f5;}


/* V6.10 - logo visible + closed professional B2B sections */
.brand-logo{overflow:hidden;flex:0 0 38px;width:38px;height:38px;background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block;padding:5px;background:#fff;border-radius:inherit}
.brand-logo span{display:grid;place-items:center;width:100%;height:100%;font-weight:900;color:var(--nav,#0f172a)}
.brandbar{min-height:58px}.brandbar strong{max-width:158px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brandbar small{display:block;margin-top:2px}
.b2b-accordion-card{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:12px;box-shadow:0 6px 20px rgba(15,23,42,.045);overflow:hidden;margin:0 0 10px}
.b2b-accordion-head,.accordion-header{width:100%;min-height:46px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;text-align:left;cursor:pointer;color:var(--text,#111827)}
.b2b-accordion-head:hover,.accordion-header:hover{background:#f8fafc}.b2b-accordion-head strong,.accordion-header strong{font-size:13px;font-weight:760;letter-spacing:-.01em}.b2b-accordion-head small,.accordion-header small{display:block;font-size:11px;color:var(--muted,#64748b);font-weight:500;margin-top:1px}
.b2b-accordion-head i,.accordion-header:after{content:'+';display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:#eef2f7;color:#334155;font-style:normal;font-weight:900;line-height:1}
.b2b-accordion-card.is-open>.b2b-accordion-head i,.b2b-accordion-card.open>.accordion-header:after{content:'−';background:#e8eef6;color:var(--primary,#1f4fd8)}
.b2b-accordion-body,.accordion-body{display:none;border-top:1px solid var(--line,#e5e7eb);padding:14px;background:#fff}
.b2b-accordion-card.is-open>.b2b-accordion-body,.b2b-accordion-card.open>.accordion-body{display:block}
.b2b-accordion-body>.card,.b2b-accordion-body>.panel,.b2b-accordion-body>.table-wrap,.b2b-accordion-body>.table-card,.accordion-body>.card,.accordion-body>.panel,.accordion-body>.table-wrap{box-shadow:none;border:0;border-radius:0;margin:0;padding:0;background:transparent}
.b2b-accordion-body .compact-table,.accordion-body .compact-table{margin:0}.content>.b2b-accordion-card:first-of-type{margin-top:8px}
.catalogue-layout .b2b-accordion-card,.product-board .b2b-accordion-card{display:block}


/* V3.7 - compact operational panels; no global closed cards */
.accordion-stack{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:12px;align-items:start}
.accordion-card{overflow:hidden;margin:0}
.accordion-card .accordion-header{min-height:48px;padding:10px 13px;border-bottom:1px solid var(--line);cursor:default;background:#fff}
.accordion-card .accordion-header:after{display:none}
.accordion-card .accordion-body{display:block!important;padding:0;background:#fff;border-top:0}
.accordion-card.compact-rank .accordion-body{padding:6px 12px 10px}
.accordion-card.wide-panel{grid-row:span 2}
.accordion-card .table-card{border:0;box-shadow:none;border-radius:0}
.accordion-card .compact-table th{height:32px}
.accordion-card .compact-table td{padding:8px 10px}
.dashboard-panel-link{font-size:11px;font-weight:750;color:var(--primary);padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}
.rank-value{text-align:right;font-weight:800;white-space:nowrap}
.rank-name{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-empty{padding:18px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.accordion-stack{grid-template-columns:1fr}.accordion-card.wide-panel{grid-row:auto}}
.mini-input{width:88px!important;padding:7px!important;margin:2px}.text-danger{color:#b91c1c;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkline{display:flex;gap:8px;align-items:center;margin:7px 0}.checkline input{width:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.stat{background:#fff;border:1px solid #dfe6ee;border-radius:14px;padding:16px}.stat span{display:block;color:#64748b;font-size:13px}.stat strong{font-size:22px}@media(max-width:900px){.grid2,.stats{grid-template-columns:1fr}}

/* V3.9 - Products manager, wizard and preparation workspace */
.product-page-head{align-items:center}.product-manager-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}.category-panel,.product-list-panel,.wizard-shell,.preparation-orders,.preparation-workspace{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.category-panel{padding:10px;position:sticky;top:82px}.category-panel-title{padding:8px 10px 10px;font-size:12px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.category-filter{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-radius:8px;margin:2px 0;color:#334155;font-weight:650}.category-filter:hover,.category-filter.active{background:#eaf1f8;color:var(--primary)}.category-filter b{font-size:11px;background:#eef2f7;padding:2px 7px;border-radius:99px}.category-manage{display:block;border-top:1px solid var(--line);margin-top:8px;padding:11px 10px 3px;color:var(--primary);font-size:12px;font-weight:750}.product-list-panel{overflow:hidden}.product-list-toolbar{padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.product-search-form{display:flex;gap:8px;flex:1}.product-search-form input{width:min(520px,100%)}.product-admin-table td{white-space:nowrap}.product-admin-table td:nth-child(2){white-space:normal;min-width:190px}.inline-mini-fields{display:flex;gap:4px}.compact-check{font-size:11px;margin-top:4px}.sticky-save{position:sticky;bottom:0;background:rgba(255,255,255,.95);border-top:1px solid var(--line);padding:10px 12px;display:flex;justify-content:flex-end;z-index:3}
.wizard-shell{overflow:hidden}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);background:#f8fafc;border-bottom:1px solid var(--line)}.wizard-step{border:0;background:transparent;padding:14px 12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-weight:750;cursor:pointer}.wizard-step b{width:26px;height:26px;border-radius:99px;background:#e2e8f0;display:grid;place-items:center}.wizard-step.active{color:var(--primary);background:#fff}.wizard-step.active b{background:var(--primary);color:#fff}.wizard-panel{display:none;padding:22px}.wizard-panel.active{display:block}.wizard-panel h2{margin:0 0 18px;font-size:17px}.wizard-actions{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;align-items:center}.wizard-review{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.wizard-review>div{border:1px solid var(--line);border-radius:9px;padding:12px}.wizard-review span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.wizard-review b{font-size:14px}
.preparation-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.preparation-orders{overflow:hidden;position:sticky;top:82px}.preparation-title{padding:13px 14px;font-weight:800;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.prep-order-card{display:block;padding:12px 14px;border-bottom:1px solid #edf1f5}.prep-order-card:hover,.prep-order-card.active{background:#f3f7fb}.prep-order-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.prep-order-card span{color:var(--muted);font-size:11px}.prep-meta{display:flex;justify-content:space-between;margin-top:6px}.progress{height:4px;background:#e5e7eb;border-radius:99px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;background:var(--ok)}.preparation-workspace{overflow:hidden}.prep-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.prep-header h2{margin:0;font-size:17px}.prep-header p{margin:4px 0 0;color:var(--muted)}
@media(max-width:1000px){.product-manager-layout,.preparation-layout{grid-template-columns:1fr}.category-panel,.preparation-orders{position:static}.category-panel{display:flex;flex-wrap:wrap;gap:4px}.category-panel-title{width:100%}.category-manage{border:0;margin:0;padding:9px 10px}.wizard-review{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.wizard-steps{grid-template-columns:1fr 1fr}.wizard-step{justify-content:flex-start}.wizard-review{grid-template-columns:1fr}.product-list-toolbar,.product-search-form{align-items:stretch;flex-direction:column}.product-page-head{display:block}.product-page-head .actions{margin-top:12px;flex-wrap:wrap}}

/* V3.10 - aligned product list and client wizard */
.client-manager-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}.client-filter-panel{position:sticky;top:82px}.client-list-panel{overflow:hidden}.client-admin-table{table-layout:fixed}.client-admin-table th:nth-child(1){width:27%}.client-admin-table th:nth-child(2){width:22%}.client-admin-table th:nth-child(3){width:19%}.client-admin-table th:nth-child(4){width:10%}.client-admin-table th:nth-child(5){width:8%}.client-admin-table th:nth-child(6){width:14%}.entity-cell{display:flex;align-items:center;gap:10px;min-width:0}.entity-avatar{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;font-weight:850;color:var(--primary)}.entity-avatar img{width:100%;height:100%;object-fit:contain}.entity-cell>div:last-child{min-width:0}.entity-cell b,.entity-cell .muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-balance{font-weight:800;white-space:nowrap}.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:150px}.row-actions .btn{justify-content:center;width:100%;height:32px;padding:0 8px}
.product-admin-table{table-layout:fixed;min-width:1120px}.product-admin-table th:nth-child(1){width:58px}.product-admin-table th:nth-child(2){width:21%}.product-admin-table th:nth-child(3){width:11%}.product-admin-table th:nth-child(4){width:12%}.product-admin-table th:nth-child(5){width:15%}.product-admin-table th:nth-child(6){width:9%}.product-admin-table th:nth-child(7){width:12%}.product-admin-table th:nth-child(8){width:8%}.product-admin-table th:nth-child(9){width:13%}.product-admin-table td{height:66px;vertical-align:middle}.product-admin-table .actions{display:grid;grid-template-columns:1fr;gap:5px;min-width:92px}.product-admin-table .actions .btn{justify-content:center;width:100%;height:30px;padding:0 8px}.product-admin-table .inline-mini-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px}.product-admin-table .mini-input{width:100%!important;min-width:0;margin:0;height:32px;padding:6px!important}.product-admin-table .compact-check{display:flex;align-items:center;gap:5px;margin:5px 0 0;white-space:nowrap}.product-admin-table .product-thumb{margin:auto}.product-admin-table td:nth-child(2) b{display:block;line-height:1.25}.product-admin-table td:nth-child(2) .muted{margin-top:3px}
@media(max-width:1000px){.client-manager-layout{grid-template-columns:1fr}.client-filter-panel{position:static;display:flex;flex-wrap:wrap;gap:4px}.client-filter-panel .category-panel-title{width:100%}.client-admin-table{min-width:980px}}

/* V3.11 - scrollable grouped sidebar */
.sidebar{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.brandbar{flex:0 0 auto;margin-bottom:10px}
.nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 2px 18px;scrollbar-width:thin;scrollbar-color:#475569 transparent}
.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:#475569;border-radius:99px}
.nav-group{border:1px solid transparent;border-radius:9px;margin:2px 0;overflow:hidden}
.nav-group.open{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.055)}
.nav-group-toggle{width:100%;height:39px;border:0;border-radius:8px;background:transparent;color:#d7e1ef;padding:0 10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font:inherit;font-size:12px;font-weight:760;text-align:left}
.nav-group-toggle>span{display:flex;align-items:center;gap:10px;min-width:0}.nav-group-toggle b{font-size:14px;font-weight:700;color:#8ea0b8;transition:transform .18s ease}.nav-group.open .nav-group-toggle b{transform:rotate(180deg)}
.nav-group-toggle:hover,.nav-group.open>.nav-group-toggle{background:rgba(255,255,255,.075);color:#fff}
.nav-group-icon{width:18px;text-align:center;color:#a8b8ca;font-size:12px}
.nav-group-body{display:none;padding:3px 4px 6px}.nav-group.open .nav-group-body{display:flex;flex-direction:column;gap:2px}
.nav-group-body a{padding:8px 9px 8px 14px;font-size:12px;border-radius:7px}.nav-group-body a .ico{width:16px;font-size:11px}
.nav-group-body a.active{box-shadow:inset 3px 0 0 #60a5fa;background:rgba(255,255,255,.1)}
.nav-logout{margin-top:7px;border-top:1px solid rgba(255,255,255,.08);padding-top:11px!important;border-radius:0!important}
@media(max-width:760px){.sidebar{height:auto;max-height:none;overflow:visible}.nav{overflow:visible;max-height:none}.nav-group-body{padding-left:4px}.nav-group-toggle{height:42px}}

/* V3.12 - stock movements page */
.stock-movement-head{align-items:center}.stock-error{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.stock-movement-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-bottom:14px;align-items:start}
.stock-entry-card,.stock-help-card{height:100%}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.section-heading h2,.stock-help-card h2,.table-toolbar h2{margin:0;font-size:15px}.section-heading p,.table-toolbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.stock-movement-form{display:grid;grid-template-columns:minmax(280px,2fr) minmax(150px,1fr) minmax(130px,.7fr) minmax(220px,1.4fr);gap:12px;align-items:end}.stock-movement-form .field{min-width:0}.stock-movement-form select,.stock-movement-form input{width:100%;height:42px}.stock-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}.stock-form-actions .btn{min-width:190px;justify-content:center;height:40px}
.stock-rule{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.stock-rule:last-child{border-bottom:0}.stock-rule b,.stock-rule small{display:block}.stock-rule small{color:var(--muted);margin-top:2px}.movement-dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:18px;font-weight:850;flex:0 0 30px}.movement-dot.plus{background:#e8f7ef;color:#11633b}.movement-dot.minus{background:#feeceb;color:#b42318}.movement-dot.neutral{background:#eef2f7;color:#475569}
.stock-history-card{overflow:hidden}.table-toolbar{padding:13px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.stock-filter-form{display:grid;grid-template-columns:minmax(220px,340px) 170px auto;gap:8px;align-items:center}.stock-filter-form input,.stock-filter-form select{height:36px}.stock-filter-form .btn{height:36px;justify-content:center}
.stock-movement-table{min-width:900px}.stock-movement-table th:nth-child(1){width:120px}.stock-movement-table th:nth-child(2){width:26%}.stock-movement-table th:nth-child(3){width:150px}.stock-movement-table th:nth-child(4){width:110px}.stock-movement-table th:nth-child(6){width:150px}.stock-movement-table td small{display:block;color:var(--muted);margin-top:2px}.qty-col{text-align:right!important}.movement-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:800}.movement-badge.positive{background:#e8f7ef;color:#11633b}.movement-badge.negative{background:#feeceb;color:#b42318}.movement-badge.neutral{background:#eef2f7;color:#475569}.qty-positive{color:#11633b}.qty-negative{color:#b42318}.qty-neutral{color:#475569}.date-main{font-weight:700}
@media(max-width:1150px){.stock-movement-grid{grid-template-columns:1fr}.stock-help-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stock-help-card h2{grid-column:1/-1}.stock-rule{border:1px solid #edf1f5;border-radius:9px;padding:10px}.stock-movement-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stock-movement-form{grid-template-columns:1fr}.stock-form-actions{grid-column:auto}.stock-form-actions .btn{width:100%}.stock-help-card{display:block}.table-toolbar{align-items:stretch;flex-direction:column}.stock-filter-form{grid-template-columns:1fr}.stock-filter-form input,.stock-filter-form select,.stock-filter-form .btn{width:100%}}

/* V3.13 - professional order preparation workspace */
.prep-page-intro{align-items:center}.prep-page-actions{display:flex;gap:8px;flex-wrap:wrap}.eyebrow{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:850;margin-bottom:4px}
.prep-pro-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.prep-pro-sidebar{padding:0;overflow:hidden;position:sticky;top:80px;max-height:calc(100vh - 102px);display:flex;flex-direction:column}.prep-sidebar-head{padding:15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.prep-sidebar-head h2{font-size:15px;margin:0}.prep-count{width:30px;height:30px;border-radius:9px;background:#eaf2fb;color:var(--primary);display:grid;place-items:center;font-weight:850}.prep-sidebar-search{padding:10px;border-bottom:1px solid #edf1f5}.prep-sidebar-search input{width:100%;height:38px}.prep-order-list{overflow:auto;min-height:0}.prep-pro-order{display:block;padding:13px 14px;border-bottom:1px solid #edf1f5;transition:.15s ease}.prep-pro-order:hover{background:#f8fafc}.prep-pro-order.active{background:#eef5fc;box-shadow:inset 3px 0 0 var(--accent)}.prep-order-topline{display:flex;align-items:center;justify-content:space-between}.prep-order-topline strong{font-size:13px}.prep-status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.prep-status-dot.running{background:#2f80ed}.prep-status-dot.warning{background:#f59e0b}.prep-status-dot.done{background:#16a34a}.prep-order-client{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prep-order-stats{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-top:10px;font-size:10px;color:var(--muted)}.prep-order-stats b{color:var(--text)}.prep-progress{height:5px;background:#e5eaf0;border-radius:99px;overflow:hidden;margin-top:8px}.prep-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:inherit;transition:width .25s ease}.prep-progress.large{width:240px;margin:5px 0 0;height:6px}
.prep-pro-workspace{min-width:0;display:grid;gap:12px}.prep-empty-state{text-align:center;padding:70px 20px}.prep-empty-icon{width:54px;height:54px;border-radius:16px;background:#eaf7ef;color:var(--ok);display:grid;place-items:center;font-size:26px;font-weight:900;margin:0 auto 14px}.prep-empty-state h2{margin:0 0 6px}.prep-empty-state p{margin:0;color:var(--muted)}
.prep-command-head{padding:15px 17px;display:flex;align-items:center;justify-content:space-between}.prep-command-titleline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prep-command-titleline h2{margin:0;font-size:20px}.prep-command-main p{margin:5px 0 0;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:99px;background:#edf3f9;color:var(--primary);font-size:11px;font-weight:800}
.prep-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.prep-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow)}.prep-kpi span{display:block;color:var(--muted);font-size:11px}.prep-kpi strong{display:block;font-size:21px;margin-top:3px}.prep-kpi.danger strong{color:var(--danger)}
.prep-scanbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.3fr) auto;gap:12px;align-items:center;padding:12px 14px}.prep-scanbar strong{font-size:13px}.prep-scan-control{display:flex}.prep-scan-control input{height:40px;flex:1;border-radius:8px 0 0 8px}.prep-scan-control .btn{border-radius:0 8px 8px 0}.prep-bulk-actions{display:flex;gap:7px;justify-content:flex-end}.scan-error{border-color:#ef4444!important;background:#fff1f2!important}
.prep-lines{display:grid;gap:9px}.prep-line-card{position:relative;display:grid;grid-template-columns:34px minmax(220px,1.7fr) 100px 105px 170px 165px;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 14px;box-shadow:0 4px 16px rgba(15,23,42,.035);transition:.18s ease}.prep-line-card:hover{border-color:#b9c7d6;box-shadow:0 8px 22px rgba(15,23,42,.06)}.prep-line-card.is-ready{border-left:4px solid #16a34a}.prep-line-card.is-missing{border-left:4px solid #ef4444;background:#fffafa}.prep-line-card.is-substituted{border-left:4px solid #8b5cf6}.prep-line-card.scan-hit{outline:3px solid rgba(47,128,237,.2);background:#f7fbff}.prep-line-index{width:28px;height:28px;border-radius:8px;background:#f1f5f9;display:grid;place-items:center;color:#64748b;font-size:11px;font-weight:850}.prep-line-product{min-width:0}.prep-line-product strong{display:block;font-size:13px;line-height:1.35}.prep-product-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:5px}.prep-product-meta span{padding:2px 6px;border-radius:5px;background:#f6f8fa}.prep-qty-block span,.prep-stock-block span,.prep-stepper-block>span,.prep-state-block>span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:5px}.prep-qty-block strong,.prep-stock-block strong{font-size:15px}.prep-stock-block small{display:block;font-size:10px;margin-top:2px}.prep-stock-block.ok small{color:var(--ok)}.prep-stock-block.short strong,.prep-stock-block.short small{color:var(--danger)}
.qty-stepper{display:grid;grid-template-columns:32px minmax(70px,1fr) 32px}.qty-stepper input{height:36px;border-radius:0;text-align:center;padding:0 4px}.qty-btn{height:36px;border:1px solid var(--line);background:#f8fafc;color:var(--text);font-weight:900;font-size:17px;cursor:pointer}.qty-btn.minus{border-radius:8px 0 0 8px}.qty-btn.plus{border-radius:0 8px 8px 0}.qty-btn:hover{background:#eef3f8}.prep-state-block select{height:38px;width:100%;font-weight:700}.prep-extra-row{grid-column:2/-1;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);gap:10px;padding-top:10px;border-top:1px dashed #e3e8ee}.prep-extra-row label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin-bottom:5px}.prep-extra-row select,.prep-extra-row input{height:38px;width:100%}.prep-substitute-field{display:none}.prep-substitute-field.visible{display:block}.prep-note-field{grid-column:2}.prep-substitute-field.visible+.prep-note-field{grid-column:auto}
.prep-sticky-bar{position:sticky;bottom:10px;z-index:9;margin-top:12px;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:18px;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 14px 40px rgba(15,23,42,.14)}.prep-sticky-progress>div:first-child{display:flex;justify-content:space-between;gap:12px}.prep-sticky-progress span{color:var(--muted);font-size:11px}.prep-sticky-progress strong{font-size:12px}.prep-sticky-summary{display:flex;gap:16px;color:var(--muted);font-size:11px}.prep-sticky-summary b{color:var(--text);margin-left:4px}.prep-save-btn{height:42px;padding:0 18px}
@media(max-width:1280px){.prep-line-card{grid-template-columns:30px minmax(200px,1.5fr) 90px 95px 155px}.prep-state-block{grid-column:auto}.prep-stepper-block{grid-column:auto}.prep-line-card>.prep-state-block{grid-column:5}.prep-line-card>.prep-stepper-block{grid-column:4}.prep-stock-block{grid-column:3}.prep-qty-block{display:none}.prep-extra-row{grid-column:2/-1}.prep-scanbar{grid-template-columns:1fr 1.4fr}.prep-bulk-actions{grid-column:1/-1}}
@media(max-width:1050px){.prep-pro-layout{grid-template-columns:1fr}.prep-pro-sidebar{position:static;max-height:none}.prep-order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px}.prep-pro-order{border-right:1px solid #edf1f5}.prep-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-line-card{grid-template-columns:30px minmax(180px,1fr) 100px 160px}.prep-stock-block{grid-column:3}.prep-stepper-block{grid-column:4}.prep-state-block{grid-column:2/-1}.prep-extra-row{grid-column:2/-1}.prep-sticky-bar{grid-template-columns:1fr auto}.prep-sticky-summary{display:none}}
@media(max-width:760px){.prep-page-intro{display:block}.prep-page-actions{margin-top:10px}.prep-order-list{grid-template-columns:1fr}.prep-scanbar{grid-template-columns:1fr}.prep-scan-control,.prep-bulk-actions{width:100%}.prep-bulk-actions{justify-content:stretch}.prep-bulk-actions .btn{flex:1;justify-content:center}.prep-line-card{grid-template-columns:28px 1fr;gap:10px}.prep-line-product{grid-column:2}.prep-stock-block,.prep-stepper-block,.prep-state-block{grid-column:2}.prep-stock-block,.prep-stepper-block,.prep-state-block{display:grid;grid-template-columns:100px 1fr;align-items:center}.prep-stock-block span,.prep-stepper-block>span,.prep-state-block>span{margin:0}.prep-stock-block small{grid-column:2}.prep-extra-row{grid-column:2;grid-template-columns:1fr}.prep-note-field,.prep-substitute-field.visible+.prep-note-field{grid-column:1}.prep-sticky-bar{position:static;grid-template-columns:1fr}.prep-progress.large{width:100%}.prep-save-btn{width:100%;justify-content:center}.prep-command-head{align-items:flex-start;gap:10px}.prep-kpis{grid-template-columns:1fr 1fr}}
/* V3.15.9 - gestion détaillée des créances/dettes clients */
.account-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.account-kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow)}.account-kpis span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.account-kpis strong{display:block;font-size:24px;margin-top:5px}.account-kpis .danger strong{color:#dc2626}.account-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-form label,.dialog-form label{font-size:11px;font-weight:750;color:#475569}.account-form input,.account-form select,.account-form textarea,.dialog-form input,.dialog-form select{width:100%;margin-top:5px}.account-form .full{grid-column:1/-1}.account-filters{display:flex;gap:8px;align-items:center;margin-bottom:12px}.account-filters select{max-width:220px}.compact-table td small{display:block;color:var(--muted);margin-top:3px}.account-type{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:850}.account-type.debit{background:#fee2e2;color:#991b1b}.account-type.credit{background:#dcfce7;color:#166534}.row-late{background:#fff7f7}.btn.tiny{padding:5px 8px;font-size:10px}.dialog-form{min-width:320px;display:grid;gap:10px}dialog{border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.3);padding:20px}dialog::backdrop{background:rgba(15,23,42,.45)}
@media(max-width:1050px){.account-grid{grid-template-columns:1fr}.account-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.account-kpis,.account-form{grid-template-columns:1fr}.account-filters{flex-direction:column;align-items:stretch}.account-filters select{max-width:none}}

/* V3.16 - catalogue produits visuel inspiré de l'application dépôt */
.product-manager-premium{grid-template-columns:220px minmax(0,1fr)}
.product-visual-panel{background:#f4f7fb}
.admin-product-list{display:grid;gap:9px;padding:11px}
.admin-product-row{display:grid;grid-template-columns:76px minmax(260px,1.45fr) minmax(410px,1.7fr) 150px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 12px;box-shadow:0 5px 18px rgba(15,23,42,.045);transition:.18s ease}
.admin-product-row:hover{border-color:#b8c8da;box-shadow:0 10px 28px rgba(15,23,42,.08);transform:translateY(-1px)}
.admin-product-row.is-low-stock{border-left:4px solid #f59e0b}
.admin-product-row.is-inactive{opacity:.7;background:#f8fafc}
.admin-product-photo{width:68px;height:68px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;display:grid;place-items:center;position:relative;overflow:hidden}
.admin-product-photo img{width:100%;height:100%;object-fit:contain;padding:5px}
.product-state-dot{position:absolute;right:5px;bottom:5px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.product-state-dot.active{background:#16a34a}.product-state-dot.inactive{background:#94a3b8}
.admin-product-identity{min-width:0}.admin-product-titleline{display:flex;align-items:center;gap:8px;min-width:0}.admin-product-titleline h2{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-alert-pill{flex:0 0 auto;background:#fff1d6;color:#a16207;border-radius:99px;padding:3px 7px;font-size:9px;font-weight:850;text-transform:uppercase}
.admin-product-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.admin-product-tags span{background:#f1f5f9;color:#64748b;border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}
.admin-product-codes{display:grid;grid-template-columns:1fr 1.25fr;gap:7px;margin-top:8px}.admin-product-codes>div{border:1px solid #e7edf4;border-radius:8px;padding:5px 7px;background:#fbfdff;min-width:0}.admin-product-codes small{display:block;font-size:8px;color:#64748b;font-weight:850;letter-spacing:.05em}.admin-product-codes b{display:block;font-size:11px;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-product-metrics{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:7px}.metric-card{min-height:58px;border:1px solid #e2e8f0;border-radius:10px;padding:7px 8px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center}.metric-card span{font-size:8px;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:850}.metric-card input{height:27px;padding:3px 5px;margin-top:3px;border-radius:6px;font-size:12px;font-weight:800;background:#fff}.metric-card strong{font-size:12px;margin-top:5px;white-space:nowrap}.metric-card.accent{background:#eff6ff;border-color:#bfdbfe}.metric-card.danger{background:#fff1f2;border-color:#fecdd3}.metric-card.danger strong{color:#b91c1c}
.admin-product-side{display:grid;gap:6px}.product-active-switch{display:flex;align-items:center;justify-content:center;gap:7px;height:30px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-size:10px;font-weight:800;cursor:pointer}.product-active-switch input{display:none}.product-active-switch span{width:30px;height:17px;border-radius:99px;background:#cbd5e1;position:relative;transition:.2s}.product-active-switch span:after{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 3px #0003;transition:.2s}.product-active-switch input:checked+span{background:#16a34a}.product-active-switch input:checked+span:after{transform:translateX(13px)}
.product-action-main{width:100%;justify-content:center}.product-danger-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.product-danger-actions .btn{width:100%;justify-content:center;padding-left:5px;padding-right:5px;font-size:9px}
@media(max-width:1320px){.admin-product-row{grid-template-columns:66px minmax(230px,1fr) minmax(360px,1.6fr) 130px}.admin-product-photo{width:60px;height:60px}.admin-product-metrics{grid-template-columns:repeat(3,1fr)}.metric-card:nth-child(4),.metric-card:nth-child(5){grid-column:auto}}
@media(max-width:1050px){.admin-product-row{grid-template-columns:62px minmax(0,1fr) 130px}.admin-product-metrics{grid-column:2/4;grid-row:2;grid-template-columns:repeat(5,1fr)}.admin-product-side{grid-column:3;grid-row:1}.admin-product-codes{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.admin-product-row{grid-template-columns:54px minmax(0,1fr);gap:9px;padding:9px}.admin-product-photo{width:52px;height:52px}.admin-product-side{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr 1fr}.product-active-switch{grid-column:1}.product-action-main{grid-column:2}.product-danger-actions{grid-column:1/-1}.admin-product-metrics{grid-column:1/-1;grid-row:auto;grid-template-columns:repeat(2,1fr)}.admin-product-codes{grid-template-columns:1fr}.product-manager-premium{grid-template-columns:1fr}}
