:root{
  --cb-bg:#f4f2f5;
  --cb-surface:#ffffff;
  --cb-surface-soft:#faf8fb;
  --cb-text:#1f1d22;
  --cb-muted:#756f7a;
  --cb-dark:#17151a;
  --cb-dark-2:#242129;
  --cb-primary:#7b4f83;
  --cb-primary-2:#9b72a2;
  --cb-primary-soft:#f0e8f2;
  --cb-border:#e9e3eb;
  --cb-success:#178753;
  --cb-warning:#d99516;
  --cb-danger:#d9404e;
  --cb-info:#2f7fa8;
  --cb-radius:18px;
  --cb-shadow:0 10px 30px rgba(31,20,36,.07);
  --cb-shadow-hover:0 15px 38px rgba(31,20,36,.11);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% 0%,rgba(155,114,162,.08),transparent 25rem),
    linear-gradient(180deg,#faf9fb 0,#f5f3f6 240px,var(--cb-bg) 100%);
  color:var(--cb-text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:.96rem;
  min-height:100vh;
}
main.container-fluid{max-width:1920px;margin:0 auto;padding-top:2rem!important;padding-bottom:3rem!important}
a{color:#6f4778}a:hover{color:#54345b}

/* NAVIGATION */
.app-navbar{
  min-height:72px;
  background:linear-gradient(115deg,#151319 0%,#232027 72%,#2a242d 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.15)!important;
  position:sticky;top:0;z-index:1035;
}
.app-navbar .navbar-brand{white-space:nowrap;font-size:1.05rem;letter-spacing:.04em;color:#fff!important;padding:.45rem .3rem}
.brand-heart{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:linear-gradient(145deg,#fff,#e6d7ea);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 5px 14px rgba(0,0,0,.2);font-size:1rem}
.app-main-menu{gap:.2rem}
.app-main-menu>.nav-item>.nav-link{white-space:nowrap;padding:.72rem .82rem;border-radius:11px;font-size:.91rem;color:rgba(255,255,255,.7);font-weight:600;transition:.18s ease}
.app-main-menu>.nav-item>.nav-link:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateY(-1px)}
.app-main-menu>.nav-item>.nav-link.active{background:linear-gradient(145deg,rgba(155,114,162,.34),rgba(255,255,255,.09));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.app-main-menu .nav-link i{color:#c8b2cd}
.dropdown-menu{border-radius:14px;padding:.55rem;min-width:230px;border:1px solid var(--cb-border)!important;box-shadow:0 18px 45px rgba(20,14,24,.16)!important}
.dropdown-menu-wide{min-width:255px}.dropdown-item{border-radius:9px;padding:.62rem .72rem;font-weight:500;color:#3a343d}
.dropdown-item:hover,.dropdown-item:focus{background:var(--cb-primary-soft);color:#5d3766}
.dropdown-item.active,.dropdown-item:active{background:linear-gradient(135deg,var(--cb-primary),var(--cb-primary-2));color:#fff}
.dropdown-header{font-size:.68rem;font-weight:800;letter-spacing:.11em;color:#8e8492;padding-top:.7rem}
.navbar-user{white-space:nowrap;border-left:1px solid rgba(255,255,255,.1);padding-left:1rem}
.user-summary{max-width:190px;overflow:hidden;text-overflow:ellipsis}.user-summary .badge{background:rgba(255,255,255,.92)!important;color:#332c36!important;border-radius:999px;padding:.28rem .58rem;font-size:.65rem;letter-spacing:.03em}
.app-navbar .btn-outline-light{border-color:rgba(255,255,255,.34);border-radius:11px;color:#fff}.app-navbar .btn-outline-light:hover{background:#fff;color:#211d24;border-color:#fff}

/* TITRES */
h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:#211e24}.page-title,h2.fw-bold{font-weight:800!important}
.text-muted{color:var(--cb-muted)!important}

/* CARTES */
.card,.table-card{border:1px solid rgba(112,85,119,.08);background:rgba(255,255,255,.96)}
.card-kpi{border:1px solid rgba(112,85,119,.08);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow);overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card-kpi:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--cb-primary),#d9c6dd)}
.card-kpi:hover{transform:translateY(-2px);box-shadow:var(--cb-shadow-hover);border-color:rgba(123,79,131,.14)}
.card-kpi .card-body{padding:1.35rem 1.45rem}.card-kpi .text-muted{font-size:.85rem;font-weight:600}.card-kpi .fs-2,.card-kpi .fs-3,.card-kpi .display-6{letter-spacing:-.04em;margin-top:.3rem}
.table-card{border-radius:var(--cb-radius);padding:1.35rem 1.4rem;box-shadow:var(--cb-shadow)}

/* TABLES */
.table{--bs-table-bg:transparent;--bs-table-hover-bg:#faf6fb;margin-bottom:0}
.table>thead>tr>th{font-size:.74rem;text-transform:uppercase;letter-spacing:.065em;color:#807785;font-weight:800;border-bottom:1px solid var(--cb-border);padding:.85rem .75rem;white-space:nowrap}
.table>tbody>tr>td{padding:.9rem .75rem;border-color:#eee8ef;vertical-align:middle}.table>tbody>tr:hover{background:#fcf9fd}.table-responsive{border-radius:12px}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #ddd5df!important;border-radius:10px!important;padding:.45rem .7rem!important;background:#fff!important}
.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:9px!important;border:0!important}.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--cb-primary)!important;color:#fff!important;border:0!important}

/* FORMULAIRES */
.form-label{font-weight:650;color:#3e3742;margin-bottom:.42rem}
.form-control,.form-select{border-radius:12px;border:1px solid #ddd6df;background:#fff;min-height:43px;padding:.58rem .78rem;box-shadow:none;transition:.15s ease}
.form-control:focus,.form-select:focus{border-color:#ab88b2;box-shadow:0 0 0 .2rem rgba(123,79,131,.11)}
textarea.form-control{min-height:88px}

/* BOUTONS */
.btn{border-radius:11px;font-weight:650;padding:.56rem .9rem;transition:.16s ease;box-shadow:none!important}.btn:hover{transform:translateY(-1px)}
.btn-dark{background:linear-gradient(135deg,#211e24,#39323d);border-color:#211e24}.btn-dark:hover{background:#111014;border-color:#111014}
.btn-success{background:linear-gradient(135deg,#168352,#20a165);border-color:#168352}.btn-danger{background:linear-gradient(135deg,#d63d4a,#ee5965);border-color:#d63d4a}.btn-outline-dark{border-color:#bdb4c0;color:#332f36}.btn-outline-dark:hover{background:#29252d;border-color:#29252d;color:#fff}

/* BADGES / ALERTES */
.badge{font-weight:750;border-radius:999px;padding:.38em .65em;letter-spacing:.01em}.alert{border:0;border-radius:14px;box-shadow:0 5px 18px rgba(30,20,35,.04)}.alert-success{background:#e7f5ed;color:#145f3e}.alert-info{background:#e9f4f8;color:#245e78}.alert-warning{background:#fff5df;color:#805d14}.alert-danger{background:#fdebed;color:#8c2630}

/* MODALES */
.modal-content{border:0;border-radius:20px;box-shadow:0 24px 70px rgba(20,14,24,.22)}.modal-header,.modal-footer{border-color:var(--cb-border)}

/* RAPPORTS */
.report-link{text-decoration:none;color:inherit}.report-link .table-card{transition:.18s ease}.report-link:hover .table-card{transform:translateY(-3px);box-shadow:var(--cb-shadow-hover)}.report-bars{min-height:205px;overflow-x:auto;flex-wrap:nowrap}

/* LOGIN */
.login-page{min-height:100vh;background:linear-gradient(118deg,#171419 0%,#29232d 55%,#4a354f 100%);position:relative;overflow:hidden;display:flex;align-items:center}
.login-page:before,.login-page:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.login-page:before{width:520px;height:520px;background:rgba(177,143,184,.17);top:-220px;right:-120px}.login-page:after{width:420px;height:420px;background:rgba(255,255,255,.055);bottom:-230px;left:-120px}
.login-shell{position:relative;z-index:1;max-width:1030px;margin:auto;padding:2rem}
.login-panel{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.3);background:#fff}
.login-visual{min-height:590px;background:linear-gradient(145deg,#211b24,#4a354f);color:#fff;padding:3.2rem;position:relative;display:flex;flex-direction:column;justify-content:space-between}
.login-visual:after{content:"";position:absolute;inset:auto -90px -120px auto;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,#d9c3de 0,rgba(217,195,222,.06) 64%,transparent 66%)}
.login-logo-mark{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#eadfee);color:#694471;font-size:1.7rem;box-shadow:0 12px 26px rgba(0,0,0,.2)}
.login-visual h1{color:#fff;font-weight:800;font-size:2.55rem;line-height:1.06;margin-top:1.25rem}.login-visual p{color:rgba(255,255,255,.72);max-width:380px;font-size:1.02rem}.login-chips{display:flex;gap:.6rem;flex-wrap:wrap}.login-chip{font-size:.78rem;padding:.46rem .68rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.88)}
.login-form-wrap{padding:3.5rem 3.2rem;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:590px}.login-form-wrap h2{font-weight:800}.login-form-wrap .form-control{min-height:52px;border-radius:13px}.login-form-wrap .btn{min-height:52px;font-size:1rem}.login-caption{font-size:.82rem;color:#918994}.login-password-wrap{position:relative}.login-password-toggle{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8b818e;padding:.3rem;z-index:2}

@media (max-width:1199.98px){.app-navbar .navbar-collapse{padding:1rem 0}.app-main-menu{align-items:stretch!important}.app-main-menu>.nav-item>.nav-link{padding:.72rem .8rem}.app-navbar .dropdown-menu{background:#2b2730;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;margin:.15rem 0 .45rem}.app-navbar .dropdown-item,.app-navbar .dropdown-header{color:rgba(255,255,255,.78)}.app-navbar .dropdown-item:hover,.app-navbar .dropdown-item:focus{background:rgba(255,255,255,.08);color:#fff}.app-navbar .dropdown-divider{border-color:rgba(255,255,255,.12)}.navbar-user{border-left:0;border-top:1px solid rgba(255,255,255,.1);padding-left:0;padding-top:1rem}}
@media (min-width:1200px) and (max-width:1399.98px){.app-main-menu>.nav-item>.nav-link{font-size:.86rem;padding-left:.55rem;padding-right:.55rem}.app-navbar .navbar-brand{font-size:.98rem}.user-summary{display:none!important}}
@media (max-width:767.98px){main.container-fluid{padding-left:1rem!important;padding-right:1rem!important}.card-kpi .card-body,.table-card{padding:1.1rem}.login-shell{padding:1rem}.login-panel{border-radius:22px}.login-form-wrap{padding:2rem 1.4rem;min-height:auto}.login-visual{min-height:310px;padding:2rem}.login-visual h1{font-size:2rem}}
@media print{nav,.d-print-none{display:none!important}body{background:white}.table-card,.card-kpi{box-shadow:none;border:1px solid #ddd}}

/* LOT 9B - Ecrans métiers tactiles */
.page-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.15rem 1.25rem;border:1px solid rgba(123,79,131,.08);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,244,249,.96));box-shadow:var(--cb-shadow)}
.page-hero h1,.page-hero h2,.page-hero h3{margin:0;font-weight:800}.page-hero .subtitle{color:var(--cb-muted);margin-top:.2rem}.page-hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.section-panel{background:#fff;border:1px solid rgba(123,79,131,.08);border-radius:20px;box-shadow:var(--cb-shadow);padding:1.2rem}
.section-panel+.section-panel{margin-top:1rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-title h4,.section-title h5{margin:0;font-weight:800}
.touch-btn{min-height:46px;padding:.65rem 1rem;border-radius:13px}.touch-btn-lg{min-height:54px;padding:.8rem 1.15rem;font-size:1.02rem}.icon-chip{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--cb-primary-soft);color:var(--cb-primary)}

/* POS */
.pos-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:1rem;align-items:start}.pos-toolbar{padding:1rem;background:#fff;border:1px solid rgba(123,79,131,.08);border-radius:18px;box-shadow:var(--cb-shadow)}
.pos-categories{display:flex;gap:.55rem;overflow-x:auto;padding:.15rem 0 .55rem;scrollbar-width:thin}.pos-categories .btn{white-space:nowrap;min-height:39px}.pos-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;max-height:calc(100vh - 315px);overflow:auto;padding:.15rem .1rem .5rem}
.pos-product{border:1px solid #e8e1ea;border-radius:17px;background:#fff;min-height:156px;cursor:pointer;box-shadow:0 5px 16px rgba(31,20,36,.045);transition:.17s ease;overflow:hidden}.pos-product:hover{transform:translateY(-3px);box-shadow:var(--cb-shadow-hover);border-color:#cdb8d2}.pos-product .body{padding:1rem}.pos-product .code{font-size:.71rem;color:#8c838f;text-transform:uppercase;letter-spacing:.06em}.pos-product .name{font-weight:800;line-height:1.18;min-height:2.35em;margin:.3rem 0}.pos-product .stock{font-size:.78rem;color:#7d7480}.pos-product .price{font-size:1.08rem;font-weight:850;margin-top:.6rem;color:#2a242d}.pos-product .availability{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;border-radius:999px;padding:.24rem .5rem;background:#e9f6ee;color:#17623e}
.pos-cart{position:sticky;top:88px;background:#fff;border:1px solid rgba(123,79,131,.1);border-radius:20px;box-shadow:0 16px 45px rgba(31,20,36,.1);overflow:hidden}.pos-cart-head{padding:1rem 1.1rem;border-bottom:1px solid var(--cb-border);background:linear-gradient(180deg,#fff,#faf8fb)}.pos-cart-body{padding:0 1.1rem 1.1rem;max-height:calc(100vh - 160px);overflow:auto}.pos-empty{border:1px dashed #ddd1e0;border-radius:16px;background:#fbf9fc;margin:1rem 0;padding:2rem 1rem}.pos-total{background:linear-gradient(135deg,#211e24,#39323d);color:#fff;border-radius:16px;padding:.9rem 1rem;margin:1rem 0}.pos-total .label{font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65)}.pos-total .amount{font-size:1.65rem;font-weight:850;letter-spacing:-.03em}.pos-pay-btn{min-height:56px;border-radius:15px;font-size:1rem;font-weight:800}

/* Commandes / production */
.status-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem}.status-tabs .btn{white-space:nowrap;border-radius:999px;padding:.48rem .85rem}.orders-table tbody tr{transition:.14s ease}.orders-table tbody tr:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(31,20,36,.04)}.order-number{font-weight:800;color:#2e2532}.order-meta{font-size:.78rem;color:var(--cb-muted)}.production-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.32rem .58rem;font-size:.72rem;font-weight:800}.production-kitchen{background:#fff3d7;color:#7c570c}.production-bar{background:#e7efff;color:#2450a0}
.kds-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.kds-card{background:#fff;border:1px solid #e8e0ea;border-radius:19px;box-shadow:var(--cb-shadow);overflow:hidden}.kds-card-head{padding:.9rem 1rem;background:linear-gradient(180deg,#fff,#faf8fb);border-bottom:1px solid var(--cb-border)}.kds-card-body{padding:1rem}.kds-order{font-weight:850}.kds-time{font-size:.8rem;color:var(--cb-muted)}.kds-item{padding:.7rem 0;border-bottom:1px dashed #e7e0e9}.kds-item:last-child{border-bottom:0}.kds-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.8rem}.kds-actions .btn{min-height:44px}

/* Stock & achats */
.stock-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.stock-kpi{background:#fff;border:1px solid rgba(123,79,131,.08);border-radius:17px;padding:1rem;box-shadow:var(--cb-shadow)}.stock-kpi .value{font-size:1.35rem;font-weight:850}.stock-kpi .label{font-size:.78rem;color:var(--cb-muted)}
.purchase-form{background:linear-gradient(135deg,#fff,#fbf9fc);border:1px solid rgba(123,79,131,.08);border-radius:20px;box-shadow:var(--cb-shadow);padding:1.15rem}.purchase-lines thead th{background:#faf7fb}.purchase-lines tbody td{padding-top:.65rem;padding-bottom:.65rem}.history-card{background:#fff;border-radius:20px;border:1px solid rgba(123,79,131,.08);box-shadow:var(--cb-shadow);padding:1.2rem}

/* small screens */
@media(max-width:1399.98px){.pos-products{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-shell{grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:991.98px){.pos-shell{grid-template-columns:1fr}.pos-cart{position:static}.pos-products{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.kds-board{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.page-hero{align-items:flex-start;flex-direction:column}.page-hero-actions{width:100%}.page-hero-actions .btn{flex:1}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.pos-product{min-height:145px}.kds-board{grid-template-columns:1fr}.stock-kpis{grid-template-columns:1fr 1fr}.section-panel,.history-card,.purchase-form{padding:.9rem}}

/* LOT 9F - Optimisation tablette / tactile */
html{touch-action:manipulation}
button,.btn,a,.form-control,.form-select{touch-action:manipulation}

@media (pointer:coarse){
  body{font-size:16px}
  .btn:not(.btn-sm),button:not(.btn-sm){min-height:48px}
  .form-control,.form-select{min-height:48px;font-size:16px}
  .form-control-sm,.form-select-sm{min-height:42px;font-size:15px}
  .dropdown-item{min-height:46px;display:flex;align-items:center}
  .nav-link{min-height:46px;display:flex;align-items:center}
  .qty-btn{min-width:42px;min-height:42px;font-size:1.15rem}
  input[type="checkbox"],input[type="radio"]{width:1.25rem;height:1.25rem}
}

@media (min-width:768px) and (max-width:1199.98px){
  main.container-fluid{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .page-hero{padding:1rem 1.1rem;position:relative}
  .page-hero h1,.page-hero h2{font-size:1.65rem}
  .page-hero-actions .btn{min-height:46px}
  .section-panel,.history-card,.purchase-form,.table-card{border-radius:16px}
  .app-navbar .navbar-brand{font-size:1.05rem}
  .app-navbar .navbar-toggler{min-width:48px;min-height:44px}
  .app-navbar .navbar-collapse{max-height:calc(100vh - 78px);overflow:auto}
  .app-navbar .dropdown-menu{font-size:1rem}
  .card-kpi .display-6,.stock-kpi .value{font-size:1.55rem}
  .table-card,.history-card,.section-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table:not(.table-compact){min-width:760px}
  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length select{min-height:42px;font-size:16px}
  .dataTables_wrapper .dataTables_paginate .paginate_button{padding:.55rem .8rem!important;min-width:42px}
  .modal-dialog{max-width:92vw;margin:1.25rem auto}
  .modal-content{border-radius:18px}
}

/* POS tablette : panier coulissant */
.pos-cart-mobile-toggle{display:none}
.pos-cart-close{display:none}
@media (max-width:991.98px){
  .pos-shell{display:block}
  .pos-toolbar .row>[class*="col-"]{margin-bottom:.2rem}
  .pos-products{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;padding-bottom:88px}
  .pos-product{min-height:150px}
  .pos-product .body{padding:.9rem}
  .pos-product .name{font-size:1rem}
  .pos-product .price{font-size:1.12rem}
  .pos-cart-mobile-toggle{display:flex;position:fixed;right:18px;bottom:18px;z-index:1040;border-radius:999px;box-shadow:0 12px 28px rgba(31,20,36,.28);min-height:56px;padding:.8rem 1.15rem;align-items:center;gap:.55rem;font-weight:800}
  .pos-cart-mobile-toggle .count{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#fff;color:#198754;font-size:.78rem;padding:0 .35rem}
  #posCartPanel{position:fixed;z-index:1060;top:0;right:0;bottom:0;width:min(430px,94vw);padding:12px;background:rgba(247,244,248,.98);transform:translateX(105%);transition:transform .24s ease;overflow:auto;box-shadow:-16px 0 45px rgba(31,20,36,.18)}
  body.pos-cart-open{overflow:hidden}
  body.pos-cart-open #posCartPanel{transform:translateX(0)}
  body.pos-cart-open:after{content:"";position:fixed;z-index:1055;inset:0;background:rgba(20,16,22,.46)}
  #posCartPanel .pos-cart{position:relative;top:auto;max-height:none;border-radius:18px}
  #posCartPanel .pos-cart-body{max-height:none;overflow:visible}
  .pos-cart-close{display:inline-flex;min-width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center}
}
@media (max-width:767.98px){
  .pos-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pos-toolbar .row>[class*="col-"]{width:100%}
  .pos-categories{margin-left:-.2rem;margin-right:-.2rem;padding-left:.2rem;padding-right:.2rem}
  .pos-categories .btn{min-height:44px;padding:.55rem .8rem;font-size:.9rem}
  .page-hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .page-hero-actions .btn{width:100%}
}

/* Tableaux en mode tablette */
@media (max-width:991.98px){
  .tablet-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tablet-scroll>.table{min-width:760px}
  .stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kds-card .btn{min-height:48px}
  .kds-board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .kds-board{grid-template-columns:1fr}
  .stock-kpis{grid-template-columns:1fr 1fr}
}

/* LOT 9G - PWA / application installée */
@supports (padding: max(0px)) {
  .app-navbar { padding-top: max(.35rem, env(safe-area-inset-top)); }
  .app-content { padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
}
.pwa-standalone body { overscroll-behavior-y: contain; }
.pwa-standalone .app-navbar { position: sticky; top: 0; z-index: 1035; }
@media (max-width: 991.98px) { .pwa-install-btn { min-height: 46px; } }
