:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#0f172a;background:#f1f5f9}*{box-sizing:border-box}body{margin:0;padding-bottom:30px}.topbar{padding:17px 15px;background:#0f172a;color:white;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:1.3rem}.topbar p{margin:3px 0 0;opacity:.72;font-size:.82rem}main{max-width:1200px;margin:auto;padding:14px}.card{background:white;border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(15,23,42,.07)}.compact{padding:10px}.connection-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:11px;font-size:1rem;background:white}button{border:0;border-radius:11px;padding:11px 15px;font-weight:700;background:#2563eb;color:white;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:transparent;color:inherit}.danger{background:#dc2626}.secondary{background:#e2e8f0;color:#0f172a}.status{font-size:.82rem;font-weight:700;padding:6px 10px;border-radius:999px}.online{background:#dcfce7;color:#166534}.offline{background:#fee2e2;color:#991b1b}.tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 0}.tab{background:#e2e8f0;color:#334155}.tab.active{background:#0f172a;color:white}.view{display:none}.view.active{display:block}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin:0}.search{max-width:260px}.pos-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:14px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.product{background:white;border-radius:14px;padding:13px;box-shadow:0 3px 12px rgba(15,23,42,.06)}.product h3{font-size:1rem;margin:0 0 5px}.product p{margin:4px 0;color:#475569}.product button{width:100%;margin-top:8px}.cart{position:sticky;top:95px;height:max-content}.cart h2{margin-top:0}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid #e2e8f0;padding:10px 0}.cart-line h3{margin:0 0 4px;font-size:.95rem}.qty{display:flex;align-items:center;gap:7px}.qty button{padding:6px 9px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{display:block;font-weight:600;margin:11px 0}.totals{border-top:1px solid #cbd5e1;margin-top:14px;padding-top:8px}.totals p{display:flex;justify-content:space-between;margin:8px 0}.totals .grand{font-size:1.25rem;border-top:1px dashed #94a3b8;padding-top:10px}.checkout{width:100%;font-size:1.1rem;background:#16a34a}.list{display:grid;gap:10px;margin-top:12px}.item{background:white;border-radius:14px;padding:14px;box-shadow:0 3px 12px rgba(15,23,42,.06)}.item h3{margin:0 0 6px}.item p{margin:4px 0;color:#475569}.item-actions{display:flex;gap:8px;margin-top:10px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:700;background:#e2e8f0}.badge.valide{background:#dcfce7;color:#166534}.badge.annule,.badge.rembourse{background:#fee2e2;color:#991b1b}.empty{text-align:center;color:#64748b;padding:30px 10px}.hidden{display:none!important}.error{color:#b91c1c;min-height:1.2em}dialog{width:min(92vw,560px);border:0;border-radius:18px;padding:18px}dialog::backdrop{background:rgba(15,23,42,.65)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);background:#0f172a;color:white;padding:12px 18px;border-radius:12px;transition:.25s;z-index:30}.toast.show{transform:translateX(-50%) translateY(0)}.receipt{font-family:ui-monospace,Consolas,monospace}.receipt-line{display:flex;justify-content:space-between;border-bottom:1px dotted #94a3b8;padding:6px 0}@media(max-width:800px){.connection-grid{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.cart{position:static}}.alert-stock{border-left:5px solid #dc2626}.move-entree{border-left:5px solid #16a34a}.move-sortie{border-left:5px solid #dc2626}.move-correction{border-left:5px solid #f59e0b}.inventory-count{width:100px}

