*{box-sizing:border-box}body{margin:0;background:#f3f7f8;color:#152932;font-family:Inter,system-ui,sans-serif}header{height:70px;background:#071e29;color:#fff;display:flex;align-items:center;padding:0 3%;gap:18px;position:sticky;top:0;z-index:5}.brand{min-width:220px}.brand b{display:block}.brand small{color:#a9bcc4;font-size:10px}.session{display:flex;gap:8px;align-items:center;font-size:11px}nav{display:flex;gap:3px;overflow:auto;flex:1}button{cursor:pointer}nav button,#logout{border:0;background:transparent;color:#b8c9ce;padding:9px;border-radius:8px}nav button.active,nav button:hover{background:#163744;color:#61e0b7}main{max-width:1450px;margin:auto;padding:28px 4% 70px}.page{display:none}.page.active{display:block}.hero{background:linear-gradient(120deg,#082c39,#09685d);color:white;border-radius:24px;padding:34px;display:flex;justify-content:space-between;align-items:center}.hero small{letter-spacing:1.7px;color:#6de4bb;font-weight:800}.hero h1{font-size:46px;margin:10px 0}.hero em{color:#6de4bb;font-style:normal}.hero p{color:#d0dde0}.hero-stat{border:1px solid #ffffff22;background:#ffffff12;border-radius:15px;padding:18px 24px}.hero-stat b{font-size:28px;display:block}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:15px 0}.cards article,.panel{background:#fff;border:1px solid #dfe8eb;border-radius:16px;padding:19px;box-shadow:0 7px 24px #061e2908}.cards span{color:#70838a;font-size:12px}.cards b{display:block;font-size:28px;margin-top:7px}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.panel h2{margin:0 0 4px}.panel p{color:#73858d;font-size:13px}.primary{background:#087e70;color:white;border:0;border-radius:9px;padding:10px 14px;font-weight:800}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid #edf1f2;font-size:13px}th{font-size:10px;text-transform:uppercase;color:#74868c}.toolbar{display:flex;gap:10px}.toolbar input{padding:10px;border:1px solid #d9e3e6;border-radius:8px;flex:1}.badge{padding:4px 7px;border-radius:15px;background:#e8f8f3;color:#087e70;font-size:10px;font-weight:800}.danger{color:#b24d37;font-weight:800}.staff{border:1px solid #e1eaec;padding:12px;border-radius:10px;margin:8px 0}.shift{display:inline-block;padding:7px;margin:3px;background:#eef8f5;border-radius:6px;font-size:11px}@media(max-width:950px){nav{display:none}.cards{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.hero h1{font-size:36px}}@media(max-width:550px){.cards{grid-template-columns:1fr}.hero{display:block}}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.formgrid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#63767d}.formgrid input,.formgrid select{padding:10px;border:1px solid #d9e3e6;border-radius:8px;font:inherit;color:#152932}.formgrid .full{grid-column:1/-1}.roles{display:flex;gap:8px;flex-wrap:wrap}.leave{border:1px solid #e1eaec;padding:12px;border-radius:10px;margin:8px 0}.leave .actions{display:flex;gap:7px;margin-top:9px}.leave button{border:0;border-radius:7px;padding:7px 10px}.approve{background:#e8f8f3;color:#087e70}.reject{background:#fff0ed;color:#a04432}.muted{color:#73858d;font-size:12px}
@media(max-width:650px){.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}}

