.tev-stack{display:grid;gap:var(--tev-space-3)}
.tev-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tev-space-2) var(--tev-space-3)}
.tev-grid-span-2{grid-column:1/-1}

.main{width:100%;max-width:1440px;margin:0 auto;padding:24px 24px 48px}
.tablewrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible}
.card{min-width:0}
.toolbar,.compact-toolbar{min-width:0}

@media(min-width:901px) and (max-width:1440px){
  .main{max-width:100%;padding:20px 16px 40px}
  .topbar{padding-left:12px;padding-right:12px;gap:10px}
  .brand .brand-horizontal{width:190px;height:42px}
  .nav{gap:4px;min-width:0}
  .nav button{padding:7px 9px}
  .split{grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:14px}
  .sidebar{min-width:0}
}

@media(max-width:900px){
  .main{padding:20px 14px 36px}
  .tev-grid-2{grid-template-columns:1fr}
  .tev-grid-span-2{grid-column:auto}
  .split{grid-template-columns:1fr}
  .sidebar{position:static}
}

@media(max-width:700px){
  .main{padding:18px 12px 32px}
  .tev-grid-2{grid-template-columns:1fr}
  .tev-grid-span-2{grid-column:auto}
  .profile-grid{grid-template-columns:1fr}
  .profile-grid .span2{grid-column:auto}
  .profile-card,.password-change-card,.main details{max-width:100%}
  .vigneron-profile-top{align-items:flex-start}
}

/* V282 — client mobile catalogue: collapsed domains + one-line products */
.client-product-volume{display:none}
@media(max-width:700px){
  .client-domain-card{padding:7px 9px!important;margin-bottom:5px!important}
  .client-domain-card .domain-title{min-height:28px!important;margin:0!important;align-items:center!important}
  .client-domain-card .domain-title h2{font-size:16px!important;line-height:1.1!important}
  .client-domain-card:not(.is-open) .client-domain-products{display:none!important}
  .client-domain-card.is-open .client-domain-products{display:block!important}
  .client-product{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px 68px 96px!important;
    grid-template-rows:28px!important;
    align-items:center!important;
    gap:4px!important;
    padding:2px 0!important;
    min-height:30px!important;
  }
  .client-product-name-wrap{grid-column:1!important;min-width:0!important}
  .client-product-name{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:12px!important;line-height:1.1!important}
  .client-product .product-meta{display:none!important}
  .client-product-volume{
    display:block!important;
    grid-column:2!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }
  .client-product-price{
    display:block!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:stretch!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }
  .client-product-price b{font-size:11px!important}
  .client-product-price small{display:none!important}
  .client-product-qty{
    display:grid!important;
    grid-column:4!important;
    grid-row:1!important;
    grid-template-columns:26px 28px 26px!important;
    gap:2px!important;
    align-items:center!important;
    justify-content:end!important;
  }
  .client-product-qty button{width:26px!important;height:26px!important;min-width:26px!important;padding:0!important}
  .client-product-qty b{text-align:center!important;font-size:11px!important}
}

/* V285 — client mobile platform availability */
.client-platform-icon{display:none}
@media(max-width:700px){
  .client-product-name-wrap{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important}
  .client-product-name{flex:1 1 auto!important;min-width:0!important}
  .client-platform-icon{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;color:#3b0c34!important}
  .client-platform-icon svg{width:15px!important;height:15px!important;display:block!important}
}

/* V286 — client mobile row aligned to compact reference */
@media(max-width:700px){
  .client-domain-card{padding:8px 10px!important}
  .client-domain-card .domain-title{min-height:34px!important}
  .client-domain-products{margin-top:5px!important}
  .client-product{
    grid-template-columns:minmax(0,1fr) 46px 72px 88px!important;
    grid-template-rows:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-bottom:1px solid rgba(59,12,52,.10)!important;
    gap:3px!important;
  }
  .client-product-name{font-size:13px!important;font-weight:700!important}
  .client-product-volume{font-size:11px!important}
  .client-product-price,.client-product-price b{font-size:12px!important}
  .client-product-price small{display:inline!important;font-size:9px!important}
  .client-product-qty{grid-template-columns:24px 28px 24px!important;gap:2px!important}
  .client-product-qty button{width:24px!important;height:24px!important;min-width:24px!important}
  .client-product-qty b{font-size:11px!important}
}


/* V395 — PRO > Mon compte compact */
.client-profile-page{width:100%;max-width:960px}
.client-profile-page>.section-title{margin:0 0 8px!important}
.client-profile-card{
  width:100%!important;
  max-width:960px!important;
  padding:14px 16px!important;
  margin:0!important
}
.client-profile-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 12px!important;
  margin-top:0!important
}
.client-profile-grid .field{
  margin:0!important;
  gap:3px!important
}
.client-profile-grid .field>label{
  font-size:9px!important;
  line-height:1.05!important;
  letter-spacing:.07em
}
body #app .shell .main .client-profile-grid .field input{
  height:34px!important;
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:9px!important
}
body #app .shell .main .client-profile-grid .field textarea{
  min-height:54px!important;
  height:54px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  resize:vertical
}
.client-profile-card .profile-actions{
  margin-top:9px!important;
  padding-top:0!important;
  gap:10px!important
}
.client-profile-card .profile-actions .btn{
  min-height:34px!important;
  padding:7px 14px!important
}
.profile-password-wrap{
  position:relative;
  display:block;
  min-width:0
}
body #app .shell .main .profile-password-wrap .profile-password-input{
  padding-right:40px!important;
  background:#f0efed!important;
  color:#6f6b68!important;
  border-color:#ded9d4!important;
  cursor:default
}
.profile-password-eye{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#32102f!important;
  cursor:pointer
}
.profile-password-eye:hover{background:rgba(50,16,47,.06)!important}
.profile-password-eye svg{
  width:17px;
  height:17px;
  display:block;
  margin:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}
