
.pro-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pro-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.pro-card h3{margin:0 0 10px}
.pro-actions{display:flex;gap:8px;flex-wrap:wrap}
.pro-pills{display:flex;gap:8px;flex-wrap:wrap}
.pro-pill{padding:6px 10px;border-radius:999px;background:#eef4fb;font-size:11px;font-weight:800;color:#345}
.pro-pill.ok{background:#eaf9f3;color:var(--ok)} .pro-pill.warn{background:#fff5df;color:#9a6200}.pro-pill.bad{background:#fff0f2;color:var(--bad)}
.pro-two{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.pro-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pro-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pro-span2{grid-column:span 2}
.pro-note{font-size:12px;color:var(--muted);line-height:1.5}
.pro-table-wrap{overflow:auto}
.pro-table{min-width:760px}
.pro-section{margin-top:18px}
.pro-titleline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.pro-titleline h3{margin:0}
.pro-alert{padding:11px 13px;border-radius:10px;background:#eef6ff;color:#155aa5;font-size:12px}
.pro-danger{background:#fff1f2;color:#b33}
.pro-success{background:#ebfaf4;color:#087a53}
.pro-mutedbox{background:#f7f9fc;border:1px dashed var(--line);padding:14px;border-radius:12px}
.pro-total{font-weight:900;font-size:18px}
.pro-select-sm{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:white}
.pro-user{display:flex;align-items:center;gap:10px}
.pro-avatar{width:34px;height:34px;border-radius:50%;background:#eaf2fb;display:grid;place-items:center;font-weight:900;color:#2369b0}
.pro-notif{position:relative}.pro-dot{position:absolute;right:3px;top:3px;width:8px;height:8px;border-radius:50%;background:#e54}
.pro-metric small{display:block;color:var(--muted);font-size:11px;font-weight:700}.pro-metric strong{display:block;font-size:22px;margin-top:4px}
.pro-login-note{margin-top:16px;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:1100px){.pro-kpis{grid-template-columns:repeat(2,1fr)}.pro-two,.pro-three{grid-template-columns:1fr}}
@media(max-width:650px){.pro-kpis,.pro-form{grid-template-columns:1fr}.pro-span2{grid-column:auto}}



/* QUINCA+ v6 — caisse visuelle */
.btn{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,border-color .15s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 8px 18px rgba(16,32,51,.13)}
.btn:active:not(:disabled){transform:translateY(0)}
.btn:disabled{opacity:.45;cursor:not-allowed}

.sale-product-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));align-items:stretch}
.sale-product-card{
  cursor:default;
  overflow:hidden;
  padding:0;
  display:flex;
  flex-direction:column;
  min-height:330px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.sale-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(20,39,71,.16);
  border-color:#8bbcf2
}
.sale-product-image{
  height:145px;
  background:#f0f4f8;
  display:grid;
  place-items:center;
  overflow:hidden
}
.sale-product-img{width:100%;height:100%;object-fit:cover;display:block}
.sale-product-info{padding:13px 14px 6px;flex:1}
.sale-product-info strong{display:block;font-size:14px;line-height:1.25;min-height:35px}
.sale-product-info small{display:block;color:var(--muted);margin-top:5px;font-size:11px}
.sale-product-info p{margin:10px 0 7px}
.sale-add-row{
  padding:10px 12px 13px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:auto 66px 1fr;
  gap:7px;
  align-items:center
}
.sale-add-row label{margin:0;font-size:11px}
.sale-qty{padding:9px;text-align:center}
.product-add-btn{padding:9px 10px}
.product-add-btn:hover:not(:disabled){box-shadow:0 8px 18px rgba(22,119,232,.24)}

.product-placeholder{
  width:100%;
  height:100%;
  min-height:60px;
  display:grid;
  place-items:center;
  font-size:40px;
  background:linear-gradient(145deg,#f7f9fc,#e8eef6)
}
.table-product-image{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f0f4f8}
.table-product-img{width:100%;height:100%;object-fit:cover}
.product-image-editor{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:16px;
  align-items:center;
  margin:10px 0 18px
}
.product-image-preview{
  width:130px;height:130px;border-radius:14px;overflow:hidden;background:#f0f4f8;border:1px solid var(--line)
}
.product-preview-img{width:100%;height:100%;object-fit:cover}

.cash-panel{position:sticky;top:86px;align-self:start}
.cash-change-box{font-size:14px}
.checkout-btn{font-size:15px;padding:14px}
.cash-grand-total{padding:14px 0 4px;font-size:21px}

.cart-row-rich{
  grid-template-columns:minmax(0,1fr) 74px auto 38px;
  align-items:center
}
.cart-product-main{display:flex;gap:9px;align-items:center;min-width:0}
.cart-product-main>div:last-child{min-width:0}
.cart-product-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.cart-product-image{width:46px;height:46px;flex:0 0 46px;border-radius:9px;overflow:hidden;background:#f0f4f8}
.cart-product-img{width:100%;height:100%;object-fit:cover}
.cart-qty-editor label{margin:0 0 3px;font-size:9px}
.cart-qty-input{padding:7px;text-align:center}
.cart-line-total{white-space:nowrap;text-align:right}
.cart-remove-btn{padding:7px 10px}

@media(max-width:650px){
  .sale-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sale-product-card{min-height:300px}
  .sale-product-image{height:115px}
  .sale-add-row{grid-template-columns:auto 58px 1fr;padding:8px}
  .cart-row-rich{grid-template-columns:1fr 65px auto 34px;gap:6px}
  .cart-product-image{width:38px;height:38px;flex-basis:38px}
  .cart-product-main strong{max-width:100px}
  .product-image-editor{grid-template-columns:90px 1fr}
  .product-image-preview{width:90px;height:90px}
}



/* QUINCA+ v7 — catégories */
.product-toolbar,.pos-filter-bar{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(190px,.8fr);
  gap:10px;
  align-items:center
}
@media(max-width:700px){
  .product-toolbar,.pos-filter-bar{grid-template-columns:1fr}
}