.tenant-select{padding:7px 10px;border-radius:8px;border:1px solid #49646d;background:#12333e;color:#fff}.pharmacy-logo{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff}

#pharmaciesNav{white-space:nowrap}
#pharmaciesTable td{vertical-align:middle}

#accountsNav{white-space:nowrap}#returnSuperAdmin{cursor:pointer}.small{padding:5px 8px;border-radius:6px}

/* V4.3.1 navigation override */
.page{display:none}.page.active{display:block}

[data-page]{cursor:pointer}

.staff{padding:12px 0;border-bottom:1px solid #e5ecef}
.actions{display:flex;gap:8px;margin-top:8px}
.approve,.reject{padding:6px 10px;border-radius:6px;border:0;cursor:pointer}
.approve{background:#dff5e8}.reject{background:#fde4e4}

.sales-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sale-row{padding:10px 0;border-bottom:1px solid #e5ecef}@media(max-width:800px){.sales-grid{grid-template-columns:1fr}}

/* Module Vente V1 — ajout isolé sur V4.5 Stable */
.sale-checkout[hidden]{display:none!important}.sale-checkout{margin-top:18px;padding-top:18px;border-top:1px solid #dfe8ea}.sale-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sale-column{min-width:0}.sale-picker{max-height:440px;overflow:auto;border-top:1px solid #e4ebef}.sale-pick-row,.sale-cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e4ebef}.sale-pick-row small,.sale-cart-row small{display:block;opacity:.72;margin-top:3px}.sale-qty{display:flex;align-items:center;gap:7px;white-space:nowrap}.sale-total-line{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;padding:16px 0}.sale-toolbar{margin-top:14px}@media(max-width:850px){.sale-grid{grid-template-columns:1fr}}

.sale-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sale-pick-row,.sale-cart-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e4ebef}
.sale-pick-row small,.sale-cart-row small{display:block;opacity:.7}
.sale-qty{display:flex;align-items:center;gap:8px}.sale-cart-total{text-align:right;font-size:1.25rem;margin:16px 0}.sale-main-actions{margin-top:18px}.notice{min-height:1.2em;margin:8px 0;font-size:.92rem}
@media(max-width:800px){.sale-grid-v2{grid-template-columns:1fr}}

.table-wrap{overflow:auto}
.greeting-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e4ebef}
.greeting-row small{display:block;opacity:.7;margin-top:3px}
.sale-comms{margin-top:18px;padding:14px;border:1px solid #dfe8eb;border-radius:10px;background:#fafcfd}
@media(max-width:800px){.greeting-row{align-items:flex-start;flex-direction:column}}

.sales-history-toolbar{margin:18px 0}
.sales-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.sales-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.sales-kpi span{display:block;font-size:.84rem;opacity:.7;margin-bottom:5px}
.sales-kpi strong{font-size:1.15rem}
.sales-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sales-filters input,.sales-filters select{min-width:145px}
.sales-history-table-wrap{overflow:auto}
.sales-history-table{min-width:1200px;width:100%}
.sales-history-table th{white-space:nowrap}
.sales-history-table td{vertical-align:middle}
.sales-total-cell{white-space:nowrap;text-align:right}
.salesPdfDownload{white-space:nowrap}
@media(max-width:900px){.sales-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sales-kpis{grid-template-columns:1fr}.sales-filters>*{width:100%}}

.saleDocDownloadV5{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.salePdfDownloadV5{white-space:nowrap}

.salePdfDownloadV6{white-space:nowrap;font-weight:600}

.clients-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:16px 0}
.client-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.client-kpi span{display:block;font-size:.84rem;opacity:.7;margin-bottom:5px}
.client-kpi strong{font-size:1.18rem}
.client-toolbar{margin:14px 0}.client-toolbar input{min-width:260px}
.clients-table{min-width:1250px}
.purchase-count{display:inline-flex;min-width:34px;justify-content:center;padding:5px 9px;border-radius:999px;background:#edf4f7;font-weight:700}
.consent{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:700}
.consent-yes{background:#e3f6ea;color:#17633a}.consent-no{background:#f4f5f6;color:#666}
.client-modal[hidden]{display:none!important}
.client-modal{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px}
.client-modal-backdrop{position:absolute;inset:0;background:rgba(16,28,35,.58);backdrop-filter:blur(3px)}
.client-modal-card{position:relative;width:min(900px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:22px}
.client-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e7edef;padding-bottom:14px;margin-bottom:18px}
.client-modal-head h3{margin:0}.client-modal-head p{margin:4px 0 0;opacity:.7}
.icon-button{border:0;background:#f1f4f5;border-radius:999px;width:38px;height:38px;font-size:24px;cursor:pointer}
.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.client-birth-group,.client-consent-block,.client-meta-block{grid-column:1/-1;padding:14px;border:1px solid #e2e9ec;border-radius:12px;background:#fafcfd}
.client-birth-fields{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:10px;margin-top:8px}
.client-consent-block>span,.client-birth-group>span{font-weight:700;display:block;margin-bottom:8px}
.client-switch-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 0;border-top:1px solid #e8edef}
.client-switch-row:first-of-type{border-top:0}.client-switch-row small{display:block;opacity:.65}
.client-switch-row input{width:22px;height:22px}
.client-meta-block{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.client-meta-block span{display:block;font-size:.8rem;opacity:.65;margin-bottom:4px}
.client-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
body.modal-open{overflow:hidden}
.birthday-highlight{padding:10px 12px;border-radius:10px;background:#fff5dd;margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}
@media(max-width:800px){
  .clients-kpis{grid-template-columns:1fr 1fr}
  .client-form-grid{grid-template-columns:1fr}
  .client-birth-fields,.client-meta-block{grid-template-columns:1fr}
}
@media(max-width:520px){.clients-kpis{grid-template-columns:1fr}}

#clientsImportStatus{margin:10px 0}
#clientsImportStatus.danger{color:#a33}

.products-v9-table{min-width:1050px}.product-modal-card{width:min(920px,96vw)}
.inventory-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:16px 0}
.inventory-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.inventory-kpi span{display:block;font-size:.84rem;opacity:.7;margin-bottom:5px}
.inventory-kpi strong{font-size:1.15rem}
.inventory-table{min-width:1100px}
@media(max-width:900px){.inventory-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.inventory-kpis{grid-template-columns:1fr}}

.personal-hero{margin-bottom:16px}
.personal-profile{display:flex;gap:28px;flex-wrap:wrap}.personal-profile>div{display:flex;flex-direction:column;gap:3px}.personal-profile span{font-size:.84rem;opacity:.68}
.personal-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.personal-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.personal-kpi span{display:block;font-size:.82rem;opacity:.68;margin-bottom:5px}.personal-kpi strong{font-size:1.18rem}
.personal-grid{align-items:start}
.personal-list-row,.presence-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid #e7edef}
.personal-list-row small,.presence-row small{display:block;opacity:.68;margin-top:3px}.payroll-amount{text-align:right}.payroll-amount span{display:block;font-size:.75rem;opacity:.65}
.calendar-controls{display:flex;align-items:center;gap:8px}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 14px;font-size:.88rem}
.cal-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.cal-dot.present{background:#2f9e63}.cal-dot.leave{background:#e9a23b}.cal-dot.off{background:#adb5bd}
.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-weekday{text-align:center;font-size:.78rem;font-weight:700;opacity:.62;padding:5px}
.cal-day{min-height:78px;border:1px solid #e2e8eb;border-radius:10px;padding:7px;background:#fff;overflow:hidden}
.cal-day.empty{border:0;background:transparent}.cal-day.present{background:#edf9f1;border-color:#bfe5cd}.cal-day.leave{background:#fff6e8;border-color:#f2d59f}.cal-day.off{background:#f6f7f8;color:#757d82}.cal-day.today{outline:2px solid #267c72}
.cal-number{display:block;font-weight:800;margin-bottom:5px}.cal-day small{font-size:.69rem;line-height:1.2;display:block}
.presence-badge,.leave-status{padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}
.presence-badge.present{background:#e3f6ea;color:#17633a}.presence-badge.leave{background:#fff0d7;color:#8a5a00}.presence-badge.off{background:#eceff1;color:#667078}
.personal-leave{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.personal-leave>small{grid-column:1/-1}.leave-status.approuvee{background:#e3f6ea;color:#17633a}.leave-status.refusee{background:#fde8e8;color:#a02f2f}.leave-status.en_attente{background:#fff0d7;color:#8a5a00}
@media(max-width:900px){.personal-kpis{grid-template-columns:1fr 1fr}.month-calendar{gap:4px}.cal-day{min-height:70px;padding:5px}}
@media(max-width:600px){.personal-kpis{grid-template-columns:1fr}.month-calendar{grid-template-columns:repeat(7,minmax(42px,1fr));overflow:auto}.cal-day small{display:none}}

.staff-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}
.staff-kpi{padding:12px;border:1px solid #dfe8eb;border-radius:11px;background:#fafcfd}
.staff-kpi span{display:block;font-size:.8rem;opacity:.66;margin-bottom:4px}.staff-kpi strong{font-size:1.12rem}
.staff-card-v11{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid #e5ecef}
.staff-card-main small{display:block;opacity:.7;margin-top:4px}.staff-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.staff-tags span{padding:4px 8px;border-radius:999px;background:#edf3f5;font-size:.78rem}
.staff-modal-card{width:min(920px,96vw)}
.processed-leave-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid #e5ecef}
.processed-leave-row small{display:block;opacity:.68;margin-top:3px}.processed-leave-meta{text-align:right}
@media(max-width:800px){.staff-kpis{grid-template-columns:1fr 1fr}.staff-card-v11,.processed-leave-row{flex-direction:column}.processed-leave-meta{text-align:left}}

.license-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:16px 0}
.license-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.license-kpi span{display:block;font-size:.82rem;opacity:.68;margin-bottom:5px}.license-kpi strong{font-size:1.15rem}
.license-table{min-width:950px}.license-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:700}
.license-active{background:#e3f6ea;color:#17633a}.license-soon{background:#fff0d7;color:#8a5a00}.license-expired{background:#fde8e8;color:#a02f2f}
.license-blocked-overlay{position:fixed;inset:0;z-index:50000;background:rgba(16,28,35,.78);display:grid;place-items:center;padding:20px}
.license-blocked-card{width:min(520px,94vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.35);text-align:center}
@media(max-width:700px){.license-kpis{grid-template-columns:1fr 1fr}}

.dashboard-v13-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}
.dashboard-v13-head h1{margin:3px 0}.dashboard-v13-head p{margin:0;opacity:.7}.dashboard-period{display:flex;gap:8px;align-items:end}
.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px;margin-bottom:16px}
.dashboard-kpi{background:#fff;border:1px solid #e1e8ea;border-radius:15px;padding:15px;box-shadow:0 5px 18px rgba(30,50,60,.04)}
.dashboard-kpi span{display:block;font-size:.78rem;opacity:.68;margin-bottom:7px}.dashboard-kpi b{font-size:1.27rem}.dashboard-kpi small{display:block;margin-top:6px;opacity:.62}
.primary-kpi{grid-column:span 2}.alert-kpi b{color:#b54a3e}
.dashboard-grid-main{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch}
.dashboard-chart-panel{min-width:0}.dashboard-canvas{width:100%;display:block}.small-chart{max-width:420px;margin:auto}
.dashboard-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:8px;font-size:.82rem}
.dashboard-legend span{display:flex;align-items:center;gap:5px}.dashboard-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.dashboard-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e6ecee}
.dashboard-list-row small{display:block;opacity:.65;margin-top:3px}.stock-alert-badge{min-width:35px;text-align:center;padding:5px 9px;border-radius:999px;background:#fde8e8;color:#a02f2f;font-weight:800}
.dashboard-insights{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-insights>div{padding:13px;border-radius:11px;background:#f6f9fa}
.dashboard-insights span{display:block;font-size:.8rem;opacity:.65}.dashboard-insights strong{display:block;font-size:1.15rem;margin-top:4px}
.dashboard-financial-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-financial-kpis>div{padding:14px;border-radius:12px;background:#f8fafb;border:1px solid #e3eaec}
.dashboard-financial-kpis span{display:block;font-size:.8rem;opacity:.65;margin-bottom:5px}.dashboard-financial-kpis strong{font-size:1.15rem}
@media(max-width:1200px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.primary-kpi{grid-column:span 1}}
@media(max-width:850px){.dashboard-grid-main{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-v13-head{align-items:flex-start;flex-direction:column}.dashboard-financial-kpis{grid-template-columns:1fr}}
@media(max-width:520px){.dashboard-kpis{grid-template-columns:1fr}.dashboard-insights{grid-template-columns:1fr}.dashboard-period{width:100%;flex-wrap:wrap}}

.safety-alert-kpis{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:16px 0}
.safety-kpi{padding:14px;border:1px solid #dfe8eb;border-radius:12px;background:#fafcfd}
.safety-kpi span{display:block;font-size:.8rem;opacity:.68;margin-bottom:5px}.safety-kpi strong{font-size:1.18rem}
.safety-kpi.critical strong{color:#b33c32}.safety-toolbar{margin-bottom:12px}.safety-toolbar input{min-width:320px}
.safety-source-box{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid #e0e8ea;border-radius:12px;background:#fafcfd;margin:14px 0}
.safety-source-box>div{display:flex;flex-direction:column}.safety-source-box span{font-size:.82rem;opacity:.68}
.safety-alert-list{display:grid;gap:12px}.safety-alert-card{border:1px solid #e2e9eb;border-radius:14px;padding:15px;background:#fff}
.safety-alert-card.stock-match{border-color:#e0a33d;box-shadow:0 0 0 2px rgba(224,163,61,.1)}
.safety-alert-card-head{display:flex;justify-content:space-between;gap:16px}.safety-alert-card-head h3{margin:5px 0}.safety-alert-card-head p{margin:0;opacity:.68}
.safety-source{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e6f4f1;color:#176a60;font-size:.75rem;font-weight:700}
.safety-alert-date{font-size:.82rem;white-space:nowrap;opacity:.68}
.safety-stock-warning{margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff2db;color:#7d5100;font-weight:700}
.safety-alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:12px}
.safety-alert-grid>div{padding:10px;border-radius:10px;background:#f8fafb}.safety-alert-grid span{font-size:.76rem;font-weight:700;opacity:.65}.safety-alert-grid p{margin:4px 0 0;line-height:1.35}
@media(max-width:800px){.safety-alert-kpis{grid-template-columns:1fr}.safety-alert-grid{grid-template-columns:1fr}.safety-toolbar input{min-width:0;width:100%}.safety-alert-card-head{flex-direction:column}}

.app-shell-v15{display:none}
.login-screen-v15{min-height:100vh;display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,460px);align-items:center;gap:48px;padding:clamp(28px,6vw,90px);background:linear-gradient(135deg,#edf7f4 0%,#f8fbfb 48%,#e9f0f7 100%);position:fixed;inset:0;z-index:60000;overflow:auto}
.login-brand-v15{display:flex;gap:20px;align-items:flex-start;max-width:680px}.login-logo-v15{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;background:#087e70;color:#fff;font-size:36px;box-shadow:0 18px 45px rgba(8,126,112,.22)}
.login-brand-v15 small{font-weight:800;letter-spacing:.12em;color:#087e70}.login-brand-v15 h1{font-size:clamp(42px,6vw,76px);line-height:.95;margin:10px 0 18px}.login-brand-v15 p{font-size:1.08rem;max-width:520px;opacity:.7;line-height:1.55}
.login-card-v15{background:#fff;border:1px solid #dfe8ea;border-radius:22px;padding:28px;box-shadow:0 28px 75px rgba(26,52,61,.13)}
.login-card-head-v15{margin-bottom:22px}.login-card-head-v15 h2{font-size:1.7rem;margin:0 0 6px}.login-card-head-v15 p{margin:0;opacity:.65}
.login-card-v15 form{display:grid;gap:15px}.login-card-v15 label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.login-card-v15 input{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:11px;border:1px solid #ccd8dc;background:#fbfcfd;font-size:1rem}
.password-field-v15{display:grid;grid-template-columns:1fr auto;border:1px solid #ccd8dc;border-radius:11px;background:#fbfcfd;overflow:hidden}.password-field-v15 input{border:0;border-radius:0;background:transparent}.password-field-v15 button{border:0;background:transparent;padding:0 13px;cursor:pointer}
.login-submit-v15{width:100%;padding:13px;margin-top:4px}.login-error-v15{min-height:1.3em;color:#a02f2f;font-size:.88rem}.login-security-v15{margin-top:18px;padding-top:15px;border-top:1px solid #e8edef;text-align:center;font-size:.8rem;opacity:.62}
@media(max-width:850px){.login-screen-v15{grid-template-columns:1fr;gap:25px}.login-brand-v15 h1{font-size:48px}.login-brand-v15{max-width:500px}}

.accounting-period-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.accounting-kpis-v151{display:grid;grid-template-columns:repeat(4,minmax(155px,1fr));gap:12px;margin:16px 0}
.accounting-kpi-v151{padding:15px;border:1px solid #dfe7e9;border-radius:14px;background:#fafcfd}
.accounting-kpi-v151 span{display:block;font-size:.79rem;opacity:.68;margin-bottom:6px}.accounting-kpi-v151 strong{font-size:1.16rem}.accounting-kpi-v151 small{display:block;margin-top:5px;opacity:.62}
.accounting-kpi-v151.income{background:#eef9f5;border-color:#c5e8dc}.accounting-kpi-v151.result{background:#eef5ff}.accounting-kpi-v151.cash{background:#f4f1ff}
.accounting-kpi-v151.negative{background:#fff0f0;border-color:#efc1c1}.accounting-kpi-v151.negative strong{color:#a33131}.accounting-kpi-v151.positive strong{color:#17633a}
.accounting-grid-v151{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.accounting-inner-panel-v151{box-shadow:none;background:#fcfdfd}
.accounting-chart-v151{width:100%;display:block}.accounting-legend-v151{text-align:center;font-size:.83rem;opacity:.7;margin-top:8px}
.accounting-insights-v151{display:grid;grid-template-columns:1fr 1fr;gap:10px}.accounting-insights-v151>div{padding:12px;border-radius:10px;background:#f5f8f9}
.accounting-insights-v151 span{display:block;font-size:.77rem;opacity:.64}.accounting-insights-v151 strong{display:block;margin-top:4px;font-size:1.08rem}
.accounting-entry-grid-v151{align-items:start}.accounting-list-row-v151{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e6ecee}.accounting-list-row-v151 small{display:block;opacity:.65;margin-top:3px}
.accounting-table-v151{min-width:1250px}.accounting-type-v151{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:700}.accounting-type-v151.depense{background:#fff0d7;color:#805600}.accounting-type-v151.investissement{background:#ece8ff;color:#5c46a0}
.accounting-disclaimer-v151{border-left:4px solid #6f8290}.accounting-disclaimer-v151 p{margin:5px 0 0;opacity:.72}
@media(max-width:1050px){.accounting-kpis-v151{grid-template-columns:1fr 1fr}.accounting-grid-v151{grid-template-columns:1fr}}
@media(max-width:600px){.accounting-kpis-v151{grid-template-columns:1fr}.accounting-insights-v151{grid-template-columns:1fr}.accounting-period-actions{width:100%}}

#accountingViewModeV151,#accountingYearV152{min-width:110px}
.accounting-period-actions select,.accounting-period-actions input{height:38px}

.product-supplier-title-v153{grid-column:1/-1;margin-top:8px;padding:10px 12px;border-radius:10px;background:#f3f7f8;font-weight:800;color:#29434a;border-left:4px solid #087e70}

.order-kpis-v154{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.order-kpis-v154>div{padding:14px;border:1px solid #dfe7e9;border-radius:12px;background:#fafcfd}.order-kpis-v154 span{display:block;font-size:.8rem;opacity:.65}.order-kpis-v154 strong{font-size:1.2rem}
.purchase-orders-list-v154{display:grid;gap:13px}.purchase-order-card-v154{border:1px solid #dfe7e9;border-radius:15px;padding:15px;background:#fff}.purchase-order-head-v154{display:flex;justify-content:space-between;gap:15px}.purchase-order-head-v154 h3{margin:6px 0 3px}.purchase-order-head-v154 p{margin:0;opacity:.65}
.purchase-order-total-v154{text-align:right;font-size:1.13rem;font-weight:800}.purchase-order-total-v154 small{display:block;font-size:.72rem;font-weight:400;opacity:.65}.order-status-v154{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.73rem;font-weight:800;background:#edf2f4}.order-status-v154.proposee,.order-status-v154.devis_recu{background:#fff0d7;color:#805600}.order-status-v154.recue{background:#e3f6ea;color:#17633a}.order-status-v154.refusee,.order-status-v154.annulee{background:#fde8e8;color:#a02f2f}.order-status-v154.en_traitement,.order-status-v154.devis_valide{background:#e9edff;color:#4058a8}
.order-lines-summary-v154{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.order-lines-summary-v154 span{padding:5px 8px;background:#f4f7f8;border-radius:8px;font-size:.8rem}.order-comment-v154{padding:8px 10px;background:#fafbfc;border-left:3px solid #82949b}
.quote-summary-v154{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#f2f6ff;margin:10px 0}.quote-summary-v154 span{font-size:.84rem}.order-actions-v154{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.order-history-v154{margin-top:12px;border-top:1px solid #e7edef;padding-top:8px}.order-history-v154 summary{cursor:pointer;font-weight:700;font-size:.84rem}.order-history-v154 details{}.order-history-v154>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:7px 0;border-bottom:1px dotted #e5eaec;font-size:.8rem}.order-history-v154>div small{grid-column:1/-1;opacity:.65}
.order-modal-card-v154{width:min(980px,96vw)}.order-supplier-box-v154{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#f4f8f8;border-radius:11px;margin-bottom:12px}.order-supplier-box-v154 span{display:block;font-size:.75rem;opacity:.62}.order-add-line-v154{display:grid;grid-template-columns:1fr 120px auto;gap:8px;margin-bottom:12px}.order-total-v154{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-top:12px;font-size:1rem}.order-total-v154 strong{font-size:1.2rem}.order-quote-card-v154{width:min(760px,95vw)}
@media(max-width:800px){.order-kpis-v154{grid-template-columns:1fr 1fr}.purchase-order-head-v154,.quote-summary-v154{flex-direction:column}.purchase-order-total-v154{text-align:left}.order-add-line-v154{grid-template-columns:1fr}.order-supplier-box-v154{grid-template-columns:1fr}}
@media(max-width:520px){.order-kpis-v154{grid-template-columns:1fr}}

.supplier-kpis-v155{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.supplier-kpis-v155>div{padding:14px;border:1px solid #dfe7e9;border-radius:12px;background:#fafcfd}.supplier-kpis-v155 span{display:block;font-size:.8rem;opacity:.65}.supplier-kpis-v155 strong{font-size:1.2rem}.supplier-table-v155{min-width:1000px}.supplier-modal-card-v155{width:min(760px,95vw)}@media(max-width:700px){.supplier-kpis-v155{grid-template-columns:1fr}}

.sale-expired-note-v156{color:#a02f2f;font-weight:700;font-size:.78rem}

.leave-balance-v157{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:11px;background:#f4f8f8;border:1px solid #dfe8ea}
.leave-balance-v157>div{padding:8px}.leave-balance-v157 span{display:block;font-size:.76rem;opacity:.65}.leave-balance-v157 strong{display:block;margin-top:3px;font-size:1.05rem}
@media(max-width:600px){.leave-balance-v157{grid-template-columns:1fr}}

.payrollSlipV158{white-space:nowrap}

.payroll-profile-v159{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;align-items:end;margin:14px 0}
.payroll-country-panel-v159{margin:12px 0 16px;padding:14px;border:1px solid #dfe8ea;border-radius:13px;background:#fafcfd}
.payroll-country-panel-v159 h3{margin-top:0}
@media(max-width:700px){.payroll-profile-v159{grid-template-columns:1fr}}

.payroll-profile-pill-v1510{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}
.payroll-profile-pill-v1510.burkina{background:#e5f5ec;color:#23613e}
.payroll-profile-pill-v1510.generic{background:#e9edff;color:#4058a8}
#payrollProfileV159:disabled{opacity:1;background:#eef3f4;font-weight:800;cursor:not-allowed}

.catalog-table-v1511{min-width:1050px}.file-button-v1511{cursor:pointer;display:inline-flex;align-items:center}.payroll-profile-pill-v1510{white-space:nowrap}

.notification-bell-v1512{position:relative;min-width:42px}.notification-bell-v1512>span{position:absolute;right:-5px;top:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c33;color:#fff;font-size:.68rem;display:grid;place-items:center;font-weight:800}
.notification-drawer-v1512{position:fixed;z-index:50000;top:76px;right:18px;width:min(430px,calc(100vw - 26px));max-height:72vh;background:#fff;border:1px solid #d9e3e6;border-radius:16px;box-shadow:0 24px 70px #0003;overflow:hidden}
.notification-drawer-head-v1512{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #e5ebed}.notification-drawer-head-v1512 h3{margin:0}.notification-drawer-head-v1512 small{opacity:.65}
.notification-list-v1512{overflow:auto;max-height:60vh;padding:7px}.notification-item-v1512{width:100%;border:0;border-bottom:1px solid #edf1f2;background:#fff;display:grid;grid-template-columns:36px 1fr 12px;gap:8px;text-align:left;padding:11px;border-radius:10px;cursor:pointer}.notification-item-v1512:hover{background:#f6f9fa}.notification-item-v1512.unread{background:#f2f8f7}.notification-item-v1512.critical{border-left:4px solid #c23c3c}.notification-item-v1512.high{border-left:4px solid #d39122}
.notification-icon-v1512{font-size:1.25rem;padding-top:3px}.notification-copy-v1512{display:flex;flex-direction:column;gap:3px}.notification-copy-v1512 b{font-size:.88rem}.notification-copy-v1512 small{line-height:1.3;color:#53656b}.notification-copy-v1512 em{font-style:normal;font-size:.7rem;opacity:.55}.notification-dot-v1512{width:8px;height:8px;border-radius:50%;background:#087e70;margin-top:6px}.notification-empty-v1512{padding:25px;text-align:center;color:#66777d}
.nav-count-v1512{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#c33;color:#fff;font-size:.65rem;padding:0 4px;margin-left:3px}
.chat-shell-v1512{max-width:1100px;margin:auto}.chat-online-v1512{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#edf7f4}
.chat-messages-v1512{height:min(62vh,650px);min-height:390px;overflow:auto;padding:15px;background:#f5f8f9;border:1px solid #e1e8ea;border-radius:14px;display:flex;flex-direction:column;gap:11px}
.chat-message-v1512{display:flex;gap:9px;max-width:82%;align-items:flex-start}.chat-message-v1512.mine{align-self:flex-end;flex-direction:row-reverse}.chat-avatar-v1512{width:34px;height:34px;border-radius:50%;background:#dce8e8;display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.chat-bubble-v1512{background:#fff;border:1px solid #dfe7e9;border-radius:13px;padding:9px 11px;box-shadow:0 2px 7px #00000008}.chat-message-v1512.mine .chat-bubble-v1512{background:#e7f5f1;border-color:#c9e8df}.chat-bubble-v1512>div{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.chat-bubble-v1512 b{font-size:.83rem}.chat-bubble-v1512 span,.chat-bubble-v1512 time{font-size:.68rem;opacity:.55}.chat-bubble-v1512 p{margin:5px 0 0;line-height:1.4;white-space:normal;word-break:break-word}
.chat-compose-v1512{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:11px}.chat-compose-v1512 textarea{resize:vertical;min-height:52px}.chat-empty-v1512{margin:auto;text-align:center;display:flex;flex-direction:column;gap:5px;color:#63747a}
@media(max-width:700px){.notification-drawer-v1512{top:64px;right:8px}.chat-message-v1512{max-width:94%}.chat-compose-v1512{grid-template-columns:1fr}.chat-messages-v1512{min-height:330px}}

.session-history-kpis-v1513{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.session-history-kpis-v1513>div{padding:14px;border:1px solid #dfe7e9;border-radius:12px;background:#fafcfd}
.session-history-kpis-v1513 span{display:block;font-size:.78rem;opacity:.66}.session-history-kpis-v1513 strong{display:block;margin-top:5px;font-size:1.08rem}
.session-history-table-v1513{min-width:900px}.session-event-v1513{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}
.session-event-v1513.login{background:#e5f5ec;color:#23613e}.session-event-v1513.logout{background:#eef2f4;color:#53656b}
@media(max-width:800px){.session-history-kpis-v1513{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.session-history-kpis-v1513{grid-template-columns:1fr}}

/* V15.14 — alertes visuelles produits */
#productsTable tr.product-row-expired-v1514 td{
  background:#ffe7e7 !important;
  border-top-color:#efb8b8;
  border-bottom-color:#efb8b8;
}
#productsTable tr.product-row-expired-v1514 td:first-child{border-left:4px solid #c43131}
#productsTable tr.product-row-critical-v1514 td{
  background:#fff4c7 !important;
  border-top-color:#e9d27b;
  border-bottom-color:#e9d27b;
}
#productsTable tr.product-row-critical-v1514 td:first-child{border-left:4px solid #d3a514}
.product-status-expired-v1514,.product-status-critical-v1514{
  display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;
  font-size:.67rem;font-weight:800;vertical-align:middle;margin-left:5px;
}
.product-status-expired-v1514{background:#c43131;color:#fff}
.product-status-critical-v1514{background:#d3a514;color:#3f3400}

.catalog-no-stock-v1515{display:inline-flex;margin-top:3px;padding:2px 6px;border-radius:999px;background:#eef2f4;color:#596b71;font-weight:700}
#orderLinesV154 td:nth-child(3) b{display:inline-flex;min-width:28px;justify-content:center;padding:3px 7px;border-radius:8px;background:#f0f4f5}

.seller-request-banner-v1516{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#eef5ff;border-left:4px solid #536fd1}
.seller-request-banner-v1516 div{display:flex;flex-direction:column;gap:3px}.seller-request-banner-v1516 span{font-size:.82rem;color:#53656b}
#saleRequestsListV1516{display:grid;gap:12px}
@media(max-width:700px){.seller-request-banner-v1516{flex-direction:column;align-items:flex-start}}

.request-client-create-v1517{padding:12px;border:1px solid #dfe7e9;border-radius:12px;background:#f8fafb}
#saleRequestPrescriptionFileV1517:disabled{opacity:.55}
body .seller-request-banner-v1516 + .sale-grid-v2 select:disabled,
body .seller-request-banner-v1516 + .sale-grid-v2 input:disabled{opacity:.85}

.payment-extra-v1519{margin-top:8px;padding:10px;border:1px solid #dfe7e9;border-radius:10px;background:#f8fafb}
.payment-change-v1519{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;margin-top:7px;border-radius:8px;background:#eef6f3}
.payment-change-v1519 strong{font-size:1.05rem;color:#17633a}

.insurance-sale-v1520{margin:12px 0;padding:12px;border:1px solid #dce6e8;border-radius:12px;background:#f7fafb}.insurance-sale-v1520 h4{margin:0 0 8px}
.insurance-summary-v1520{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.insurance-summary-v1520>div{padding:8px;border-radius:9px;background:#fff;border:1px solid #e2e9eb}.insurance-summary-v1520 span{display:block;font-size:.72rem;opacity:.65}.insurance-summary-v1520 strong{display:block;margin-top:3px}
.insurance-policy-editor-v1520{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin:12px 0}.insurance-table-v1520,.insurance-claims-table-v1520{min-width:1050px}
@media(max-width:900px){.insurance-policy-editor-v1520{grid-template-columns:1fr 1fr}.insurance-summary-v1520{grid-template-columns:1fr}}
@media(max-width:560px){.insurance-policy-editor-v1520{grid-template-columns:1fr}}

.insurance-rx-required-v15201{display:inline-flex;padding:5px 8px;border-radius:999px;background:#ffe6e6;color:#a72b2b;font-size:.76rem;font-weight:800}

/* === V15.21 : Vente compacte & FEFO (péremption la plus proche) === */
.sale-checkout-v1521{margin-top:10px}
.sale-top-grid-v1521{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;gap:14px!important;align-items:start}
.sale-products-panel-v1521,.sale-cart-panel-v1521{border:1px solid #dfe7e9;border-radius:14px;background:#fff;padding:12px;min-width:0}
.sale-cart-panel-v1521{position:sticky;top:76px}
.sale-section-head-v1521{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:8px}
.sale-section-head-v1521 h3{margin:0}.sale-section-head-v1521 small{font-size:.72rem;color:#687a80;text-align:right}
#saleSearchInput{position:sticky;top:0;z-index:2;background:#fff;margin-bottom:8px}
#saleProductPicker{max-height:46vh;min-height:260px;overflow:auto;padding-right:4px}
#saleCartList{max-height:38vh;min-height:210px;overflow:auto;padding-right:4px}
.sale-pick-card-v1521{border:1px solid #e2e9eb;border-radius:10px;padding:9px 10px;margin-bottom:7px;background:#fbfcfd}
.sale-pick-card-v1521:hover{background:#f3f8f7;border-color:#cbded9}
.sale-pick-card-v1521 small{display:block;margin-top:3px;line-height:1.25}
.sale-cart-total{position:sticky;bottom:0;background:#fff;border-top:1px solid #e2e9eb;padding-top:10px;margin-top:8px}
.sale-divider-v1521{margin:12px 0}
.sale-details-grid-v1521{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;align-items:start}
.sale-details-grid-v1521>div{border:1px solid #e4eaec;border-radius:12px;padding:12px;background:#fbfcfd}
.sale-details-grid-v1521 h3{margin-top:0}
.sale-details-grid-v1521 .notice{margin:6px 0}
.sale-details-grid-v1521 label{margin-bottom:7px}
.insurance-sale-v1520{margin:8px 0!important;padding:9px!important}
.payment-extra-v1519{padding:8px!important;margin-top:6px!important}
@media(max-width:980px){
  .sale-top-grid-v1521,.sale-details-grid-v1521{grid-template-columns:1fr!important}
  .sale-cart-panel-v1521{position:static}
  #saleProductPicker,#saleCartList{max-height:38vh}
}
@media(max-width:600px){
  .sale-products-panel-v1521,.sale-cart-panel-v1521,.sale-details-grid-v1521>div{padding:9px}
  .sale-section-head-v1521{align-items:flex-start;flex-direction:column}
}

/* V15.21.1 — optimisation Demande de vente / Accueil */
#saleRequestModalV1516 .order-modal-card-v154{
  width:min(1180px,96vw);
  max-height:94vh;
  overflow:auto;
}
.request-top-grid-v15211{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;
  gap:14px!important;
  align-items:start;
}
.request-products-panel-v15211,.request-cart-panel-v15211{
  border:1px solid #dfe7e9;
  border-radius:14px;
  background:#fff;
  padding:12px;
  min-width:0;
}
.request-cart-panel-v15211{position:sticky;top:0}
#saleRequestSearchV1516{
  position:sticky;
  top:0;
  z-index:2;
  background:#fff;
  margin-bottom:8px;
}
#saleRequestPickerV1516{
  max-height:42vh;
  min-height:250px;
  overflow:auto;
  padding-right:4px;
}
#saleRequestCartV1516{
  max-height:34vh;
  min-height:195px;
  overflow:auto;
  padding-right:4px;
}
.request-pick-card-v15211{
  border:1px solid #e2e9eb;
  border-radius:10px;
  padding:9px 10px;
  margin-bottom:7px;
  background:#fbfcfd;
}
.request-pick-card-v15211:hover{
  background:#f3f8f7;
  border-color:#cbded9;
}
.request-pick-card-v15211 small{
  display:block;
  margin-top:3px;
  line-height:1.25;
}
.request-details-v15211{
  padding:12px;
  border:1px solid #e4eaec;
  border-radius:12px;
  background:#fbfcfd;
}
#saleRequestModalV1516 .client-modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  background:#fff;
  border-top:1px solid #e2e9eb;
  padding-top:10px;
}
@media(max-width:980px){
  .request-top-grid-v15211{grid-template-columns:1fr!important}
  .request-cart-panel-v15211{position:static}
  #saleRequestPickerV1516,#saleRequestCartV1516{max-height:34vh}
}
@media(max-width:600px){
  .request-products-panel-v15211,.request-cart-panel-v15211,.request-details-v15211{padding:9px}
}

/* V15.22.3 — fiche produit inline */
.product-medical-title-v15223{grid-column:1/-1;margin-top:8px;padding:8px 10px;border-radius:10px;background:#eef6f3;font-weight:800;color:#245e53}
.product-name-link-v15223{border:0;background:transparent;padding:0;color:#126a5f;font:inherit;font-weight:800;text-align:left;cursor:pointer}.product-name-link-v15223:hover{text-decoration:underline}
.product-inline-card-v15223{margin:12px 18px 18px;padding:16px;border:1px solid #cfdadd;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0000000d}
.product-inline-card-v15223[hidden]{display:none!important}.product-inline-head-v15223{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #e4eaec;padding-bottom:10px;margin-bottom:12px}.product-inline-head-v15223 h2{margin:0}.product-inline-head-v15223 p{margin:4px 0 0;color:#6c7c81}
.product-inline-layout-v15223{display:grid;gap:14px}.product-inline-summary-v15223{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center}.product-inline-summary-v15223 h3{margin:0;font-size:1.35rem}.product-inline-summary-v15223 p{margin:4px 0;color:#607278}
.product-inline-image-v15223,.product-inline-image-placeholder-v15223{width:140px;height:140px;border:1px solid #dce5e7;border-radius:14px;background:#f7fafb;object-fit:contain;padding:6px}.product-inline-image-placeholder-v15223{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:2.8rem;color:#71848a}.product-inline-image-placeholder-v15223 span{font-size:.75rem}
.product-inline-tags-v15223{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.product-inline-tags-v15223 span{padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:800}.product-inline-tags-v15223 .rx{background:#ffe5e5;color:#a32626}.product-inline-tags-v15223 .free{background:#e6f5ee;color:#24623f}.product-inline-tags-v15223 .generic{background:#e8edff;color:#4058a8}
.product-inline-grid-v15223{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product-inline-item-v15223{padding:10px;border:1px solid #e1e8ea;border-radius:10px;background:#fbfcfd}.product-inline-item-v15223.wide{grid-column:1/-1}.product-inline-item-v15223 span{display:block;font-size:.7rem;color:#6b7d82;margin-bottom:4px;text-transform:uppercase}.product-inline-item-v15223 b{display:block;white-space:pre-wrap;line-height:1.45}
.product-inline-note-v15223{padding:10px 12px;border-left:4px solid #d49b2f;background:#fff7e3;border-radius:8px;font-size:.78rem;color:#665526}
@media(max-width:700px){.product-inline-card-v15223{margin:10px}.product-inline-summary-v15223{grid-template-columns:1fr}.product-inline-grid-v15223{grid-template-columns:1fr}.product-inline-item-v15223.wide{grid-column:auto}}

.withdrawProductV1523{margin-left:4px}
.withdrawProductV1523:not(:disabled){border-color:#c25b43;color:#9a321f}
.withdrawProductV1523:not(:disabled):hover{background:#fff0ec}

.audit-action-v15231{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef4f5;font-weight:800;font-size:.75rem}
.audit-detail-v15231{max-width:620px;white-space:normal;word-break:break-word;line-height:1.35}

/* === V15.25 : semaines de garde === */
.guard-week-kpis-v1525{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.guard-week-kpis-v1525>div{padding:10px 12px;border:1px solid #dfe7e9;border-radius:12px;background:#fbfcfd}.guard-week-kpis-v1525 span{display:block;font-size:.72rem;color:#6b7d82}.guard-week-kpis-v1525 strong{display:block;margin-top:4px}
.guard-week-modal-card-v1525{width:min(1100px,96vw);max-height:92vh;overflow:auto}
.guard-days-v1525{display:grid;gap:9px;margin-top:12px}.guard-days-head-v1525{display:flex;justify-content:space-between;gap:12px;align-items:end}.guard-days-head-v1525 small{color:#6b7d82}
.guard-day-card-v1525{display:grid;grid-template-columns:210px 190px 1fr;gap:12px;align-items:start;padding:10px;border:1px solid #e1e8ea;border-radius:12px;background:#fbfcfd}.guard-day-card-v1525.exceptional{border-left:4px solid #d9902f;background:#fffaf0}
.guard-day-title-v1525 b,.guard-day-title-v1525 span{display:block}.guard-day-title-v1525 span{font-size:.75rem;color:#6b7d82;margin-top:3px}.guard-day-times-v1525{display:flex;gap:6px}.guard-day-times-v1525 input{min-width:0}
.guard-staff-checks-v1525{display:flex;flex-wrap:wrap;gap:6px 12px}.guard-staff-checks-v1525 label{display:flex;align-items:center;gap:5px;font-size:.82rem}.guard-staff-checks-v1525 small{color:#71848a}
.guard-week-card-v1525{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 12px;border:1px solid #e0e8ea;border-radius:12px;margin-top:8px;background:#fff}.guard-week-card-v1525 small{display:block;color:#687b80;margin-top:3px}.guard-week-card-v1525 p{margin:5px 0 0;font-size:.82rem}.guard-week-actions-v1525{display:flex;align-items:center;gap:10px;white-space:nowrap}.guard-week-actions-v1525 span{font-size:.75rem;font-weight:800;color:#9a6420}
.guard-shift-badge-v1525{display:inline-flex;padding:3px 6px;border-radius:999px;background:#fff0d7;color:#8d5d1d;font-size:.68rem;font-weight:800;margin-left:4px}
@media(max-width:850px){.guard-day-card-v1525{grid-template-columns:1fr}.guard-week-kpis-v1525{grid-template-columns:1fr}.guard-week-card-v1525{align-items:flex-start;flex-direction:column}}

/* === V15.25.1 : historique personnel Accueil === */
.accueil-history-panel-v15251{margin-top:16px}
.accueil-history-summary-v15251{display:flex;flex-wrap:wrap;gap:7px}
.accueil-history-summary-v15251 span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#eef4f5;font-size:.76rem}
.accueil-history-summary-v15251 b{font-size:.9rem}
.accueil-history-table-v15251{min-width:980px}
.accueil-history-table-v15251 td{vertical-align:top}
.accueil-products-v15251{max-width:300px;line-height:1.35}

/* === V15.25.2 : fiche produit visible dans Demande de vente === */
.request-product-details-v15252{
  margin:12px 0;
  border:1px solid #cfdadd;
  box-shadow:none;
  background:#fff;
}
#saleRequestModalV1516 .request-product-details-v15252{
  position:relative;
  z-index:1;
}
#saleRequestModalV1516 .request-product-details-v15252 .product-inline-summary-v15223{
  grid-template-columns:120px 1fr;
}
#saleRequestModalV1516 .request-product-details-v15252 .product-inline-image-v15223,
#saleRequestModalV1516 .request-product-details-v15252 .product-inline-image-placeholder-v15223{
  width:120px;
  height:120px;
}
@media(max-width:700px){
  #saleRequestModalV1516 .request-product-details-v15252 .product-inline-summary-v15223{
    grid-template-columns:1fr;
  }
}

/* === V15.26 : recettes & prévisions === */
.dashboard-forecast-v1526{margin:16px 0;padding:16px;border:1px solid #dce6e8;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfb)}
.forecast-updated-v1526{font-size:.75rem;color:#687b80}
.forecast-kpis-v1526{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.forecast-kpis-v1526 article{padding:12px;border:1px solid #e0e8ea;border-radius:12px;background:#fff}.forecast-kpis-v1526 span{display:block;font-size:.72rem;color:#687b80}.forecast-kpis-v1526 strong{display:block;font-size:1.25rem;margin:4px 0}.forecast-kpis-v1526 small{color:#728389}
.forecast-grid-v1526{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:12px}
.forecast-day-card-v1526,.forecast-weekday-card-v1526{padding:14px;border:1px solid #e0e8ea;border-radius:14px;background:#fff}.forecast-day-title-v1526{display:flex;justify-content:space-between;gap:10px;align-items:center}.forecast-day-title-v1526 span{font-size:.72rem;color:#687b80}.forecast-day-title-v1526 strong{display:block;margin-top:3px;text-transform:capitalize}
.forecast-signal-v1526{padding:5px 8px;border-radius:999px;font-weight:800!important}.forecast-signal-v1526.high{background:#e3f5e9;color:#24633b}.forecast-signal-v1526.low{background:#ffe9e6;color:#9d3527}.forecast-signal-v1526.normal{background:#eef4f5;color:#45636b}
.forecast-day-values-v1526{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.forecast-day-values-v1526>div{padding:9px;border-radius:10px;background:#f7fafb}.forecast-day-values-v1526 span{display:block;font-size:.7rem;color:#6d7d82}.forecast-day-values-v1526 b{display:block;margin-top:3px}.forecast-explanation-v1526{margin:10px 0 0;font-size:.8rem;color:#607278;line-height:1.4}
.forecast-weekday-card-v1526 h3{margin:0}.forecast-weekday-card-v1526>p{margin:4px 0 10px;color:#687b80;font-size:.78rem}.forecast-weekdays-v1526{display:grid;gap:7px}.forecast-weekday-row-v1526{display:grid;grid-template-columns:34px 1fr 40px 92px;gap:7px;align-items:center;font-size:.76rem}.forecast-weekday-row-v1526.today{font-weight:800}.forecast-weekday-bar-v1526{height:8px;background:#edf2f3;border-radius:999px;overflow:hidden}.forecast-weekday-bar-v1526 i{display:block;height:100%;background:currentColor;border-radius:999px}.forecast-weekday-row-v1526 small{text-align:right;color:#64767c}
.accounting-receipts-v1526{margin-top:16px}.accounting-receipts-summary-v1526{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 0}.accounting-receipts-summary-v1526>div{padding:10px;border:1px solid #e0e8ea;border-radius:11px;background:#fbfcfd}.accounting-receipts-summary-v1526 span{display:block;font-size:.7rem;color:#687b80}.accounting-receipts-summary-v1526 strong{display:block;margin-top:3px}.accounting-receipts-table-v1526{min-width:1050px}
@media(max-width:980px){.forecast-kpis-v1526{grid-template-columns:1fr 1fr}.forecast-grid-v1526{grid-template-columns:1fr}.accounting-receipts-summary-v1526{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.forecast-kpis-v1526,.accounting-receipts-summary-v1526{grid-template-columns:1fr}.forecast-day-values-v1526{grid-template-columns:1fr}.forecast-weekday-row-v1526{grid-template-columns:30px 1fr 36px 76px}}

/* === V16.1 : comptes & ticketing === */
.account-kpis-v161,.ticket-kpis-v161{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.account-kpis-v161>div,.ticket-kpis-v161>div{padding:10px 12px;border:1px solid #e0e8ea;border-radius:11px;background:#fbfcfd}.account-kpis-v161 span,.ticket-kpis-v161 span{display:block;font-size:.72rem;color:#687b80}.account-kpis-v161 strong,.ticket-kpis-v161 strong{display:block;margin-top:4px}
.team-accounts-table-v161,.tickets-table-v161{min-width:950px}.temp-password-v161{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff0d7;color:#8b5b18;font-size:.72rem;font-weight:800}.password-generate-v161{display:flex;gap:6px}.password-generate-v161 input{flex:1}
.force-password-overlay-v161{position:fixed;inset:0;z-index:999999;background:#10242be8;display:grid;place-items:center;padding:18px}.force-password-overlay-v161[hidden]{display:none!important}.force-password-card-v161{width:min(520px,94vw);padding:24px;border-radius:18px;background:#fff;box-shadow:0 30px 90px #0006}.force-password-card-v161 h2{margin-top:0}.force-password-card-v161 form{display:grid;gap:12px}.force-password-card-v161 label{display:grid;gap:5px}body.force-password-v161{overflow:hidden}
.ticket-priority-v161{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.72rem;font-weight:800}.ticket-priority-v161.normale{background:#eef4f5}.ticket-priority-v161.haute{background:#fff0d7;color:#8b5b18}.ticket-priority-v161.critique{background:#ffe5e5;color:#a32626}
.ticket-detail-v161{margin-top:16px}.ticket-conversation-v161{display:grid;gap:9px;max-height:440px;overflow:auto;padding:8px}.ticket-message-v161{max-width:82%;padding:10px 12px;border-radius:12px;background:#f4f7f8}.ticket-message-v161.support{margin-left:auto;background:#eaf5f1}.ticket-message-v161>div{display:flex;justify-content:space-between;gap:10px}.ticket-message-v161 small{color:#687b80}.ticket-message-v161 p{white-space:pre-wrap;margin:6px 0 0}.ticket-reply-v161{margin-top:12px;display:grid;gap:8px}.ticket-reply-v161>div{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:700px){.account-kpis-v161,.ticket-kpis-v161{grid-template-columns:1fr}.ticket-message-v161{max-width:95%}}

/* === V16.1.3 : réconciliation pharmacie/personnel === */
.pharmacy-create-card-v1613{width:min(760px,95vw)}
.staff-password-block-v1613{grid-column:1/-1;padding:12px;border:1px solid #dbe7e8;border-radius:12px;background:#f6fbf9}
.staff-password-title-v1613 b,.staff-password-title-v1613 small{display:block}.staff-password-title-v1613 small{margin-top:3px;color:#687b80}
.staff-password-grid-v1613{display:grid;grid-template-columns:minmax(280px,1fr) minmax(240px,.8fr);gap:12px;align-items:end;margin-top:10px}
.staff-password-info-v1613{padding:9px 10px;border-radius:10px;background:#fff7e3;color:#665526;font-size:.78rem;line-height:1.4}
@media(max-width:700px){.staff-password-grid-v1613{grid-template-columns:1fr}}

/* === V16.1.4 : accès Super Admin === */
.super-access-kpis-v1614{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.super-access-kpis-v1614>div{padding:10px 12px;border:1px solid #e0e8ea;border-radius:11px;background:#fbfcfd}.super-access-kpis-v1614 span{display:block;font-size:.72rem;color:#687b80}.super-access-kpis-v1614 strong{display:block;margin-top:4px}.super-access-table-v1614{min-width:1180px}.super-access-card-v1614{width:min(760px,95vw)}.super-access-pharmacy-info-v1614{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border:1px solid #dfe7e9;border-radius:11px;background:#f8fbfb}.super-access-pharmacy-info-v1614>div{padding:7px;background:#fff;border-radius:8px}.super-access-pharmacy-info-v1614 span{display:block;font-size:.7rem;color:#687b80}.super-access-pharmacy-info-v1614 b{display:block;margin-top:3px}
@media(max-width:700px){.super-access-kpis-v1614,.super-access-pharmacy-info-v1614{grid-template-columns:1fr}}



/* === V16.1.17 : pagination stable des tableaux === */
.table-pagination-v16117{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0 0 10px;padding:8px 10px;border:1px solid #dfe8e8;border-radius:10px;background:#f8fbfb;
}
.table-pagination-summary-v16117{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.78rem;color:#53686d}
.table-pagination-summary-v16117 label{display:flex;align-items:center;gap:6px}
.table-pagination-v16117 select{min-width:68px;padding:5px 8px;border:1px solid #ccd9da;border-radius:8px;background:#fff}
.table-pagination-tabs-v16117{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.table-pagination-tabs-v16117 button{
  min-width:32px;height:32px;padding:0 8px;border:1px solid #d5dfdf;border-radius:8px;background:#fff;cursor:pointer;font-weight:700;
}
.table-pagination-tabs-v16117 button.active{background:#174f51;color:#fff;border-color:#174f51}
.table-pagination-tabs-v16117 button:hover:not(.active):not(:disabled){background:#edf4f4}
.table-pagination-tabs-v16117 button:disabled{opacity:.4;cursor:not-allowed}
.table-pagination-tabs-v16117 span{padding:0 3px;color:#7b8c90}
table tbody tr[hidden]{display:none!important}
@media(max-width:700px){
  .table-pagination-v16117{align-items:flex-start}
  .table-pagination-summary-v16117,.table-pagination-tabs-v16117{width:100%}
}
\n/* === V16.1.18 : SYSCOHADA Foundation === */
.sys-actions-v16118{display:flex;gap:8px;flex-wrap:wrap}.sys-kpis-v16118{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.sys-kpis-v16118>div{padding:12px;border:1px solid #dfe8e8;border-radius:12px;background:#f8fbfb}.sys-kpis-v16118 span{display:block;font-size:.75rem;color:#677b80}.sys-kpis-v16118 strong{display:block;margin-top:5px;font-size:1.15rem}.sys-tabs-v16118{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.sys-tabs-v16118 button{border:1px solid #d3dfdf;background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:700}.sys-tabs-v16118 button.active{background:#174f51;color:#fff;border-color:#174f51}.sys-statement-grid-v16118{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sys-statement-grid-v16118>section{border:1px solid #dfe8e8;border-radius:12px;padding:14px}.sys-row-v16118{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f2}.sys-total-v16118{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:2px solid #d9e3e3}.sys-result-banner-v16118{display:flex;justify-content:space-between;margin-top:14px;padding:14px;border-radius:12px;background:#eef7f3}.sys-entry-card-v16118{width:min(980px,96vw)}.sys-entry-footer-v16118{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}@media(max-width:820px){.sys-kpis-v16118{grid-template-columns:1fr 1fr}.sys-statement-grid-v16118{grid-template-columns:1fr}}\n
/* V16.1.19 */
#fixedAssetModalV16119 .client-modal-card{width:min(900px,96vw)}#fixedAssetScheduleV16119{margin-top:16px}

/* === V16.1.20 : retours & avoirs clients === */
.sale-credit-box-v16120{margin:10px 0;padding:11px 12px;border:1px solid #cfe1d9;border-radius:12px;background:#f3faf6}
.sale-credit-box-v16120>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}
.sale-credit-box-v16120 label{display:flex;align-items:center;gap:7px}
.sale-credit-calc-v16120{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:.8rem}
.client-credits-panel-v16120{margin-top:16px}
.client-credit-kpis-v16120{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.client-credit-kpis-v16120>div{padding:11px;border:1px solid #dfe8e8;border-radius:11px;background:#f8fbfb}
.client-credit-kpis-v16120 span{display:block;font-size:.75rem;color:#687b80}.client-credit-kpis-v16120 strong{display:block;margin-top:4px;font-size:1.05rem}
.product-return-card-v16120{width:min(980px,96vw)}
.return-stock-option-v16120{display:flex;gap:8px;align-items:flex-start;margin:12px 0;padding:10px;border-radius:10px;background:#fff8e8}
.return-stock-option-v16120 small{color:#6d6250}
.return-summary-v16120{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;padding:10px 0}
@media(max-width:700px){.client-credit-kpis-v16120{grid-template-columns:1fr}.return-summary-v16120{justify-content:flex-start}}

/* V16.1.22 */
.insurance-simulation-v16122{margin-top:12px;padding:12px;border:1px solid #dbe6e6;border-radius:12px;background:#f8fbfb}
.insurance-simulation-head-v16122{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.insurance-simulation-kpis-v16122{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.insurance-simulation-kpis-v16122>div{padding:9px;border-radius:9px;background:white;border:1px solid #e4ecec}
.insurance-simulation-kpis-v16122 span{display:block;font-size:.72rem}.insurance-simulation-kpis-v16122 strong{display:block;margin-top:3px}
.insurance-simulation-warnings-v16122>div{margin:6px 0;padding:8px;border-radius:8px;background:#fff8e8}
.simulation-alert-v16122{font-weight:700}.simulation-ok-v16122{font-weight:700}
@media(max-width:700px){.insurance-simulation-kpis-v16122{grid-template-columns:1fr 1fr}}

/* === V16.1.22.2 : Assurance — synthèse 3 champs === */
#saleInsuranceCoverageV1520{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
#saleInsuranceCoverageV1520>div{
  min-height:72px;
}
#saleInsuranceCoverageV1520 strong{
  display:block;
  margin-top:4px;
  font-size:1.15rem;
}
.insurance-simple-note-v161222{
  display:block;
  margin-top:6px;
}
@media(max-width:700px){
  #saleInsuranceCoverageV1520{grid-template-columns:1fr}
}

/* === V16.1.22.3 : régularisation retours assurance === */
#insuranceCreditNotesPanelV161223{margin-top:16px}
.insuranceReturnActionV161223{margin-left:4px;font-weight:700}

/* === V16.1.22.4 : Supervision plateforme === */
.supervision-actions-v161224{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.supervision-actions-v161224 label{display:grid;gap:4px;font-size:.75rem}.supervision-status-strip-v161224{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.supervision-status-strip-v161224>div,.supervision-metrics-v161224>div{padding:10px 12px;border:1px solid #dfe8e8;border-radius:11px;background:#f8fbfb}.supervision-status-strip-v161224 span,.supervision-metrics-v161224 span{display:block;color:#677b80;font-size:.72rem}.supervision-status-strip-v161224 strong,.supervision-metrics-v161224 strong{display:block;margin-top:4px;overflow-wrap:anywhere}.supervision-grid-v161224{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.supervision-metrics-v161224{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deployment-profiles-v161224{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.deployment-profiles-v161224>div{padding:14px;border:1px solid #dfe8e8;border-radius:12px;background:#fafcfc}.deployment-profiles-v161224>div.active{border:2px solid #174f51;background:#edf7f6}.supervision-ok-v161224{background:#e7f7ef!important;color:#16613d!important}.supervision-ko-v161224{background:#fdeeee!important;color:#a63131!important}.supervision-note-v161224{margin-top:12px}@media(max-width:900px){.supervision-grid-v161224,.deployment-profiles-v161224{grid-template-columns:1fr}}@media(max-width:650px){.supervision-status-strip-v161224{grid-template-columns:1fr 1fr}.supervision-metrics-v161224{grid-template-columns:1fr}}

/* === V16.1.22.5 : mouvements de stock === */
.stock-movement-kpis-v161225{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.stock-movement-kpis-v161225>div{padding:11px;border:1px solid #dfe8e8;border-radius:11px;background:#f8fbfb}
.stock-movement-kpis-v161225 span{display:block;font-size:.72rem;color:#677b80}.stock-movement-kpis-v161225 strong{display:block;margin-top:4px;font-size:1.08rem}
.stock-movement-in-v161225{color:#18734b}
.stock-movement-type-v161225{white-space:nowrap}
#stockAdjustmentModalV161225 .client-modal-card{width:min(760px,96vw)}
@media(max-width:700px){.stock-movement-kpis-v161225{grid-template-columns:1fr 1fr}}

/* === V16.1.22.6 : Prévisions avancées === */
.advanced-forecast-actions-v161226{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.advanced-forecast-actions-v161226 label{display:grid;gap:4px;font-size:.75rem}
.advanced-forecast-kpis-v161226{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.advanced-forecast-kpis-v161226>div{padding:11px 12px;border:1px solid #dfe8e8;border-radius:11px;background:#f8fbfb}
.advanced-forecast-kpis-v161226 span{display:block;font-size:.72rem;color:#677b80}
.advanced-forecast-kpis-v161226 strong{display:block;margin-top:4px;font-size:1.08rem}
.advanced-forecast-grid-v161226{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.advanced-busy-row-v161226,.advanced-staffing-row-v161226{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e7eeee}
.advanced-busy-row-v161226 small,.advanced-staffing-row-v161226 small{display:block;margin-top:3px;color:#687b80}
.advanced-busy-bar-v161226{height:9px;border-radius:999px;background:#e8efef;overflow:hidden}
.advanced-busy-bar-v161226 i{display:block;height:100%;background:#174f51;border-radius:999px}
.advanced-staffing-row-v161226{grid-template-columns:1fr auto auto}
.advanced-forecast-note-v161226{margin-top:10px}
.advanced-forecast-dataset-v161226{display:flex;gap:8px;flex-wrap:wrap}
.advanced-forecast-dataset-v161226 span{padding:7px 9px;border:1px solid #dce6e6;border-radius:999px;background:#f8fbfb;font-size:.8rem}
@media(max-width:900px){.advanced-forecast-grid-v161226{grid-template-columns:1fr}}
@media(max-width:700px){
  .advanced-forecast-kpis-v161226{grid-template-columns:1fr 1fr}
  .advanced-busy-row-v161226,.advanced-staffing-row-v161226{grid-template-columns:1fr}
}

/* === V16.1.22.7 : Caisse professionnelle === */
.sale-checkout-pro-v161227{position:relative}
.sale-pos-toolbar-v161227{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 12px;margin-bottom:12px;border:1px solid #dce7e7;border-radius:12px;background:#f8fbfb;
}
.sale-scan-v161227{display:flex;align-items:center;gap:8px;flex:1;min-width:320px}
.sale-scan-icon-v161227{font-size:1.35rem}
#saleBarcodeScanV161227{flex:1;min-width:220px;font-size:1rem;font-weight:650;padding:10px 12px}
#saleBarcodeStatusV161227{min-width:100px;text-align:right}
.sale-scan-ok-v161227{color:#18734b!important;font-weight:700}.sale-scan-error-v161227{color:#9b3b31!important;font-weight:700}
.sale-shortcuts-v161227{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.72rem;color:#607378}
.sale-shortcuts-v161227 span{white-space:nowrap}
.sale-shortcuts-v161227 kbd{padding:2px 5px;border:1px solid #ccd8d8;border-bottom-width:2px;border-radius:5px;background:#fff;font-family:inherit;font-weight:700}
.sale-search-wrap-v161227{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding:0 9px;border:1px solid #d8e2e2;border-radius:10px;background:#fff}
.sale-search-wrap-v161227:focus-within{border-color:#174f51;box-shadow:0 0 0 2px rgba(23,79,81,.08)}
.sale-search-wrap-v161227>span{font-size:1.2rem;color:#687b80}
.sale-search-wrap-v161227 #saleSearchInput{border:0!important;box-shadow:none!important;margin:0;width:100%;padding:10px 2px}
.sale-client-quick-v161227{margin-bottom:7px}
.sale-client-quick-v161227 input{width:100%}
.sale-top-grid-v1521{align-items:start}
.sale-cart-panel-v1521{
  position:sticky;top:76px;z-index:6;
  max-height:calc(100vh - 100px);overflow:auto;
  border:1px solid #dbe5e5;border-radius:12px;padding:10px;background:#fff;
}
#saleCartList{max-height:48vh;overflow:auto}
.sale-cart-total{
  position:sticky;bottom:0;background:#fff;padding:11px 4px 4px;border-top:2px solid #e1e9e9;
  font-size:1.08rem;
}
.sale-pick-card-v1521{border-radius:10px;padding:8px 7px}
.sale-pick-card-v1521:hover{background:#f6fafa}
.sale-pick-card-v1521 .openProductDetailsV15223{text-align:left}
.sale-product-meta-v161227{display:block;line-height:1.35}
.sale-stock-low-v161227{border-left:3px solid #b86d20}
.sale-expiry-warning-v161227{background:#fff9ed}
.sale-qty .small,.saleAddProduct{min-height:34px;min-width:38px}
.sale-main-actions{
  position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.96);
  padding:10px 0;border-top:1px solid #e2eaea;backdrop-filter:blur(5px);
}
#saleValidateBtn{min-height:44px;font-size:1rem;padding-inline:22px}
.sale-change-pro-v161227{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sale-change-pro-v161227 strong{font-size:1.12rem}
@media (pointer:coarse){
  .saleAddProduct,.sale-qty .small,#saleValidateBtn,#saleCancelBtn,.sale-main-actions button{
    min-height:44px;min-width:44px;
  }
  #saleBarcodeScanV161227,#saleSearchInput,#saleClientQuickSearchV161227,#saleClientSelect,#salePaymentSelect{
    min-height:44px;font-size:16px;
  }
}
@media(max-width:900px){
  .sale-pos-toolbar-v161227{align-items:stretch}
  .sale-scan-v161227{min-width:100%}
  .sale-shortcuts-v161227{width:100%}
  .sale-cart-panel-v1521{top:64px;max-height:52vh}
}
@media(max-width:700px){
  .sale-shortcuts-v161227{display:none}
  .sale-cart-panel-v1521{position:relative;top:auto;max-height:none}
  #saleCartList{max-height:none}
  .sale-main-actions{position:sticky;bottom:0}
  #saleValidateBtn,#saleCancelBtn{flex:1}
}

/* =====================================================================
   V16.1.22.8 — UX PROFESSIONNELLE
   Couche visuelle globale. Aucun comportement métier n'est remplacé.
   ===================================================================== */

:root{
  --pd-radius-xs:7px;
  --pd-radius-sm:10px;
  --pd-radius-md:14px;
  --pd-radius-lg:18px;
  --pd-border:#dce5e5;
  --pd-border-strong:#c8d5d5;
  --pd-surface:#ffffff;
  --pd-surface-soft:#f7fafa;
  --pd-surface-muted:#eef4f4;
  --pd-text:#203135;
  --pd-muted:#687b80;
  --pd-brand:#174f51;
  --pd-brand-soft:#eaf4f3;
  --pd-danger:#a53f36;
  --pd-warning:#9b6920;
  --pd-success:#18734b;
  --pd-shadow-sm:0 2px 8px rgba(22,49,51,.055);
  --pd-shadow-md:0 8px 24px rgba(22,49,51,.08);
  --pd-control-h:42px;
}

/* TYPOGRAPHIE / ESPACEMENT */
body{
  color:var(--pd-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main{padding-bottom:28px}
h1,h2,h3,h4{letter-spacing:-.012em}
small,.muted{line-height:1.4}

/* PANNEAUX */
.pd-panel-v161228{
  border-radius:var(--pd-radius-md)!important;
  border-color:var(--pd-border)!important;
  box-shadow:var(--pd-shadow-sm);
}
.pd-head-v161228{
  gap:14px;
  align-items:flex-start;
}
.pd-head-v161228 h2,.pd-head-v161228 h3{
  margin-top:0;
}
.pd-head-v161228 p{
  margin:.25rem 0 0;
  color:var(--pd-muted);
}

/* FORMULAIRES */
.pd-field-label-v161228{
  display:grid;
  gap:6px;
  color:#42575c;
  font-size:.82rem;
  font-weight:650;
}
.pd-field-v161228{
  width:100%;
  min-height:var(--pd-control-h);
  padding:9px 11px!important;
  border:1px solid var(--pd-border-strong)!important;
  border-radius:var(--pd-radius-sm)!important;
  background:var(--pd-surface)!important;
  color:var(--pd-text)!important;
  font:inherit;
  line-height:1.25;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
textarea.pd-field-v161228{
  min-height:88px;
  resize:vertical;
  line-height:1.45;
}
select.pd-field-v161228{
  cursor:pointer;
}
.pd-field-v161228:hover:not(:disabled){
  border-color:#aebfc0!important;
}
.pd-field-v161228:focus{
  outline:none!important;
  border-color:var(--pd-brand)!important;
  box-shadow:0 0 0 3px rgba(23,79,81,.11)!important;
}
.pd-field-v161228::placeholder{
  color:#91a1a5;
  opacity:1;
}
.pd-disabled-v161228{
  opacity:.68;
  cursor:not-allowed!important;
  background:#f1f4f4!important;
}
.pd-required-v161228:invalid:not(:placeholder-shown){
  border-color:#c88982!important;
}
.pd-keyboard-nav-v161228 .pd-action-v161228:focus,
.pd-keyboard-nav-v161228 .pd-choice-v161228:focus{
  outline:3px solid rgba(23,79,81,.22)!important;
  outline-offset:2px!important;
}

/* CHECKBOX / RADIO */
.pd-choice-label-v161228{
  display:flex!important;
  align-items:center;
  gap:8px;
  min-height:32px;
}
.pd-choice-v161228{
  width:18px;
  height:18px;
  accent-color:var(--pd-brand);
  flex:none;
}

/* BOUTONS */
.pd-action-v161228{
  border-radius:var(--pd-radius-sm)!important;
  min-height:38px;
  padding:7px 12px;
  font-weight:700;
  transition:transform .08s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.pd-action-v161228:hover:not(:disabled){
  box-shadow:var(--pd-shadow-sm);
}
.pd-action-v161228:active:not(:disabled){
  transform:translateY(1px);
}
button.primary.pd-action-v161228,.primary.pd-action-v161228{
  background:var(--pd-brand)!important;
  border-color:var(--pd-brand)!important;
}
button:disabled,.pd-action-v161228:disabled{
  opacity:.5;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* TOOLBARS */
.pd-toolbar-v161228{
  display:flex;
  gap:8px!important;
  flex-wrap:wrap;
  align-items:center;
}
.pd-toolbar-v161228>.pd-field-v161228{
  width:auto;
  min-width:150px;
  flex:1 1 170px;
}
.pd-toolbar-v161228>.pd-action-v161228{
  flex:0 0 auto;
}

/* TABLEAUX */
.pd-table-wrap-v161228{
  border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-md);
  overflow:auto;
  background:var(--pd-surface);
  box-shadow:0 1px 4px rgba(22,49,51,.035);
}
.pd-table-v161228{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.pd-table-v161228 thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f3f7f7!important;
  color:#50666b;
  font-size:.72rem;
  text-transform:none;
  letter-spacing:.01em;
  white-space:nowrap;
  border-bottom:1px solid var(--pd-border-strong)!important;
}
.pd-table-v161228 th,.pd-table-v161228 td{
  padding:10px 11px!important;
  vertical-align:middle;
}
.pd-table-v161228 tbody tr{
  transition:background .12s ease;
}
.pd-table-v161228 tbody tr:hover{
  background:#f8fbfb;
}
.pd-table-v161228 tbody tr:last-child td{
  border-bottom:0!important;
}

/* NOTICES / ERREURS */
.pd-notice-v161228{
  border-radius:var(--pd-radius-sm)!important;
  line-height:1.45;
}
.pd-danger-v161228{
  border-radius:var(--pd-radius-sm);
}

/* MODALES */
.client-modal{
  padding:18px!important;
}
.client-modal-backdrop{
  backdrop-filter:blur(3px);
}
.pd-modal-card-v161228{
  border-radius:var(--pd-radius-lg)!important;
  box-shadow:0 24px 70px rgba(12,35,37,.22)!important;
  max-height:min(90vh,900px);
  overflow:auto;
}
.client-modal-head{
  position:sticky;
  top:0;
  z-index:3;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  margin:-1px -1px 10px;
  padding-top:2px;
}
.client-modal-actions{
  position:sticky;
  bottom:-1px;
  z-index:3;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  padding-top:10px;
}

/* GRILLES FORMULAIRES */
.formgrid,.client-form-grid{
  gap:12px!important;
}
.client-form-grid .full{
  grid-column:1/-1;
}

/* PAGINATION */
.table-pagination-v16117{
  border-radius:var(--pd-radius-sm)!important;
  box-shadow:none;
}
.table-pagination-v16117 select{
  min-height:34px;
}

/* NAVIGATION */
header nav button{
  border-radius:8px;
  transition:background .12s ease,color .12s ease;
}
header nav button:hover{
  background:rgba(255,255,255,.09);
}

/* TABLETTE */
@media(max-width:1024px){
  :root{--pd-control-h:44px}
  main{padding-inline:12px}
  .panel{padding:14px!important}
  .formgrid,.client-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pd-action-v161228{
    min-height:42px;
  }
  .pd-table-v161228 th,.pd-table-v161228 td{
    padding:9px 10px!important;
  }
}

/* TÉLÉPHONE */
@media(max-width:700px){
  :root{--pd-control-h:46px}
  body{font-size:15px}
  main{padding-inline:8px}
  .panel{
    padding:12px!important;
    border-radius:12px!important;
  }
  .pd-head-v161228{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .pd-head-v161228>.toolbar,
  .pd-head-v161228>div:last-child:not(:first-child){
    width:100%;
  }

  .formgrid,.client-form-grid{
    grid-template-columns:1fr!important;
  }
  .client-form-grid>*{
    grid-column:1/-1!important;
  }

  .pd-toolbar-v161228{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .pd-toolbar-v161228>.pd-field-v161228,
  .pd-toolbar-v161228>.pd-action-v161228{
    width:100%!important;
    min-width:0!important;
  }
  .pd-toolbar-v161228>.pd-field-v161228:first-child{
    grid-column:1/-1;
  }

  .pd-action-v161228{
    min-height:46px;
    padding:9px 12px;
  }

  .client-modal{
    padding:0!important;
    align-items:flex-end!important;
  }
  .pd-modal-card-v161228{
    width:100%!important;
    max-width:none!important;
    max-height:94vh!important;
    border-radius:18px 18px 0 0!important;
    margin:0!important;
    padding:14px!important;
  }
  .client-modal-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom));
  }
  .client-modal-actions .pd-action-v161228{
    width:100%;
  }

  .pd-table-wrap-v161228{
    border-radius:10px;
    -webkit-overflow-scrolling:touch;
  }
  .pd-table-v161228{
    min-width:680px;
  }

  /* Conservation du tableau réel : on permet le scroll horizontal,
     sans transformer les lignes et sans masquer de données. */
  .pd-table-wrap-v161228::after{
    content:"Glisser horizontalement pour voir les autres colonnes";
    display:block;
    position:sticky;
    left:0;
    padding:6px 10px;
    font-size:.68rem;
    color:#789095;
    background:#f8fbfb;
    border-top:1px solid #e5ecec;
  }

  .table-pagination-v16117{
    position:sticky;
    left:0;
  }

  header{
    gap:8px;
  }
  header .brand small{
    display:none;
  }
  header nav{
    -webkit-overflow-scrolling:touch;
  }
}

/* PETITS TÉLÉPHONES */
@media(max-width:430px){
  body{font-size:14px}
  main{padding-inline:5px}
  .panel{padding:10px!important}
  .pd-toolbar-v161228{
    grid-template-columns:1fr!important;
  }
  .pd-toolbar-v161228>*{
    grid-column:1!important;
  }
  .client-modal-actions{
    grid-template-columns:1fr;
  }
  .pd-head-v161228 h2{font-size:1.18rem}
  .pd-head-v161228 h3{font-size:1.05rem}
}

/* TACTILE */
@media(pointer:coarse){
  .pd-action-v161228{
    min-height:46px;
  }
  .pd-choice-v161228{
    width:21px;
    height:21px;
  }
  .pd-table-v161228 td .small{
    min-height:40px;
    margin:2px 1px;
  }
}

/* MOTION REDUITE */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}

/* === V16.1.22.12 : Actions plus lisibles + Campagnes clients === */
.pd-action-chip-v1612212{
  display:inline-flex!important;align-items:center;justify-content:center;gap:5px;
  min-height:34px!important;padding:6px 10px!important;border-radius:9px!important;
  font-weight:750!important;white-space:nowrap;
}
.pd-action-edit-v1612212{background:#f4f6fb!important;border-color:#ccd5e5!important;color:#3d5273!important}
.pd-action-stock-v1612212{background:#fff5ed!important;border-color:#e5c7ad!important;color:#8a4c20!important}
.pd-action-icon-v1612212{font-size:1rem;line-height:1}
@media(pointer:coarse){.pd-action-chip-v1612212{min-height:42px!important;padding:8px 11px!important}}

.campaign-kpis-v1612212{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.campaign-kpis-v1612212>div{padding:11px;border:1px solid #dce6e6;border-radius:11px;background:#f8fbfb}
.campaign-kpis-v1612212 span{display:block;color:#687b80;font-size:.72rem}.campaign-kpis-v1612212 strong{display:block;margin-top:4px;font-size:1.1rem}
.campaign-grid-v1612212{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px}
.campaign-form-v1612212{grid-template-columns:1fr 1fr}.campaign-form-v1612212 .full{grid-column:1/-1}
.campaign-tokens-v1612212{margin:8px 0;color:#687b80;font-size:.78rem}.campaign-tokens-v1612212 code{padding:2px 5px;border-radius:5px;background:#edf3f3}
.campaign-actions-v1612212{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.campaign-send-list-v1612212{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.campaign-prepared-info-v1612212{padding:10px 12px;border:1px solid #dce7e7;border-radius:10px;background:#f8fbfb}
.campaign-whatsapp-queue-v1612212{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.campaign-whatsapp-item-v1612212{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid #dce7e7;border-radius:10px;background:#fff;text-decoration:none;color:#203236}
.campaign-whatsapp-item-v1612212:hover{background:#f4faf7}
.campaign-whatsapp-item-v1612212 small{display:block;color:#718388;margin-top:2px}
@media(max-width:1000px){.campaign-grid-v1612212{grid-template-columns:1fr}.campaign-whatsapp-queue-v1612212{grid-template-columns:1fr}}
@media(max-width:700px){.campaign-kpis-v1612212{grid-template-columns:1fr 1fr}.campaign-form-v1612212{grid-template-columns:1fr}.campaign-form-v1612212 .full{grid-column:1}.campaign-actions-v1612212>*{flex:1 1 100%}}

/* === V16.1.22.14 : champs Prénom / Nom === */
input[type="hidden"]#clientFormName,
input[type="hidden"]#staffFormName,
input[type="hidden"]#saleNewClientName,
input[type="hidden"]#saleRequestNewClientNameV1517,
input[type="hidden"]#superAccessNameV1614,
input[type="hidden"]#teamAccountNameV161{display:none!important}

/* === V16.1.22.15 : solde congés Personnel === */
.staff-leave-balance-v1612215{
  display:inline-flex!important;
  align-items:center;
  gap:4px;
  margin-top:2px;
  padding:5px 8px;
  border:1px solid #cfe0dd;
  border-radius:999px;
  background:#edf7f5;
  color:#285c57;
  font-size:.76rem;
}
.staff-leave-balance-v1612215 b{font-weight:800}
@media(max-width:700px){
  .staff-leave-balance-v1612215{
    width:100%;
    border-radius:9px;
    justify-content:flex-start;
  }
}

/* === V16.1.22.16 : Centre d'attention === */
.attention-nav-count-v1612216{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;margin-left:5px;padding:0 5px;border-radius:999px;background:#9b2f2f;color:#fff;font-size:.68rem;font-weight:800}
.attention-head-actions-v1612216{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.attention-kpis-v1612216{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.attention-kpis-v1612216>div{padding:12px;border:1px solid #dce6e6;border-radius:11px;background:#f8fbfb}
.attention-kpis-v1612216 span{display:block;color:#687b80;font-size:.73rem}.attention-kpis-v1612216 strong{display:block;margin-top:3px;font-size:1.25rem}
.attention-filterbar-v1612216{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.attention-filterbar-v1612216>div{display:flex;gap:6px;flex-wrap:wrap}.attention-filterbar-v1612216 label{min-width:190px}
.attentionFilterV1612216.active{font-weight:800;border-color:#7da5a2;background:#edf7f5;color:#285c57}
.attention-list-v1612216{display:grid;gap:8px}
.attention-card-v1612216{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:1px solid #dfe7e7;border-radius:11px;background:#fff;color:inherit;cursor:pointer}
.attention-card-v1612216:hover{background:#f8fbfb}.attention-copy-v1612216 b,.attention-copy-v1612216 small{display:block}.attention-copy-v1612216 small{margin-top:3px;color:#6d7e82}
.attention-icon-v1612216{font-size:1.25rem;text-align:center}.attention-level-v1612216{padding:4px 7px;border-radius:999px;font-size:.7rem;font-weight:800}
.attention-critical-v1612216{border-left:4px solid #a83a3a}.attention-critical-v1612216 .attention-level-v1612216{background:#fbecec;color:#8e3030}
.attention-warning-v1612216{border-left:4px solid #b77a2e}.attention-warning-v1612216 .attention-level-v1612216{background:#fff4df;color:#875b24}
.attention-info-v1612216{border-left:4px solid #4d7f89}.attention-info-v1612216 .attention-level-v1612216{background:#edf5f6;color:#38636c}
.attention-arrow-v1612216{font-size:1.35rem;color:#849598}.attention-empty-v1612216{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px;border:1px dashed #ccdada;border-radius:11px;color:#63787c;text-align:center}
.attention-help-v1612216 p{margin-bottom:0}
@media(max-width:700px){.attention-kpis-v1612216{grid-template-columns:1fr 1fr}.attention-card-v1612216{grid-template-columns:34px minmax(0,1fr) 16px}.attention-level-v1612216{grid-column:2}.attention-arrow-v1612216{grid-column:3;grid-row:1/3}.attention-filterbar-v1612216 label{width:100%}}

/* === V16.1.22.17 : Tableau de bord dirigeant === */
.director-actions-v1612217{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.director-actions-v1612217 label{display:grid;gap:4px;font-size:.75rem}
.director-kpis-v1612217{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.director-kpis-v1612217>div,.director-metrics-v1612217>div{padding:12px;border:1px solid #dce6e6;border-radius:11px;background:#f8fbfb}
.director-kpis-v1612217 span,.director-metrics-v1612217 span{display:block;color:#687b80;font-size:.72rem}
.director-kpis-v1612217 strong,.director-metrics-v1612217 strong{display:block;margin-top:4px;font-size:1.13rem}
.director-kpis-v1612217 small{display:block;margin-top:5px;color:#718388}
.director-grid-v1612217{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.director-metrics-v1612217{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.director-note-v1612217 p{margin:0}
@media(max-width:900px){.director-grid-v1612217{grid-template-columns:1fr}}
@media(max-width:700px){.director-kpis-v1612217{grid-template-columns:1fr 1fr}.director-metrics-v1612217{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.director-kpis-v1612217,.director-metrics-v1612217{grid-template-columns:1fr}}

/* === V16.1.22.18.1 : menu familles corrigé === */
.family-menu-toggle-v16122181{height:36px;min-width:38px;padding:0 10px;margin-left:6px;border:1px solid #d5e1e0;border-radius:9px;background:#fff;color:#285c57;font-size:1.05rem;cursor:pointer}
.family-menu-v16122181{position:fixed;left:0;top:0;bottom:0;width:286px;max-width:88vw;background:#fbfdfd;border-right:1px solid #dce6e5;box-shadow:12px 0 32px rgba(27,48,51,.12);z-index:120;transform:translateX(-104%);transition:transform .18s ease;display:flex;flex-direction:column}
.family-menu-v16122181.open{transform:translateX(0)}
.family-menu-head-v16122181{height:68px;display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid #e1e9e8}
.family-menu-logo-v16122181{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#285c57;color:#fff;font-weight:900}
.family-menu-head-v16122181 b,.family-menu-head-v16122181 small{display:block}.family-menu-head-v16122181 small{color:#748589;font-size:.68rem;margin-top:2px}.family-menu-head-v16122181>button{border:0;background:transparent;font-size:1.45rem;color:#607478;cursor:pointer}
.family-menu-body-v16122181{overflow:auto;padding:9px 8px 18px}
.family-section-v16122181{margin:2px 0}.family-title-v16122181{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr) auto 18px;align-items:center;gap:5px;border:0;background:transparent;padding:9px;border-radius:9px;text-align:left;color:#42595d;font-size:.78rem;font-weight:800;cursor:pointer}
.family-title-v16122181:hover,.family-section-v16122181.open>.family-title-v16122181{background:#edf5f4;color:#285c57}
.family-symbol-v16122181{text-align:center;font-size:.95rem}.family-caret-v16122181{text-align:center;transition:transform .15s}.family-section-v16122181.open .family-caret-v16122181{transform:rotate(180deg)}
.family-links-v16122181{padding:2px 4px 5px 34px}.family-destination-v16122181{width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px;border:0;background:transparent;padding:7px 9px;border-radius:8px;text-align:left;color:#53686c;font-size:.75rem;cursor:pointer}
.family-destination-v16122181:hover{background:#f0f6f5}.family-destination-v16122181.active{background:#dfeeed;color:#214f4b;font-weight:800}
.family-mini-badge-v16122181{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#9b2f2f;color:#fff;font-size:.63rem;font-weight:800}
.family-menu-backdrop-v16122181:not([hidden]){display:block;position:fixed;inset:0;background:rgba(21,38,41,.28);z-index:115}
@media(min-width:901px){header nav{max-width:calc(100vw - 610px);overflow-x:auto;scrollbar-width:thin;white-space:nowrap}header nav button{flex:0 0 auto}.family-menu-toggle-v16122181{order:-1}}
@media(max-width:900px){header nav{display:none!important}.family-menu-toggle-v16122181{display:inline-flex;align-items:center;justify-content:center;margin-left:0;margin-right:6px}}

/* === V16.1.22.19 : finition UX professionnelle === */
:root{--ux-radius:11px;--ux-border:#dbe5e4;--ux-muted:#6c7e82;--ux-soft:#f7faf9;--ux-accent:#285c57}
body{background:#f5f8f8}
.ux-context-v1612219{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px 9px;border-bottom:1px solid #e0e8e7;background:rgba(255,255,255,.92)}
.ux-context-v1612219>div{min-width:0}.ux-context-v1612219 small,.ux-context-v1612219 strong{display:block}.ux-context-v1612219 small{font-size:.68rem;color:var(--ux-muted);margin-bottom:2px}.ux-context-v1612219 strong{font-size:1rem;color:#29484b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ux-context-v1612219>span{font-size:.66rem;font-weight:800;color:#557075;background:#edf4f3;padding:5px 8px;border-radius:999px}
.page>.panel,.page .panel{border-color:var(--ux-border);border-radius:var(--ux-radius);box-shadow:0 2px 8px rgba(32,59,62,.035)}
.page .panel>.head{gap:12px}.page .panel>.head h2,.page .panel>.head h3{letter-spacing:-.01em}.page .panel>.head p{color:var(--ux-muted)}
.ux-field-v1612219{min-height:38px;border-radius:9px!important;border-color:#ccd9d8!important;transition:border-color .12s,box-shadow .12s,background .12s}
.ux-field-v1612219:hover{border-color:#aebfbd!important}.ux-field-v1612219:focus{outline:none!important;border-color:#668f8a!important;box-shadow:0 0 0 3px rgba(72,123,117,.12)!important;background:#fff}
textarea.ux-field-v1612219{min-height:78px}
.ux-button-v1612219{min-height:36px;border-radius:9px!important;transition:transform .08s,box-shadow .12s,background .12s,border-color .12s}
.ux-button-v1612219:active{transform:translateY(1px)}.ux-button-v1612219:focus-visible{outline:3px solid rgba(72,123,117,.18)!important;outline-offset:2px}
button.primary.ux-button-v1612219,.primary.ux-button-v1612219{box-shadow:0 2px 5px rgba(40,92,87,.13)}
.ux-table-shell-v1612219{overflow:auto;border:1px solid var(--ux-border);border-radius:10px;background:#fff}
.ux-table-shell-v1612219 table{margin:0!important;width:100%;border-collapse:separate;border-spacing:0}.ux-table-shell-v1612219 thead th{position:sticky;top:0;z-index:2;background:#f1f6f5;color:#415d60;font-size:.72rem;font-weight:800;border-bottom:1px solid #d7e2e1}
.ux-table-shell-v1612219 tbody tr{transition:background .1s}.ux-table-shell-v1612219 tbody tr:hover{background:#f8fbfa}.ux-table-shell-v1612219 td{vertical-align:middle}
.ux-empty-row-v1612219 td{padding:0!important}.ux-empty-row-v1612219 div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 14px;color:#718286;text-align:center}.ux-empty-row-v1612219 b{color:#4b6468}.ux-empty-row-v1612219 span{font-size:.75rem}
.ux-toast-host-v1612219{position:fixed;right:16px;top:78px;z-index:250;display:grid;gap:8px;width:min(360px,calc(100vw - 32px))}
.ux-toast-v1612219{display:grid;grid-template-columns:25px minmax(0,1fr) 24px;align-items:center;gap:8px;padding:10px 11px;border:1px solid #d8e4e2;border-radius:11px;background:#fff;box-shadow:0 10px 30px rgba(29,51,54,.14);font-size:.78rem}.ux-toast-v1612219>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e7f3f0;color:#285c57;font-weight:900}.ux-toast-v1612219>button{border:0;background:transparent;font-size:1.15rem;color:#718286;cursor:pointer}
.ux-toast-error-v1612219{border-left:4px solid #a83a3a}.ux-toast-warning-v1612219{border-left:4px solid #b77a2e}
.page label{color:#4b6266;font-weight:650}.page label>small{font-weight:400;color:var(--ux-muted)}
@media(max-width:900px){.ux-context-v1612219{padding:9px 12px}.ux-context-v1612219>span{display:none}.page>.panel{margin-left:0;margin-right:0}}
@media(max-width:700px){.page .head{align-items:flex-start}.ux-button-v1612219{min-height:42px}.ux-field-v1612219{min-height:42px}.ux-toast-host-v1612219{top:64px;right:10px;width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){.ux-field-v1612219,.ux-button-v1612219,.ux-table-shell-v1612219 tbody tr{transition:none!important}}

/* === V16.1.22.20 : consultation Super Admin + dernière connexion === */
.superadmin-data-toolbar-v1612220{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0}
.superadmin-data-toolbar-v1612220 label{min-width:280px;flex:1 1 320px}.superadmin-data-meta-v1612220{display:flex;gap:8px;flex-wrap:wrap}.superadmin-data-meta-v1612220 span{padding:7px 9px;border:1px solid #dce6e5;border-radius:9px;background:#f7faf9;font-size:.75rem;color:#5f7478}
.superadmin-data-kpis-v1612220{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0}.superadmin-data-kpis-v1612220>div{padding:10px;border:1px solid #dce6e5;border-radius:10px;background:#f8fbfa}.superadmin-data-kpis-v1612220 span{display:block;color:#6c7e82;font-size:.69rem}.superadmin-data-kpis-v1612220 strong{display:block;margin-top:3px;font-size:1.05rem}
.superadmin-data-tabs-v1612220{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0 10px;padding-bottom:8px;border-bottom:1px solid #dfe8e7}.superadmin-data-tabs-v1612220 button{border:1px solid #d5e1e0;border-radius:8px;background:#fff;padding:7px 9px;color:#4b6266;font-weight:700;cursor:pointer}.superadmin-data-tabs-v1612220 button.active{background:#285c57;color:#fff;border-color:#285c57}
@media(max-width:1000px){.superadmin-data-kpis-v1612220{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.superadmin-data-kpis-v1612220{grid-template-columns:repeat(2,1fr)}.superadmin-data-toolbar-v1612220 label{min-width:0;width:100%}}

/* === V16.1.22.23 : Assistant PharmaDesk === */
.assistant-launcher-v1612223{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 11px;border:1px solid #cbdcda;border-radius:9px;background:#edf7f5;color:#285c57;font-weight:800;cursor:pointer}
.assistant-shell-v1612223{max-width:1280px;margin:auto}.assistant-head-v1612223{align-items:flex-start}
.assistant-status-v1612223{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.assistant-privacy-v1612223{margin:10px 0 14px;padding:10px 12px;border:1px solid #eadcb8;border-radius:10px;background:#fff9e9;color:#745b26;font-size:.78rem}
.assistant-layout-v1612223{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px}
.assistant-suggestions-v1612223{padding:12px;border:1px solid #dce6e5;border-radius:11px;background:#f8fbfa}
.assistant-suggestions-v1612223 h3{margin-top:0}.assistant-suggestions-v1612223 button{width:100%;text-align:left;margin:0 0 7px;padding:9px;border:1px solid #d4e1df;border-radius:9px;background:#fff;color:#40595d;cursor:pointer}
.assistant-suggestions-v1612223 button:hover{background:#edf6f4}.assistant-suggestions-v1612223 p{font-size:.71rem;color:#6b7d81;margin-bottom:0}
.assistant-chat-v1612223{display:grid;grid-template-rows:minmax(360px,55vh) auto;border:1px solid #dce6e5;border-radius:12px;background:#fff;overflow:hidden}
.assistant-messages-v1612223{overflow:auto;padding:16px;background:#fbfdfd}
.assistant-welcome-v1612223{display:flex;gap:10px;align-items:flex-start;max-width:600px;margin:40px auto;padding:18px;border:1px solid #e0e9e8;border-radius:12px;background:#fff}.assistant-welcome-v1612223>span{font-size:1.5rem}.assistant-welcome-v1612223 p{margin:5px 0 0;color:#687b80}
.assistant-message-v1612223{max-width:82%;margin:0 0 12px}.assistant-message-v1612223.user{margin-left:auto}.assistant-message-meta-v1612223{margin:0 5px 4px;font-size:.68rem;color:#728589}.assistant-message-v1612223.user .assistant-message-meta-v1612223{text-align:right}
.assistant-message-body-v1612223{padding:10px 12px;border:1px solid #dce6e5;border-radius:12px;background:#fff;line-height:1.48;font-size:.84rem}.assistant-message-v1612223.user .assistant-message-body-v1612223{background:#e8f4f2;border-color:#c9ddda}
.assistant-sources-v1612223{display:grid;gap:4px;margin-top:6px;padding:8px 10px;border-left:3px solid #6f9a95;background:#f4f9f8;font-size:.72rem}.assistant-sources-v1612223 a{color:#285c57;text-decoration:underline;overflow-wrap:anywhere}
.assistant-composer-v1612223{padding:10px 12px;border-top:1px solid #dfe8e7;background:#fff}.assistant-composer-v1612223 textarea{width:100%;resize:vertical;min-height:76px}
.assistant-web-v1612223{display:flex!important;align-items:center;gap:7px;margin-bottom:7px;font-weight:700!important}.assistant-web-v1612223 input{width:auto}.assistant-web-v1612223 small{margin-left:auto;color:#74868a;font-weight:400}
.assistant-compose-actions-v1612223{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.assistant-compose-actions-v1612223>span{font-size:.7rem;color:#73868a}
@media(max-width:900px){.assistant-layout-v1612223{grid-template-columns:1fr}.assistant-suggestions-v1612223{display:flex;gap:6px;overflow:auto;align-items:center}.assistant-suggestions-v1612223 h3,.assistant-suggestions-v1612223 p{display:none}.assistant-suggestions-v1612223 button{min-width:190px;margin:0}.assistant-chat-v1612223{grid-template-rows:minmax(320px,52vh) auto}}
@media(max-width:600px){.assistant-launcher-v1612223{padding:0 8px;font-size:.76rem}.assistant-message-v1612223{max-width:94%}.assistant-web-v1612223{align-items:flex-start;flex-wrap:wrap}.assistant-web-v1612223 small{width:100%;margin-left:25px}}

/* === V16.1.22.23.1 : Assistant compatible environnement === */
.assistant-environment-v1612231{margin:0 0 14px;border:1px solid #dbe6e4;border-radius:11px;background:#f8fbfa;overflow:hidden}
.assistant-environment-summary-v1612231{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px}
.assistant-environment-summary-v1612231>div{display:flex;align-items:center;gap:9px;min-width:0}
.assistant-environment-summary-v1612231 b,.assistant-environment-summary-v1612231 small{display:block}
.assistant-environment-summary-v1612231 small{margin-top:3px;color:#6b7e82}
.assistant-env-dot-ready-v1612231{color:#2e7b60;font-size:1rem}.assistant-env-dot-wait-v1612231{color:#b77a2e;font-size:1rem}
.assistant-env-ready-v1612231{background:#e8f4ef!important;color:#27644f!important}
.assistant-env-wait-v1612231{background:#fff4df!important;color:#815a28!important}
.assistant-api-config-v1612231,.assistant-reconnect-v1612231{padding:11px 12px;border-top:1px solid #dfe8e7;background:#fff}
.assistant-api-config-v1612231 b,.assistant-api-config-v1612231 small{display:block}
.assistant-api-config-v1612231 small{margin-top:3px;color:#708286}
.assistant-api-config-row-v1612231{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}
.assistant-api-config-row-v1612231 input{min-height:38px;border:1px solid #ccd9d8;border-radius:9px;padding:7px 9px}
.assistant-reconnect-v1612231{display:grid;gap:3px;color:#6f592c}.assistant-reconnect-v1612231 span{font-size:.76rem}
#assistantSendV1612223:disabled,#assistantInputV1612223:disabled{opacity:.58;cursor:not-allowed}
@media(max-width:650px){.assistant-api-config-row-v1612231{grid-template-columns:1fr}.assistant-environment-summary-v1612231{align-items:flex-start;flex-direction:column}}

/* === V16.1.22.24 : Administrateur multi-pharmacies === */
.admin-multi-card-v161224{max-width:680px}.admin-multi-list-v161224{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;margin:12px 0;padding:2px}
.admin-multi-option-v161224{display:flex!important;align-items:center;gap:9px;padding:10px;border:1px solid #dbe5e4;border-radius:10px;background:#fff;cursor:pointer}
.admin-multi-option-v161224:has(input:checked){background:#edf7f5;border-color:#aacbc7}.admin-multi-option-v161224 input{width:auto}.admin-multi-option-v161224 b,.admin-multi-option-v161224 small{display:block}.admin-multi-option-v161224 small{margin-top:2px;color:#718488}
.tenant-select{max-width:210px}
@media(max-width:650px){.admin-multi-list-v161224{grid-template-columns:1fr}.tenant-select{max-width:160px}}

/* === V16.1.22.25 : Offres commerciales & licences === */
.subscription-summary-v161225{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.subscription-summary-v161225>div,.subscription-price-preview-v161225>div{padding:11px;border:1px solid #dce6e5;border-radius:10px;background:#f8fbfa}.subscription-summary-v161225 span,.subscription-price-preview-v161225 span{display:block;color:#6c7e82;font-size:.7rem}.subscription-summary-v161225 strong,.subscription-price-preview-v161225 strong{display:block;margin-top:4px;font-size:1.05rem}
.subscription-grid-v161225{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.subscription-plan-fields-v161225,.subscription-promo-grid-v161225,.subscription-prices-v161225{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0}.subscription-plan-fields-v161225{grid-template-columns:2fr 1fr}.subscription-active-v161225{display:flex!important;align-items:center;gap:8px;padding-top:22px}.subscription-active-v161225 input{width:auto}
.subscription-features-v161225{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0 14px}.subscription-features-v161225 fieldset{border:1px solid #dce6e5;border-radius:10px;padding:9px;background:#fbfdfd}.subscription-features-v161225 legend{padding:0 5px;font-size:.72rem;font-weight:800;color:#4c6569}.subscription-features-v161225 label{display:flex!important;align-items:center;gap:7px;padding:5px 2px;font-size:.76rem}.subscription-features-v161225 input{width:auto}
.subscription-price-preview-v161225{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.subscription-price-preview-v161225>div:last-child{background:#edf7f5;border-color:#bed6d2}.subscription-price-preview-v161225>div:last-child strong{color:#285c57}
@media(max-width:980px){.subscription-grid-v161225{grid-template-columns:1fr}.subscription-summary-v161225{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.subscription-features-v161225,.subscription-plan-fields-v161225,.subscription-promo-grid-v161225,.subscription-prices-v161225,.subscription-price-preview-v161225{grid-template-columns:1fr}.subscription-summary-v161225{grid-template-columns:1fr 1fr}.subscription-active-v161225{padding-top:0}}

/* === V16.1.22.25.1 : tarification séparée === */
.subscription-price-preview-v1612251{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.subscription-price-preview-v1612251{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.subscription-price-preview-v1612251{grid-template-columns:1fr}}

/* === V16.1.22.26 : facturation abonnements === */
.billing-toolbar-v161226{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.billing-toolbar-v161226 label{min-width:220px}.billing-toolbar-v161226 .badge{margin-left:auto}@media(max-width:700px){.billing-toolbar-v161226 label{width:100%;min-width:0}.billing-toolbar-v161226 .badge{margin-left:0}}


/* === V16.1.22.27.7.2 : MFA au-dessus de l'écran de connexion === */
#mfaModalV1612277{ z-index:70000 !important; }
#mfaModalV1612277 .client-modal-backdrop{ z-index:70001 !important; }
#mfaModalV1612277 .client-modal-card{ position:relative; z-index:70002 !important; }

/* V16.1.22.27.7.9 — explorateur sauvegardes */
.backup-path-row-v279{display:flex;gap:8px;align-items:center}.backup-path-row-v279 input{flex:1}.backup-browser-card-v279{width:min(820px,96vw)}.backup-browser-list-v279{display:grid;gap:8px;max-height:48vh;overflow:auto;margin:14px 0}.backup-browser-entry-v279{text-align:left;justify-content:flex-start;width:100%}

/* Pharmea by YDIATIC — présentation uniquement */
:root{--pharmea-navy:#08274c;--pharmea-violet:#6835d9;--pharmea-blue:#087bea}
body{font-family:Inter,system-ui,-apple-system,sans-serif}
:where(button,a,input,select,summary):focus-visible{outline:3px solid #087bea;outline-offset:3px}
.primary{background:#6835d9;color:#fff}
nav button.active{background:#3e2586;color:#fff}
.hero{background:linear-gradient(115deg,#08274c,#40328d)}