.ticket-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.receipt-header{text-align:center;border-bottom:1px dashed #64748b;padding-bottom:10px;margin-bottom:8px}.receipt-header h3{margin:0 0 4px;font-size:1.15rem}.receipt-total{font-size:1.15rem;font-weight:800}.receipt-footer{text-align:center;border-top:1px dashed #64748b;margin-top:10px;padding-top:10px;font-size:.85rem}
@media print{body *{visibility:hidden!important}#ticketDialog,#ticketDialog *{visibility:visible!important}#ticketDialog{position:absolute;inset:0;width:80mm;max-width:80mm;margin:0;padding:6mm;border:0;border-radius:0;box-shadow:none}.ticket-actions,.close-ticket,.topbar,main,.toast{display:none!important}.receipt{font-size:11px;color:#000}.receipt-line{break-inside:avoid}.receipt-header h3{font-size:16px}}

.client-toolbar{display:flex;gap:10px;margin-top:14px}.client-toolbar .search{max-width:none;flex:1}.client-item .section-head{align-items:flex-start}.muted{color:#64748b}@media(max-width:600px){.client-toolbar{display:grid}.two-cols{grid-template-columns:1fr}}

/* ===== Tableau de bord V61 ===== */
.dashboard-head{align-items:flex-start}.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap}
.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.stat-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #dbe4ef;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.stat-card .stat-label{color:#64748b;font-size:.9rem}.stat-card .stat-value{font-size:1.5rem;font-weight:800;margin-top:6px}.stat-card .stat-note{font-size:.8rem;color:#94a3b8;margin-top:4px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.bar-chart{height:260px;display:flex;align-items:flex-end;gap:4px;overflow-x:auto;padding:24px 4px 28px;border-bottom:1px solid #cbd5e1}
.bar-col{min-width:18px;flex:1;max-width:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}
.bar-col .bar{width:100%;min-height:2px;border-radius:6px 6px 0 0;background:#2563eb}.bar-col small{position:absolute;bottom:-23px;font-size:.65rem;transform:rotate(-45deg);white-space:nowrap;color:#64748b}.bar-col .tip{font-size:.65rem;margin-bottom:3px;white-space:nowrap}
.rank-row{display:grid;grid-template-columns:minmax(100px,1.4fr) 3fr auto;gap:8px;align-items:center;margin:10px 0}.rank-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}.rank-fill{height:100%;background:#0f766e;border-radius:999px}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{font-weight:700}
.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td{text-align:left;padding:10px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.table-wrap{overflow:auto}.stock-zero{color:#b91c1c;font-weight:800}.stock-low{color:#b45309;font-weight:700}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.dashboard-actions button{flex:1}.dashboard-head{display:block}.dashboard-actions{margin-top:10px}}
@media print{body *{visibility:hidden}#view-dashboard,#view-dashboard *{visibility:visible}#view-dashboard{position:absolute;inset:0;display:block!important}.topbar,.tabs,.connection-grid,.dashboard-actions{display:none!important}.dashboard-grid{grid-template-columns:1fr 1fr}.card{break-inside:avoid}}

/* ===== Sécurité et utilisateurs V62 ===== */
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0f172a,#1e3a8a);z-index:100;display:grid;place-items:center;padding:20px}.login-overlay.hidden{display:none!important}.login-card{width:min(420px,95vw);background:white;border-radius:22px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.login-card h1{text-align:center;margin:0}.login-card>p{text-align:center;color:#64748b}.login-card small{display:block;text-align:center;margin-top:12px;color:#64748b}.user-zone{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-zone button{padding:7px 10px}.user-card{border-left:5px solid #2563eb}.role-pill{background:#dbeafe;color:#1d4ed8}.check-line{display:flex;align-items:center;gap:8px}.check-line input{width:auto}.access-hidden{display:none!important}@media(max-width:600px){.user-zone #currentUser{display:none}}

.wide-dialog{max-width:900px;width:min(94vw,900px)} .purchase-line-grid{display:grid;grid-template-columns:2fr .7fr 1fr auto;gap:10px;align-items:end} textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit}@media(max-width:700px){.purchase-line-grid{grid-template-columns:1fr}}


/* ===== Impression professionnelle devis / factures V74.2 ===== */
.billing-document-dialog{width:min(96vw,980px);max-width:980px;padding:0;border-radius:14px;background:#eef2f7}.billing-document-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px;background:#fff;border-bottom:1px solid #dbe4ef;position:sticky;top:0;z-index:2}.billing-document{background:#fff;color:#111827;margin:18px;padding:28px 34px;min-height:1050px;box-shadow:0 4px 24px rgba(15,23,42,.12);font-family:Arial,sans-serif}.billing-doc-header{display:flex;justify-content:space-between;gap:30px;border-bottom:3px solid #1d4ed8;padding-bottom:22px}.billing-doc-header h1{margin:5px 0 8px;font-size:27px}.billing-doc-header p{margin:3px 0;color:#475569}.billing-logo{max-width:150px;max-height:70px;object-fit:contain}.billing-doc-title{text-align:right;min-width:240px}.billing-doc-title h2{font-size:30px;letter-spacing:2px;margin:0 0 7px}.billing-status{display:inline-block;margin-top:7px;padding:6px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:700}.billing-client{margin:24px 0;padding:14px 16px;background:#f8fafc;border-left:4px solid #1d4ed8}.billing-client h3,.billing-payments h3{margin:0 0 7px}.billing-lines,.billing-payments table{width:100%;border-collapse:collapse}.billing-lines th,.billing-lines td,.billing-payments th,.billing-payments td{padding:11px 9px;border-bottom:1px solid #dbe4ef;text-align:left}.billing-lines thead,.billing-payments thead{background:#eff6ff}.billing-lines .num,.billing-payments .num{text-align:right}.billing-summary{display:grid;grid-template-columns:1fr 330px;gap:30px;margin-top:26px}.billing-totals p{display:flex;justify-content:space-between;padding:9px 0;margin:0;border-bottom:1px solid #e5e7eb}.billing-grand-total{font-size:19px;background:#eff6ff;padding:12px!important}.billing-balance{font-size:18px;font-weight:800}.billing-payments{margin-top:28px}.billing-doc-footer{text-align:center;margin-top:50px;padding-top:16px;border-top:1px solid #cbd5e1;color:#475569}@media(max-width:700px){.billing-document{margin:5px;padding:18px;min-height:0}.billing-doc-header{display:block}.billing-doc-title{text-align:left;margin-top:20px}.billing-summary{grid-template-columns:1fr}.billing-lines{font-size:.82rem}.billing-lines th,.billing-lines td{padding:7px 4px}}@page{size:A4;margin:12mm}@media print{body.print-billing-document *{visibility:hidden!important}body.print-billing-document #billingDocumentDialog,body.print-billing-document #billingDocumentDialog *,body.print-billing-document #billingDocument,body.print-billing-document #billingDocument *{visibility:visible!important}body.print-billing-document #billingDocumentDialog{display:block!important;position:absolute!important;inset:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;overflow:visible!important}body.print-billing-document #billingDocument{position:absolute;left:0;top:0;width:100%;min-height:0;margin:0;padding:0;box-shadow:none;font-size:10.5pt}body.print-billing-document .no-print{display:none!important}body.print-billing-document .billing-doc-header,.billing-lines tr,.billing-payments tr,.billing-summary{break-inside:avoid}}


/* V75.2 — impression dédiée du journal des règlements */
@media print{
  body.print-settlements *{visibility:hidden!important}
  body.print-settlements #view-reglements,
  body.print-settlements #view-reglements *{visibility:visible!important}
  body.print-settlements #view-reglements{
    display:block!important;position:absolute!important;left:0!important;top:0!important;
    width:100%!important;min-height:0!important;margin:0!important;padding:0!important;
    background:#fff!important;color:#000!important;overflow:visible!important
  }
  body.print-settlements .topbar,
  body.print-settlements .tabs,
  body.print-settlements .connection-grid,
  body.print-settlements #view-reglements .item-actions,
  body.print-settlements .toast{display:none!important}
  body.print-settlements #view-reglements .card,
  body.print-settlements #view-reglements table,
  body.print-settlements #view-reglements tr{break-inside:avoid}
  body.print-settlements #view-reglements .grid-2{grid-template-columns:1fr 1fr!important}
  body.print-settlements #view-reglements table{width:100%!important;font-size:9pt!important}
  body.print-settlements #view-reglements h2{font-size:18pt!important;margin:0 0 4mm!important}
}

/* V75.4 — commande universelle d’impression */
.global-print-bar{display:flex;justify-content:flex-end;margin:8px 0 12px}.global-print-bar button{font-weight:700}@media(max-width:700px){.global-print-bar button{width:100%}}


/* Soniparfums Mobile 2.3 */
:root{--soni-purple:#2b0a3d;--soni-purple-2:#4b1765;--soni-gold:#d8a45b;--soni-cream:#fff9f0}
body{background:linear-gradient(180deg,#f7f1fb 0,#f8fafc 380px)}
.topbar{background:linear-gradient(135deg,var(--soni-purple),#16071f);border-bottom:2px solid var(--soni-gold);box-shadow:0 8px 24px rgba(43,10,61,.22)}
.topbar h1{letter-spacing:.08em;color:#f5d7a5}.topbar p{color:#f6e8d2;opacity:.9}
button{background:linear-gradient(135deg,var(--soni-purple-2),var(--soni-purple));box-shadow:0 3px 9px rgba(43,10,61,.18)}
button.secondary,.tab{box-shadow:none}.tab.active{background:linear-gradient(135deg,var(--soni-purple),#14051d);color:#f5d7a5;border:1px solid rgba(216,164,91,.55)}
.checkout{background:linear-gradient(135deg,#b8782f,var(--soni-gold));color:#25120a}
.card,.product,.item{border:1px solid rgba(75,23,101,.08)}
.login-overlay{background:radial-gradient(circle at top,#4b1765,#16071f 58%,#07030a)}
.login-card{border:1px solid rgba(216,164,91,.55);box-shadow:0 24px 70px rgba(0,0,0,.45)}
.login-card h1{color:var(--soni-purple);letter-spacing:.12em}.brand-mark{width:76px;height:76px;margin:0 auto 8px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,var(--soni-purple-2),var(--soni-purple));border:2px solid var(--soni-gold);color:#f5d7a5;font:800 1.7rem Georgia,serif;box-shadow:0 8px 20px rgba(43,10,61,.3)}
.offline-banner{position:sticky;top:77px;z-index:19;padding:10px 16px;text-align:center;background:#fff3cd;color:#664d03;border-bottom:1px solid #e3c567;font-weight:700}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;background:linear-gradient(135deg,#fff,var(--soni-cream))}.quick-actions button{min-height:58px}
@media(max-width:800px){.quick-actions{grid-template-columns:repeat(2,1fr)}.offline-banner{top:92px}}

/* Stock Pro 4.0 — paiement mixte */
.mixed-payment{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(212,175,55,.45);
  border-radius:16px;
  background:rgba(76,29,108,.07);
}
.mixed-payment h3{margin:0 0 12px}
.payment-split-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.payment-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed rgba(212,175,55,.5);
}
@media(max-width:560px){
  .payment-split-grid{grid-template-columns:1fr}
}

/* Stock Pro 4.1 — gestion des produits */
.product-toolbar{margin:12px 0 16px}
.form-dialog{width:min(900px,95vw);max-height:92vh;overflow:auto}
.form-dialog form{padding:6px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid .full-width{grid-column:1/-1}
.product-admin-card{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center}
.product-thumb{width:84px;height:84px;border-radius:14px;object-fit:cover;background:#f2edf5;border:1px solid rgba(76,29,108,.15)}
.product-placeholder{display:grid;place-items:center;font-size:28px}
.product-meta{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.product-meta .badge{background:rgba(76,29,108,.08)}
.margin-positive{color:#08783e}
.stock-warning{color:#b45309;font-weight:700}
@media(max-width:650px){
  .form-grid{grid-template-columns:1fr}
  .product-admin-card{grid-template-columns:64px 1fr}
  .product-admin-card>.item-actions{grid-column:1/-1}
  .product-thumb{width:64px;height:64px}
}


/* Stock Pro 4.2 — thèmes clair/sombre et paramètres */
:root{
  --bg:#f6f2f8;
  --surface:#ffffff;
  --surface-2:#f1eaf5;
  --text:#211827;
  --muted:#6f6376;
  --border:rgba(76,29,108,.18);
  --shadow:0 10px 30px rgba(50,24,62,.08);
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#120f16;
  --surface:#1d1823;
  --surface-2:#292030;
  --text:#f5eef7;
  --muted:#b9aebf;
  --border:rgba(212,175,55,.22);
  --shadow:0 10px 30px rgba(0,0,0,.32);
  color-scheme:dark;
}
html[data-theme="light"]{color-scheme:light}
body{background:var(--bg)!important;color:var(--text)!important}
.item,.panel,.card,.form-dialog,.settings-card,dialog{
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow);
}
input,select,textarea{
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
}
.muted,small{color:var(--muted)!important}
.tab,.secondary{background:var(--surface-2)!important;color:var(--text)!important}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settings-card{padding:18px}
.settings-card label{display:grid;gap:8px}
.theme-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.preview-card{padding:18px;border-radius:14px;border:1px solid var(--border);text-align:center}
.preview-light{background:#fff;color:#211827}
.preview-dark{background:#18131d;color:#f5eef7}
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .tabs{direction:rtl}
html[dir="rtl"] input,html[dir="rtl"] select,html[dir="rtl"] textarea{text-align:right}
@media(max-width:700px){
  .settings-grid{grid-template-columns:1fr}
}


/* Stock Pro 4.3 — correction d'affichage mobile et tablette */
html,body{
  width:100%;
  max-width:100%;
  min-width:0!important;
  overflow-x:hidden!important;
}
*{
  box-sizing:border-box;
  min-width:0;
}
body{
  margin:0;
}
.app-shell,
.container,
main,
.view,
.card,
.panel,
.item,
form,
section{
  width:100%;
  max-width:100%;
}
.login-screen,
.login-card,
.auth-card{
  width:100%;
  max-width:520px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.login-screen{
  padding-left:16px!important;
  padding-right:16px!important;
}
.topbar,
.header,
.connection-panel,
.connection-grid,
.section-head,
.actions,
.item-actions,
.dashboard-actions{
  max-width:100%;
  flex-wrap:wrap;
}
.connection-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
.connection-grid > *{
  width:100%!important;
  max-width:100%;
}
.tabs,
.nav-tabs,
.quick-actions{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  display:flex;
  flex-wrap:nowrap!important;
  gap:8px;
}
.tabs > *,
.nav-tabs > *,
.quick-actions > *{
  flex:0 0 auto;
}
.dashboard-grid,
.stats-grid,
.kpi-grid,
.cards-grid,
.grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  width:100%;
}
img,video,canvas,svg{
  max-width:100%;
  height:auto;
}
table{
  width:100%;
}
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
dialog{
  width:min(94vw,900px)!important;
  max-width:94vw!important;
}
@media(max-width:700px){
  body{
    font-size:15px;
  }
  .app-shell,
  main,
  .view{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .section-head{
    align-items:stretch!important;
  }
  .section-head > *{
    width:100%;
  }
  .section-head .item-actions,
  .dashboard-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .section-head button,
  .dashboard-actions button,
  .quick-actions button{
    width:100%;
  }
  .dashboard-grid,
  .stats-grid,
  .kpi-grid,
  .cards-grid,
  .grid,
  .two-cols,
  .three-cols,
  .four-cols{
    grid-template-columns:1fr!important;
  }
  .login-card,
  .auth-card{
    border-radius:22px!important;
    padding:24px 18px!important;
  }
  .brand-title,
  .login-card h1{
    font-size:clamp(28px,9vw,48px)!important;
    overflow-wrap:anywhere;
  }
}
@media(min-width:701px){
  .connection-grid{
    grid-template-columns:minmax(260px,1fr) minmax(180px,1fr) auto!important;
  }
}

/* Stock Pro 5.0 — fiches parfums professionnelles */
.check-label{display:flex!important;align-items:center;gap:10px}
.check-label input{width:auto!important}
.variants-editor{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.variant-row{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr .8fr auto;gap:8px;align-items:end;margin-top:10px}
.variant-row label{font-size:.85rem}
.variant-row button{height:44px}
.perfume-tags{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.perfume-tag{padding:5px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:.82rem}
.product-flags{font-size:1.2rem;white-space:nowrap}
.product-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:14px 0}
.product-gallery img{width:100%;height:150px;object-fit:cover;border-radius:14px;border:1px solid var(--border)}
.olfactive-pyramid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.olfactive-note{padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}
.variant-table{width:100%;border-collapse:collapse}
.variant-table th,.variant-table td{padding:9px;border-bottom:1px solid var(--border);text-align:left}
@media(max-width:760px){
  .variant-row{grid-template-columns:1fr 1fr}
  .variant-row .variant-remove{grid-column:1/-1}
  .olfactive-pyramid{grid-template-columns:1fr}
}


/* Stock Pro Enterprise 6.0 */
.alert-v6{padding:14px;border-radius:14px;border:1px solid var(--border);margin-bottom:10px;background:var(--surface-2)}
.alert-v6 p{margin:.35rem 0 0}
.alert-v6.danger{border-left:6px solid #b42318}
.alert-v6.warning{border-left:6px solid #b54708}
.alert-v6.ok{border-left:6px solid #067647}
@media(max-width:760px){
  #view-alertes-v6 .section-head{align-items:stretch}
  #view-alertes-v6 .item-actions{display:grid;grid-template-columns:1fr 1fr}
}


/* ===== Stock Pro Enterprise 7.2 — caisse responsive stable ===== */
.pos-layout{
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);
  align-items:start;
  width:100%;
  max-width:100%;
}
.pos-layout > *{min-width:0;max-width:100%}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));min-width:0}
.product{min-width:0;overflow:hidden}
.product h3,.product p{overflow-wrap:anywhere}
.cart{min-width:0;max-width:100%;overflow-wrap:anywhere}
.cart-line{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:1050px){
  .pos-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
  .product-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
}
@media(max-width:860px){
  .pos-layout{grid-template-columns:1fr}
  .cart{position:static;top:auto;width:100%}
}
@media(max-width:520px){
  main{padding:10px}
  .product-grid{grid-template-columns:1fr}
  .product{width:100%}
  .cart-line{grid-template-columns:1fr}
  .qty{justify-content:flex-start;flex-wrap:wrap}
}
