.admin-body{background:#eef1f4}.control{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.side{background:#071625;color:#dce7f1;padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-brand{display:flex;gap:11px;align-items:center;padding:0 8px 15px;border-bottom:1px solid #ffffff17}.side-brand>b{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#0d6ee8,#18bdd8)}.side-brand span{font-weight:800}.side-brand small,.side-user small{display:block;color:#6f879c;font:8px ui-monospace;letter-spacing:.09em;margin-top:3px}.system-ok{margin:11px 7px;padding:8px;background:#0d263a;border:1px solid #1d3a50;border-radius:7px;color:#84a2b8;font-size:10px}.system-ok i{display:inline-block;width:7px;height:7px;background:#2cce8f;border-radius:50%;margin-right:8px}.side nav{overflow:auto}.side nav p{font:700 8px ui-monospace;letter-spacing:.13em;color:#506b82;margin:13px 10px 5px;text-transform:uppercase}.side nav button{width:100%;display:grid;grid-template-columns:30px 1fr auto;align-items:center;text-align:left;border:0;background:transparent;color:#8da3b7;border-radius:7px;padding:7px 8px;font-size:10px;cursor:pointer}.side nav button>i{font-style:normal;font:700 8px ui-monospace}.side nav button>b{background:#16334b;border-radius:9px;padding:2px 6px;font-size:8px}.side nav button.active,.side nav button:hover{background:#0e64d4;color:#fff}.side-user{margin-top:auto;border-top:1px solid #ffffff17;padding:12px 7px 0;display:flex;align-items:center;gap:9px}.side-user>b{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#16334b}.side-user span{font-size:10px}.control-main{min-width:0}.bar{height:64px;background:#fff;border-bottom:1px solid #dce2e8;padding:0 26px;display:flex;align-items:center;gap:16px;font-size:11px}.bar>span{margin-right:auto;color:#8995a1}.bar label{border:1px solid #d8dee5;border-radius:7px;padding:7px 10px}.bar input{border:0;padding:0 5px;width:190px;outline:0}.bar button{border:1px solid #d6dde4;background:#fff;border-radius:6px;padding:7px 10px}.control-main>main{padding:28px;max-width:1500px}.view-head{display:flex;align-items:end;margin-bottom:22px}.view-head>div{margin-right:auto}.view-head h1{font-size:32px;margin:0}.view-head p{margin:5px 0 0;color:#7b8793;font-size:11px}.view-head button,.small-btn{border:1px solid #d4dbe2;background:#fff;border-radius:7px;padding:9px 12px;margin-left:7px;font-size:10px}.view-head button.primary{background:#0967df;color:#fff;border-color:#0967df}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.kpi{background:#fff;border:1px solid #dce2e8;border-radius:9px;padding:17px}.kpi small{color:#7e8a97;font-size:9px}.kpi strong{display:block;font-size:24px;margin:7px 0}.kpi em{font-style:normal;color:#24946b;font-size:9px}.cards{display:grid;grid-template-columns:1.25fr .75fr;gap:11px;margin-top:11px}.card{background:#fff;border:1px solid #dce2e8;border-radius:9px;padding:17px}.card header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f3;padding-bottom:12px}.alert-line{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:10px}.alert-line>i{font-style:normal;background:#fff2e4;color:#ae6828;padding:8px;border-radius:6px}.alert-line small{display:block;color:#8995a1}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:11px 13px;border-bottom:1px solid #e9edf1;text-align:left;font-size:10px}.admin-table th{background:#f7f9fa;color:#788591;font:700 8px ui-monospace}.admin-table td small{display:block;color:#8a96a2}.admin-table select{padding:6px;font-size:10px}.table-scroll{overflow:auto;border:1px solid #dce2e8;border-radius:9px}.stock-low{color:#c56728;font-weight:800}.derived{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#eef5ff;padding:12px;border-radius:8px;margin:12px 0}.derived span{font-size:9px;color:#748496}.derived b{display:block;color:#0867df;font-size:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.settings-grid .card label{display:grid;gap:6px;margin:12px 0;font-size:10px;font-weight:700}.toggle{width:34px;height:18px;border:0;border-radius:15px;background:#b8c3cd;padding:2px}.toggle:after{content:'';display:block;width:14px;height:14px;background:#fff;border-radius:50%;transition:.2s}.toggle.on{background:#0867df}.toggle.on:after{transform:translateX(16px)}.status-pill{font-size:9px;color:#0867df;background:#eaf3ff;border-radius:12px;padding:4px 8px}.progress{height:8px;background:#e6ebf0;border-radius:8px;overflow:hidden;margin:15px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#0867df,#18b7d8);border-radius:8px}#toast{position:fixed;right:25px;bottom:25px;background:#092036;color:#fff;border-radius:8px;padding:13px 17px;font-size:11px;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:none}dialog#modal{width:min(760px,calc(100% - 25px))}dialog#modal form{padding:30px}.loading{padding:30px;background:#fff;border-radius:9px;color:#71808e}@media(max-width:900px){.control{grid-template-columns:74px 1fr}.side{padding:15px 8px}.side-brand span,.system-ok,.side nav p,.side-user span{display:none}.side nav button{grid-template-columns:1fr;text-align:center;font-size:0}.side nav button i{font-size:8px}.bar label,#export{display:none}.kpis{grid-template-columns:1fr 1fr}.cards,.settings-grid{grid-template-columns:1fr}.control-main>main{padding:15px}}

/* V5.1 — échelle typographique confortable */
@media(min-width:901px){.control{grid-template-columns:290px 1fr}.side{padding:22px 17px}.side-brand>b{width:44px;height:44px;font-size:15px}.side-brand span{font-size:17px}.side-brand small,.side-user small{font-size:10px}.system-ok{font-size:12px;padding:11px}.side nav p{font-size:10px;margin-top:17px}.side nav button{grid-template-columns:36px 1fr auto;padding:10px;font-size:13px}.side nav button>i,.side nav button>b{font-size:10px}.side-user span{font-size:13px}.side-user>b{width:38px;height:38px}.bar{height:72px;font-size:13px}.bar input{font-size:13px;width:220px}.bar button,.bar a{font-size:12px}.control-main>main{padding:34px;max-width:1650px}.view-head h1{font-size:40px}.view-head p{font-size:14px;margin-top:7px}.view-head button,.small-btn{font-size:13px;padding:11px 15px}.kpis{gap:15px}.kpi{padding:22px}.kpi small{font-size:11px}.kpi strong{font-size:31px;margin:10px 0}.kpi em{font-size:11px}.cards{gap:15px;margin-top:15px}.card{padding:21px}.card header strong,.card h2{font-size:17px}.card p{font-size:13px;line-height:1.55}.alert-line{grid-template-columns:42px 1fr auto;gap:12px;padding:13px 0;font-size:13px}.alert-line small{font-size:11px;margin-top:4px}.admin-table th{font-size:10px;padding:13px 15px}.admin-table td{font-size:13px;padding:14px 15px}.admin-table td small{font-size:11px;margin-top:4px}.admin-table select{font-size:12px;padding:8px}.derived{gap:10px;padding:15px}.derived span{font-size:11px}.derived b{font-size:14px}.settings-grid .card label{font-size:13px}.settings-grid input,.settings-grid select{font-size:13px}.status-pill{font-size:11px}#toast{font-size:13px;padding:15px 19px}}
.project-btn{display:inline-block;margin-left:0!important;white-space:nowrap;background:#eaf3ff!important;border-color:#bfd8f7!important;color:#075dbf;font-weight:750}