@media(max-width:700px){
  .client-profile-card{padding:12px!important}
  .client-profile-grid{grid-template-columns:1fr!important;gap:7px!important}
  .client-profile-grid .span2{grid-column:auto!important}
}


/* V398 — Client > Mes commandes */
.client-orders-page{width:100%}
.client-orders-page>.section-title{margin:0 0 12px!important}
.client-orders-list{display:grid;gap:8px}
body #app .shell .main details.client-order-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--tev-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important
}
body #app .shell .main details.client-order-card>summary.client-order-head{
  position:relative;
  min-height:58px!important;
  padding:10px 40px 10px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  list-style:none!important;
  cursor:pointer!important;
  border:0!important;
  background:#fff!important
}
body #app .shell .main details.client-order-card>summary.client-order-head::-webkit-details-marker{display:none!important}
body #app .shell .main details.client-order-card>summary.client-order-head::after{content:none!important}
.client-order-head:hover{background:#faf8f5!important}
.client-order-head-main{display:flex;flex-direction:column;min-width:0;gap:2px}
.client-order-id{font-size:13px;line-height:1.15;color:var(--tev-text)}
.client-order-date{font-size:11px;line-height:1.2;color:var(--tev-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-order-head-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.client-order-head-meta>strong{font-size:14px}
.client-order-count{font-size:11px;color:var(--tev-muted)}
.client-order-chevron{
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  line-height:1;
  color:var(--tev-primary);
  transition:transform .15s ease
}
.client-order-card[open] .client-order-chevron{transform:translateY(-50%) rotate(180deg)}
.client-order-body{
  padding:0 16px 14px!important;
  border-top:1px solid var(--tev-border)!important;
  background:#fff
}
.client-order-lines{display:grid}
.client-order-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px 110px;
  align-items:center;
  gap:14px;
  min-height:48px;
  padding:7px 0;
  border-bottom:1px solid var(--tev-border)
}
.client-order-line-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.client-order-line-main b{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-order-line-main small{font-size:10px;line-height:1.2;color:var(--tev-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-order-line-unit{font-size:11px;text-align:right;color:var(--tev-muted)}
.client-order-line>strong{font-size:12px;text-align:right}
.client-order-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px 0;
  border-bottom:1px solid var(--tev-border);
  font-size:11px
}
.client-order-note b{min-width:150px}
.client-order-note span{color:var(--tev-muted)}
.client-order-totals{
  margin-left:auto;
  width:min(360px,100%);
  padding-top:8px
}
.client-order-totals>div{display:flex;justify-content:space-between;gap:20px;padding:4px 0;font-size:11px}
.client-order-totals .client-order-total{margin-top:3px;padding-top:7px;border-top:1px solid var(--tev-border);font-size:13px}
@media(max-width:700px){
  body #app .shell .main details.client-order-card>summary.client-order-head{
    align-items:flex-start!important;
    padding:10px 34px 10px 12px!important;
    gap:8px!important
  }
  .client-order-head-meta{flex-wrap:wrap;gap:5px;justify-content:flex-end}
  .client-order-count{display:none}
  .client-order-body{padding:0 12px 12px!important}
  .client-order-line{grid-template-columns:minmax(0,1fr) 82px;gap:8px}
  .client-order-line-unit{display:none}
  .client-order-note{display:grid;gap:4px}
  .client-order-note b{min-width:0}
}


/* V406 — compact admin client list */
.clients-table tbody tr.client-row td{
  vertical-align:middle!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
  line-height:1.2!important
}
.clients-table tbody tr.client-row td>*{vertical-align:middle}
.clients-table tbody tr.client-row select{
  height:26px!important;
  min-height:26px!important;
  width:auto!important;
  min-width:82px!important;
  padding:0 24px 0 8px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:24px!important
}
.client-edit-password-wrap input{padding-right:40px!important}
