:root {
  --ink: #162026;
  --muted: #5c6a72;
  --line: #dbe4e8;
  --paper: #f7f9fb;
  --white: #ffffff;
  --blue: #146c94;
  --blue-dark: #0f3f5c;
  --mint: #18a999;
  --gold: #f3b33d;
  --shadow: 0 18px 55px rgba(22, 32, 38, 0.13);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background:
    linear-gradient(180deg, #f7fbfc 0, #eef5f7 42%, #f7f9fb 100%);
}

a { color: inherit; text-decoration: none; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 28px;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.topbar .brand img {
  width: 92px;
  height: 44px;
  object-fit: contain;
  flex: 0 0 92px;
  max-width: 92px;
  max-height: 44px;
}

.brand strong {
  display: block;
  font-size: 22px;
}

.brand small,
.hint,
.eyebrow,
footer {
  color: var(--muted);
}

nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

nav a,
.button,
button {
  min-height: 42px;
  border: 1px solid var(--blue-dark);
  border-radius: 8px;
  background: var(--blue-dark);
  color: white;
  padding: 11px 15px;
  font: inherit;
  cursor: pointer;
}

main {
  min-height: calc(100vh - 124px);
  padding: 34px 28px;
}

.notice {
  max-width: 1180px;
  margin: 22px auto 0;
  padding: 14px 16px;
  border: 1px solid #b7dfcc;
  background: #eefbf5;
  border-radius: 8px;
}

.hero,
.panel {
  max-width: 1180px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 30px;
  box-shadow: var(--shadow);
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 28px;
  align-items: center;
  min-height: 520px;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.03;
  margin-bottom: 16px;
}

h2 { font-size: 30px; }

.hero p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}

.hero-actions,
.quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.quick-actions {
  max-width: 1180px;
  margin: 22px auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quick-actions a {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 24px rgba(22, 32, 38, .06);
}

.quick-actions strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.quick-actions span {
  color: var(--muted);
  line-height: 1.45;
}

.hero-visual {
  position: relative;
  min-height: 410px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(120deg, rgba(20, 108, 148, .1), rgba(24, 169, 153, .08)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef4f6 18px, #eef4f6 20px);
}

.hero-logo {
  position: absolute;
  left: 28px;
  top: 22px;
  width: calc(100% - 56px);
  height: 78px;
  object-fit: contain;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 14px;
  max-width: calc(100% - 56px);
  max-height: 78px;
}

.hero-badge,
.hero-card-img,
.hero-shirt {
  position: absolute;
  filter: drop-shadow(0 22px 30px rgba(15, 63, 92, .24));
}

.hero-badge {
  left: 34px;
  top: 120px;
  width: 245px;
  transform: rotate(-5deg);
}

.hero-card-img {
  right: 24px;
  top: 138px;
  width: 250px;
  transform: rotate(6deg);
}

.hero-shirt {
  right: 76px;
  bottom: 16px;
  width: 220px;
}

.product-strip,
.cards,
.workflow {
  max-width: 1180px;
  margin: 22px auto 0;
  display: grid;
  gap: 16px;
}

.product-strip {
  grid-template-columns: repeat(3, 1fr);
}

.product-strip article,
.cards article,
.cards a {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(22, 32, 38, .06);
}

.product-strip img {
  width: 100%;
  height: 126px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.product-strip span,
.cards span,
.timeline span,
.order-side span {
  color: var(--muted);
}

.quick-dashboard { margin-top: 22px; }

.contact-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
}

.contact-band p {
  max-width: 640px;
  color: var(--muted);
  line-height: 1.5;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.workflow {
  grid-template-columns: repeat(5, 1fr);
  margin-top: 16px;
}

.workflow article {
  min-height: 90px;
  padding: 16px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.workflow strong {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--blue);
  color: white;
}

.narrow { max-width: 560px; }

.form {
  display: grid;
  gap: 16px;
}

.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}

input,
select,
textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  color: var(--ink);
  background: white;
  font: inherit;
}

textarea { min-height: 110px; }
.wide { grid-column: 1 / -1; }

.order-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
}

.order-panel {
  max-width: 1280px;
}

.order-panel .admin-head {
  margin-bottom: 18px;
}

.order-panel .form.grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
}

.order-panel .form.grid > label {
  grid-column: span 6;
}

.order-panel .form.grid > .wide {
  grid-column: 1 / -1;
}

.order-panel .product-choice-cards {
  order: 1;
}

.order-panel .live-config-studio {
  order: 2;
}

.order-panel .form.grid > label,
.order-panel .order-section-title,
.order-panel .option-panel,
.order-panel .template-picker,
.order-panel .rfid-note-box,
.order-panel .textile-quick-panel,
.order-panel .legal-consent,
.order-panel .form.grid > button {
  order: 3;
}

.order-panel .product-choice-cards::before {
  content: "Choisir le produit a personnaliser";
  grid-column: 1 / -1;
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.order-summary {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
  box-shadow: 0 10px 28px rgba(22, 32, 38, .07);
}

.order-summary > strong {
  color: var(--blue-dark);
  font-size: 20px;
}

.order-summary div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.order-summary span,
.order-summary p {
  color: var(--muted);
}

.order-summary p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.order-summary .summary-total {
  padding: 12px;
  border: 0;
  border-radius: 8px;
  background: var(--blue-dark);
  color: white;
}

.summary-total span,
.summary-total b { color: white; }

.product-choice-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.product-choice-cards button {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-height: 132px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: var(--ink);
  text-align: left;
  box-shadow: 0 8px 20px rgba(22, 32, 38, .05);
}

.product-choice-cards button img {
  width: 76px;
  height: 88px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
  padding: 6px;
}

.product-choice-cards button div {
  display: grid;
  gap: 5px;
}

.product-choice-cards button.is-active {
  border-color: var(--blue-dark);
  background: #eef7f8;
  box-shadow: inset 0 0 0 2px rgba(15, 63, 92, .18);
}

.product-choice-cards span {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e9f8f8;
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
}

.product-choice-cards strong {
  color: var(--ink);
  font-size: 17px;
}

.product-choice-cards small {
  color: var(--muted);
  line-height: 1.35;
}

.order-section-title {
  display: grid;
  gap: 5px;
  padding: 14px;
  border-left: 4px solid var(--blue-dark);
  border-radius: 8px;
  background: #f7fbfc;
}

.order-section-title span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.order-section-title strong {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.option-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.option-panel strong {
  color: var(--blue-dark);
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

select[multiple] {
  min-height: 96px;
}

.live-config-studio {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 18px;
  align-items: center;
  min-height: 300px;
  padding: 22px;
  border: 1px solid #bdd4dc;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(0, 168, 168, .12), transparent 42%),
    repeating-linear-gradient(45deg, #ffffff, #ffffff 16px, #eef7f8 16px, #eef7f8 18px);
  box-shadow: 0 18px 45px rgba(15, 63, 92, .1);
}

.config-copy {
  display: grid;
  gap: 7px;
}

.config-copy span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.config-copy strong {
  color: var(--ink);
  font-size: 32px;
  line-height: 1.06;
}

.config-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.config-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.config-points b {
  padding: 6px 9px;
  border: 1px solid #bdd4dc;
  border-radius: 999px;
  background: white;
  color: var(--blue-dark);
  font-size: 12px;
}

.config-preview-shell {
  position: relative;
  min-height: 260px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 35%, rgba(24, 169, 153, .16), transparent 42%),
    rgba(255, 255, 255, .82);
  overflow: hidden;
}

.studio-product-preview {
  position: absolute;
  inset: 18px;
  width: auto;
  height: auto;
  max-width: 88%;
  max-height: 224px;
  margin: auto;
  object-fit: contain;
  opacity: 0;
  transform: translateY(10px) scale(.96);
  transition: opacity .22s ease, transform .22s ease;
  filter: drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.studio-product-preview.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.studio-product-preview[data-preview-type="textile"] {
  max-height: 240px;
}

.textile-tone-chip {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 63, 92, .12);
}

.textile-tone-chip::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 1px solid #cbdbe1;
  border-radius: 50%;
  background: var(--tone-color, #fff);
}

.live-config-studio.is-textile-active .textile-tone-chip {
  display: inline-flex;
}

.studio-product-preview.shirt-tone-white {
  filter: drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.studio-product-preview.shirt-tone-black {
  filter: brightness(.22) contrast(1.35) drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.studio-product-preview.shirt-tone-navy {
  filter: sepia(.45) saturate(2.2) hue-rotate(170deg) brightness(.72) contrast(1.12) drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.studio-product-preview.shirt-tone-green {
  filter: sepia(.55) saturate(2.4) hue-rotate(105deg) brightness(.78) contrast(1.08) drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.studio-product-preview.shirt-tone-red {
  filter: sepia(.7) saturate(2.8) hue-rotate(315deg) brightness(.82) contrast(1.08) drop-shadow(0 22px 32px rgba(15, 63, 92, .22));
}

.config-preview {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease;
}

.config-preview.is-active {
  opacity: 1;
  transform: translateY(0);
}

.mini-cordon {
  position: absolute;
  top: 16px;
  left: 58px;
  width: 74px;
  height: 88px;
  border: 6px solid var(--blue-dark);
  border-bottom: 0;
  border-radius: 46px 46px 0 0;
  transform: rotate(-14deg);
}

.mini-badge-card,
.mini-pvc-card,
.mini-rfid-card {
  position: relative;
  display: block;
  width: 132px;
  height: 86px;
  border-radius: 8px;
  background: white;
  border: 1px solid #cbdbe1;
  box-shadow: 0 18px 30px rgba(15, 63, 92, .18);
  overflow: hidden;
}

.mini-badge-card::before,
.mini-pvc-card::before,
.mini-rfid-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 22px;
  background: var(--blue-dark);
}

.mini-badge-card i,
.mini-pvc-card i,
.mini-rfid-card i {
  position: absolute;
  right: 12px;
  top: 32px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #d9e7ec;
}

.mini-badge-card b,
.mini-pvc-card b,
.mini-rfid-card b {
  position: absolute;
  left: 12px;
  top: 36px;
  width: 54px;
  height: 8px;
  border-radius: 20px;
  background: var(--mint);
}

.mini-badge-card em,
.mini-pvc-card em,
.mini-rfid-card em {
  position: absolute;
  left: 12px;
  bottom: 16px;
  width: 74px;
  height: 8px;
  border-radius: 20px;
  background: var(--blue-dark);
}

.mini-pvc-card {
  width: 150px;
  height: 94px;
  transform: rotate(-5deg);
}

.mini-pvc-card::before {
  background: linear-gradient(90deg, var(--blue-dark), var(--mint));
}

.mini-rfid-card {
  background: linear-gradient(135deg, #ffffff 0 58%, #eef7f8 58% 100%);
}

.mini-rfid-card b {
  top: 38px;
  left: 45px;
  width: auto;
  height: auto;
  background: transparent;
  color: var(--blue-dark);
  font-size: 22px;
}

.mini-rfid-card i {
  right: 18px;
  top: 28px;
  border: 3px solid var(--mint);
  background: transparent;
}

.shirt-real-preview {
  width: 168px;
  max-width: 82%;
  height: auto;
  filter: drop-shadow(0 18px 26px rgba(15, 63, 92, .22));
}

.textile-quick-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.textile-quick-panel strong {
  color: var(--blue-dark);
}

.textile-swatches {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.textile-swatches button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.textile-swatches button.is-active {
  border-color: var(--blue-dark);
  background: #eef7f8;
  box-shadow: inset 0 0 0 2px rgba(15, 63, 92, .16);
}

.textile-swatches span {
  width: 16px;
  height: 16px;
  border: 1px solid #cbdbe1;
  border-radius: 50%;
}

.product-specific.is-hidden,
.template-choice.is-hidden {
  display: none;
}

.rfid-note-box {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #b7dfcc;
  border-radius: 8px;
  background: #eefbf5;
}

.rfid-note-box strong {
  color: var(--blue-dark);
}

.rfid-note-box p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.checkline {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.checkline input {
  width: auto;
  min-height: auto;
}

.profile-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.profile-summary article {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.profile-summary span {
  color: var(--muted);
  font-size: 13px;
}

.password-form {
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.legal-consent {
  align-items: start;
  color: var(--ink);
  font-size: 14px;
}

.product-editor {
  margin-bottom: 22px;
  padding: 18px;
  border: 1px dashed #bdd4dc;
  border-radius: 8px;
  background: #f7fbfc;
}

.product-admin-list {
  display: grid;
  gap: 14px;
}

.product-admin-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.product-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.product-card-head strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.product-admin-grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .7fr .7fr;
  gap: 12px;
  align-items: end;
}

.template-picker {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.template-picker > strong {
  color: var(--blue-dark);
}

.template-choice {
  display: grid;
  grid-template-columns: auto 88px 1fr;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: var(--ink);
}

.template-choice:first-of-type {
  grid-template-columns: auto 1fr;
}

.template-choice input {
  width: auto;
  min-height: auto;
}

.template-choice img {
  width: 88px;
  height: 58px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef5f7;
}

.template-admin-list {
  display: grid;
  gap: 14px;
}

.template-admin-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.template-preview {
  display: grid;
  place-items: center;
  min-height: 150px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
  overflow: hidden;
}

.template-preview img {
  width: 100%;
  height: 100%;
  max-height: 180px;
  object-fit: contain;
}

.template-preview span {
  color: var(--muted);
  font-weight: 700;
}

.template-fields {
  display: grid;
  gap: 14px;
}

.template-edit-row {
  grid-template-columns: 1.2fr .8fr auto;
}

.partner-grid {
  display: grid;
  gap: 14px;
  margin: 18px 0 26px;
}

.partner-apply-grid {
  display: grid;
  grid-template-columns: .9fr 1fr;
  gap: 18px;
  align-items: start;
}

.charter-box,
.partner-apply-form,
.partner-approve-form {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.charter-box p,
.partner-approve-form span {
  color: var(--muted);
  line-height: 1.5;
}

.partner-approve-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.partner-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.partner-real-card,
.partner-space-panel {
  gap: 18px;
}

.partner-real-head,
.partner-hero,
.partner-client-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
  gap: 18px;
  align-items: stretch;
}

.partner-real-head h2,
.partner-hero h2 {
  margin: 4px 0 10px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
}

.partner-code-card {
  display: grid;
  align-content: end;
  gap: 10px;
  min-height: 150px;
  padding: 22px;
  border-radius: 8px;
  color: white;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .98), rgba(24, 169, 153, .95));
  box-shadow: 0 18px 34px rgba(15, 63, 92, .18);
}

.partner-code-card img {
  width: 136px;
  max-height: 64px;
  object-fit: contain;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
}

.partner-code-card small {
  opacity: .8;
  font-weight: 800;
}

.partner-code-card strong {
  font-size: clamp(24px, 3vw, 36px);
  letter-spacing: 0;
}

.partner-code-card.large {
  min-height: 210px;
}

.partner-progress {
  display: grid;
  gap: 10px;
}

.partner-progress > div {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4edf0;
}

.partner-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--mint), var(--gold));
}

.partner-progress p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.partner-admin-actions,
.partner-sale-form {
  display: grid;
  gap: 12px;
}

.partner-admin-actions {
  grid-template-columns: repeat(3, max-content);
  align-items: center;
}

.partner-sale-form {
  grid-template-columns: minmax(220px, 1fr) 180px auto;
  align-items: end;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.partner-payout-box {
  display: grid;
  gap: 18px;
  margin: 20px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.commission-list {
  display: grid;
  gap: 10px;
  margin: 12px 0 26px;
}

.commission-card {
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) .7fr .8fr auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.commission-card div {
  display: grid;
  gap: 5px;
}

.commission-card span {
  color: var(--muted);
}

.stock-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.stock-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.stock-alert {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid #f0d58a;
  border-radius: 8px;
  background: #fff8e5;
}

.stock-alert strong {
  color: #735300;
}

.stock-alert div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.stock-alert span {
  padding: 7px 10px;
  border-radius: 999px;
  background: white;
  color: #735300;
  font-size: 13px;
  font-weight: 700;
}

.stock-edit-grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .7fr .7fr auto;
  gap: 12px;
  align-items: end;
}

.team-grid {
  display: grid;
  gap: 14px;
}

.team-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.team-edit-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr .8fr .8fr .8fr 1fr;
  gap: 12px;
  align-items: end;
}

.presence-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 700;
}

.presence-line::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #aab6bc;
}

.presence-line.online::before {
  background: var(--mint);
  box-shadow: 0 0 0 4px rgba(24, 169, 153, .14);
}

.table {
  display: grid;
  gap: 14px;
}

.row {
  display: grid;
  grid-template-columns: 1fr 1.4fr .8fr .8fr 1.1fr 1.4fr auto;
  gap: 10px;
  align-items: center;
}

.compact .row {
  grid-template-columns: 1fr 1.5fr 1fr 1.5fr;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}

.admin-order-card {
  display: grid;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
  box-shadow: 0 10px 28px rgba(22, 32, 38, .07);
}

.admin-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.admin-filter-form {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr auto auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.empty-state {
  display: grid;
  gap: 8px;
  padding: 20px;
  border: 1px dashed #bdd4dc;
  border-radius: 8px;
  background: #f7fbfc;
}

.empty-state span {
  color: var(--muted);
}

.admin-stats article,
.admin-stats a,
.order-meta-grid article {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.admin-stats span,
.order-meta-grid span {
  color: var(--muted);
  font-size: 13px;
}

.admin-stats strong,
.admin-stats a strong {
  color: var(--blue-dark);
  font-size: 28px;
}

.dashboard-stats a {
  min-height: 96px;
}

.dashboard-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 26px;
}

.dashboard-links strong {
  color: var(--blue-dark);
  font-size: 17px;
}

.dashboard-orders {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.dashboard-orders a {
  display: grid;
  grid-template-columns: 1fr 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}

.dashboard-orders strong {
  color: var(--blue-dark);
}

.dashboard-orders span {
  color: var(--muted);
}

.order-title-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.order-title-row div {
  display: grid;
  gap: 5px;
}

.order-title-row strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf4f7;
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.status-new { background: #eaf4ff; color: #0f4f8c; }
.status-quote_sent,
.status-bat_waiting { background: #fff5dd; color: #775118; }
.status-payment_confirmed,
.status-production { background: #e9f7f5; color: #106d63; }
.status-ready,
.status-delivered { background: #ecf8ee; color: #1f6b34; }
.status-warning,
.stat-warning { background: #fff4d7; color: #7b5600; }
.status-cancelled { background: #fdecec; color: #9a2727; }

.order-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-update-form {
  display: grid;
  grid-template-columns: 1fr 1.6fr auto;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px dashed #c9d8de;
  border-radius: 8px;
  background: #f6fbfc;
}

.payment-admin-form {
  display: grid;
  grid-template-columns: .8fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid #c9d8de;
  border-radius: 8px;
  background: white;
}

.payment-admin-form article {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.payment-admin-form span {
  color: var(--muted);
  font-size: 13px;
}

.detail-actions,
.order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr .9fr;
  gap: 14px;
  margin-bottom: 18px;
}

.detail-grid.two {
  grid-template-columns: 1fr 1fr;
}

.detail-grid article,
.detail-section {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.detail-grid h2,
.detail-section h2 {
  margin: 0;
  font-size: 22px;
}

.quick-status-section {
  margin-bottom: 18px;
}

.quick-status-section p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.quick-status-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.quick-status-actions form {
  display: grid;
}

.quick-status-actions button {
  min-height: 42px;
  font-size: 13px;
}

.detail-grid span,
.detail-list span,
.detail-list small,
.timeline small {
  color: var(--muted);
}

.detail-list {
  display: grid;
  gap: 10px;
}

.detail-list article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.order-side,
.doc-actions,
.internal-note-form,
.timeline,
.documents-list {
  display: grid;
  gap: 12px;
}

.order-side {
  grid-template-columns: 1fr 1fr auto;
  align-items: start;
}

.order-side div,
.timeline article {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.internal-note-form {
  padding: 14px;
  border: 1px solid #bdd4dc;
  border-radius: 8px;
  background: #f4fafb;
}

.internal-note-form textarea {
  min-height: 86px;
}

.internal-notes-box {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #d7e5ea;
  border-radius: 8px;
  background: #fbfdff;
}

.internal-notes-box strong {
  color: var(--blue-dark);
}

.internal-notes-box p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.document-links {
  display: grid;
  gap: 8px;
}

.document-control {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px auto;
  gap: 8px;
  align-items: center;
}

.document-control select,
.document-control button {
  min-height: 38px;
}

.doc-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  background: #eef8fb;
  color: var(--blue-dark);
  font-weight: 700;
}

.doc-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 8px;
}

.doc-actions button {
  min-height: 38px;
  padding: 9px 10px;
  font-size: 13px;
}

.notification-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid #bdd4dc;
  border-radius: 8px;
  background: #f4fafb;
}

.notification-box div:first-child {
  display: grid;
  gap: 6px;
}

.notification-box span {
  color: var(--muted);
  line-height: 1.45;
}

.notification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.progress-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0;
}

.progress-steps article {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.progress-steps strong {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #edf4f7;
  color: var(--blue-dark);
}

.progress-steps .done {
  border-color: #a8d7cd;
  background: #effbf8;
}

.progress-steps .done strong {
  background: var(--mint);
  color: white;
}

.progress-steps span {
  color: var(--muted);
  font-size: 13px;
}

.client-timeline {
  margin-top: 18px;
}

.client-timeline h2 {
  margin-bottom: 0;
}

.ghost {
  background: white;
  color: var(--blue-dark);
  border: 1px solid var(--line);
}

.document-sheet {
  max-width: 900px;
  margin: 0 auto;
  padding: 42px;
  background: white;
  border: 1px solid var(--line);
  color: var(--ink);
}

.document-toolbar {
  max-width: 900px;
  margin: 0 auto 14px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.doc-head,
.doc-customer,
.doc-total {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.doc-head div,
.doc-customer,
.doc-total { display: grid; }

.doc-brand {
  display: flex !important;
  grid-template-columns: none;
  align-items: center;
  gap: 14px;
}

.doc-brand img {
  width: 118px;
  height: auto;
  object-fit: contain;
}

.doc-title-block {
  text-align: right;
}

.doc-title-block h1 {
  margin: 0 0 8px;
  color: var(--blue-dark);
  font-size: 34px;
}

.doc-customer {
  grid-template-columns: 1fr 1fr;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.doc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
}

.doc-table th {
  background: #eaf2f3;
  color: #33434b;
}

.doc-table th,
.doc-table td {
  border-bottom: 1px solid var(--line);
  padding: 12px;
  text-align: left;
}

.doc-options {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.doc-total {
  justify-content: end;
  text-align: right;
}

.doc-total strong {
  color: var(--blue-dark);
  font-size: 22px;
}

.doc-terms {
  display: grid;
  gap: 6px;
  margin-top: 22px;
  padding: 14px;
  border: 1px solid #d7e5ea;
  border-radius: 8px;
  background: #fbfdff;
}

.doc-terms p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.doc-signatures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 34px;
}

.doc-signatures div {
  min-height: 120px;
  padding: 14px;
  border: 1px dashed #9eb9c2;
  border-radius: 8px;
  background: white;
}

.doc-signatures span {
  color: var(--muted);
}

.legal-page {
  display: grid;
  gap: 12px;
}

.legal-page p {
  max-width: 900px;
  color: var(--muted);
  line-height: 1.65;
}

.legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.legal-grid article {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.legal-grid span {
  color: var(--muted);
  line-height: 1.5;
}

.studio-admin-panel {
  max-width: 1180px;
}

.studio-admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .08), rgba(24, 169, 153, .12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px);
}

.studio-admin-hero h1 {
  margin: 6px 0 10px;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .95;
  letter-spacing: 0;
}

.studio-admin-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.studio-admin-badge {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(15, 63, 92, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
}

.studio-admin-badge span,
.studio-admin-card span,
.studio-admin-stats span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.studio-admin-badge strong {
  color: var(--ink);
  font-size: 26px;
}

.studio-admin-badge small,
.studio-admin-card small,
.studio-admin-note span {
  color: var(--muted);
  line-height: 1.45;
}

.studio-admin-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.studio-admin-stats a {
  display: grid;
  gap: 7px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

.studio-admin-stats strong {
  font-size: 30px;
}

.studio-admin-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.studio-admin-card {
  display: grid;
  gap: 10px;
  min-height: 178px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 14px 35px rgba(15, 63, 92, .08);
}

.studio-admin-card.primary {
  background: linear-gradient(135deg, var(--blue-dark), #0f4b78);
  color: #fff;
}

.studio-admin-card.primary span,
.studio-admin-card.primary small {
  color: rgba(255, 255, 255, .78);
}

.studio-admin-card strong {
  font-size: 23px;
  line-height: 1.08;
}

.studio-admin-section {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.studio-latest-orders {
  margin-top: 12px;
}

.studio-admin-note {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  background: #f7fbfc;
}

.studio-control-room {
  margin-top: 22px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .06), rgba(24, 169, 153, .08)),
    #fff;
}

.studio-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.studio-control-grid article {
  display: grid;
  gap: 9px;
  min-height: 190px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 12px 28px rgba(15, 63, 92, .06);
}

.studio-control-grid span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.studio-control-grid strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.08;
}

.studio-control-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.studio-control-grid a {
  align-self: end;
  width: fit-content;
  padding: 9px 11px;
  border-radius: 8px;
  background: var(--blue-dark);
  color: #fff;
  font-weight: 800;
}

.studio-roadmap-real {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.studio-roadmap-real article {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.studio-roadmap-real strong {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--blue-dark);
  color: #fff;
}

.studio-roadmap-real span {
  color: var(--ink);
  font-weight: 800;
  line-height: 1.2;
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 22px 28px;
  color: var(--muted);
  border-top: 1px solid var(--line);
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-links a {
  color: var(--blue-dark);
  font-weight: 700;
}

@media (max-width: 980px) {
  .topbar,
  footer { align-items: flex-start; flex-direction: column; }
  .contact-band { align-items: flex-start; flex-direction: column; }
  .hero,
  .grid,
  .row,
  .compact .row,
  .order-side,
  .notification-box,
  .admin-stats,
  .order-meta-grid,
  .admin-update-form,
  .payment-admin-form,
  .product-admin-grid,
  .template-admin-card,
  .template-edit-row,
  .partner-apply-grid,
  .partner-approve-form,
  .partner-real-head,
  .partner-hero,
  .partner-client-grid,
  .partner-sale-form,
  .partner-admin-actions,
  .team-edit-grid,
  .stock-edit-grid,
  .detail-grid,
  .detail-grid.two,
  .dashboard-links,
  .dashboard-orders a,
  .document-control,
  .admin-filter-form,
  .commission-card,
  .legal-grid,
  .studio-admin-hero,
  .studio-admin-stats,
  .studio-admin-grid,
  .studio-control-grid,
  .studio-roadmap-real,
  .order-layout,
  .progress-steps { grid-template-columns: 1fr; }
  .product-strip,
  .quick-actions,
  .workflow { grid-template-columns: repeat(2, 1fr); }
  .admin-head,
  .order-title-row,
  .notification-box { flex-direction: column; align-items: flex-start; }
  .order-summary { position: static; }
}

@media (max-width: 640px) {
  main { padding: 20px 14px; }
  .topbar { padding: 12px 14px; }
  .product-strip,
  .quick-actions,
  .workflow { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-visual { min-height: 370px; }
  .hero-badge { width: 210px; left: 20px; }
  .hero-card-img { width: 220px; right: 18px; }
  .hero-shirt { width: 190px; right: 38px; }
}

@media print {
  .topbar,
  footer,
  .print-button { display: none; }
  body,
  main { background: white; padding: 0; }
  .document-sheet {
    max-width: none;
    border: 0;
    box-shadow: none;
    padding: 18mm;
  }
  .doc-table,
  .doc-customer,
  .doc-total,
  .doc-terms,
  .doc-signatures {
    break-inside: avoid;
  }
}

/* V1 04/07 - Habillage maquette pour les pages reelles PHP */
.panel:not(.studio-admin-panel):has(.admin-head) {
  max-width: 1280px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,252,.96)),
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(20,108,148,.04) 18px 20px);
}

.panel:not(.studio-admin-panel):has(.admin-head) > .admin-head {
  margin: -10px -10px 22px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15,63,92,.08), rgba(24,169,153,.12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px);
}

.panel:not(.studio-admin-panel):has(.admin-head) .admin-head h1 {
  margin: 4px 0 0;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: .98;
}

.admin-filter-form,
.product-editor,
.new-product,
.partner-approve-form,
.stock-alert,
.form.grid {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(22, 32, 38, .06);
}

.admin-order-card,
.product-admin-card,
.template-admin-card,
.stock-card,
.team-card,
.commission-card,
.dashboard-orders a {
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, #fff, #f8fbfc);
  box-shadow: 0 14px 34px rgba(15, 63, 92, .08);
}

.admin-order-card {
  padding: 22px;
}

.product-admin-list,
.template-admin-list,
.stock-list,
.team-grid,
.partner-admin-list {
  display: grid;
  gap: 16px;
}

.product-card-head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.product-card-head strong,
.admin-order-card > strong,
.team-card strong,
.dashboard-orders strong {
  color: var(--blue-dark);
}

.admin-stats article,
.admin-stats a {
  min-height: 104px;
  background:
    linear-gradient(180deg, #fff, #f7fbfc);
  border: 1px solid var(--line);
  box-shadow: 0 10px 24px rgba(22, 32, 38, .06);
}

.admin-stats strong,
.admin-stats a strong {
  font-size: 34px;
}

.status-pill {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

input,
select,
textarea {
  border-radius: 8px;
  background: #fff;
}

label {
  color: var(--muted);
  font-weight: 700;
}

label input,
label select,
label textarea {
  margin-top: 7px;
  color: var(--ink);
  font-weight: 500;
}

.payment-admin-form,
.admin-update-form {
  background: #f7fbfc;
}

.template-preview {
  background:
    linear-gradient(135deg, rgba(20,108,148,.08), rgba(24,169,153,.10)),
    repeating-linear-gradient(45deg, #fff, #fff 16px, #eef4f6 16px, #eef4f6 18px);
}

.template-preview img {
  filter: drop-shadow(0 14px 22px rgba(15,63,92,.16));
}

.button.ghost,
nav a:nth-child(n) {
  font-weight: 800;
}

@media (max-width: 980px) {
  .panel:not(.studio-admin-panel):has(.admin-head) > .admin-head {
    margin: 0 0 18px;
  }
}

/* Bloc partenaire branche sur le visuel valide par COLO */
.page-head {
  max-width: 1180px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.page-head h1,
.page-head h2 {
  margin: 4px 0 0;
  font-size: clamp(32px, 4.8vw, 58px);
  line-height: 1.02;
}

.primary,
.secondary {
  min-height: 42px;
  border-radius: 8px;
  padding: 11px 15px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.primary {
  border: 1px solid var(--blue-dark);
  background: var(--blue-dark);
  color: #fff;
}

.secondary {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.partner-space-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.partner-hero,
.partner-dashboard,
.partner-layout,
.partner-tiers {
  max-width: 1180px;
  margin: 18px auto 0;
  display: grid;
  gap: 16px;
}

.partner-locked-box {
  max-width: 1180px;
  margin: 18px auto 0;
  display: grid;
  gap: 8px;
  padding: 22px;
  background: #fff8e8;
  border: 1px solid #f5d890;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(22, 32, 38, 0.06);
}

.partner-hero {
  grid-template-columns: 1fr 330px;
  padding: 22px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(22, 32, 38, 0.06);
}

.partner-hero span,
.partner-dashboard span,
.partner-sales-list span,
.partner-add-box p {
  color: var(--muted);
}

.partner-hero strong {
  display: block;
  margin: 8px 0;
  color: var(--blue-dark);
  font-size: 34px;
}

.partner-card-preview {
  display: grid;
  gap: 8px;
  align-content: end;
  min-height: 170px;
  overflow: hidden;
  padding: 18px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, var(--blue-dark), var(--mint));
  box-shadow: var(--shadow);
}

.partner-card-preview img {
  width: 145px;
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
  padding: 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.partner-card-preview strong {
  color: #fff;
  font-size: 22px;
}

.partner-dashboard {
  grid-template-columns: repeat(4, 1fr);
}

.partner-dashboard article,
.partner-payout-box,
.partner-progress-box,
.partner-sales-box,
.partner-add-box {
  padding: 18px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(22, 32, 38, 0.06);
}

.partner-dashboard strong {
  display: block;
  margin-top: 6px;
  color: var(--blue-dark);
  font-size: 24px;
}

.partner-payout-box,
.partner-progress-box {
  max-width: 1180px;
  margin: 18px auto 0;
}

.partner-payout-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.partner-payout-grid article {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.partner-payout-grid strong {
  color: var(--blue-dark);
  font-size: 22px;
}

.partner-payout-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.partner-payout-actions form {
  margin: 0;
}

.partner-payout-actions span {
  color: var(--muted);
}

.partner-progress-track {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eff2;
}

.partner-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--mint), var(--gold));
}

.partner-tiers {
  grid-template-columns: repeat(3, 1fr);
}

.partner-tiers article {
  padding: 12px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.partner-tiers article.is-active {
  border-color: var(--blue);
  background: #eef8fa;
}

.partner-layout {
  grid-template-columns: 1.4fr .8fr;
}

.partner-sales-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.partner-sales-list article {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.partner-sales-list b {
  color: var(--blue-dark);
}

.partner-add-box {
  display: grid;
  gap: 10px;
}

@media (max-width: 980px) {
  .page-head,
  .partner-hero,
  .partner-layout,
  .partner-dashboard,
  .partner-payout-grid,
  .partner-tiers {
    grid-template-columns: 1fr;
  }

  .page-head {
    align-items: stretch;
    flex-direction: column;
  }

  .partner-sales-list article {
    grid-template-columns: 1fr;
  }
}


/* Correctif visuel commande pro V2 */

/* Correctif visuel commande pro V2 - n'ecrase pas la logique JS */
.order-panel .live-config-studio{
    grid-template-columns:minmax(0,1fr) minmax(220px,280px)!important;
    min-height:260px!important;
    overflow:hidden!important;
    align-items:center!important;
    gap:18px!important;
}
.order-panel .config-copy{min-width:0!important;position:relative!important;z-index:2!important;padding-right:4px!important}
.order-panel .config-copy strong{font-size:clamp(32px,4vw,48px)!important;line-height:1.02!important;word-break:normal!important;overflow-wrap:normal!important;max-width:100%!important}
.order-panel .config-copy p{font-size:16px!important;max-width:520px!important}
.order-panel .config-preview-shell{min-height:220px!important;max-height:240px!important;overflow:hidden!important;border-radius:14px!important;background:radial-gradient(circle at 50% 35%,rgba(24,169,153,.14),transparent 44%),rgba(255,255,255,.92)!important}
.order-panel .studio-product-preview{inset:14px!important;max-width:82%!important;max-height:190px!important;z-index:1!important;pointer-events:none!important}
.order-panel .studio-product-preview[data-preview-type="textile"]{max-height:210px!important;max-width:78%!important}
.order-panel .product-choice-cards{gap:12px!important;margin-bottom:14px!important}
.order-panel .product-choice-cards button{min-height:150px!important;padding:14px 10px!important;align-content:center!important;justify-items:center!important;text-align:center!important;grid-template-columns:1fr!important;gap:8px!important;border-radius:14px!important}
.order-panel .product-choice-cards button img{width:76px!important;height:62px!important;border:0!important;background:transparent!important;padding:0!important;object-fit:contain!important}
.order-panel .product-choice-cards button div{justify-items:center!important;gap:4px!important}
.order-panel .product-choice-cards span{font-size:11px!important;letter-spacing:.04em!important}
.order-panel .product-choice-cards strong{font-size:17px!important;line-height:1.12!important}
.order-panel .product-choice-cards small{font-size:13px!important;line-height:1.25!important}
.order-panel .product-choice-cards button.is-active::after{content:"Selectionne";position:absolute!important;top:8px!important;right:8px!important;padding:4px 7px!important;border-radius:999px!important;background:#0f3f5c!important;color:#fff!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.textile-tone-chip,.shirt-print-zone{position:absolute!important;z-index:3!important;display:none!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;border:1px solid #dbe4e8!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:#0f3f5c!important;font-size:12px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(15,63,92,.12)!important;pointer-events:none!important}
.textile-tone-chip{right:12px!important;bottom:12px!important}.shirt-print-zone{left:12px!important;bottom:12px!important}
.textile-tone-chip::before{content:"";width:15px!important;height:15px!important;border:1px solid #cbdbe1!important;border-radius:50%!important;background:var(--tone-color,#fff)!important}
.live-config-studio.is-textile-active .textile-tone-chip,.live-config-studio.is-textile-active .shirt-print-zone{display:inline-flex!important}
.studio-product-preview.shirt-tone-white{filter:drop-shadow(0 22px 32px rgba(15,63,92,.22))!important}
.studio-product-preview.shirt-tone-black{filter:brightness(.24) contrast(1.35) drop-shadow(0 22px 32px rgba(15,63,92,.22))!important}
.studio-product-preview.shirt-tone-navy{filter:sepia(.5) saturate(2.4) hue-rotate(170deg) brightness(.7) contrast(1.12) drop-shadow(0 22px 32px rgba(15,63,92,.22))!important}
.studio-product-preview.shirt-tone-green{filter:sepia(.55) saturate(2.5) hue-rotate(105deg) brightness(.78) contrast(1.08) drop-shadow(0 22px 32px rgba(15,63,92,.22))!important}
.studio-product-preview.shirt-tone-red{filter:sepia(.75) saturate(2.9) hue-rotate(315deg) brightness(.83) contrast(1.1) drop-shadow(0 22px 32px rgba(15,63,92,.22))!important}
@media(max-width:980px){.order-panel .live-config-studio{grid-template-columns:1fr!important}.order-panel .config-preview-shell{min-height:210px!important}.order-panel .product-choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.order-panel .product-choice-cards button{min-height:138px!important}}

/* Correctif commande V3 - palette textile et aperçu propre */
.order-panel .live-config-studio{
    grid-template-columns:minmax(0,1.2fr) minmax(200px,250px)!important;
    min-height:250px!important;
    overflow:visible!important;
    align-items:center!important;
}
.order-panel .config-copy{
    min-width:0!important;
    position:relative!important;
    z-index:5!important;
    padding-right:12px!important;
}
.order-panel .config-copy strong{
    font-size:clamp(30px,3.1vw,42px)!important;
    line-height:1.04!important;
    overflow-wrap:anywhere!important;
    max-width:100%!important;
}
.order-panel .config-copy p{
    max-width:500px!important;
    font-size:16px!important;
}
.order-panel .config-preview-shell{
    min-height:210px!important;
    max-height:230px!important;
    z-index:1!important;
    overflow:hidden!important;
}
.order-panel .studio-product-preview{
    pointer-events:none!important;
}
.order-panel .studio-product-preview[data-preview-type="textile"]{
    z-index:2!important;
    max-width:74%!important;
    max-height:205px!important;
}
.order-panel .live-config-studio.is-textile-active .studio-product-preview[data-preview-type="textile"]{
    opacity:.46!important;
    filter:drop-shadow(0 22px 32px rgba(15,63,92,.18))!important;
}
.shirt-color-overlay{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:74%!important;
    height:205px!important;
    display:none!important;
    z-index:3!important;
    background:var(--shirt-live-color,#ffffff)!important;
    -webkit-mask-image:url('tshirt-mockup.png')!important;
    mask-image:url('tshirt-mockup.png')!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
    -webkit-mask-position:center!important;
    mask-position:center!important;
    mix-blend-mode:multiply!important;
    pointer-events:none!important;
    filter:drop-shadow(0 22px 30px rgba(15,63,92,.18))!important;
}
.live-config-studio.is-textile-active .shirt-color-overlay{
    display:block!important;
}
.shirt-print-zone{
    display:none!important;
}
.live-config-studio.is-textile-active .shirt-print-zone{
    display:none!important;
}
.textile-tone-chip{
    right:12px!important;
    bottom:12px!important;
    z-index:4!important;
}
.textile-color-field .color-picker-row{
    display:grid!important;
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    background:#fff!important;
}
.textile-color-field input[type="color"]{
    width:90px!important;
    height:48px!important;
    min-height:48px!important;
    padding:4px!important;
    border-radius:10px!important;
    cursor:pointer!important;
}
#textileColorText{
    display:flex!important;
    align-items:center!important;
    min-height:48px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    background:#f7fbfc!important;
    color:var(--blue-dark)!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
}
.textile-helper{
    margin:0!important;
    color:var(--muted)!important;
    line-height:1.45!important;
}
.textile-swatches{
    display:none!important;
}
@media(max-width:980px){
    .order-panel .live-config-studio{grid-template-columns:1fr!important;overflow:hidden!important}
    .order-panel .config-copy strong{font-size:clamp(30px,8vw,40px)!important;overflow-wrap:normal!important}
    .shirt-color-overlay{height:190px!important}
}

/* Correctif commande V4 - texte textile en direct sur le tee-shirt */
.order-panel .live-config-studio{
    grid-template-columns:minmax(0,1.08fr) minmax(250px,320px)!important;
    min-height:280px!important;
}
.order-panel .config-preview-shell{
    min-height:245px!important;
    max-height:265px!important;
}
.order-panel .studio-product-preview[data-preview-type="textile"]{
    max-width:82%!important;
    max-height:235px!important;
}
.shirt-color-overlay{
    width:82%!important;
    height:235px!important;
}
.shirt-live-text{
    position:absolute!important;
    z-index:6!important;
    display:none!important;
    left:50%!important;
    top:45%!important;
    transform:translate(-50%,-50%)!important;
    max-width:42%!important;
    padding:2px 4px!important;
    color:#0f3f5c!important;
    font-weight:900!important;
    font-size:clamp(10px,1.25vw,16px)!important;
    line-height:1.05!important;
    text-align:center!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.72),0 8px 16px rgba(15,63,92,.16)!important;
    pointer-events:none!important;
    overflow:hidden!important;
    word-break:break-word!important;
}
.live-config-studio.is-textile-active .shirt-live-text.is-visible{
    display:block!important;
}
.shirt-live-text.zone-heart{
    left:47%!important;
    top:42%!important;
    max-width:24%!important;
    font-size:clamp(8px,1vw,13px)!important;
}
.shirt-live-text.zone-chest{
    left:50%!important;
    top:43%!important;
    max-width:42%!important;
}
.shirt-live-text.zone-back{
    left:50%!important;
    top:47%!important;
    max-width:48%!important;
    font-size:clamp(11px,1.4vw,18px)!important;
}
.shirt-live-text.zone-sleeve{
    left:36%!important;
    top:42%!important;
    max-width:18%!important;
    transform:translate(-50%,-50%) rotate(-14deg)!important;
    font-size:clamp(7px,.9vw,11px)!important;
}
.textile-quick-panel{
    background:linear-gradient(180deg,#ffffff,#f7fbfc)!important;
}
.textile-quick-panel label,
.textile-color-field,
.order-panel label:has(#textileTextInput){
    color:#162026!important;
}
#textileTextInput{
    font-weight:800!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
}
@media(max-width:980px){
    .shirt-color-overlay{height:215px!important}
    .shirt-live-text{font-size:13px!important}
}


/* Correctif commande V5 - textile propre, logo et texte direct sur tee-shirt */
.product-specific.is-hidden,
.template-choice.is-hidden{
    display:none!important;
}
.order-panel .live-config-studio{
    grid-template-columns:minmax(0,0.92fr) minmax(310px,390px)!important;
    align-items:stretch!important;
    overflow:hidden!important;
}
.order-panel .config-copy{
    min-width:0!important;
    align-content:center!important;
}
.order-panel .config-copy strong{
    max-width:100%!important;
    font-size:clamp(34px,4.2vw,54px)!important;
    line-height:.98!important;
    overflow-wrap:break-word!important;
}
.order-panel .config-preview-shell{
    min-height:285px!important;
    max-height:none!important;
    background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,251,252,.92))!important;
}
.order-panel .studio-product-preview[data-preview-type="textile"]{
    max-width:86%!important;
    max-height:260px!important;
}
.shirt-color-overlay{
    width:86%!important;
    height:260px!important;
}
.shirt-live-text{
    z-index:8!important;
    font-size:clamp(8px,.95vw,13px)!important;
    max-width:34%!important;
    color:#0b3350!important;
}
.shirt-live-text.zone-heart{
    left:39%!important;
    top:45%!important;
    max-width:18%!important;
    font-size:clamp(7px,.82vw,11px)!important;
}
.live-config-studio.has-textile-logo .shirt-live-text.zone-heart{
    top:49%!important;
}
.shirt-live-text.zone-chest{
    left:50%!important;
    top:44%!important;
    max-width:40%!important;
}
.shirt-live-text.zone-back{
    left:50%!important;
    top:47%!important;
    max-width:46%!important;
}
.shirt-live-text.zone-sleeve{
    left:35%!important;
    top:43%!important;
    max-width:15%!important;
}
.shirt-live-logo{
    position:absolute!important;
    z-index:7!important;
    display:none!important;
    object-fit:contain!important;
    padding:2px!important;
    border-radius:4px!important;
    pointer-events:none!important;
    filter:drop-shadow(0 5px 9px rgba(15,63,92,.24))!important;
}
.live-config-studio.is-textile-active .shirt-live-logo.is-visible{
    display:block!important;
}
.shirt-live-logo.zone-heart{
    left:34.5%!important;
    top:35%!important;
    width:54px!important;
    height:54px!important;
}
.shirt-live-logo.zone-chest{
    left:50%!important;
    top:41%!important;
    transform:translate(-50%,-50%)!important;
    width:96px!important;
    height:76px!important;
}
.shirt-live-logo.zone-back{
    left:50%!important;
    top:43%!important;
    transform:translate(-50%,-50%)!important;
    width:120px!important;
    height:92px!important;
}
.shirt-live-logo.zone-sleeve{
    left:31%!important;
    top:38%!important;
    width:42px!important;
    height:42px!important;
    transform:rotate(-12deg)!important;
}
.textile-logo-field{
    grid-column:span 6!important;
}
.textile-logo-field input[type="file"]{
    min-height:48px!important;
    background:#fff!important;
    border:1px dashed #bdd4dc!important;
}
.textile-logo-field small{
    color:var(--muted)!important;
    line-height:1.35!important;
}
.textile-quick-panel{
    border-color:#cfe5e8!important;
    background:linear-gradient(180deg,#fff,#f7fbfc)!important;
}
.textile-quick-panel strong::after{
    content:" · texte, logo, zone";
    color:var(--muted)!important;
    font-weight:700!important;
}
@media(max-width:980px){
    .order-panel .live-config-studio{grid-template-columns:1fr!important}
    .order-panel .config-preview-shell{min-height:260px!important}
    .shirt-color-overlay{height:235px!important}
    .shirt-live-logo.zone-heart{left:38%!important;top:36%!important}
}


/* Correctif commande V6 - placement textile cœur gauche + anti-débordement */
.order-panel .live-config-studio{
    grid-template-columns:minmax(0,.95fr) minmax(330px,430px)!important;
    gap:20px!important;
}
.order-panel .config-copy{
    padding-right:6px!important;
    overflow:hidden!important;
}
.order-panel .config-copy strong{
    font-size:clamp(34px,3.6vw,48px)!important;
    line-height:1!important;
    max-width:100%!important;
}
.order-panel .config-copy p{
    max-width:360px!important;
}
.order-panel .config-preview-shell{
    min-height:310px!important;
    max-height:none!important;
    overflow:hidden!important;
}
.order-panel .studio-product-preview[data-preview-type="textile"]{
    max-width:82%!important;
    max-height:282px!important;
}
.shirt-color-overlay{
    width:82%!important;
    height:282px!important;
}
.shirt-live-text{
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    word-break:break-word!important;
    max-height:44px!important;
    padding:1px 3px!important;
    line-height:1!important;
    font-size:clamp(7px,.82vw,11px)!important;
    letter-spacing:.04em!important;
    color:#0b3350!important;
}
/* Cœur gauche = côté cœur du porteur, donc à droite pour celui qui regarde le tee-shirt */
.shirt-live-logo.zone-heart{
    left:57.5%!important;
    top:40.5%!important;
    width:44px!important;
    height:44px!important;
    transform:translate(-50%,-50%)!important;
}
.shirt-live-text.zone-heart{
    left:57.5%!important;
    top:41.5%!important;
    width:62px!important;
    max-width:62px!important;
    max-height:34px!important;
    transform:translate(-50%,-50%)!important;
    font-size:clamp(6px,.68vw,9px)!important;
}
.live-config-studio.has-textile-logo .shirt-live-text.zone-heart{
    top:50.5%!important;
    max-height:30px!important;
}
.shirt-live-logo.zone-chest{
    left:50%!important;
    top:42%!important;
    width:86px!important;
    height:64px!important;
    transform:translate(-50%,-50%)!important;
}
.shirt-live-text.zone-chest{
    left:50%!important;
    top:44%!important;
    width:128px!important;
    max-width:128px!important;
    max-height:42px!important;
    font-size:clamp(8px,.95vw,12px)!important;
}
.live-config-studio.has-textile-logo .shirt-live-text.zone-chest{
    top:54%!important;
}
.shirt-live-logo.zone-back{
    left:50%!important;
    top:42%!important;
    width:118px!important;
    height:82px!important;
    transform:translate(-50%,-50%)!important;
}
.shirt-live-text.zone-back{
    left:50%!important;
    top:46%!important;
    width:150px!important;
    max-width:150px!important;
    max-height:50px!important;
    font-size:clamp(9px,1vw,14px)!important;
}
.live-config-studio.has-textile-logo .shirt-live-text.zone-back{
    top:56%!important;
}
.shirt-live-logo.zone-sleeve{
    left:38.5%!important;
    top:38.5%!important;
    width:34px!important;
    height:34px!important;
    transform:translate(-50%,-50%) rotate(-12deg)!important;
}
.shirt-live-text.zone-sleeve{
    left:38.5%!important;
    top:39%!important;
    width:42px!important;
    max-width:42px!important;
    max-height:24px!important;
    transform:translate(-50%,-50%) rotate(-12deg)!important;
    font-size:clamp(5px,.55vw,8px)!important;
}
.live-config-studio.has-textile-logo .shirt-live-text.zone-sleeve{
    top:45%!important;
}
/* Champ logo uniquement propre en textile, sans remonter les options carte */
.textile-logo-field{
    grid-column:span 6!important;
}
@media(max-width:980px){
    .order-panel .live-config-studio{grid-template-columns:1fr!important}
    .order-panel .config-preview-shell{min-height:285px!important}
    .shirt-color-overlay{height:250px!important}
    .shirt-live-logo.zone-heart{left:58%!important;top:40%!important;width:40px!important;height:40px!important}
    .shirt-live-text.zone-heart{left:58%!important;top:42%!important;width:54px!important;max-width:54px!important}
    .live-config-studio.has-textile-logo .shirt-live-text.zone-heart{top:50%!important}
}


/* Correctif commande V7 - titre textile non coupé */
.order-panel .live-config-studio.is-textile-active{
    grid-template-columns:minmax(0,1fr) minmax(300px,410px)!important;
}
.order-panel .live-config-studio.is-textile-active .config-copy{
    overflow:visible!important;
    padding-right:10px!important;
}
.order-panel .live-config-studio.is-textile-active .config-copy strong{
    font-size:clamp(30px,3vw,42px)!important;
    line-height:1.04!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
    max-width:100%!important;
}
.order-panel .live-config-studio.is-textile-active .config-copy p{
    max-width:420px!important;
    font-size:15px!important;
}
.order-panel .live-config-studio.is-textile-active .config-points{
    max-width:420px!important;
}
.order-panel .live-config-studio.is-textile-active .config-points b{
    white-space:nowrap!important;
    font-size:11px!important;
    padding:6px 8px!important;
}
@media(max-width:980px){
    .order-panel .live-config-studio.is-textile-active{grid-template-columns:1fr!important}
    .order-panel .live-config-studio.is-textile-active .config-copy strong{font-size:clamp(30px,8vw,40px)!important}
}


/* Correctif commande V8 - titres propres et non coupés pour tous les produits */
.order-panel .live-config-studio{
    grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr)!important;
    align-items:center!important;
    overflow:hidden!important;
}
.order-panel .config-copy{
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    padding-right:12px!important;
}
.order-panel .config-copy strong{
    display:block!important;
    max-width:100%!important;
    font-size:clamp(34px,3.1vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
}
.order-panel .config-copy p{
    max-width:420px!important;
    font-size:16px!important;
    line-height:1.42!important;
}
.order-panel .config-points{
    max-width:430px!important;
    overflow:visible!important;
}
.order-panel .config-points b{
    white-space:nowrap!important;
    font-size:12px!important;
}
.order-panel .config-preview-shell{
    min-width:0!important;
    overflow:hidden!important;
}
.order-panel .live-config-studio.is-textile-active .config-copy strong{
    font-size:clamp(32px,3vw,44px)!important;
}
@media(max-width:1180px){
    .order-panel .live-config-studio{
        grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr)!important;
    }
    .order-panel .config-copy strong{
        font-size:clamp(30px,3vw,40px)!important;
    }
}
@media(max-width:980px){
    .order-panel .live-config-studio{
        grid-template-columns:1fr!important;
    }
    .order-panel .config-copy strong{
        font-size:clamp(30px,8vw,42px)!important;
    }
}

/* V9 - Documents professionnels */
.detail-clean-options,
.doc-clean-options {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.detail-clean-options span,
.doc-clean-options span { display: block; }
.detail-clean-options b,
.doc-clean-options b { color: var(--ink); }
.document-sheet-pro {
  max-width: 980px;
  margin: 18px auto;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  box-shadow: var(--shadow);
}
.doc-head-pro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 24px;
  align-items: start;
  padding-bottom: 22px;
  border-bottom: 2px solid var(--blue-dark);
}
.doc-head-pro .doc-brand {
  display: flex;
  gap: 14px;
  align-items: center;
}
.doc-head-pro .doc-brand img {
  width: 120px;
  height: 62px;
  object-fit: contain;
}
.doc-head-pro .doc-brand div,
.doc-title-block,
.doc-customer-pro > div {
  display: grid;
  gap: 5px;
}
.doc-head-pro .doc-brand strong {
  color: var(--blue-dark);
  font-size: 20px;
}
.doc-head-pro span,
.doc-customer-pro span {
  color: var(--muted);
}
.doc-title-block {
  text-align: right;
  padding: 18px;
  border-radius: 10px;
  background: #f7fbfc;
  border: 1px solid var(--line);
}
.doc-title-block .doc-label {
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.doc-title-block h1 {
  margin: 0;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.1;
}
.doc-customer-pro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 22px 0;
}
.doc-customer-pro > div {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdff;
}
.doc-customer-pro strong {
  color: var(--blue-dark);
  font-size: 16px;
}
.doc-table-pro {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.doc-table-pro th {
  padding: 13px;
  background: var(--blue-dark);
  color: white;
  text-align: left;
}
.doc-table-pro td {
  padding: 14px 13px;
  border-top: 1px solid var(--line);
  vertical-align: top;
}
.doc-table-pro td:nth-child(2),
.doc-table-pro td:nth-child(3),
.doc-table-pro td:nth-child(4),
.doc-table-pro th:nth-child(2),
.doc-table-pro th:nth-child(3),
.doc-table-pro th:nth-child(4) {
  text-align: right;
  white-space: nowrap;
}
.doc-total-pro {
  display: grid;
  justify-content: end;
  gap: 8px;
  margin-top: 18px;
}
.doc-total-pro span,
.doc-total-pro strong {
  display: flex;
  justify-content: space-between;
  gap: 34px;
  min-width: 310px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
}
.doc-total-pro strong {
  border: 0;
  border-radius: 8px;
  background: var(--blue-dark);
  color: white;
}
.doc-terms-pro {
  margin-top: 22px;
  padding: 14px 16px;
  border-left: 4px solid var(--mint);
  border-radius: 8px;
  background: #f4fbf9;
}
.doc-terms-pro p { margin: 6px 0 0; color: var(--muted); line-height: 1.45; }
.doc-signatures-pro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 26px;
}
.doc-signatures-pro div {
  min-height: 92px;
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: #fbfdff;
}
.doc-signatures-pro span { display:block; margin-top:8px; color:var(--muted); }
@media print {
  .topbar, footer, .document-toolbar { display:none!important; }
  main { padding:0!important; }
  .document-sheet-pro { box-shadow:none!important; border:0!important; margin:0!important; max-width:none!important; }
}
@media(max-width:820px){
  .doc-head-pro,.doc-customer-pro,.doc-signatures-pro{grid-template-columns:1fr!important;}
  .doc-title-block{text-align:left;}
}

/* V2 Documents - impression PDF propre A4 */
.document-page-print-mode main {
  padding-top: 18px;
}
.document-sheet-pro {
  width: min(100%, 900px);
  overflow: visible;
}
.doc-head-pro,
.doc-customer-pro,
.doc-table-pro,
.doc-total-pro,
.doc-terms-pro,
.doc-signatures-pro {
  page-break-inside: avoid;
}
.doc-clean-options {
  display: grid;
  gap: 3px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

@page {
  size: A4 portrait;
  margin: 10mm;
}

@media print {
  html,
  body {
    width: 210mm;
    min-height: 297mm;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  .topbar,
  footer,
  .document-toolbar,
  .print-button {
    display: none !important;
  }
  main {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  .document-sheet,
  .document-sheet-pro {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #162026 !important;
    font-size: 10.5pt !important;
    line-height: 1.25 !important;
  }
  .doc-head,
  .doc-head-pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10mm !important;
    margin: 0 0 7mm !important;
    padding-bottom: 5mm !important;
    border-bottom: 1px solid #0f3f5c !important;
  }
  .doc-brand img {
    width: 32mm !important;
    max-height: 18mm !important;
    object-fit: contain !important;
  }
  .doc-brand {
    gap: 4mm !important;
    align-items: flex-start !important;
  }
  .doc-brand strong {
    font-size: 13pt !important;
  }
  .doc-title-block {
    text-align: right !important;
  }
  .doc-title-block h1 {
    margin: 1mm 0 2mm !important;
    font-size: 18pt !important;
    line-height: 1.05 !important;
  }
  .doc-title-block span,
  .doc-brand span {
    display: block !important;
    font-size: 9.5pt !important;
  }
  .doc-label {
    font-size: 10pt !important;
    letter-spacing: .08em !important;
  }
  .doc-customer,
  .doc-customer-pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5mm !important;
    margin: 0 0 6mm !important;
  }
  .doc-customer-pro > div {
    padding: 4mm !important;
    border: 1px solid #dbe4e8 !important;
    border-radius: 3mm !important;
    background: #fff !important;
  }
  .doc-table,
  .doc-table-pro {
    width: 100% !important;
    margin: 0 0 6mm !important;
    border-collapse: collapse !important;
    border: 1px solid #dbe4e8 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .doc-table-pro thead {
    display: table-header-group !important;
  }
  .doc-table-pro tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-table-pro th {
    padding: 3mm !important;
    background: #0f3f5c !important;
    color: #fff !important;
    font-size: 9.5pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .doc-table-pro td {
    padding: 3mm !important;
    border-top: 1px solid #dbe4e8 !important;
    font-size: 9.5pt !important;
  }
  .doc-clean-options {
    margin-top: 2mm !important;
    gap: 1mm !important;
    font-size: 8.5pt !important;
  }
  .doc-total,
  .doc-total-pro {
    display: grid !important;
    justify-content: end !important;
    gap: 1mm !important;
    margin: 0 0 5mm !important;
    text-align: right !important;
  }
  .doc-total-pro span,
  .doc-total-pro strong {
    min-width: 72mm !important;
    padding: 2.5mm 3mm !important;
    gap: 8mm !important;
    font-size: 10pt !important;
  }
  .doc-total-pro strong {
    background: #0f3f5c !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .doc-terms,
  .doc-terms-pro {
    margin-top: 0 !important;
    margin-bottom: 5mm !important;
    padding: 3.5mm 4mm !important;
    border-left: 3px solid #18a999 !important;
    background: #fff !important;
    page-break-inside: avoid !important;
  }
  .doc-terms-pro p {
    margin: 1.5mm 0 0 !important;
    font-size: 9.5pt !important;
  }
  .doc-signatures,
  .doc-signatures-pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5mm !important;
    margin-top: 0 !important;
    page-break-inside: avoid !important;
  }
  .doc-signatures-pro div {
    min-height: 24mm !important;
    padding: 3.5mm !important;
    border: 1px dashed #9eb9c2 !important;
    border-radius: 3mm !important;
    background: #fff !important;
  }
}


/* V3 Documents - A4 ultra compact et stable */
.document-page-print-mode main {
  padding-top: 12px;
  padding-bottom: 28px;
}
.document-page-print-mode .document-sheet-pro {
  max-width: 210mm;
  width: min(100%, 210mm);
  margin: 12px auto;
  padding: 18mm 16mm;
  border-radius: 8px;
}
.document-page-print-mode .doc-head-pro {
  grid-template-columns: 1fr 270px;
  gap: 18px;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.document-page-print-mode .doc-title-block,
.document-page-print-mode .doc-customer-pro > div {
  padding: 12px;
}
.document-page-print-mode .doc-customer-pro {
  margin: 14px 0;
  gap: 12px;
}
.document-page-print-mode .doc-table-pro th,
.document-page-print-mode .doc-table-pro td {
  padding: 9px 10px;
}
.document-page-print-mode .doc-total-pro {
  margin-top: 12px;
  gap: 5px;
}
.document-page-print-mode .doc-terms-pro {
  margin-top: 14px;
}
.document-page-print-mode .doc-signatures-pro {
  margin-top: 14px;
}
.document-page-print-mode .doc-signatures-pro div {
  min-height: 70px;
}

@page {
  size: A4 portrait;
  margin: 7mm;
}

@media print {
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  html, body {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .topbar, footer, .document-toolbar, .print-button, .notice {
    display: none !important;
  }
  main {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  .document-sheet,
  .document-sheet-pro {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #162026 !important;
    font-size: 8.8pt !important;
    line-height: 1.16 !important;
    overflow: visible !important;
  }
  .doc-head,
  .doc-head-pro {
    display: grid !important;
    grid-template-columns: 1fr 64mm !important;
    gap: 5mm !important;
    align-items: start !important;
    margin: 0 0 3.5mm !important;
    padding: 0 0 3mm !important;
    border-bottom: 1px solid #0f3f5c !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-brand {
    display: flex !important;
    gap: 3mm !important;
    align-items: flex-start !important;
  }
  .doc-brand img {
    width: 24mm !important;
    height: auto !important;
    max-height: 13mm !important;
    object-fit: contain !important;
  }
  .doc-brand strong {
    font-size: 10.5pt !important;
    line-height: 1.05 !important;
  }
  .doc-brand span,
  .doc-title-block span,
  .doc-customer-pro span {
    display: block !important;
    font-size: 8pt !important;
    line-height: 1.18 !important;
  }
  .doc-title-block {
    padding: 2.5mm !important;
    border: 1px solid #dbe4e8 !important;
    border-radius: 2mm !important;
    background: #f7fbfc !important;
    text-align: right !important;
  }
  .doc-title-block .doc-label {
    font-size: 8pt !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    color: #0f3f5c !important;
  }
  .doc-title-block h1 {
    margin: .8mm 0 1mm !important;
    font-size: 15pt !important;
    line-height: 1 !important;
  }
  .doc-customer,
  .doc-customer-pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3mm !important;
    margin: 0 0 3.5mm !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-customer-pro > div {
    padding: 2.5mm !important;
    border: 1px solid #dbe4e8 !important;
    border-radius: 2mm !important;
    background: #fff !important;
  }
  .doc-customer-pro strong {
    font-size: 9pt !important;
    color: #0f3f5c !important;
  }
  .doc-table,
  .doc-table-pro {
    width: 100% !important;
    margin: 0 0 3mm !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: 1px solid #dbe4e8 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }
  .doc-table-pro thead { display: table-header-group !important; }
  .doc-table-pro tr { page-break-inside: avoid !important; break-inside: avoid !important; }
  .doc-table-pro th {
    position: static !important;
    padding: 2mm 2.3mm !important;
    background: #0f3f5c !important;
    color: #fff !important;
    font-size: 8.2pt !important;
    line-height: 1.1 !important;
    border: 0 !important;
  }
  .doc-table-pro td {
    position: static !important;
    padding: 2.2mm 2.3mm !important;
    border-top: 1px solid #dbe4e8 !important;
    font-size: 8.4pt !important;
    line-height: 1.15 !important;
  }
  .doc-table-pro td:nth-child(1) { width: auto !important; }
  .doc-table-pro td:nth-child(2),
  .doc-table-pro th:nth-child(2) { width: 17mm !important; }
  .doc-table-pro td:nth-child(3),
  .doc-table-pro th:nth-child(3),
  .doc-table-pro td:nth-child(4),
  .doc-table-pro th:nth-child(4) { width: 27mm !important; }
  .doc-clean-options {
    margin-top: 1mm !important;
    gap: .3mm !important;
    font-size: 7.2pt !important;
    line-height: 1.12 !important;
  }
  .doc-total,
  .doc-total-pro {
    display: grid !important;
    justify-content: end !important;
    gap: .7mm !important;
    margin: 0 0 2.8mm !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-total-pro span,
  .doc-total-pro strong {
    min-width: 58mm !important;
    padding: 1.4mm 2mm !important;
    gap: 5mm !important;
    border-bottom: 1px solid #dbe4e8 !important;
    font-size: 8.6pt !important;
    line-height: 1.12 !important;
  }
  .doc-total-pro strong {
    border: 0 !important;
    border-radius: 1.5mm !important;
    background: #0f3f5c !important;
    color: #fff !important;
  }
  .doc-terms,
  .doc-terms-pro {
    margin: 0 0 2.8mm !important;
    padding: 2.2mm 2.6mm !important;
    border-left: 2px solid #18a999 !important;
    border-radius: 1.5mm !important;
    background: #fff !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-terms-pro strong { font-size: 8.8pt !important; }
  .doc-terms-pro p {
    margin: 1mm 0 0 !important;
    font-size: 8pt !important;
    line-height: 1.15 !important;
  }
  .doc-signatures,
  .doc-signatures-pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3mm !important;
    margin: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doc-signatures-pro div {
    min-height: 14mm !important;
    padding: 2.2mm !important;
    border: 1px dashed #9eb9c2 !important;
    border-radius: 1.5mm !important;
    background: #fff !important;
  }
  .doc-signatures-pro strong { font-size: 8.6pt !important; }
  .doc-signatures-pro span { margin-top: 1mm !important; font-size: 7.8pt !important; }
}

/* Bloc paiement propre - dossier commande */
.payment-detail-card {
  align-content: start;
}

.payment-mini-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.payment-mini-summary span,
.payment-mini-summary strong {
  display: grid;
  gap: 4px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
  color: var(--muted);
  font-size: 13px;
}

.payment-mini-summary b,
.payment-mini-summary strong {
  color: var(--blue-dark);
  font-size: 16px;
}

.payment-mini-summary strong {
  align-content: center;
  background: linear-gradient(135deg, rgba(24,169,153,.14), rgba(20,108,148,.08));
  border-color: #bdd4dc;
}

.payment-detail-form {
  display: grid;
  gap: 10px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.payment-detail-form button {
  width: 100%;
}

@media (max-width: 720px) {
  .payment-mini-summary {
    grid-template-columns: 1fr;
  }
}

/* Bloc notifications client - dossier commande */
.notification-client-section {
  background: linear-gradient(180deg, #ffffff, #f7fbfc);
}

.section-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.section-headline h2 {
  margin: 0;
}

.notification-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 16px;
}

.notification-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 8px 24px rgba(22, 32, 38, .06);
}

.notification-card > strong {
  color: var(--blue-dark);
  font-size: 20px;
}

.notification-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.notification-card textarea {
  min-height: 190px;
  resize: vertical;
  line-height: 1.45;
  color: var(--ink);
  background: #fbfdff;
}

.notification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.notification-card.compact span {
  display: grid;
  gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  word-break: break-word;
}

.notification-card.compact span:last-child {
  border-bottom: 0;
}

.notification-card.compact b {
  color: var(--blue-dark);
  font-size: 12px;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .section-headline,
  .notification-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
}


/* Bloc stock textile - version professionnelle */
.stock-private-panel{max-width:1280px}
.stock-hero{display:grid;grid-template-columns:minmax(0,1fr)280px;gap:18px;align-items:stretch;padding:22px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(15,63,92,.08),rgba(24,169,153,.12)),repeating-linear-gradient(45deg,#fff,#fff 18px,#eef7f8 18px,#eef7f8 20px)}
.stock-hero h1{margin:6px 0 10px;font-size:clamp(34px,5vw,58px);line-height:1}
.stock-hero p{max-width:720px;margin:0;color:var(--muted);line-height:1.55}
.stock-hero-card{display:grid;align-content:center;gap:8px;padding:18px;border:1px solid rgba(15,63,92,.18);border-radius:8px;background:rgba(255,255,255,.88)}
.stock-hero-card span,.stock-stats span,.stock-form-title span,.stock-card-head span{color:var(--blue-dark);font-size:12px;font-weight:800;text-transform:uppercase}
.stock-hero-card strong{color:var(--ink);font-size:25px;line-height:1.05}
.stock-hero-card small,.stock-stats small{color:var(--muted);line-height:1.35}
.stock-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.stock-stats article{display:grid;gap:7px;min-height:108px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(22,32,38,.05)}
.stock-stats strong{color:var(--ink);font-size:34px;line-height:1}
.stock-stats article.is-warning{border-color:#f0d58a;background:#fff9e8}
.stock-stats article.is-danger{border-color:#f0b6b6;background:#fff4f4}
.stock-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:18px}
.stock-alert-pro{border-color:#f0d58a;background:#fff9e8}
.stock-alert-pro span.danger{color:#9a2727;border:1px solid #f0b6b6;background:#fff}
.stock-add-form{margin:18px 0 22px;padding:18px;border:1px dashed #bdd4dc;border-radius:8px;background:#f7fbfc}
.stock-form-title{display:grid;gap:4px}
.stock-form-title strong{color:var(--ink);font-size:20px}
.stock-list-pro{gap:12px}
.stock-card-pro{position:relative;overflow:hidden;border-left:5px solid var(--mint)}
.stock-card-pro.stock-low{border-left-color:var(--gold)}
.stock-card-pro.stock-empty{border-left-color:#d44}
.stock-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.stock-card-head div{display:grid;gap:5px}
.stock-card-head strong{color:var(--ink);font-size:20px}
.stock-edit-grid-pro{grid-template-columns:minmax(180px,1.3fr) minmax(130px,.8fr) minmax(90px,.45fr) minmax(110px,.55fr) auto}
@media(max-width:980px){.stock-hero,.stock-stats,.stock-edit-grid-pro{grid-template-columns:1fr}.stock-toolbar{justify-content:flex-start}}


/* Bloc Templates pro */
.template-studio-panel {
  max-width: 1280px;
}

.template-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .08), rgba(24, 169, 153, .12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px);
}

.template-hero h1 {
  margin: 4px 0 10px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
}

.template-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.template-hero-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(15, 63, 92, .16);
  border-radius: 12px;
  background: rgba(255,255,255,.88);
}

.template-hero-card span,
.template-stats span,
.template-form-title span,
.template-card-meta span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.template-hero-card strong {
  font-size: 38px;
  color: var(--ink);
}

.template-hero-card small,
.template-stats small {
  color: var(--muted);
}

.template-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.template-stats article {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  box-shadow: 0 10px 26px rgba(22, 32, 38, .05);
}

.template-stats strong {
  font-size: 30px;
  color: var(--ink);
}

.template-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 8px 0 18px;
}

.template-create-card {
  padding: 18px;
  border: 1px dashed #bdd4dc;
  border-radius: 12px;
  background: #f7fbfc;
}

.template-form-title {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-left: 4px solid var(--blue-dark);
  border-radius: 10px;
  background: white;
}

.template-form-title strong {
  color: var(--muted);
  font-size: 14px;
}

.template-admin-list-pro {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.template-admin-list-pro .template-admin-card {
  grid-template-columns: 190px minmax(0, 1fr);
  border-radius: 12px;
}

.template-admin-list-pro .template-preview {
  min-height: 170px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 35%, rgba(24, 169, 153, .13), transparent 42%),
    #f7fbfc;
}

.template-admin-list-pro .template-preview img {
  object-fit: contain;
  padding: 8px;
}

.template-admin-list-pro .product-card-head {
  align-items: flex-start;
}

.template-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.template-card-meta span {
  padding: 6px 9px;
  border: 1px solid #bdd4dc;
  border-radius: 999px;
  background: #fff;
}

/* Choix des templates côté commande */
.template-client-picker {
  gap: 12px;
}

.template-client-picker > strong {
  display: block;
  padding-bottom: 2px;
  color: var(--blue-dark);
}

.template-client-picker .template-choice {
  grid-template-columns: auto 96px minmax(0, 1fr);
  min-height: 78px;
  border-radius: 12px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.template-client-picker .template-choice:hover,
.template-client-picker .template-choice:has(input:checked) {
  border-color: var(--blue-dark);
  background: #eef7f8;
  box-shadow: inset 0 0 0 2px rgba(15, 63, 92, .12);
}

.template-client-picker .template-choice-default {
  grid-template-columns: auto minmax(0, 1fr);
}

.template-client-picker .template-choice img {
  width: 96px;
  height: 66px;
  object-fit: contain;
  background: #fff;
}

@media (max-width: 900px) {
  .template-hero,
  .template-admin-list-pro .template-admin-card {
    grid-template-columns: 1fr;
  }

  .template-stats,
  .template-admin-list-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .template-stats,
  .template-admin-list-pro {
    grid-template-columns: 1fr;
  }
}


/* Bloc Produits & tarifs - V1 */
.catalogue-panel {
  max-width: 1280px;
}

.catalogue-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .08), rgba(24, 169, 153, .12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px);
}

.catalogue-hero h1 {
  margin: 6px 0 10px;
  font-size: clamp(34px, 5vw, 60px);
  line-height: .98;
}

.catalogue-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.catalogue-hero-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(15, 63, 92, .16);
  border-radius: 8px;
  background: rgba(255,255,255,.88);
}

.catalogue-hero-card span,
.catalogue-stats span,
.catalogue-form-head span,
.catalogue-card-head span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.catalogue-hero-card strong {
  font-size: 24px;
}

.catalogue-hero-card small,
.catalogue-stats small,
.catalogue-card-actions small,
.catalogue-price small {
  color: var(--muted);
  line-height: 1.45;
}

.catalogue-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.catalogue-stats article {
  display: grid;
  gap: 7px;
  min-height: 96px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.catalogue-stats strong {
  font-size: 32px;
  line-height: 1;
}

.catalogue-family-tabs,
.catalogue-actions,
.catalogue-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.catalogue-family-tabs {
  margin-bottom: 18px;
}

.catalogue-family-tabs span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--blue-dark);
  font-weight: 800;
}

.catalogue-family-tabs b {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef7f8;
}

.catalogue-actions {
  justify-content: flex-end;
  margin: 0 0 18px;
  padding-top: 4px;
  clear: both;
}

.catalogue-actions .button {
  min-width: 220px;
  text-align: center;
}

@media (max-width: 900px) {
  .catalogue-actions {
    justify-content: stretch;
  }

  .catalogue-actions .button {
    flex: 1 1 220px;
  }
}

.catalogue-form {
  display: grid;
  gap: 14px;
  margin: 18px 0 22px;
  padding: 18px;
  border: 1px dashed #bdd4dc;
  border-radius: 8px;
  background: #f7fbfc;
}

.catalogue-form-head {
  display: grid;
  gap: 4px;
}

.catalogue-form-head strong {
  font-size: 22px;
}

.catalogue-form-grid,
.catalogue-edit-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) minmax(160px, .8fr) minmax(130px, .45fr) minmax(150px, .55fr);
  gap: 12px;
  align-items: end;
}

.catalogue-list {
  display: grid;
  gap: 14px;
}

.catalogue-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(22, 32, 38, .06);
}

.catalogue-card.is-hidden-product {
  background: linear-gradient(180deg, #fff, #f7f9fb);
  opacity: .82;
}

.catalogue-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px auto;
  gap: 14px;
  align-items: center;
}

.catalogue-card-head div:first-child {
  display: grid;
  gap: 5px;
}

.catalogue-card-head strong {
  font-size: 20px;
  color: var(--ink);
}

.catalogue-price {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.catalogue-price b {
  font-size: 22px;
  color: var(--blue-dark);
}

.catalogue-card-actions {
  justify-content: space-between;
  padding-top: 4px;
}

@media (max-width: 900px) {
  .catalogue-hero,
  .catalogue-card-head,
  .catalogue-form-grid,
  .catalogue-edit-grid {
    grid-template-columns: 1fr;
  }
  .catalogue-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .catalogue-actions {
    justify-content: flex-start;
    margin: 0 0 18px;
  }
  .catalogue-price {
    justify-items: start;
  }
}


/* QR code + code-barres en aperçu direct sur badge/carte */
.badge-code-panel {
  background: linear-gradient(180deg, #ffffff, #f7fbfc);
}

.badge-code-panel .textile-helper {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.badge-live-qr,
.badge-live-barcode {
  position: absolute;
  z-index: 9;
  display: none;
  object-fit: contain;
  padding: 1px;
  border: 1px solid rgba(15, 63, 92, .18);
  border-radius: 3px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 4px 10px rgba(15,63,92,.10);
  pointer-events: none;
}

.badge-live-qr.is-visible,
.badge-live-barcode.is-visible {
  display: block;
}

/* Badge avec cordon : les codes sont maintenant placés sur le petit badge, pas sur toute l'image. */
.live-config-studio.is-code-badge .badge-live-qr {
  width: clamp(22px, 6.2vw, 34px);
  height: clamp(22px, 6.2vw, 34px);
}

.live-config-studio.is-code-badge .badge-live-barcode {
  width: clamp(58px, 14vw, 82px);
  height: clamp(18px, 4.2vw, 26px);
}

.live-config-studio.is-code-badge .badge-live-qr.bottom-right { left: 64%; top: 68%; }
.live-config-studio.is-code-badge .badge-live-qr.bottom-left { left: 54%; top: 68%; }
.live-config-studio.is-code-badge .badge-live-qr.top-right { left: 64%; top: 59%; }
.live-config-studio.is-code-badge .badge-live-qr.top-left { left: 54%; top: 59%; }

.live-config-studio.is-code-badge .badge-live-barcode.bottom-center { left: 55%; top: 76%; }
.live-config-studio.is-code-badge .badge-live-barcode.middle-center { left: 55%; top: 68%; }
.live-config-studio.is-code-badge .badge-live-barcode.top-center { left: 55%; top: 59%; }

/* Carte PVC : placement plus large, directement dans la carte. */
.live-config-studio.is-code-pvc .badge-live-qr {
  width: clamp(36px, 9vw, 54px);
  height: clamp(36px, 9vw, 54px);
}

.live-config-studio.is-code-pvc .badge-live-barcode {
  width: clamp(92px, 22vw, 140px);
  height: clamp(26px, 6vw, 40px);
}

.live-config-studio.is-code-pvc .badge-live-qr.bottom-right { left: 59%; top: 56%; }
.live-config-studio.is-code-pvc .badge-live-qr.bottom-left { left: 36%; top: 56%; }
.live-config-studio.is-code-pvc .badge-live-qr.top-right { left: 59%; top: 36%; }
.live-config-studio.is-code-pvc .badge-live-qr.top-left { left: 36%; top: 36%; }

.live-config-studio.is-code-pvc .badge-live-barcode.bottom-center { left: 39%; top: 66%; }
.live-config-studio.is-code-pvc .badge-live-barcode.middle-center { left: 39%; top: 53%; }
.live-config-studio.is-code-pvc .badge-live-barcode.top-center { left: 39%; top: 39%; }

.live-config-studio:not(.is-code-badge):not(.is-code-pvc) .badge-live-qr,
.live-config-studio:not(.is-code-badge):not(.is-code-pvc) .badge-live-barcode {
  display: none !important;
}

@media (max-width: 760px) {
  .live-config-studio.is-code-badge .badge-live-qr {
    width: 22px;
    height: 22px;
  }
  .live-config-studio.is-code-badge .badge-live-barcode {
    width: 58px;
    height: 18px;
  }
  .live-config-studio.is-code-badge .badge-live-qr.bottom-right { left: 63%; top: 69%; }
  .live-config-studio.is-code-badge .badge-live-qr.bottom-left { left: 53%; top: 69%; }
  .live-config-studio.is-code-badge .badge-live-qr.top-right { left: 63%; top: 60%; }
  .live-config-studio.is-code-badge .badge-live-qr.top-left { left: 53%; top: 60%; }
  .live-config-studio.is-code-badge .badge-live-barcode.bottom-center { left: 54%; top: 77%; }
  .live-config-studio.is-code-badge .badge-live-barcode.middle-center { left: 54%; top: 69%; }
  .live-config-studio.is-code-badge .badge-live-barcode.top-center { left: 54%; top: 61%; }
}


/* Studio Badge V1 - bibliothèque de templates + aperçu direct */
.config-preview-shell .badge-studio-card {
  position: absolute;
  inset: 18px;
  margin: auto;
  z-index: 7;
  display: none;
  width: min(92%, 360px);
  height: 222px;
  overflow: hidden;
  border: 1px solid rgba(15, 63, 92, .22);
  border-radius: 14px;
  background:
    radial-gradient(circle at 82% 20%, rgba(24,169,153,.20), transparent 24%),
    radial-gradient(circle at 18% 82%, rgba(20,108,148,.16), transparent 24%),
    repeating-linear-gradient(125deg, rgba(15,63,92,.055) 0 1px, transparent 1px 11px),
    linear-gradient(135deg, #ffffff, #eef7f8);
  box-shadow: 0 22px 34px rgba(15,63,92,.22);
  transform: translateY(0);
}

.config-preview-shell .badge-studio-card.is-visible {
  display: block;
}

.config-preview-shell .badge-studio-card.portrait {
  width: 222px;
  height: min(92%, 250px);
}

.badge-studio-template {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}

.badge-studio-template.is-visible {
  display: block;
}

.badge-studio-card.has-template {
  background: #fff;
}

.badge-guilloche {
  position: absolute;
  inset: -22%;
  z-index: 2;
  opacity: .28;
  background:
    repeating-radial-gradient(ellipse at 30% 50%, transparent 0 8px, rgba(15,63,92,.20) 9px 10px, transparent 11px 18px),
    repeating-radial-gradient(ellipse at 70% 45%, transparent 0 10px, rgba(24,169,153,.18) 11px 12px, transparent 13px 20px);
  transform: rotate(-10deg);
  pointer-events: none;
}

.badge-studio-card:not(.security-guilloche) .badge-guilloche {
  opacity: .10;
}

.badge-studio-card.security-premium::after {
  content: "DYLANG SECURE";
  position: absolute;
  inset: auto -20px 18px auto;
  z-index: 3;
  color: rgba(15,63,92,.12);
  font-weight: 900;
  font-size: 26px;
  letter-spacing: 2px;
  transform: rotate(-18deg);
}

.badge-watermark {
  position: absolute;
  left: 18px;
  top: 16px;
  z-index: 4;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--blue-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .9px;
}

.badge-studio-name,
.badge-studio-role,
.badge-studio-id {
  position: absolute;
  left: 22px;
  z-index: 5;
  max-width: 58%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(255,255,255,.70);
}

.badge-studio-name {
  top: 82px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 900;
}

.badge-studio-role {
  top: 109px;
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 800;
}

.badge-studio-id {
  bottom: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.badge-studio-card.portrait .badge-watermark {
  left: 14px;
  top: 12px;
}

.badge-studio-card.portrait .badge-studio-name,
.badge-studio-card.portrait .badge-studio-role,
.badge-studio-card.portrait .badge-studio-id {
  left: 18px;
  max-width: 72%;
}

.badge-studio-card.portrait .badge-studio-name { top: 96px; font-size: 18px; }
.badge-studio-card.portrait .badge-studio-role { top: 121px; font-size: 12px; }
.badge-studio-card.portrait .badge-studio-id { bottom: 16px; }

.live-config-studio .badge-studio-card .badge-live-qr,
.live-config-studio .badge-studio-card .badge-live-barcode {
  position: absolute !important;
  z-index: 10 !important;
  display: none;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(15,63,92,.20);
  border-radius: 4px;
  padding: 2px;
  box-shadow: 0 4px 10px rgba(15,63,92,.12);
}

.live-config-studio .badge-studio-card .badge-live-qr.is-visible,
.live-config-studio .badge-studio-card .badge-live-barcode.is-visible {
  display: block !important;
}

.live-config-studio .badge-studio-card .badge-live-qr {
  width: 48px !important;
  height: 48px !important;
}

.live-config-studio .badge-studio-card .badge-live-barcode {
  width: 128px !important;
  height: 34px !important;
}

.badge-studio-card .badge-live-qr.bottom-right { right: 18px !important; bottom: 16px !important; left: auto !important; top: auto !important; }
.badge-studio-card .badge-live-qr.bottom-left { left: 18px !important; bottom: 16px !important; right: auto !important; top: auto !important; }
.badge-studio-card .badge-live-qr.top-right { right: 18px !important; top: 16px !important; left: auto !important; bottom: auto !important; }
.badge-studio-card .badge-live-qr.top-left { left: 18px !important; top: 16px !important; right: auto !important; bottom: auto !important; }

.badge-studio-card .badge-live-barcode.bottom-center { left: 50% !important; bottom: 16px !important; top: auto !important; transform: translateX(-50%); }
.badge-studio-card .badge-live-barcode.middle-center { left: 50% !important; top: 50% !important; bottom: auto !important; transform: translate(-50%, -50%); }
.badge-studio-card .badge-live-barcode.top-center { left: 50% !important; top: 16px !important; bottom: auto !important; transform: translateX(-50%); }

.badge-studio-card.portrait .badge-live-qr {
  width: 42px !important;
  height: 42px !important;
}

.badge-studio-card.portrait .badge-live-barcode {
  width: 108px !important;
  height: 30px !important;
}

.badge-identity-panel .textile-helper,
.badge-code-panel .textile-helper {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.template-client-picker .template-choice {
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.template-client-picker .template-choice:has(input:checked) {
  border-color: var(--blue-dark);
  background: #eef7f8;
  box-shadow: inset 0 0 0 2px rgba(15,63,92,.14);
}

@media (max-width: 760px) {
  .config-preview-shell .badge-studio-card {
    width: min(94%, 300px);
    height: 186px;
  }
  .config-preview-shell .badge-studio-card.portrait {
    width: 186px;
    height: 232px;
  }
  .badge-studio-name { font-size: 16px; top: 70px; }
  .badge-studio-role { top: 94px; font-size: 11px; }
  .live-config-studio .badge-studio-card .badge-live-qr { width: 36px !important; height: 36px !important; }
  .live-config-studio .badge-studio-card .badge-live-barcode { width: 96px !important; height: 28px !important; }
}


/* HOTFIX Studio Badge V2 : si un fichier template n'est pas lisible, on garde une vraie carte propre au lieu d'afficher le texte alt cassé. */
.badge-studio-template:not(.is-visible) {
  display: none !important;
}

.badge-studio-card:not(.has-template)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(135deg, rgba(15,63,92,.92) 0 24%, transparent 24% 100%),
    linear-gradient(135deg, transparent 0 68%, rgba(24,169,153,.55) 68% 100%),
    repeating-linear-gradient(135deg, rgba(15,63,92,.06) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffffff, #eef7f8);
}

.badge-studio-card:not(.has-template)::after {
  content: "DIGITAL YLANG";
  position: absolute;
  right: 16px;
  top: 14px;
  z-index: 2;
  color: rgba(15,63,92,.42);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.badge-studio-card.has-template::before,
.badge-studio-card.has-template::after {
  display: none;
}

/* Studio Badge V2 - correctif propre centrage + champs dynamiques + séparation textile */
.product-specific.is-hidden,
.template-choice.is-hidden {
  display: none !important;
}
.config-preview-shell {
  display: grid !important;
  place-items: center !important;
}
.config-preview-shell .badge-studio-card {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  width: min(92%, 390px) !important;
  height: 240px !important;
  display: none !important;
  contain: layout paint;
}
.config-preview-shell .badge-studio-card.is-visible {
  display: block !important;
}
.config-preview-shell .badge-studio-card.portrait {
  width: 230px !important;
  height: 310px !important;
}
.live-config-studio.is-textile-active .badge-studio-card {
  display: none !important;
}
.live-config-studio:not(.is-textile-active) #shirtPreviewMini,
.live-config-studio:not(.is-textile-active) #shirtColorOverlay,
.live-config-studio:not(.is-textile-active) #shirtLivePrintText,
.live-config-studio:not(.is-textile-active) #shirtLiveLogo,
.live-config-studio:not(.is-textile-active) #textileToneChip {
  display: none !important;
  opacity: 0 !important;
}
.live-config-studio.is-textile-active .studio-product-preview[data-preview-type="badge"],
.live-config-studio.is-textile-active .studio-product-preview[data-preview-type="pvc"],
.live-config-studio.is-textile-active .studio-product-preview[data-preview-type="rfid"] {
  display: none !important;
}
.badge-studio-template {
  object-fit: cover !important;
  object-position: center center !important;
}
.badge-studio-name,
.badge-studio-role,
.badge-studio-id {
  pointer-events: none;
  line-height: 1.1;
}
.badge-studio-name {
  left: 30px !important;
  top: 92px !important;
  max-width: 64% !important;
  font-size: 22px !important;
}
.badge-studio-role {
  left: 30px !important;
  top: 122px !important;
  max-width: 62% !important;
  font-size: 14px !important;
}
.badge-studio-id {
  left: 30px !important;
  bottom: 22px !important;
  max-width: 50% !important;
}
.badge-studio-card.portrait .badge-studio-name {
  left: 20px !important;
  top: 118px !important;
  max-width: 78% !important;
  font-size: 18px !important;
}
.badge-studio-card.portrait .badge-studio-role {
  left: 20px !important;
  top: 146px !important;
  max-width: 78% !important;
}
.badge-studio-card.portrait .badge-studio-id {
  left: 20px !important;
  bottom: 22px !important;
  max-width: 70% !important;
}
.badge-studio-card .badge-live-qr.bottom-right { right: 22px !important; bottom: 20px !important; }
.badge-studio-card .badge-live-qr.bottom-left { left: 22px !important; bottom: 20px !important; }
.badge-studio-card .badge-live-qr.top-right { right: 22px !important; top: 20px !important; }
.badge-studio-card .badge-live-qr.top-left { left: 22px !important; top: 20px !important; }
.badge-studio-card .badge-live-barcode.bottom-center { left: 50% !important; bottom: 18px !important; transform: translateX(-50%) !important; }
.badge-studio-card .badge-live-barcode.top-center { left: 50% !important; top: 18px !important; transform: translateX(-50%) !important; }
.badge-studio-card .badge-live-barcode.middle-center { left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; }
.badge-code-panel .textile-helper,
.badge-identity-panel .textile-helper {
  color: var(--muted);
  margin: 0 0 4px;
}


/* Studio Badge V3 - bibliothèque de templates intégrée */
.badge-template-library .textile-helper {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.builtin-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.builtin-template-choice {
  grid-template-columns: auto 116px minmax(0, 1fr) !important;
  align-items: center;
  min-height: 98px !important;
}

.builtin-template-choice > span:last-child {
  display: grid;
  gap: 4px;
}

.builtin-template-choice b {
  color: var(--ink);
}

.builtin-template-choice small {
  color: var(--muted);
  line-height: 1.35;
}

.template-mini-card {
  position: relative;
  display: block;
  width: 116px;
  height: 72px;
  overflow: hidden;
  border: 1px solid rgba(15, 63, 92, .18);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 18px rgba(15,63,92,.10);
}

.template-mini-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, rgba(15,63,92,.08) 0 1px, transparent 1px 8px);
}

.template-mini-card i,
.template-mini-card b,
.template-mini-card em {
  position: absolute;
  z-index: 2;
  font-style: normal;
}

.template-mini-card b {
  left: 12px;
  top: 10px;
  font-size: 8px;
  letter-spacing: .08em;
}

.template-mini-card em {
  left: 13px;
  top: 35px;
  color: #162026;
  font-size: 9px;
  font-weight: 900;
}

.mini-teal-premium {
  background:
    linear-gradient(135deg, #073c5c 0 27%, transparent 27% 100%),
    linear-gradient(135deg, transparent 0 66%, #28b9aa 66% 100%),
    #f8fbfc;
}

.mini-navy-security {
  background:
    linear-gradient(90deg, #062b45 0 36%, transparent 36% 100%),
    radial-gradient(circle at 78% 32%, rgba(243,179,61,.28), transparent 22%),
    #f6fafb;
}

.mini-pvc-member {
  background:
    linear-gradient(135deg, #ffffff 0 56%, #ddeff1 56% 100%),
    linear-gradient(90deg, #0f3f5c 0 28%, transparent 28% 100%);
}

.mini-pvc-elite {
  background:
    linear-gradient(135deg, #101f2a 0 42%, #f7fbfc 42% 100%),
    linear-gradient(135deg, transparent 0 74%, #f3b33d 74% 100%);
}

.mini-pvc-elite b,
.mini-pvc-elite em,
.mini-navy-security b {
  color: #fff !important;
}

.badge-studio-card.has-builtin-template::before,
.badge-studio-card.has-builtin-template::after {
  display: none !important;
}

.badge-studio-card.has-builtin-template {
  background: #fff !important;
}

.badge-studio-card.template-teal-premium {
  background:
    linear-gradient(135deg, #073c5c 0 27%, transparent 27% 100%),
    linear-gradient(135deg, transparent 0 66%, rgba(24,169,153,.72) 66% 100%),
    repeating-linear-gradient(135deg, rgba(15,63,92,.07) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffffff, #eef7f8) !important;
}

.badge-studio-card.template-navy-security {
  background:
    linear-gradient(90deg, #062b45 0 34%, transparent 34% 100%),
    radial-gradient(circle at 84% 22%, rgba(243,179,61,.28), transparent 18%),
    repeating-radial-gradient(ellipse at 78% 52%, transparent 0 13px, rgba(15,63,92,.10) 14px 15px, transparent 16px 25px),
    linear-gradient(135deg, #ffffff, #eef5f7) !important;
}

.badge-studio-card.template-pvc-member {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96) 0 56%, rgba(24,169,153,.18) 56% 100%),
    linear-gradient(90deg, rgba(15,63,92,.96) 0 24%, transparent 24% 100%),
    repeating-linear-gradient(135deg, rgba(15,63,92,.055) 0 1px, transparent 1px 11px),
    #fff !important;
}

.badge-studio-card.template-pvc-elite {
  background:
    linear-gradient(135deg, #101f2a 0 42%, transparent 42% 100%),
    linear-gradient(135deg, transparent 0 73%, rgba(243,179,61,.72) 73% 100%),
    repeating-linear-gradient(135deg, rgba(15,63,92,.06) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffffff, #f7fbfc) !important;
}

.badge-studio-card.template-navy-security .badge-watermark,
.badge-studio-card.template-pvc-elite .badge-watermark {
  color: #fff;
  background: rgba(255,255,255,.14);
}

.badge-studio-card.template-navy-security .badge-studio-name,
.badge-studio-card.template-navy-security .badge-studio-role,
.badge-studio-card.template-navy-security .badge-studio-id,
.badge-studio-card.template-pvc-elite .badge-studio-name,
.badge-studio-card.template-pvc-elite .badge-studio-role,
.badge-studio-card.template-pvc-elite .badge-studio-id {
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

@media (max-width: 900px) {
  .builtin-template-grid {
    grid-template-columns: 1fr;
  }
}


/* Studio Badge V4 - centrage réel + bibliothèque plus propre */
.live-config-studio:not(.is-textile-active) {
  grid-template-columns: minmax(260px, .72fr) minmax(430px, 1.28fr) !important;
}

.config-preview-shell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 318px !important;
  padding: 22px !important;
}

.config-preview-shell .badge-studio-card {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: auto !important;
  width: min(96%, 430px) !important;
  height: 266px !important;
  max-width: 430px !important;
  display: none !important;
  flex: 0 0 auto !important;
}

.config-preview-shell .badge-studio-card.is-visible {
  display: block !important;
}

.config-preview-shell .badge-studio-card.portrait {
  width: 250px !important;
  height: 330px !important;
}

.badge-template-library {
  background: linear-gradient(180deg, #ffffff, #f7fbfc) !important;
  border: 1px solid #dbe4e8 !important;
}

.badge-template-library > strong {
  font-size: 20px !important;
  color: var(--blue-dark) !important;
}

.builtin-template-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.builtin-template-choice,
.badge-template-library .template-choice {
  display: grid !important;
  grid-template-columns: 24px 148px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 112px !important;
  padding: 14px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(22,32,38,.05) !important;
  cursor: pointer !important;
}

.badge-template-library .template-choice.is-selected,
.badge-template-library .template-choice:has(input:checked) {
  border-color: var(--blue-dark) !important;
  background: #eef7f8 !important;
  box-shadow: inset 0 0 0 2px rgba(15,63,92,.16), 0 12px 26px rgba(15,63,92,.10) !important;
}

.badge-template-library .template-choice input {
  width: 18px !important;
  min-height: 18px !important;
  justify-self: center !important;
}

.badge-template-library .template-choice > .template-mini-card,
.badge-template-library .template-choice > img {
  grid-column: 2 !important;
  width: 148px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

.badge-template-library .template-choice > span:last-child {
  grid-column: 3 !important;
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: var(--ink) !important;
}

.badge-template-library .template-choice > span:last-child b {
  display: block !important;
  color: var(--blue-dark) !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
}

.badge-template-library .template-choice > span:last-child small {
  display: block !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

.badge-template-library .template-choice-default {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  min-height: 72px !important;
}

.badge-template-library .template-choice-default span {
  grid-column: 2 !important;
  font-weight: 800 !important;
  color: var(--blue-dark) !important;
}

.template-mini-card b,
.template-mini-card em {
  white-space: nowrap !important;
}

.badge-studio-card.template-teal-premium .badge-studio-name,
.badge-studio-card.template-pvc-member .badge-studio-name {
  top: 104px !important;
}
.badge-studio-card.template-teal-premium .badge-studio-role,
.badge-studio-card.template-pvc-member .badge-studio-role {
  top: 135px !important;
}
.badge-studio-card.template-teal-premium .badge-studio-id,
.badge-studio-card.template-pvc-member .badge-studio-id {
  bottom: 30px !important;
}

@media (max-width: 1000px) {
  .live-config-studio:not(.is-textile-active) {
    grid-template-columns: 1fr !important;
  }
  .builtin-template-grid {
    grid-template-columns: 1fr !important;
  }
}


/* === FUSION ACCUEIL PROPRE V1 - visuel repris de la page index.html === */
.home-pro-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 560px);
  gap: 30px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  min-height: 560px;
}

.home-pro-copy h1 {
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.02;
  margin-bottom: 18px;
}

.home-pro-lead {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
  max-width: 620px;
}

.home-pro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.home-pro-visual {
  position: relative;
  min-height: 430px;
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(20, 108, 148, 0.1), rgba(24, 169, 153, 0.08)),
    repeating-linear-gradient(45deg, #ffffff, #ffffff 18px, #eef4f6 18px, #eef4f6 20px);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.home-pro-logo {
  position: absolute;
  left: 28px;
  right: 28px;
  top: 22px;
  width: calc(100% - 56px);
  height: 78px;
  object-fit: contain;
  object-position: center;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 14px;
}

.home-pro-product,
.home-pro-shirt-wrap {
  position: absolute;
  filter: drop-shadow(0 22px 30px rgba(15, 63, 92, 0.24));
}

.home-pro-badge {
  left: 42px;
  top: 118px;
  width: 255px;
  transform: rotate(-5deg);
}

.home-pro-card {
  right: 26px;
  top: 136px;
  width: 265px;
  transform: rotate(6deg);
}

.home-pro-shirt-wrap {
  right: 70px;
  bottom: 18px;
  width: 238px;
}

.home-pro-shirt-real {
  width: 100%;
  display: block;
}

.home-pro-shirt-wrap span {
  position: absolute;
  left: 50%;
  top: 43%;
  transform: translate(-50%, -50%);
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--blue-dark);
  font-weight: 800;
}

.home-pro-strip,
.home-pro-admin-bridge,
.home-pro-reviews,
.home-pro-contact {
  max-width: 1180px;
  margin: 22px auto 0;
}

.home-pro-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.home-pro-strip article,
.home-pro-reviews,
.home-pro-contact,
.home-pro-admin-bridge {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(22, 32, 38, 0.06);
}

.home-pro-strip article {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.home-pro-strip span,
.home-pro-admin-bridge p,
.home-pro-reviews-grid p,
.home-pro-contact p,
.home-pro-contact-grid span {
  color: var(--muted);
  line-height: 1.5;
}

.home-pro-admin-bridge {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(420px, 1.3fr);
  gap: 18px;
  align-items: start;
  padding: 22px;
}

.home-pro-admin-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-pro-admin-grid .button {
  display: grid;
  place-items: center;
  min-height: 64px;
  text-align: center;
}

.home-pro-reviews,
.home-pro-contact {
  padding: 22px;
}

.home-pro-reviews-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.home-pro-rating {
  min-width: 190px;
  padding: 12px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.home-pro-rating strong {
  display: block;
  color: var(--blue-dark);
  font-size: 28px;
}

.home-pro-rating span {
  color: var(--muted);
}

.home-pro-reviews-grid,
.home-pro-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.home-pro-reviews-grid article,
.home-pro-contact-grid article {
  display: grid;
  gap: 8px;
  padding: 15px;
  border: 1px solid #dbe9ed;
  border-radius: 8px;
  background: #f7fbfc;
}

.home-pro-stars {
  color: #d99a00;
}

.home-pro-contact-grid strong,
.home-pro-contact-grid a {
  color: var(--blue-dark);
}

@media (max-width: 900px) {
  .home-pro-hero,
  .home-pro-admin-bridge,
  .home-pro-strip,
  .home-pro-reviews-grid,
  .home-pro-contact-grid {
    grid-template-columns: 1fr;
  }

  .home-pro-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-pro-visual {
    min-height: 360px;
  }
}

/* === FUSION ACCUEIL PROPRE V2 - réglage visuel fidèle à la page / === */
.topbar {
  display: grid !important;
  grid-template-columns: minmax(230px, .95fr) minmax(420px, 1.35fr) minmax(150px, .42fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px 28px !important;
}
.topbar .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.topbar .brand img {
  width: 82px !important;
  height: 42px !important;
  max-width: 82px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.topbar .brand strong {
  font-size: 18px !important;
  line-height: 1.08 !important;
}
.topbar .brand small {
  display: block !important;
  margin-top: 2px !important;
  color: var(--muted) !important;
  font-size: 13px !important;
}
.main-nav-pro {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.main-nav-pro a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 10px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.main-nav-pro a:hover,
.main-nav-pro a.is-active {
  background: #e9f5f8 !important;
  border-color: #c8e6ee !important;
  color: var(--blue-dark) !important;
}
.top-contact-pro {
  display: grid !important;
  gap: 3px !important;
  min-width: 150px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.top-contact-pro a {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--blue-dark) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.top-contact-pro span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 24px !important;
  padding: 3px 9px !important;
  border: 1px solid rgba(0, 168, 168, .35) !important;
  border-radius: 999px !important;
  background: #e9f8f8 !important;
  color: var(--blue-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.whatsapp-pro {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 11px 14px !important;
  border: 1px solid var(--blue) !important;
  border-radius: 8px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.home-pro-hero {
  min-height: 560px !important;
  padding-top: 0 !important;
}
.home-pro-copy h1 {
  letter-spacing: 0 !important;
  max-width: 680px !important;
}
.home-pro-actions .button {
  min-width: 190px !important;
  text-align: center !important;
}
.home-pro-strip {
  margin-top: 22px !important;
}
.home-pro-admin-bridge {
  display: none !important;
}
.home-pro-reviews {
  margin-top: 24px !important;
}
.home-pro-contact {
  margin-top: 24px !important;
  margin-bottom: 18px !important;
}
@media (max-width: 1100px) {
  .topbar {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .main-nav-pro {
    justify-content: flex-start !important;
  }
}
@media (max-width: 720px) {
  .home-pro-copy h1 {
    font-size: clamp(34px, 11vw, 46px) !important;
  }
  .home-pro-actions .button {
    width: 100% !important;
  }
}


/* === FUSION ACCUEIL PROPRE V3 - menu propre et aligné === */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 14px 28px !important;
  min-height: 78px !important;
  background: rgba(255,255,255,.94) !important;
}
.topbar .brand {
  flex: 0 0 260px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  text-decoration: none !important;
}
.topbar .brand img {
  width: 82px !important;
  height: 42px !important;
  flex: 0 0 82px !important;
  max-width: 82px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.topbar .brand span {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.topbar .brand strong {
  display: block !important;
  font-size: 18px !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}
.topbar .brand small {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  color: var(--muted) !important;
}
.main-nav-pro {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.main-nav-pro a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 10px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.main-nav-pro a:hover,
.main-nav-pro a.is-active {
  background: #e9f5f8 !important;
  border-color: #c8e6ee !important;
  color: var(--blue-dark) !important;
}
.top-contact-pro {
  flex: 0 0 170px !important;
  display: grid !important;
  gap: 3px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}
.top-contact-pro a {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--blue-dark) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.top-contact-pro span {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 23px !important;
  padding: 3px 9px !important;
  border: 1px solid rgba(0,168,168,.35) !important;
  border-radius: 999px !important;
  background: #e9f8f8 !important;
  color: var(--blue-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.whatsapp-pro {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 11px 14px !important;
  border: 1px solid var(--blue) !important;
  border-radius: 8px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
@media (max-width: 1180px) {
  .topbar {
    gap: 10px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .topbar .brand {
    flex-basis: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
  }
  .main-nav-pro { gap: 5px !important; }
  .main-nav-pro a {
    padding: 9px 9px !important;
    font-size: 14px !important;
  }
  .top-contact-pro {
    flex-basis: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 980px) {
  .topbar {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
  }
  .topbar .brand {
    grid-column: 1 / 2 !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .whatsapp-pro {
    grid-column: 2 / 3 !important;
  }
  .main-nav-pro {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  .top-contact-pro {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    max-width: none !important;
  }
}


/* === Digital Ylang - PARTENAIRE SEUL V1 === */
.partner-public-page,
.partner-admin-page,
.partner-space-page { overflow: hidden; }

.partner-public-hero,
.partner-admin-hero,
.partner-space-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 22px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(20, 108, 148, .08), rgba(24, 169, 153, .12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px);
}

.partner-public-hero h1,
.partner-admin-hero h1,
.partner-space-hero h1 { font-size: clamp(36px, 5vw, 58px); line-height: 1; margin-bottom: 12px; }
.partner-public-hero p,
.partner-admin-hero p,
.partner-space-hero p { color: var(--muted); line-height: 1.5; max-width: 680px; }
.partner-hero-actions,
.partner-admin-actions-top,
.partner-share-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.partner-premium-card,
.partner-code-card-pro {
  display: grid;
  align-content: end;
  gap: 10px;
  min-height: 210px;
  padding: 24px;
  border-radius: 14px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.22), transparent 22%),
    linear-gradient(135deg, #072f5f, #0f6f6f 64%, #18a999);
  box-shadow: 0 22px 42px rgba(15, 63, 92, .22);
  overflow: hidden;
  position: relative;
}
.partner-premium-card::before,
.partner-code-card-pro::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.08), rgba(255,255,255,.08) 1px, transparent 1px, transparent 12px);
  pointer-events: none;
}
.partner-premium-card > *,
.partner-code-card-pro > * { position: relative; }
.partner-premium-card span,
.partner-code-card-pro small { opacity: .82; font-weight: 800; text-transform: uppercase; font-size: 12px; }
.partner-premium-card strong,
.partner-code-card-pro strong { font-size: clamp(24px, 3vw, 36px); letter-spacing: .02em; }
.partner-premium-card small { color: rgba(255,255,255,.78); }
.partner-code-card-pro img { width: 140px; max-height: 68px; object-fit: contain; padding: 8px; border-radius: 10px; background: rgba(255,255,255,.9); }
.partner-share-actions button,
.partner-share-actions a { background: rgba(255,255,255,.92); color: var(--blue-dark); border-color: transparent; min-height: 40px; }

.partner-benefits-grid,
.partner-admin-stats,
.partner-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.partner-admin-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.partner-benefits-grid article,
.partner-admin-stats article,
.partner-tier-grid article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(22,32,38,.06);
}
.partner-benefits-grid span,
.partner-admin-stats span,
.partner-tier-grid span { color: var(--muted); }
.partner-admin-stats strong { color: var(--blue-dark); font-size: 24px; }

.partner-apply-grid.pro { grid-template-columns: .86fr 1.14fr; margin-top: 22px; }
.partner-charter-pro ul { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.partner-form-pro h2,
.partner-charter-pro h2 { margin-bottom: 10px; }
.partner-form-pro { background: #fff; }
.partner-form-pro button { width: 100%; }

.partner-create-pro { margin: 24px 0; }
.partner-create-pro h2 { margin: 0; }
.partner-admin-list-pro { display: grid; gap: 14px; margin: 14px 0 26px; }
.partner-admin-card-pro {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15,63,92,.08);
}
.partner-admin-mainline { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.partner-admin-mainline div { display: grid; gap: 5px; }
.partner-admin-mainline span { color: var(--muted); }
.copy-partner-code {
  min-height: 38px;
  border-radius: 999px;
  background: #e9f8f8;
  color: var(--blue-dark);
  border-color: rgba(24,169,153,.28);
  font-weight: 800;
}
.partner-approve-pro { background: #fff8e5; border-color: #f0d58a; }
.partner-meta-pro { margin: 0; }
.partner-commission-pro .commission-card { border-radius: 12px; }

.partner-space-stats { margin-top: 22px; }
.partner-payout-pro,
.partner-progress-pro { margin-top: 18px; }
.compact-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.partner-tier-grid article.is-active { border-color: var(--blue-dark); background: #eef7f8; box-shadow: inset 0 0 0 2px rgba(15,63,92,.12); }
.partner-client-table .row { grid-template-columns: 1fr 1.2fr .8fr .8fr .8fr; }

@media (max-width: 900px) {
  .partner-public-hero,
  .partner-admin-hero,
  .partner-space-hero,
  .partner-apply-grid.pro { grid-template-columns: 1fr; }
  .partner-benefits-grid,
  .partner-admin-stats,
  .compact-three,
  .partner-tier-grid { grid-template-columns: 1fr; }
  .partner-admin-mainline { align-items: flex-start; flex-direction: column; }
}



/* === CORRECTION PARTENAIRE SEUL V2 - affichage forcé === */
.partner-public-page{max-width:1180px!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.partner-public-hero{display:grid!important;grid-template-columns:minmax(0,1fr)360px!important;gap:22px!important;align-items:stretch!important;margin:0 0 18px!important;padding:26px!important;border:1px solid #dbe4e8!important;border-radius:12px!important;background:linear-gradient(135deg,rgba(20,108,148,.08),rgba(24,169,153,.12)),repeating-linear-gradient(45deg,#fff,#fff 18px,#eef7f8 18px,#eef7f8 20px)!important;clear:both!important}
.partner-public-hero>div{min-width:0!important;display:block!important}.partner-public-hero h1{font-size:clamp(38px,5vw,58px)!important;line-height:1!important;margin:6px 0 12px!important;letter-spacing:0!important}.partner-public-hero p{max-width:680px!important;color:#5c6a72!important;line-height:1.5!important;margin:0!important}.partner-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important}.partner-hero-actions .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:11px 15px!important;border-radius:8px!important;text-decoration:none!important}
.partner-premium-card{display:grid!important;align-content:end!important;gap:10px!important;min-height:210px!important;padding:24px!important;border-radius:14px!important;color:#fff!important;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.22),transparent 22%),linear-gradient(135deg,#072f5f,#0f6f6f 64%,#18a999)!important;box-shadow:0 22px 42px rgba(15,63,92,.22)!important;overflow:hidden!important;position:relative!important}.partner-premium-card::before{content:""!important;position:absolute!important;inset:0!important;background:repeating-linear-gradient(45deg,rgba(255,255,255,.08),rgba(255,255,255,.08) 1px,transparent 1px,transparent 12px)!important;pointer-events:none!important}.partner-premium-card>*{position:relative!important}.partner-premium-card span{opacity:.82!important;font-weight:800!important;text-transform:uppercase!important;font-size:12px!important;color:rgba(255,255,255,.82)!important}.partner-premium-card strong{font-size:clamp(24px,3vw,36px)!important;letter-spacing:.02em!important;color:#fff!important}.partner-premium-card small{color:rgba(255,255,255,.78)!important;line-height:1.4!important}
.partner-benefits-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:18px 0 22px!important;clear:both!important}.partner-benefits-grid article{display:grid!important;gap:7px!important;padding:16px!important;border:1px solid #dbe4e8!important;border-radius:10px!important;background:#fff!important;box-shadow:0 8px 22px rgba(22,32,38,.06)!important}.partner-benefits-grid strong{display:block!important;color:#0f3f5c!important;font-size:17px!important}.partner-benefits-grid span{display:block!important;color:#5c6a72!important;line-height:1.45!important}
.partner-apply-grid.pro{display:grid!important;grid-template-columns:.86fr 1.14fr!important;gap:22px!important;align-items:start!important;margin-top:22px!important;clear:both!important}.partner-charter-pro,.partner-form-pro{display:grid!important;gap:12px!important;padding:22px!important;border:1px solid #dbe4e8!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,63,92,.08)!important}.partner-charter-pro ul{margin:0!important;padding-left:20px!important;color:#5c6a72!important;line-height:1.55!important}.partner-charter-pro h2,.partner-form-pro h2{margin:0 0 8px!important;font-size:28px!important}.partner-form-pro label{display:grid!important;gap:8px!important;color:#5c6a72!important;font-size:14px!important}.partner-form-pro input,.partner-form-pro textarea{width:100%!important;min-height:44px!important;border:1px solid #dbe4e8!important;border-radius:8px!important;padding:11px 12px!important;background:#fff!important;color:#162026!important}.partner-form-pro textarea{min-height:120px!important}.partner-form-pro button{width:100%!important;min-height:44px!important;background:#0f3f5c!important;color:#fff!important;border:1px solid #0f3f5c!important;border-radius:8px!important}.partner-form-pro .checkline{display:flex!important;align-items:flex-start!important;gap:10px!important}.partner-form-pro .checkline input{width:auto!important;min-height:auto!important;margin-top:4px!important}
@media(max-width:900px){.partner-public-hero,.partner-apply-grid.pro{grid-template-columns:1fr!important}.partner-benefits-grid{grid-template-columns:1fr!important}.partner-premium-card{min-height:170px!important}.partner-public-hero h1{font-size:36px!important}}

/* === PARTENAIRE SEUL V3 - liens et WhatsApp, sans changer l'accueil === */
.partner-admin-code-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}
.partner-admin-code-actions .copy-partner-code,
.partner-admin-code-actions .copy-partner-link,
.partner-admin-code-actions .partner-wa-access{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:9px 12px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.partner-admin-code-actions .copy-partner-link{
  background:#fff!important;
  color:#0f3f5c!important;
  border:1px solid #dbe4e8!important;
}
.partner-admin-code-actions .partner-wa-access{
  background:#0f3f5c!important;
  color:#fff!important;
  border:1px solid #0f3f5c!important;
}
.partner-share-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}
.partner-share-actions button,
.partner-share-actions .button{
  min-height:40px!important;
  border-radius:8px!important;
  padding:10px 13px!important;
  font-size:14px!important;
  font-weight:800!important;
}
.partner-referral-link{
  width:100%!important;
  min-height:40px!important;
  margin-top:2px!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:13px!important;
}
.partner-referral-link::selection{background:rgba(255,255,255,.35)!important;color:#fff!important}
@media(max-width:900px){
  .partner-admin-code-actions{justify-content:flex-start!important}
  .partner-admin-code-actions .copy-partner-code,
  .partner-admin-code-actions .copy-partner-link,
  .partner-admin-code-actions .partner-wa-access{width:100%!important;border-radius:8px!important}
}


/* PARTENAIRE SEUL V4 - actions sorties de la carte verte */
.partner-space-page .partner-space-hero{
  grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;
  align-items:center!important;
}
.partner-space-copy{
  display:grid!important;
  align-content:center!important;
  gap:10px!important;
}
.partner-share-zone{
  display:grid!important;
  gap:10px!important;
  margin-top:14px!important;
  max-width:720px!important;
}
.partner-share-zone .partner-share-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0!important;
}
.partner-share-zone .partner-share-actions button,
.partner-share-zone .partner-share-actions .button{
  min-height:42px!important;
  padding:10px 14px!important;
  border-radius:8px!important;
  font-weight:800!important;
  background:#0f3f5c!important;
  color:#fff!important;
  border:1px solid #0f3f5c!important;
}
.partner-share-zone .partner-share-actions button:nth-child(2){
  background:#fff!important;
  color:#0f3f5c!important;
  border-color:#dbe4e8!important;
}
.partner-share-zone .partner-share-actions .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
}
.partner-share-zone .partner-referral-link{
  width:100%!important;
  max-width:620px!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border:1px solid #dbe4e8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#162026!important;
  font-size:13px!important;
  box-shadow:none!important;
}
.partner-code-card-compact{
  min-height:205px!important;
  align-content:center!important;
  justify-items:start!important;
  padding:24px!important;
}
.partner-code-card-compact img{
  width:132px!important;
  max-height:64px!important;
}
.partner-code-card-compact strong{
  font-size:clamp(28px,3vw,40px)!important;
}
.partner-code-card-compact .partner-share-actions,
.partner-code-card-compact .partner-referral-link{
  display:none!important;
}
@media (max-width: 860px){
  .partner-space-page .partner-space-hero{
    grid-template-columns:1fr!important;
  }
  .partner-code-card-compact{
    min-height:170px!important;
  }
}


/* Partner V5 - paiement commissions */
.partner-pay-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #f0d58a;
  border-radius: 8px;
  background: #fff8e5;
}
.partner-pay-form span {
  color: #735300;
  font-weight: 700;
}
.partner-pay-form button {
  min-height: 40px;
  white-space: nowrap;
}
.partner-meta-pro {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .partner-pay-form {
    align-items: stretch;
    flex-direction: column;
  }
  .partner-meta-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Partenaire V6 - réglages commissions admin */
.partner-commission-settings-pro {
  margin: 18px 0 22px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7fbfc);
  box-shadow: 0 8px 24px rgba(22, 32, 38, .06);
}

.partner-commission-settings-pro .wide {
  display: grid;
  gap: 6px;
}

.partner-commission-settings-pro h2 {
  margin-bottom: 0;
}

.partner-commission-settings-pro button {
  align-self: end;
  min-height: 48px;
}

/* PARTENAIRE V7 - outils admin commissions */
.partner-admin-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}
.partner-admin-tools span {
  color: var(--muted);
  line-height: 1.4;
}
@media (max-width: 760px) {
  .partner-admin-tools {
    display: grid;
    align-items: stretch;
  }
  .partner-admin-tools .button {
    width: 100%;
    text-align: center;
  }
}


/* Partner V8 - export commissions visible */
.partner-admin-actions-top {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.partner-admin-actions-top .button,
.partner-export-commissions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  font-weight: 800;
  white-space: nowrap;
}
.partner-export-commissions-btn {
  background: var(--mint);
  border-color: var(--mint);
  color: #fff;
}
.partner-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 26px 0 14px;
}
.partner-section-head h2 {
  margin: 0;
}
@media (max-width: 820px) {
  .partner-section-head {
    display: grid;
  }
  .partner-export-commissions-btn {
    width: 100%;
  }
}


/* Partner V9 - boutons admin plus petits et plus propres */
.partner-admin-actions-top {
  align-items: center !important;
  gap: 8px !important;
}
.partner-admin-actions-top .button,
.partner-export-commissions-btn,
.partner-card-actions .button,
.partner-share-actions .button,
.partner-copy-link,
.partner-whatsapp-link {
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  box-shadow: 0 8px 18px rgba(15, 63, 92, .10) !important;
}
.partner-admin-actions-top .button {
  background: #ffffff !important;
  color: var(--blue-dark) !important;
  border-color: rgba(15, 63, 92, .18) !important;
}
.partner-admin-actions-top .button:hover,
.partner-card-actions .button:hover,
.partner-share-actions .button:hover {
  transform: translateY(-1px);
}
.partner-export-commissions-btn {
  background: #e9f8f8 !important;
  color: var(--blue-dark) !important;
  border: 1px solid rgba(24, 169, 153, .45) !important;
}
.partner-export-commissions-btn::before {
  content: "⬇";
  margin-right: 6px;
  font-size: 11px;
}
.partner-section-head {
  align-items: center !important;
}
.partner-section-head .partner-export-commissions-btn {
  flex: 0 0 auto;
}
@media (max-width: 820px) {
  .partner-admin-actions-top {
    display: flex !important;
  }
  .partner-export-commissions-btn {
    width: auto !important;
  }
}


/* === SUIVI CLIENT SEUL V1 - visuel + actions === */
.client-status-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
}
.client-status-strip article {
  display: grid !important;
  gap: 5px !important;
  min-height: 86px !important;
  padding: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15,63,92,.06) !important;
}
.client-status-strip span {
  color: var(--muted) !important;
  font-size: 13px !important;
}
.client-status-strip strong {
  color: var(--blue-dark) !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
}
.tracking-share-box {
  display: grid !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding: 12px !important;
  border: 1px solid #dbe9ed !important;
  border-radius: 12px !important;
  background: #f7fbfc !important;
}
.tracking-share-box span {
  color: var(--blue-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
.tracking-share-box input {
  min-height: 38px !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
.mini-action {
  width: fit-content !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}
.tracking-card .detail-list article {
  border-radius: 12px !important;
}
@media(max-width: 900px) {
  .client-status-strip { grid-template-columns: 1fr !important; }
}


/* ADMIN COMMANDES V1 - cockpit production propre */
.admin-command-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.admin-kpi-card {
  display: grid;
  gap: 6px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #f7fbfc);
  box-shadow: 0 10px 28px rgba(22, 32, 38, .07);
}

.admin-kpi-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-kpi-card strong {
  color: var(--blue-dark);
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1;
}

.admin-kpi-card small {
  color: var(--muted);
  line-height: 1.35;
}

.admin-kpi-card.is-main {
  background: linear-gradient(135deg, rgba(15, 63, 92, .98), rgba(24, 169, 153, .92));
}

.admin-kpi-card.is-main span,
.admin-kpi-card.is-main strong,
.admin-kpi-card.is-main small {
  color: #fff;
}

.admin-kpi-card.is-warning {
  border-color: #f0d58a;
  background: linear-gradient(180deg, #fff, #fff8e5);
}

.admin-order-card-pro {
  border-radius: 12px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.admin-order-card-pro:hover {
  transform: translateY(-1px);
  border-color: rgba(15, 63, 92, .24);
  box-shadow: 0 14px 32px rgba(15, 63, 92, .10);
}

.admin-order-card-pro .order-meta-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.order-detail-pro-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.order-detail-pro-summary article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #f7fbfc);
  box-shadow: 0 10px 26px rgba(22, 32, 38, .06);
}

.order-detail-pro-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.order-detail-pro-summary strong {
  color: var(--blue-dark);
  font-size: 22px;
  line-height: 1.1;
}

.order-detail-pro-summary small {
  color: var(--muted);
}

@media (max-width: 980px) {
  .admin-command-overview,
  .order-detail-pro-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-order-card-pro .order-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .admin-command-overview,
  .order-detail-pro-summary {
    grid-template-columns: 1fr;
  }
}


/* V2 Facture / Devis - haut de document retouché */
.document-page-print-mode .topbar,
.document-page-print-mode footer {
  display: none !important;
}
.document-page-print-mode main {
  padding: 18px 18px 32px !important;
  background: #eef5f7 !important;
}
.document-page-print-mode .document-toolbar {
  max-width: 210mm !important;
  margin: 0 auto 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}
.document-page-print-mode .document-toolbar .button,
.document-page-print-mode .document-toolbar button {
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.document-page-print-mode .document-sheet-pro {
  max-width: 210mm !important;
  width: min(100%, 210mm) !important;
  margin: 0 auto !important;
  padding: 14mm 15mm !important;
  border-radius: 10px !important;
  background: #fff !important;
}
.document-page-print-mode .doc-head-pro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 62mm !important;
  gap: 10mm !important;
  align-items: center !important;
  padding-bottom: 7mm !important;
  margin-bottom: 7mm !important;
  border-bottom: 1.5px solid #0f3f5c !important;
}
.document-page-print-mode .doc-head-pro .doc-brand {
  align-items: center !important;
  gap: 4mm !important;
}
.document-page-print-mode .doc-head-pro .doc-brand img {
  width: 28mm !important;
  height: auto !important;
  max-height: 16mm !important;
  object-fit: contain !important;
}
.document-page-print-mode .doc-head-pro .doc-brand strong {
  font-size: 15px !important;
  line-height: 1.1 !important;
}
.document-page-print-mode .doc-head-pro .doc-brand span {
  font-size: 11px !important;
  line-height: 1.25 !important;
}
.document-page-print-mode .doc-title-block {
  padding: 4mm !important;
  border-radius: 3mm !important;
  background: linear-gradient(180deg, #fbfdff, #f3f8fa) !important;
  border: 1px solid #dbe4e8 !important;
  text-align: right !important;
}
.document-page-print-mode .doc-title-block .doc-label {
  font-size: 10px !important;
  letter-spacing: .08em !important;
}
.document-page-print-mode .doc-title-block h1 {
  margin: 1mm 0 1.5mm !important;
  font-size: 22px !important;
  line-height: 1.02 !important;
  color: #0f3f5c !important;
}
.document-page-print-mode .doc-title-block span {
  font-size: 11px !important;
  line-height: 1.25 !important;
}
.document-page-print-mode .doc-customer-pro {
  margin-top: 0 !important;
}
@media print {
  .document-page-print-mode .topbar,
  .document-page-print-mode footer,
  .document-page-print-mode .document-toolbar,
  .document-page-print-mode .print-button,
  .document-page-print-mode .notice {
    display: none !important;
  }
  .document-page-print-mode main {
    padding: 0 !important;
    background: #fff !important;
  }
  .document-page-print-mode .document-sheet-pro {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .document-page-print-mode .doc-head-pro {
    grid-template-columns: 1fr 60mm !important;
    gap: 6mm !important;
    padding-bottom: 3.5mm !important;
    margin-bottom: 3.5mm !important;
    border-bottom: 1px solid #0f3f5c !important;
  }
  .document-page-print-mode .doc-head-pro .doc-brand img {
    width: 23mm !important;
    max-height: 12mm !important;
  }
  .document-page-print-mode .doc-head-pro .doc-brand strong {
    font-size: 10pt !important;
  }
  .document-page-print-mode .doc-title-block {
    padding: 2.5mm !important;
    border-radius: 2mm !important;
  }
  .document-page-print-mode .doc-title-block h1 {
    font-size: 14pt !important;
  }
}


/* V3 Facture / Devis - suppression physique du menu site */
.document-main-clean{padding-top:10px!important;}
.document-page-print-mode .topbar,.document-page-print-mode .main-nav-pro,.document-page-print-mode .top-contact-pro,.document-page-print-mode .whatsapp-pro,.document-page-print-mode footer{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;}
@media print{.document-page-print-mode .topbar,.document-page-print-mode .main-nav-pro,.document-page-print-mode .top-contact-pro,.document-page-print-mode .whatsapp-pro,.document-page-print-mode footer{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;}}


/* WhatsApp client - messages rapides */
.whatsapp-client-box {
  display: grid;
  gap: 16px;
}

.whatsapp-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.whatsapp-template-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(22, 32, 38, .05);
}

.whatsapp-template-card > div:first-child {
  display: grid;
  gap: 4px;
}

.whatsapp-template-card strong {
  color: var(--blue-dark);
  font-size: 15px;
}

.whatsapp-template-card span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.whatsapp-template-card textarea {
  min-height: 132px;
  font-size: 13px;
  line-height: 1.4;
  resize: vertical;
  background: #f7fbfc;
}

.compact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mini-button,
a.mini-button,
button.mini-button {
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
}

.whatsapp-mini {
  background: #128c7e;
  border-color: #128c7e;
}

.compact-action {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
}

.whatsapp-info-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.whatsapp-info-strip span {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.whatsapp-info-strip b {
  color: var(--blue-dark);
  font-size: 12px;
}

@media (max-width: 900px) {
  .whatsapp-template-grid,
  .whatsapp-info-strip {
    grid-template-columns: 1fr;
  }
}


/* Bloc fichiers client - V1 */
.client-files-panel {
  display: grid;
  gap: 14px;
}

.client-files-headline {
  margin-bottom: 0;
  align-items: start;
}

.client-files-upload-form {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px dashed #bdd4dc;
  border-radius: 8px;
  background: #f7fbfc;
}

.client-files-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.client-files-upload-grid label {
  font-size: 13px;
}

.client-files-upload-grid input[type="file"] {
  min-height: 40px;
  padding: 8px;
  font-size: 13px;
  background: white;
}

.client-files-list {
  display: grid;
  gap: 10px;
}

.client-file-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.client-file-card div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.client-file-card strong {
  color: var(--blue-dark);
  font-size: 14px;
}

.client-file-card span {
  color: var(--ink);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.client-file-card small,
.empty-client-files span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.empty-client-files {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.empty-client-files strong {
  color: var(--blue-dark);
}

@media (max-width: 760px) {
  .client-files-upload-grid,
  .client-file-card {
    grid-template-columns: 1fr;
  }
}


/* Digital Ylang - V1 CSS SAFE fiche commande uniquement
   Ajout visuel léger, aucun PHP, aucune fonction modifiée */

/* Espace général dans la fiche dossier */
.detail-grid,
.detail-grid.two,
.detail-section,
.quick-status-section,
.internal-note-form,
.internal-notes-box,
.documents-list,
.client-files-panel,
.timeline {
  gap: 14px;
}

.detail-section {
  margin-top: 16px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(22, 32, 38, .055);
}

.detail-section h2,
.detail-grid h2 {
  color: var(--blue-dark);
  line-height: 1.12;
}

/* Cartes d'information dans Ouvrir le dossier */
.detail-grid article,
.order-meta-grid article,
.detail-list article {
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f8fbfc);
}

.detail-list article strong,
.order-meta-grid article strong {
  color: var(--blue-dark);
}

/* Fichiers client : plus lisible, sans changer la fonction */
.client-files-panel {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f7fbfc);
}

.client-files-upload-form {
  border-radius: 10px;
  background: #f4fafb;
}

.client-file-card {
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(22, 32, 38, .045);
}

.client-file-card .button,
.client-file-card a.button {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 13px;
}

/* Historique / timeline plus net */
.timeline article {
  position: relative;
  padding-left: 18px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(22, 32, 38, .04);
}

.timeline article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: var(--mint);
}

.timeline strong {
  color: var(--blue-dark);
}

.timeline small {
  font-size: 12px;
}

/* Notes internes */
.internal-note-form,
.internal-notes-box {
  border-radius: 10px;
}

.internal-note-form button,
.quick-status-actions button,
.doc-actions button,
.document-control button {
  border-radius: 9px;
  font-weight: 800;
}

/* Boutons de la fiche commande : petites sécurisations visuelles */
.detail-actions .button,
.order-actions .button,
.notification-actions .button,
.doc-link {
  border-radius: 9px;
  font-weight: 800;
}

/* Respiration mobile */
@media (max-width: 760px) {
  .detail-section,
  .client-files-panel {
    padding: 16px;
  }

  .quick-status-actions {
    grid-template-columns: 1fr;
  }
}


/* CSS SAFE ADMIN V1 - lisibilite admin principale uniquement */
.panel:has(.admin-order-card) {
  max-width: 1320px;
}

.panel:has(.admin-order-card) .admin-head {
  gap: 18px;
  align-items: center;
}

.panel:has(.admin-order-card) .admin-stats {
  margin-top: 8px;
  margin-bottom: 22px;
}

.panel:has(.admin-order-card) .admin-stats article,
.panel:has(.admin-order-card) .admin-stats a {
  min-height: 112px;
  padding: 18px;
}

.panel:has(.admin-order-card) .admin-filter-form {
  margin-bottom: 22px;
  gap: 12px;
  align-items: end;
}

.panel:has(.admin-order-card) .table {
  gap: 18px;
}

.panel:has(.admin-order-card) .admin-order-card {
  gap: 16px;
  padding: 22px;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fbfc);
}

.panel:has(.admin-order-card) .order-title-row {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.panel:has(.admin-order-card) .order-title-row strong {
  font-size: 20px;
}

.panel:has(.admin-order-card) .order-title-row span,
.panel:has(.admin-order-card) .order-meta-grid span {
  line-height: 1.45;
}

.panel:has(.admin-order-card) .order-meta-grid {
  gap: 12px;
}

.panel:has(.admin-order-card) .order-meta-grid article {
  min-height: 78px;
  padding: 14px;
  background: #ffffff;
}

.panel:has(.admin-order-card) .order-meta-grid strong,
.panel:has(.admin-order-card) .order-meta-grid b {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.panel:has(.admin-order-card) .payment-admin-form,
.panel:has(.admin-order-card) .admin-update-form {
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
}

.panel:has(.admin-order-card) .payment-admin-form article {
  min-height: 70px;
}

.panel:has(.admin-order-card) .detail-actions,
.panel:has(.admin-order-card) .order-actions {
  gap: 9px;
}

.panel:has(.admin-order-card) .detail-actions a,
.panel:has(.admin-order-card) .detail-actions button,
.panel:has(.admin-order-card) .order-actions a,
.panel:has(.admin-order-card) .order-actions button {
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}

.panel:has(.admin-order-card) .status-pill {
  min-width: 124px;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .panel:has(.admin-order-card) .admin-filter-form,
  .panel:has(.admin-order-card) .payment-admin-form,
  .panel:has(.admin-order-card) .admin-update-form,
  .panel:has(.admin-order-card) .order-meta-grid {
    grid-template-columns: 1fr;
  }

  .panel:has(.admin-order-card) .order-title-row {
    align-items: flex-start;
  }
}

/* CSS SAFE DASHBOARD V1 - Tableau de bord uniquement */
.panel:has(.dashboard-links),
.panel:has(.dashboard-orders) {
  max-width: 1280px;
}

.panel:has(.dashboard-links) > h1,
.panel:has(.dashboard-orders) > h1 {
  margin-bottom: 10px;
}

.dashboard-stats {
  gap: 14px;
  margin-bottom: 22px;
}

.dashboard-stats a,
.dashboard-stats article {
  position: relative;
  overflow: hidden;
  min-height: 116px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, #ffffff, #f6fbfc);
  box-shadow: 0 14px 34px rgba(15, 63, 92, .08);
}

.dashboard-stats a::after,
.dashboard-stats article::after {
  content: "";
  position: absolute;
  right: -26px;
  top: -26px;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: rgba(24, 169, 153, .10);
}

.dashboard-stats span {
  position: relative;
  z-index: 1;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-stats strong {
  position: relative;
  z-index: 1;
  color: var(--blue-dark);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
}

.dashboard-links {
  gap: 14px;
  margin: 22px 0 26px;
}

.dashboard-links a {
  min-height: 128px;
  padding: 18px;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .04), rgba(24, 169, 153, .08)),
    #fff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 28px rgba(15, 63, 92, .07);
  transition: transform .15s ease, box-shadow .15s ease;
}

.dashboard-links a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(15, 63, 92, .12);
}

.dashboard-links strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.dashboard-links span {
  color: var(--muted);
  line-height: 1.45;
}

.dashboard-orders {
  gap: 12px;
  margin-top: 16px;
}

.dashboard-orders a {
  grid-template-columns: minmax(160px, 1fr) minmax(150px, 1fr) auto auto;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 24px rgba(15, 63, 92, .06);
}

.dashboard-orders a:hover {
  border-color: rgba(20, 108, 148, .35);
  background:
    linear-gradient(180deg, #fff, #f7fbfc);
}

.dashboard-orders strong {
  color: var(--blue-dark);
  font-size: 16px;
}

.dashboard-orders span {
  color: var(--muted);
  line-height: 1.35;
}

.dashboard-orders .status-pill,
.dashboard-orders a .status-pill {
  min-width: 120px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .dashboard-stats,
  .dashboard-links,
  .dashboard-orders a {
    grid-template-columns: 1fr;
  }

  .dashboard-orders a {
    align-items: start;
  }
}


/* CSS SAFE PRODUITS / MODELES / STOCK - V1 07/07 */
.product-editor,
.product-admin-card,
.template-admin-card,
.stock-card,
.stock-alert {
  border-radius: 14px !important;
}

.product-editor,
.stock-alert {
  padding: 20px !important;
  margin-bottom: 20px !important;
  background:
    linear-gradient(135deg, rgba(20,108,148,.04), rgba(24,169,153,.07)),
    #fff !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 12px 28px rgba(15,63,92,.07) !important;
}

.product-admin-list,
.template-admin-list,
.stock-list {
  gap: 18px !important;
}

.product-admin-card,
.template-admin-card,
.stock-card {
  padding: 20px !important;
  background:
    linear-gradient(180deg, #fff, #f8fbfc) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 14px 34px rgba(15,63,92,.08) !important;
}

.product-card-head {
  align-items: flex-start !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--line) !important;
}

.product-card-head strong,
.stock-card strong,
.template-admin-card strong,
.template-picker > strong {
  color: var(--blue-dark) !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
}

.product-admin-grid,
.stock-edit-grid,
.template-fields,
.template-edit-row {
  gap: 14px !important;
}

.product-admin-grid label,
.stock-edit-grid label,
.template-fields label,
.template-edit-row label {
  min-width: 0 !important;
}

.product-admin-grid input,
.product-admin-grid select,
.stock-edit-grid input,
.stock-edit-grid select,
.template-fields input,
.template-fields select,
.template-fields textarea,
.template-edit-row input,
.template-edit-row select {
  min-height: 46px !important;
  border-radius: 10px !important;
}

.template-admin-card {
  grid-template-columns: 240px minmax(0, 1fr) !important;
  align-items: start !important;
}

.template-preview {
  min-height: 170px !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(24,169,153,.14), transparent 44%),
    repeating-linear-gradient(45deg, #fff, #fff 16px, #eef4f6 16px, #eef4f6 18px) !important;
}

.template-preview img {
  max-height: 185px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 22px rgba(15,63,92,.16)) !important;
}

.template-choice {
  border-radius: 12px !important;
  padding: 12px !important;
  gap: 12px !important;
}

.template-choice img {
  border-radius: 10px !important;
  background: #fff !important;
}

.stock-alert {
  border-color: #f0d58a !important;
  background:
    linear-gradient(135deg, rgba(243,179,61,.12), rgba(255,255,255,.92)),
    #fff8e5 !important;
}

.stock-alert div {
  gap: 10px !important;
}

.stock-alert span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(123,86,0,.16) !important;
  box-shadow: 0 6px 14px rgba(123,86,0,.06) !important;
}

.stock-card {
  gap: 16px !important;
}

.stock-edit-grid {
  grid-template-columns: minmax(220px, 1.3fr) minmax(160px, .9fr) minmax(120px, .7fr) minmax(120px, .7fr) auto !important;
}

.product-admin-grid button,
.stock-edit-grid button,
.template-edit-row button,
.template-fields button {
  min-height: 42px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .product-card-head {
    flex-direction: column !important;
  }

  .product-admin-grid,
  .stock-edit-grid,
  .template-admin-card,
  .template-edit-row {
    grid-template-columns: 1fr !important;
  }

  .template-preview {
    min-height: 150px !important;
  }
}


/* ==========================================================
   CSS SAFE - EQUIPE / UTILISATEURS / PRESENCE - V1 20260707
   Bloc visuel uniquement - aucune fonction PHP modifiee
   ========================================================== */

.team-grid {
  gap: 18px !important;
  margin-top: 18px !important;
}

.team-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 22px !important;
  border: 1px solid #d7e5ea !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, #ffffff, #f8fbfc) !important;
  box-shadow: 0 14px 34px rgba(15, 63, 92, .08) !important;
}

.team-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--blue-dark), var(--mint));
}

.team-card > strong,
.team-card h2,
.team-card h3 {
  color: var(--blue-dark) !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.team-card span,
.team-card small,
.team-card p {
  color: var(--muted) !important;
  line-height: 1.5 !important;
}

.team-edit-grid {
  grid-template-columns: 1.1fr 1.2fr .8fr .8fr .8fr 1fr !important;
  gap: 14px !important;
  align-items: end !important;
  padding: 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fbfc !important;
}

.team-edit-grid label {
  min-width: 0 !important;
}

.team-edit-grid input,
.team-edit-grid select,
.team-edit-grid textarea {
  min-height: 42px !important;
  border-radius: 10px !important;
}

.team-edit-grid button,
.team-card button,
.team-card .button {
  min-height: 40px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 9px 12px !important;
}

.presence-line {
  width: fit-content !important;
  padding: 8px 11px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--blue-dark) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 18px rgba(15, 63, 92, .06) !important;
}

.presence-line::before {
  width: 11px !important;
  height: 11px !important;
  flex: 0 0 11px !important;
}

.presence-line.online {
  border-color: #a8d7cd !important;
  background: #effbf8 !important;
  color: #106d63 !important;
}

.presence-line.online::before {
  background: var(--mint) !important;
  box-shadow: 0 0 0 4px rgba(24, 169, 153, .16) !important;
}

.panel:has(.team-grid) .admin-head,
.panel:has(.team-card) .admin-head {
  margin-bottom: 22px !important;
}

.panel:has(.team-grid) .form.grid,
.panel:has(.team-card) .form.grid {
  gap: 14px !important;
  border-radius: 14px !important;
}

.panel:has(.team-grid) .admin-stats,
.panel:has(.team-card) .admin-stats {
  gap: 14px !important;
}

.panel:has(.team-grid) .admin-stats article,
.panel:has(.team-card) .admin-stats article,
.panel:has(.team-grid) .admin-stats a,
.panel:has(.team-card) .admin-stats a {
  border-radius: 14px !important;
}

@media (max-width: 980px) {
  .team-edit-grid {
    grid-template-columns: 1fr !important;
  }

  .team-card {
    padding: 18px !important;
  }
}


/* CSS SAFE DOCUMENTS V1 - factures devis recus uniquement */
.document-toolbar {
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.document-toolbar .button,
.document-toolbar button,
.document-toolbar a {
  min-height: 38px !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.document-sheet {
  border-radius: 14px !important;
  border: 1px solid #d7e5ea !important;
  box-shadow: 0 18px 50px rgba(15, 63, 92, .10) !important;
  line-height: 1.45 !important;
}

.document-sheet .doc-head {
  align-items: flex-start !important;
  padding-bottom: 20px !important;
  border-bottom: 2px solid #e6eff2 !important;
}

.document-sheet .doc-brand {
  gap: 16px !important;
}

.document-sheet .doc-brand img {
  width: 135px !important;
  max-height: 76px !important;
  padding: 8px !important;
  border: 1px solid #e2edf1 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.document-sheet .doc-brand strong {
  color: var(--blue-dark) !important;
  font-size: 19px !important;
}

.document-sheet .doc-brand span,
.document-sheet .doc-title-block span,
.document-sheet .doc-title-block small {
  color: var(--muted) !important;
  line-height: 1.5 !important;
}

.document-sheet .doc-title-block {
  display: grid !important;
  gap: 5px !important;
  min-width: 240px !important;
}

.document-sheet .doc-title-block h1 {
  margin-bottom: 4px !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  letter-spacing: -.02em !important;
}

.document-sheet .doc-customer {
  gap: 18px !important;
  margin: 24px 0 !important;
  padding: 18px !important;
  border: 1px solid #d8e6eb !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fbfdff, #f5fafb) !important;
}

.document-sheet .doc-customer strong {
  color: var(--blue-dark) !important;
  font-size: 16px !important;
}

.document-sheet .doc-customer span,
.document-sheet .doc-customer p {
  color: var(--muted) !important;
  line-height: 1.55 !important;
}

.document-sheet .doc-table {
  overflow: hidden !important;
  border: 1px solid #d8e6eb !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.document-sheet .doc-table th {
  padding: 13px 12px !important;
  background: linear-gradient(180deg, #eaf4f6, #dfecef) !important;
  color: var(--blue-dark) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.document-sheet .doc-table td {
  padding: 14px 12px !important;
  border-bottom: 1px solid #e5eef2 !important;
  vertical-align: top !important;
}

.document-sheet .doc-table tr:last-child td {
  border-bottom: 0 !important;
}

.document-sheet .doc-options {
  margin-top: 7px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
  background: #f3f8fa !important;
  color: var(--muted) !important;
}

.document-sheet .doc-total {
  margin-top: 22px !important;
  padding: 18px !important;
  border: 1px solid #d8e6eb !important;
  border-radius: 14px !important;
  background: #f7fbfc !important;
}

.document-sheet .doc-total strong {
  display: block !important;
  margin-top: 4px !important;
  font-size: 26px !important;
}

.document-sheet .doc-terms {
  margin-top: 24px !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: #fbfdff !important;
}

.document-sheet .doc-terms strong {
  color: var(--blue-dark) !important;
}

.document-sheet .doc-signatures {
  gap: 22px !important;
  margin-top: 30px !important;
}

.document-sheet .doc-signatures div {
  min-height: 130px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.document-sheet .doc-signatures span {
  color: var(--blue-dark) !important;
  font-weight: 800 !important;
}

.document-links {
  gap: 10px !important;
}

.document-control {
  padding: 12px !important;
  border: 1px solid #d8e6eb !important;
  border-radius: 12px !important;
  background: #f8fbfc !important;
}

.document-control select,
.document-control button,
.doc-link {
  border-radius: 10px !important;
}

.doc-link {
  min-height: 40px !important;
  background: #f0f9fb !important;
  box-shadow: 0 8px 18px rgba(15, 63, 92, .06) !important;
}

@media (max-width: 760px) {
  .document-sheet {
    padding: 22px !important;
  }
  .document-sheet .doc-head,
  .document-sheet .doc-customer,
  .document-sheet .doc-total,
  .document-sheet .doc-signatures {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }
  .document-sheet .doc-title-block {
    text-align: left !important;
    min-width: 0 !important;
  }
  .document-sheet .doc-table {
    font-size: 13px !important;
  }
  .document-toolbar {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

@media print {
  .document-sheet {
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .document-sheet .doc-table th {
    background: #eaf2f3 !important;
  }
}

/* CSS SAFE PRODUCTION V3 - 20260707 */
.production-panel{
  max-width:1280px;
}
.production-head{
  align-items:stretch;
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(15,63,92,.08),rgba(24,169,153,.12)),repeating-linear-gradient(45deg,#fff,#fff 18px,#eef7f8 18px,#eef7f8 20px);
}
.production-head p:not(.eyebrow){
  margin:8px 0 0;
  max-width:720px;
  color:var(--muted);
  line-height:1.5;
}
.production-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.production-kpi{
  display:grid;
  gap:7px;
  min-height:112px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f7fbfc);
  box-shadow:0 12px 28px rgba(15,63,92,.07);
}
.production-kpi span,
.production-work-grid span,
.production-order-number{
  color:var(--blue-dark);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.production-kpi strong{
  color:var(--blue-dark);
  font-size:30px;
  line-height:1;
}
.production-kpi small{
  color:var(--muted);
  line-height:1.35;
}
.production-kpi.is-main{
  border-color:#bdd4dc;
  background:linear-gradient(135deg,rgba(20,108,148,.08),#fff);
}
.production-kpi.is-ready{
  border-color:#b7dfcc;
  background:linear-gradient(135deg,rgba(24,169,153,.11),#fff);
}
.production-filter-form{
  display:grid;
  grid-template-columns:1.4fr 1fr .8fr auto auto;
  gap:12px;
  align-items:end;
  margin:18px 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,32,38,.06);
}
.production-board{
  display:grid;
  gap:16px;
}
.production-card{
  display:grid;
  gap:16px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#f8fbfc);
  box-shadow:0 14px 34px rgba(15,63,92,.08);
}
.production-card.status-payment_confirmed{
  border-left:6px solid var(--gold);
}
.production-card.status-production{
  border-left:6px solid var(--blue);
}
.production-card.status-ready,
.production-card.status-delivered{
  border-left:6px solid var(--mint);
}
.production-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.production-card-top h2{
  margin:4px 0;
  color:var(--ink);
  font-size:24px;
}
.production-card-top small{
  color:var(--muted);
}
.production-work-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.production-work-grid article{
  display:grid;
  gap:6px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.production-work-grid strong{
  color:var(--ink);
  font-size:17px;
  line-height:1.2;
}
.production-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.production-options span{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid #d7e5ea;
  border-radius:10px;
  background:#f7fbfc;
  color:var(--ink);
  line-height:1.3;
}
.production-options b{
  color:var(--blue-dark);
  font-size:12px;
  text-transform:uppercase;
}
.production-note{
  display:grid;
  gap:6px;
  padding:13px;
  border:1px solid #bdd4dc;
  border-radius:10px;
  background:#f4fafb;
}
.production-note strong{
  color:var(--blue-dark);
}
.production-note p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.production-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.production-actions form{
  margin:0;
}
.production-actions .button,
.production-actions button{
  min-height:40px;
}
@media(max-width:980px){
  .production-kpi-grid,
  .production-filter-form,
  .production-work-grid,
  .production-options{
    grid-template-columns:1fr;
  }
  .production-card-top{
    flex-direction:column;
  }
}



/* CSS SAFE PRODUCTION V4 - correction textile / textes non rognes - 20260707 */
.production-card,
.production-card *{
  min-width:0;
}
.production-work-grid article,
.production-options span,
.production-note,
.production-actions .button,
.production-actions button{
  overflow:visible;
}
.production-work-grid strong,
.production-options span,
.production-options b,
.production-note p,
.production-card-top h2,
.production-card-top small,
.production-actions .button,
.production-actions button{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  text-overflow:clip;
}
.production-options span{
  min-height:auto;
  align-content:start;
}
.production-actions .button,
.production-actions button{
  height:auto;
  line-height:1.25;
  text-align:center;
}
@media(max-width:640px){
  .production-panel{
    padding:18px;
  }
  .production-card{
    padding:16px;
  }
  .production-kpi strong{
    font-size:26px;
  }
}


/* CSS SAFE ADMIN LISTE V3 - libelles et valeurs separes proprement */
.admin-order-card-pro .admin-list-meta-clean{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(220px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  margin-top:4px!important;
}
.admin-order-card-pro .admin-list-meta-clean > span{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  min-width:0!important;
  padding:12px 14px!important;
  border:1px solid #dbe4e8!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:#162026!important;
  line-height:1.25!important;
  overflow:visible!important;
  white-space:normal!important;
  word-break:normal!important;
}
.admin-order-card-pro .admin-list-meta-clean > span b{
  display:block!important;
  color:#0f3f5c!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.1!important;
}
.admin-order-card-pro .admin-list-meta-clean > span em{
  display:block!important;
  min-width:0!important;
  color:#162026!important;
  font-style:normal!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  white-space:normal!important;
}
.admin-order-card-pro .admin-list-meta-clean > span.meta-email{
  grid-column:span 2!important;
}
.admin-order-card-pro .order-title-row span,
.admin-order-card-pro .detail-actions a{
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
@media (max-width:1100px){
  .admin-order-card-pro .admin-list-meta-clean{
    grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  }
  .admin-order-card-pro .admin-list-meta-clean > span.meta-email{
    grid-column:1 / -1!important;
  }
}
@media (max-width:700px){
  .admin-order-card-pro .admin-list-meta-clean{
    grid-template-columns:1fr!important;
  }
  .admin-order-card-pro .admin-list-meta-clean > span.meta-email{
    grid-column:auto!important;
  }
}


/* FICHE ATELIER PRODUCTION - V1 20260707 */
.production-sheet-panel {
  max-width: 1180px;
}

.production-sheet-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 16px;
}

.production-sheet {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.production-sheet-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
  gap: 18px;
  align-items: stretch;
  padding: 20px;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(15, 63, 92, .08), rgba(24, 169, 153, .11)),
    #f7fbfc;
  border: 1px solid #d7e6eb;
}

.production-sheet-head h1 {
  margin: 0 0 8px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1;
  color: var(--blue-dark);
}

.production-sheet-head span,
.production-sheet-client span {
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.production-sheet-client {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.86);
}

.production-sheet-client strong {
  color: var(--blue-dark);
  font-size: 20px;
  overflow-wrap: anywhere;
}

.production-sheet-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.production-sheet-meta article,
.production-sheet-box {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfdff;
  box-shadow: 0 10px 24px rgba(15, 63, 92, .05);
}

.production-sheet-meta span,
.production-sheet-box .hint {
  color: var(--muted);
}

.production-sheet-meta strong {
  color: var(--blue-dark);
  font-size: 18px;
  overflow-wrap: anywhere;
}

.production-sheet-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
}

.production-sheet-wide {
  grid-column: 1 / -1;
}

.production-sheet-box h2 {
  margin: 0;
  color: var(--blue-dark);
  font-size: 22px;
}

.production-sheet-items,
.production-file-list,
.production-checklist,
.production-sheet-history {
  display: grid;
  gap: 10px;
}

.production-sheet-item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid #d8e7ec;
  border-radius: 12px;
  background: #fff;
}

.production-sheet-item strong,
.production-sheet-item b {
  color: var(--blue-dark);
  overflow-wrap: anywhere;
}

.production-sheet-item span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.production-sheet-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.production-sheet-options span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d8e7ec;
  border-radius: 12px;
  background: #fff;
}

.production-sheet-options b {
  color: var(--blue-dark);
  font-size: 13px;
}

.production-sheet-options em {
  color: var(--ink);
  font-style: normal;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.production-checklist label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 9px 10px;
  border: 1px solid #d8e7ec;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
}

.production-checklist input {
  width: auto;
  min-height: auto;
}

.production-file-list a {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d8e7ec;
  border-radius: 12px;
  background: #fff;
}

.production-file-list strong {
  color: var(--blue-dark);
}

.production-file-list span {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.production-sheet-box p {
  margin: 0;
  color: var(--ink);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.production-sheet-history span {
  display: block;
  padding: 10px 12px;
  border-left: 4px solid var(--blue-dark);
  border-radius: 10px;
  background: #fff;
  color: var(--muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.production-sheet-history b {
  display: inline-block;
  margin-right: 8px;
  color: var(--blue-dark);
}

@media (max-width: 980px) {
  .production-sheet-head,
  .production-sheet-meta,
  .production-sheet-grid,
  .production-sheet-options {
    grid-template-columns: 1fr;
  }
  .production-sheet {
    padding: 14px;
  }
}

@media print {
  .production-sheet-panel {
    max-width: none;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .production-sheet {
    border: 0;
    padding: 0;
  }

  .production-sheet-head,
  .production-sheet-meta article,
  .production-sheet-box,
  .production-sheet-item,
  .production-sheet-options span {
    box-shadow: none;
    break-inside: avoid;
  }

  .production-sheet-grid,
  .production-sheet-options {
    grid-template-columns: 1fr 1fr;
  }
}



/* FICHE ATELIER V3 - entete site masquee sur la fiche atelier */
.production-sheet-page-clean {
  background: #eef5f7 !important;
}

.production-sheet-main-clean {
  padding-top: 22px !important;
  min-height: 100vh !important;
}

.production-sheet-main-clean .production-sheet-panel {
  margin-top: 0 !important;
}

@media print {
  .production-sheet-page-clean .topbar,
  .production-sheet-page-clean footer {
    display: none !important;
  }
  .production-sheet-main-clean {
    padding: 0 !important;
  }
}


/* === PAIEMENTS / ACOMPTE / RESTE A PAYER - V1 20260707 === */
.payments-panel{max-width:1280px!important;display:grid!important;gap:18px!important}
.payments-head{align-items:flex-start!important}
.payments-head p{margin:0!important;color:var(--muted)!important;line-height:1.45!important}
.payments-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.payments-kpi{display:grid!important;gap:7px!important;min-height:108px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 28px rgba(15,63,92,.07)!important}
.payments-kpi span{color:var(--muted)!important;font-size:13px!important;font-weight:800!important;text-transform:uppercase!important}
.payments-kpi strong{color:var(--blue-dark)!important;font-size:30px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
.payments-kpi small{color:var(--muted)!important;line-height:1.35!important}
.payments-kpi.is-partial{background:#fffaf0!important;border-color:#f0d58a!important}
.payments-kpi.is-confirmed{background:#effbf8!important;border-color:#a8d7cd!important}
.payments-kpi.is-money{background:linear-gradient(135deg,#0f3f5c,#146c94)!important;color:#fff!important}
.payments-kpi.is-money span,.payments-kpi.is-money strong,.payments-kpi.is-money small{color:#fff!important}
.payments-filter-form{display:grid!important;grid-template-columns:minmax(0,1.5fr)minmax(220px,.7fr)auto auto!important;gap:12px!important;align-items:end!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#f7fbfc!important;box-shadow:0 10px 24px rgba(22,32,38,.05)!important}
.payments-list{display:grid!important;gap:14px!important}
.payment-card{display:grid!important;gap:16px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:linear-gradient(180deg,#fff,#f8fbfc)!important;box-shadow:0 14px 34px rgba(15,63,92,.08)!important;overflow:hidden!important}
.payment-card-head{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}
.payment-card-head>div{display:grid!important;gap:5px!important;min-width:0!important}
.payment-card-head h2{margin:0!important;color:var(--ink)!important;font-size:24px!important;line-height:1.1!important;overflow-wrap:anywhere!important}
.payment-card-head small{color:var(--muted)!important;overflow-wrap:anywhere!important;line-height:1.35!important}
.payment-order-number{width:fit-content!important;padding:5px 9px!important;border-radius:999px!important;background:#eef7f8!important;color:var(--blue-dark)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.03em!important}
.payment-status-partial{background:#fff5dd!important;color:#775118!important}.payment-status-confirmed{background:#e9f7f5!important;color:#106d63!important}.payment-status-refused{background:#fdecec!important;color:#9a2727!important}.payment-status-pending{background:#eaf4ff!important;color:#0f4f8c!important}
.payment-money-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.payment-money-grid article{display:grid!important;gap:7px!important;padding:13px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;min-width:0!important}
.payment-money-grid span{color:var(--muted)!important;font-size:13px!important;font-weight:800!important;text-transform:uppercase!important}
.payment-money-grid strong{color:var(--blue-dark)!important;font-size:21px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
.payment-money-grid .is-remaining{background:#fff8e5!important;border-color:#f0d58a!important}
.payment-card-form{display:grid!important;grid-template-columns:minmax(180px,.8fr)minmax(220px,.8fr)auto!important;gap:12px!important;align-items:end!important;padding:14px!important;border:1px dashed #bdd4dc!important;border-radius:10px!important;background:#f7fbfc!important}
.payment-card-form label{min-width:0!important}.payment-card-form button{min-height:44px!important}
.payment-card-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important}
.payment-card-actions .button{min-height:40px!important;padding:10px 13px!important}
@media(max-width:980px){.payments-kpi-grid,.payments-filter-form,.payment-money-grid,.payment-card-form{grid-template-columns:1fr!important}.payment-card-head{flex-direction:column!important}.payment-card-actions{align-items:stretch!important}.payment-card-actions .button,.payment-card-actions a{width:100%!important;text-align:center!important}}


/* PERSONNALISATION V1 - Bibliotheque client Canva exportee */
.template-client-picker .textile-helper{
  margin:0 0 12px!important;
  color:#5c6a72!important;
  line-height:1.45!important;
}
.builtin-template-grid.client-template-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.template-choice.client-template-choice{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:96px!important;
  padding:12px!important;
  border:1px solid #dbe4e8!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(22,32,38,.06)!important;
}
.template-choice.client-template-choice.is-selected{
  border-color:#0f3f5c!important;
  background:#eef7f8!important;
  box-shadow:inset 0 0 0 2px rgba(15,63,92,.16),0 8px 22px rgba(22,32,38,.06)!important;
}
.template-choice.client-template-choice input{
  width:auto!important;
  min-height:auto!important;
}
.template-choice.client-template-choice img{
  width:112px!important;
  height:70px!important;
  object-fit:cover!important;
  border:1px solid #dbe4e8!important;
  border-radius:10px!important;
  background:#f7fbfc!important;
}
.template-choice.client-template-choice span:last-child{
  display:grid!important;
  gap:4px!important;
  color:#162026!important;
  line-height:1.25!important;
}
.template-choice.client-template-choice b{
  color:#0f3f5c!important;
  font-size:14px!important;
  font-weight:900!important;
}
.template-choice.client-template-choice small{
  color:#5c6a72!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.badge-studio-card.has-template .badge-studio-template{
  object-fit:cover!important;
}
@media(max-width:980px){
  .builtin-template-grid.client-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .builtin-template-grid.client-template-grid{grid-template-columns:1fr!important;}
  .template-choice.client-template-choice{grid-template-columns:96px minmax(0,1fr)!important;}
  .template-choice.client-template-choice img{width:96px!important;height:60px!important;}
}


/* PERSONNALISATION V2 - rangement propre des modèles client */
.template-client-picker{
  overflow:visible!important;
}
.template-client-picker > strong{
  display:block!important;
  margin-bottom:6px!important;
  color:#0f3f5c!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.template-client-picker .textile-helper{
  margin:0 0 14px!important;
  max-width:760px!important;
  color:#5c6a72!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.builtin-template-grid.client-template-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(240px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.template-choice.client-template-choice,
.template-choice.client-template-choice:first-of-type{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(54px,auto)!important;
  gap:10px!important;
  align-items:start!important;
  min-height:0!important;
  padding:12px!important;
  border:1px solid #dbe4e8!important;
  border-radius:16px!important;
  background:#ffffff!important;
  box-shadow:0 10px 24px rgba(22,32,38,.07)!important;
  overflow:hidden!important;
}
.template-choice.client-template-choice:hover,
.template-choice.client-template-choice.is-selected,
.template-choice.client-template-choice:has(input:checked){
  border-color:#0f3f5c!important;
  background:#f3fbfb!important;
  box-shadow:inset 0 0 0 2px rgba(15,63,92,.13),0 12px 26px rgba(22,32,38,.08)!important;
}
.template-choice.client-template-choice input{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:3!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  accent-color:#0f3f5c!important;
}
.template-choice.client-template-choice img{
  display:block!important;
  grid-column:1!important;
  width:100%!important;
  height:128px!important;
  object-fit:cover!important;
  border:1px solid #dbe4e8!important;
  border-radius:13px!important;
  background:#f7fbfc!important;
  margin:0!important;
}
.template-choice.client-template-choice span:last-child{
  display:grid!important;
  grid-column:1!important;
  gap:4px!important;
  padding:2px 4px 0!important;
  min-width:0!important;
  color:#162026!important;
  line-height:1.2!important;
}
.template-choice.client-template-choice b{
  display:block!important;
  color:#0f3f5c!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
.template-choice.client-template-choice small{
  display:block!important;
  color:#5c6a72!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.badge-template-library .template-choice.client-template-choice > img{
  width:100%!important;
  height:128px!important;
  max-height:none!important;
  object-fit:cover!important;
}
.badge-template-library .template-choice.client-template-choice > span:last-child{
  padding:2px 4px 0!important;
}
@media(max-width:1120px){
  .builtin-template-grid.client-template-grid{grid-template-columns:1fr!important;}
  .template-choice.client-template-choice img,
  .badge-template-library .template-choice.client-template-choice > img{height:150px!important;}
}
@media(max-width:720px){
  .template-client-picker{padding:12px!important;}
  .template-choice.client-template-choice img,
  .badge-template-library .template-choice.client-template-choice > img{height:118px!important;}
  .template-choice.client-template-choice b{font-size:15px!important;}
}


/* PERSONNALISATION V3 - modèles Canva rangés proprement */
.template-client-picker .client-template-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.template-client-picker .client-template-card-v3,
.template-client-picker .client-template-card-v3:first-of-type{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-height:245px!important;
  padding:14px!important;
  border:1px solid #dbe4e8!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(22,32,38,.07)!important;
}
.template-client-picker .client-template-card-v3 input{
  position:absolute!important;
  right:16px!important;
  top:16px!important;
  z-index:5!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  accent-color:#0f3f5c!important;
}
.template-client-picker .client-template-card-v3 img,
.badge-template-library .template-choice.client-template-card-v3 > img{
  display:block!important;
  width:100%!important;
  height:148px!important;
  max-height:none!important;
  object-fit:cover!important;
  border:1px solid #dbe4e8!important;
  border-radius:14px!important;
  background:#f7fbfc!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.template-client-picker .client-template-card-v3 span:last-child,
.badge-template-library .template-choice.client-template-card-v3 > span:last-child{
  display:block!important;
  padding:0 2px!important;
  margin:0!important;
  color:#162026!important;
  line-height:1.25!important;
}
.template-client-picker .client-template-card-v3 b{
  display:block!important;
  margin:0 0 4px!important;
  color:#0f3f5c!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.template-client-picker .client-template-card-v3 small{
  display:block!important;
  color:#5c6a72!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.template-client-picker .client-template-card-v3:has(input:checked),
.template-client-picker .client-template-card-v3.is-selected{
  border-color:#0f3f5c!important;
  background:#f2fbfb!important;
  box-shadow:inset 0 0 0 2px rgba(15,63,92,.15),0 12px 28px rgba(22,32,38,.09)!important;
}
@media(max-width:900px){
  .template-client-picker .client-template-grid{grid-template-columns:1fr!important;}
  .template-client-picker .client-template-card-v3 img,
  .badge-template-library .template-choice.client-template-card-v3 > img{height:170px!important;}
}
@media(max-width:560px){
  .template-client-picker .client-template-card-v3{min-height:210px!important;}
  .template-client-picker .client-template-card-v3 img,
  .badge-template-library .template-choice.client-template-card-v3 > img{height:126px!important;}
}

/* PERSONNALISATION V4 - aperçu photo porteur directement sur la carte */
.badge-studio-card .badge-live-photo{
  position:absolute!important;
  left:22px!important;
  top:62px!important;
  width:78px!important;
  height:94px!important;
  object-fit:cover!important;
  object-position:center!important;
  border:3px solid rgba(255,255,255,.92)!important;
  border-radius:12px!important;
  background:#eef5f7!important;
  box-shadow:0 10px 22px rgba(15,63,92,.22)!important;
  z-index:8!important;
  display:none!important;
}
.badge-studio-card .badge-live-photo.is-visible{
  display:block!important;
}
.badge-studio-card .badge-photo-placeholder{
  position:absolute!important;
  left:22px!important;
  top:62px!important;
  width:78px!important;
  height:94px!important;
  display:grid!important;
  place-items:center!important;
  border:2px dashed rgba(15,63,92,.35)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.70)!important;
  color:#0f3f5c!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  z-index:7!important;
}
.badge-studio-card.has-live-photo .badge-photo-placeholder{
  display:none!important;
}
.badge-studio-card.has-live-photo .badge-studio-name,
.badge-studio-card .badge-studio-name{
  left:116px!important;
  right:18px!important;
  max-width:calc(100% - 138px)!important;
}
.badge-studio-card.has-live-photo .badge-studio-role,
.badge-studio-card .badge-studio-role{
  left:116px!important;
  right:18px!important;
  max-width:calc(100% - 138px)!important;
}
.badge-studio-card.has-live-photo .badge-studio-id,
.badge-studio-card .badge-studio-id{
  left:116px!important;
  right:auto!important;
}
.badge-studio-card.portrait .badge-live-photo,
.badge-studio-card.portrait .badge-photo-placeholder{
  left:50%!important;
  top:70px!important;
  transform:translateX(-50%)!important;
  width:86px!important;
  height:96px!important;
}
.badge-studio-card.portrait.has-live-photo .badge-studio-name,
.badge-studio-card.portrait .badge-studio-name,
.badge-studio-card.portrait.has-live-photo .badge-studio-role,
.badge-studio-card.portrait .badge-studio-role,
.badge-studio-card.portrait.has-live-photo .badge-studio-id,
.badge-studio-card.portrait .badge-studio-id{
  left:18px!important;
  right:18px!important;
  max-width:calc(100% - 36px)!important;
  text-align:center!important;
}
.badge-studio-card.portrait .badge-studio-name{top:178px!important;}
.badge-studio-card.portrait .badge-studio-role{top:204px!important;}
.badge-studio-card.portrait .badge-studio-id{bottom:28px!important;}


/* PERSONNALISATION V5 - Aperçu carte RFID / NFC */
.config-preview-shell .rfid-basic-product{display:none!important;}
.rfid-studio-card{
  position:absolute!important;
  inset:26px!important;
  margin:auto!important;
  width:min(360px,88%)!important;
  height:220px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fdfefe 0%,#eef8fb 48%,#d8eef5 100%)!important;
  border:1px solid rgba(15,63,92,.22)!important;
  box-shadow:0 24px 45px rgba(15,63,92,.22)!important;
  color:#0f3f5c!important;
  opacity:0!important;
  transform:translateY(10px) scale(.96)!important;
  pointer-events:none!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.rfid-studio-card.is-visible{opacity:1!important;transform:translateY(0) scale(1)!important;}
.rfid-studio-card.is-hidden{display:block!important;opacity:0!important;}
.rfid-studio-card .rfid-card-bg{position:absolute!important;inset:0!important;background:radial-gradient(circle at 88% 12%,rgba(24,169,153,.26),transparent 30%),linear-gradient(130deg,rgba(15,63,92,.06),transparent 48%)!important;}
.rfid-studio-card::before{content:"";position:absolute!important;left:-55px!important;bottom:-70px!important;width:220px!important;height:160px!important;border-radius:50%!important;background:rgba(24,169,153,.20)!important;transform:rotate(-18deg)!important;}
.rfid-studio-card::after{content:"";position:absolute!important;right:-80px!important;top:-48px!important;width:230px!important;height:160px!important;border-radius:50%!important;background:rgba(15,63,92,.16)!important;transform:rotate(18deg)!important;}
.rfid-chip{position:absolute!important;left:24px!important;top:72px!important;width:58px!important;height:46px!important;border-radius:9px!important;background:linear-gradient(135deg,#f6d98d,#b9872c)!important;border:1px solid rgba(99,68,10,.35)!important;box-shadow:0 10px 20px rgba(15,63,92,.12)!important;display:none!important;z-index:2!important;}
.rfid-chip i,.rfid-chip::before,.rfid-chip::after{content:"";position:absolute!important;background:rgba(93,66,12,.45)!important;}
.rfid-chip i{inset:10px!important;border:1px solid rgba(93,66,12,.36)!important;background:transparent!important;border-radius:5px!important;}
.rfid-chip::before{left:-10px!important;right:-10px!important;top:13px!important;height:2px!important;box-shadow:0 14px 0 rgba(93,66,12,.32)!important;}
.rfid-chip::after{top:-8px!important;bottom:-8px!important;left:18px!important;width:2px!important;box-shadow:18px 0 0 rgba(93,66,12,.32)!important;}
.rfid-wireless{position:absolute!important;right:28px!important;top:56px!important;width:76px!important;height:76px!important;border-radius:50%!important;border:4px solid transparent!important;border-right-color:#18a999!important;display:none!important;z-index:2!important;transform:rotate(10deg)!important;}
.rfid-wireless::before,.rfid-wireless::after{content:"";position:absolute!important;inset:12px!important;border-radius:50%!important;border:4px solid transparent!important;border-right-color:#18a999!important;}
.rfid-wireless::after{inset:26px!important;}
.rfid-studio-card.show-chip .rfid-chip{display:block!important;}
.rfid-studio-card.show-wireless .rfid-wireless{display:block!important;}
.rfid-logo{position:absolute!important;left:24px!important;top:22px!important;z-index:3!important;font-size:12px!important;font-weight:900!important;letter-spacing:.1em!important;color:#18a999!important;text-transform:uppercase!important;}
.rfid-studio-card strong{position:absolute!important;left:104px!important;top:70px!important;right:108px!important;z-index:3!important;font-size:24px!important;line-height:1.02!important;color:#0f3f5c!important;}
.rfid-studio-card small{position:absolute!important;left:104px!important;top:125px!important;right:22px!important;z-index:3!important;color:#5c6a72!important;font-weight:800!important;line-height:1.25!important;}
.rfid-studio-card em{position:absolute!important;left:24px!important;bottom:42px!important;right:24px!important;z-index:3!important;font-style:normal!important;font-size:12px!important;font-weight:800!important;color:#162026!important;}
.rfid-studio-card b{position:absolute!important;left:24px!important;bottom:20px!important;z-index:3!important;font-size:12px!important;color:#0f3f5c!important;}
.rfid-uid{position:absolute!important;right:22px!important;bottom:20px!important;z-index:3!important;font-size:11px!important;font-weight:900!important;color:rgba(15,63,92,.55)!important;}
.rfid-studio-card.is-uhf{background:linear-gradient(135deg,#fefefe 0%,#f3f7ff 48%,#dfe8ff 100%)!important;}
.rfid-studio-card.is-uhf .rfid-wireless,.rfid-studio-card.is-uhf .rfid-logo{color:#146c94!important;border-right-color:#146c94!important;}
.rfid-studio-card.is-uhf .rfid-wireless::before,.rfid-studio-card.is-uhf .rfid-wireless::after{border-right-color:#146c94!important;}
.rfid-studio-card.is-mifare{background:linear-gradient(135deg,#ffffff 0%,#eefbf5 52%,#d9f3e9 100%)!important;}
.rfid-studio-card.is-clean .rfid-chip,.rfid-studio-card.is-clean .rfid-wireless{display:none!important;}
.rfid-personalisation-panel{border-color:#bdd4dc!important;background:linear-gradient(135deg,rgba(20,108,148,.07),rgba(24,169,153,.07)),#f7fbfc!important;}
@media(max-width:760px){.rfid-studio-card{width:92%!important;height:190px!important;inset:18px!important}.rfid-studio-card strong{font-size:20px!important;left:92px!important;right:78px!important}.rfid-studio-card small{left:92px!important}.rfid-chip{left:20px!important}.rfid-wireless{right:20px!important;width:62px!important;height:62px!important}.rfid-uid{display:none!important}}


/* ADMIN REGLAGES V1 - centre de contrôle propre */
.settings-control-panel{
  max-width:1280px!important;
  display:grid!important;
  gap:18px!important;
}
.settings-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.38fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  padding:22px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(15,63,92,.08),rgba(24,169,153,.12)),#f7fbfc!important;
}
.settings-hero h1{margin:4px 0 10px!important;color:var(--blue-dark)!important;font-size:clamp(36px,5vw,60px)!important;line-height:.98!important;}
.settings-hero p{margin:0!important;max-width:760px!important;color:var(--muted)!important;line-height:1.55!important;}
.settings-hero-card,
.settings-card{
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(15,63,92,.08)!important;
}
.settings-hero-card{align-content:end!important;background:linear-gradient(135deg,#0f3f5c,#146c94)!important;color:#fff!important;}
.settings-hero-card span,
.settings-card-head span,
.settings-card > span,
.settings-stats span{color:var(--blue-dark)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.settings-hero-card span,.settings-hero-card small{color:rgba(255,255,255,.82)!important;}
.settings-hero-card strong{font-size:30px!important;line-height:1.05!important;}
.settings-stats{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;}
.settings-stats article{display:grid!important;gap:6px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fbfdff!important;}
.settings-stats strong{color:var(--blue-dark)!important;font-size:28px!important;line-height:1!important;}
.settings-stats small,.settings-card small,.settings-mini-row span,.settings-warning p{color:var(--muted)!important;line-height:1.45!important;}
.settings-grid-main{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;gap:16px!important;align-items:start!important;}
.settings-card-head{display:grid!important;gap:5px!important;padding-bottom:10px!important;border-bottom:1px solid var(--line)!important;}
.settings-card-head strong{color:var(--blue-dark)!important;font-size:22px!important;line-height:1.15!important;}
.settings-logo-control{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:14px!important;border:1px solid #d8e7ec!important;border-radius:14px!important;background:#f7fbfc!important;}
.settings-logo-preview{display:grid!important;place-items:center!important;min-height:96px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;}
.settings-logo-preview img{display:block!important;width:100%!important;max-width:150px!important;height:72px!important;object-fit:contain!important;}
.settings-logo-control label{display:grid!important;gap:8px!important;margin:0!important;}
.settings-logo-control input[type=file]{width:100%!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;}
.settings-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.settings-form-grid .wide{grid-column:1/-1!important;}
.settings-shortcut-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.settings-shortcut-grid a{display:grid!important;gap:5px!important;min-height:94px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#f7fbfc!important;text-decoration:none!important;}
.settings-shortcut-grid a b{color:var(--blue-dark)!important;font-size:17px!important;}
.settings-shortcut-grid a span{color:var(--muted)!important;line-height:1.35!important;}
.settings-section-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important;}
.settings-mini-list{display:grid!important;gap:10px!important;}
.settings-mini-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border:1px solid #d8e7ec!important;border-radius:14px!important;background:#fbfdff!important;}
.settings-mini-row div{display:grid!important;gap:4px!important;min-width:0!important;}
.settings-mini-row b{color:var(--ink)!important;overflow-wrap:anywhere!important;}
.settings-mini-row .checkline{margin:0!important;white-space:nowrap!important;}
.settings-mini-row button{min-height:38px!important;padding:8px 12px!important;}
.settings-warning{border-left:5px solid var(--mint)!important;background:#f7fbfc!important;}
.settings-warning strong{color:var(--blue-dark)!important;font-size:20px!important;line-height:1.2!important;}
@media(max-width:1100px){
  .settings-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .settings-grid-main,.settings-section-grid,.settings-hero{grid-template-columns:1fr!important;}
}
@media(max-width:700px){
  .settings-stats,.settings-form-grid,.settings-shortcut-grid,.settings-mini-row,.settings-logo-control{grid-template-columns:1fr!important;}
  .settings-mini-row .checkline{white-space:normal!important;}
}

/* ADMIN REGLAGES V3 - tarifs produits complets */
.settings-product-manager{
  gap:18px!important;
}
.settings-product-manager > .hint{
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #b7dfcc!important;
  border-radius:14px!important;
  background:#eefbf5!important;
  color:var(--muted)!important;
}
.settings-product-create{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  border:1px dashed #bdd4dc!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(20,108,148,.06),rgba(24,169,153,.06)),#f7fbfc!important;
}
.settings-product-title{
  display:grid!important;
  gap:4px!important;
}
.settings-product-title span{
  color:var(--blue-dark)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.settings-product-title strong{
  color:var(--ink)!important;
  font-size:19px!important;
}
.settings-product-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr .55fr .55fr!important;
  gap:12px!important;
  align-items:end!important;
}
.settings-product-list{
  display:grid!important;
  gap:12px!important;
}
.settings-product-row{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,63,92,.06)!important;
}
.settings-product-row.is-muted{
  background:#f8fafb!important;
  opacity:.82!important;
}
.settings-product-main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px 12px!important;
}
.settings-product-main span{
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#e9f8f8!important;
  color:var(--blue-dark)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.settings-product-main strong{
  color:var(--blue-dark)!important;
  font-size:20px!important;
}
.settings-product-main small{
  color:var(--muted)!important;
  margin-left:auto!important;
}
.settings-product-edit{
  grid-template-columns:1.2fr .8fr .55fr .55fr!important;
}
.settings-product-actions{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  padding-top:4px!important;
}
.settings-product-actions span{
  color:var(--blue-dark)!important;
  font-size:20px!important;
  font-weight:900!important;
}
@media(max-width:1050px){
  .settings-product-grid,.settings-product-edit{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .settings-product-main small{margin-left:0!important;width:100%!important;}
}
@media(max-width:680px){
  .settings-product-grid,.settings-product-edit{grid-template-columns:1fr!important;}
  .settings-product-actions{display:grid!important;grid-template-columns:1fr!important;}
}


/* V9 - Utilisateurs & rôles : page propre et aérée */
.team-page-clean{
  max-width:1320px!important;
  padding:34px!important;
  display:grid!important;
  gap:24px!important;
}
.team-hero-clean{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:start!important;
  padding:26px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:
    linear-gradient(135deg,rgba(15,63,92,.08),rgba(24,169,153,.10)),
    repeating-linear-gradient(45deg,#fff,#fff 18px,#eef7f8 18px,#eef7f8 20px)!important;
}
.team-hero-clean h1{margin:4px 0 10px!important;font-size:clamp(34px,4.4vw,56px)!important;line-height:1!important;}
.team-hero-clean p{max-width:820px!important;margin:0!important;color:var(--muted)!important;line-height:1.55!important;font-size:16px!important;}
.team-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-end!important;}
.team-stats-clean{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;}
.team-stats-clean article{display:grid!important;gap:6px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 25px rgba(22,32,38,.06)!important;}
.team-stats-clean span,.team-stats-clean small,.team-section-title-clean small,.team-user-head-clean small{color:var(--muted)!important;line-height:1.35!important;}
.team-stats-clean strong{display:block!important;color:var(--blue-dark)!important;font-size:30px!important;line-height:1!important;}
.team-create-clean,.team-user-card-clean{display:grid!important;gap:20px!important;padding:24px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 30px rgba(22,32,38,.06)!important;}
.team-create-clean{border-color:#bdd4dc!important;background:linear-gradient(135deg,rgba(20,108,148,.05),#fff 48%)!important;}
.team-section-title-clean{display:grid!important;gap:6px!important;}
.team-section-title-clean span,.team-role-clean{width:max-content!important;max-width:100%!important;padding:6px 10px!important;border-radius:999px!important;background:#e9f8f8!important;color:var(--blue-dark)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;}
.team-section-title-clean strong{color:var(--blue-dark)!important;font-size:22px!important;}
.team-form-grid-clean{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:end!important;}
.team-form-grid-clean label{display:grid!important;gap:8px!important;font-size:14px!important;color:var(--muted)!important;font-weight:700!important;}
.team-form-grid-clean input,.team-form-grid-clean select{min-height:48px!important;border-radius:12px!important;background:#fff!important;}
.team-list-clean{display:grid!important;gap:20px!important;}
.team-user-card-clean.is-muted{opacity:.78!important;background:#f7f9fb!important;}
.team-user-head-clean{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:start!important;padding-bottom:18px!important;border-bottom:1px solid var(--line)!important;}
.team-user-head-clean>div:first-child{display:grid!important;gap:8px!important;}
.team-user-head-clean strong{display:block!important;color:var(--ink)!important;font-size:23px!important;line-height:1.1!important;}
.team-user-status-clean{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;}
.team-self-clean{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 10px!important;border-radius:999px!important;border:1px dashed var(--line)!important;background:#f7fbfc!important;color:var(--muted)!important;font-size:12px!important;font-weight:800!important;}
.team-actions-clean{display:flex!important;justify-content:flex-end!important;gap:10px!important;}
.team-actions-clean button{min-width:170px!important;min-height:48px!important;border-radius:12px!important;font-weight:900!important;}
@media(max-width:1100px){
  .team-stats-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .team-form-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .team-hero-clean,.team-user-head-clean{grid-template-columns:1fr!important;}
  .team-hero-actions,.team-user-status-clean,.team-actions-clean{justify-content:flex-start!important;}
}
@media(max-width:720px){
  .team-page-clean{padding:18px!important;}
  .team-hero-clean,.team-create-clean,.team-user-card-clean{padding:18px!important;border-radius:16px!important;}
  .team-stats-clean,.team-form-grid-clean{grid-template-columns:1fr!important;}
  .team-actions-clean button{width:100%!important;}
}


.admin-access-warning {
  max-width: 900px;
  min-height: 360px;
  display: grid;
  align-content: center;
  gap: 14px;
}
.admin-access-warning h1 {
  margin-bottom: 6px;
}
.admin-access-warning p {
  max-width: 720px;
  color: var(--muted);
  line-height: 1.55;
}
.admin-access-warning .detail-actions {
  margin-top: 8px;
}


/* V12 - Sécurité & sauvegarde */
.security-panel {
  display: grid;
  gap: 22px;
}

.security-hero {
  align-items: center;
  padding: 22px;
  border: 1px solid #bdd4dc;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(20, 108, 148, .10), rgba(24, 169, 153, .08)),
    repeating-linear-gradient(45deg, #ffffff, #ffffff 18px, #eef7f8 18px, #eef7f8 20px);
}

.security-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.security-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.security-stats-grid article,
.security-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(22, 32, 38, .06);
}

.security-stats-grid article {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.security-stats-grid span,
.security-card .hint {
  color: var(--muted);
}

.security-stats-grid strong {
  color: var(--blue-dark);
  font-size: 22px;
}

.security-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 16px;
  align-items: start;
}

.security-card {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.security-check-list,
.security-actions-list {
  display: grid;
  gap: 10px;
}

.security-check {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7fbfc;
}

.security-check div {
  display: grid;
  gap: 4px;
}

.security-check b {
  color: var(--blue-dark);
}

.security-check small {
  color: var(--muted);
  line-height: 1.35;
}

.security-check span {
  padding: 7px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
}

.security-check.is-ok span {
  background: #e7fbf3;
  color: #12684f;
}

.security-check.is-warning span {
  background: #fff3d8;
  color: #7a5400;
}

.security-warning-box {
  border-color: #f0d58a;
  background: #fffaf0;
}

.security-warning-box span {
  color: #7a5400;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 12px;
}

.security-warning-box p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .security-stats-grid,
  .security-grid {
    grid-template-columns: 1fr;
  }
}


/* Sécurité V13 - affichage propre forcé */
.security-panel-propre { max-width: 1180px; margin: 0 auto; }
.security-panel-propre .security-stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.security-panel-propre .security-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 18px; align-items: start; }


/* =========================================================
   V16 - Page Partenaires propre et complète
   ========================================================= */
.partner-admin-page {
  max-width: 1280px;
  display: grid;
  gap: 24px;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.partner-admin-page > * {
  max-width: none;
}

.partner-admin-hero,
.partner-commission-settings-pro,
.partner-create-pro,
.partner-admin-list-pro,
.partner-section-head,
.partner-commission-pro {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(22, 32, 38, .08);
}

.partner-admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 24px;
  align-items: center;
  padding: 30px;
  background:
    linear-gradient(135deg, rgba(20,108,148,.12), rgba(24,169,153,.08)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.92), rgba(255,255,255,.92) 18px, rgba(238,247,248,.92) 18px, rgba(238,247,248,.92) 20px);
}

.partner-admin-hero h1 {
  margin-bottom: 10px;
  font-size: clamp(34px, 4vw, 52px);
}

.partner-admin-hero p {
  max-width: 760px;
  color: var(--muted);
  line-height: 1.55;
}

.partner-admin-actions-top {
  display: grid;
  gap: 10px;
  align-content: center;
}

.partner-admin-actions-top .button {
  width: 100%;
  text-align: center;
}

.button.ghost,
.partner-admin-actions-top .ghost,
.copy-partner-link {
  background: #fff;
  color: var(--blue-dark);
  border-color: #bdd4dc;
}

.partner-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.partner-admin-stats article {
  min-height: 112px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 10px 28px rgba(22, 32, 38, .06);
}

.partner-admin-stats span {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-weight: 700;
}

.partner-admin-stats strong {
  color: var(--blue-dark);
  font-size: clamp(24px, 3vw, 34px);
}

.partner-commission-settings-pro,
.partner-create-pro {
  padding: 24px;
}

.partner-commission-settings-pro.form.grid,
.partner-create-pro.form.grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.partner-commission-settings-pro label,
.partner-create-pro label {
  grid-column: span 6;
}

.partner-commission-settings-pro .wide,
.partner-create-pro .wide {
  grid-column: 1 / -1;
}

.partner-commission-settings-pro button,
.partner-create-pro button {
  grid-column: 1 / -1;
  justify-self: start;
}

.partner-admin-list-pro {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.partner-admin-card-pro {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(135deg, #fff 0%, #fff 68%, rgba(24,169,153,.07) 100%);
  box-shadow: 0 10px 24px rgba(22, 32, 38, .05);
}

.partner-admin-mainline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, auto);
  gap: 18px;
  align-items: center;
}

.partner-admin-mainline strong {
  display: block;
  color: var(--blue-dark);
  font-size: 21px;
}

.partner-admin-mainline span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.45;
  word-break: break-word;
}

.partner-admin-code-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: flex-end;
}

.copy-partner-code,
.copy-partner-link,
.partner-wa-access {
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
}

.copy-partner-code {
  background: var(--blue-dark);
  color: white;
  border-color: var(--blue-dark);
  letter-spacing: .3px;
}

.partner-wa-access {
  background: #e9f8f8;
  color: var(--blue-dark);
  border-color: #bdd4dc;
}

.partner-approve-pro,
.partner-pay-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid #f0d58a;
  border-radius: 14px;
  background: #fff8e5;
}

.partner-pay-form {
  border-color: #b7dfcc;
  background: #eefbf5;
}

.partner-meta-pro {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.partner-meta-pro article {
  min-height: 80px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}

.partner-meta-pro span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.partner-meta-pro strong {
  color: var(--blue-dark);
  font-size: 17px;
}

.partner-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
}

.partner-section-head h2 {
  margin-bottom: 0;
}

.partner-commission-pro {
  padding: 20px;
}

.partner-commission-pro .commission-card {
  grid-template-columns: minmax(260px, 1.4fr) minmax(120px, .5fr) minmax(170px, .7fr) auto;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(22, 32, 38, .05);
}

.empty-state {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px dashed #bdd4dc;
  border-radius: 14px;
  background: #f7fbfc;
}

.empty-state strong {
  color: var(--blue-dark);
}

.empty-state span {
  color: var(--muted);
}

@media (max-width: 980px) {
  .partner-admin-hero,
  .partner-admin-mainline {
    grid-template-columns: 1fr;
  }

  .partner-admin-stats,
  .partner-meta-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-admin-code-actions {
    justify-content: flex-start;
  }

  .partner-commission-settings-pro label,
  .partner-create-pro label {
    grid-column: 1 / -1;
  }

  .partner-commission-pro .commission-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .partner-admin-page {
    gap: 16px;
  }

  .partner-admin-hero,
  .partner-commission-settings-pro,
  .partner-create-pro,
  .partner-admin-list-pro,
  .partner-section-head,
  .partner-commission-pro {
    border-radius: 14px;
    padding: 16px;
  }

  .partner-admin-stats,
  .partner-meta-pro {
    grid-template-columns: 1fr;
  }

  .partner-section-head {
    display: grid;
  }
}

/* PRODUITS V2 - suppression definitive du chevauchement onglets/actions */
.catalogue-family-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 16px !important;
  clear: both !important;
}

.catalogue-family-tabs span {
  flex: 0 1 auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

.catalogue-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-end !important;
  margin: 0 0 22px !important;
  padding-top: 6px !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
}

.catalogue-actions .button {
  flex: 0 1 240px !important;
  min-width: 220px !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
}

@media (max-width: 900px) {
  .catalogue-actions {
    justify-content: stretch !important;
  }

  .catalogue-actions .button {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* TEMPLATES ADMIN V2 - gestion propre et actions completes */
.template-admin-list-pro {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.template-admin-list-pro .template-admin-card {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  min-width: 0 !important;
}

.template-admin-list-pro .template-preview {
  width: 100% !important;
  min-height: 160px !important;
  overflow: hidden !important;
}

.template-admin-list-pro .template-preview img {
  width: 100% !important;
  height: 160px !important;
  object-fit: contain !important;
}

.template-fields,
.template-fields .product-admin-grid,
.template-edit-row {
  min-width: 0 !important;
}

.template-edit-row {
  grid-template-columns: minmax(0, 1fr) auto auto auto !important;
  align-items: end !important;
}

.template-delete-button {
  background: #fff5f5 !important;
  border-color: #e4b9b9 !important;
  color: #9b1c1c !important;
}

@media (max-width: 1100px) {
  .template-admin-list-pro {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .template-admin-list-pro .template-admin-card,
  .template-edit-row {
    grid-template-columns: 1fr !important;
  }
}

/* STOCK TEXTILE V2 - filtres et suppression */
.stock-filter-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}

.stock-filter-tabs button {
  min-height: 40px !important;
  padding: 9px 14px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0f3f5c !important;
  font-weight: 900 !important;
}

.stock-filter-tabs button.is-active {
  background: #0f3f5c !important;
  color: #fff !important;
  border-color: #0f3f5c !important;
}

.stock-edit-grid-pro {
  grid-template-columns: minmax(180px, 1.3fr) minmax(130px, .8fr) minmax(90px, .45fr) minmax(110px, .55fr) auto auto !important;
}

.stock-delete-button {
  background: #fff5f5 !important;
  border-color: #e4b9b9 !important;
  color: #9b1c1c !important;
}

@media (max-width: 760px) {
  .stock-filter-tabs button {
    flex: 1 1 140px !important;
  }
}

/* ADMIN FINALISATION V1 */
.admin-finalization-panel {
  display: grid !important;
  gap: 18px !important;
  margin: 18px 0 22px !important;
  padding: 20px !important;
  border: 1px solid #d7e5ea !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f7fbfc 0%, #ffffff 100%) !important;
  box-shadow: 0 14px 32px rgba(22, 32, 38, .07) !important;
}

.admin-finalization-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.admin-finalization-head h2 {
  margin: 2px 0 8px !important;
  color: #14232b !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.05 !important;
}

.admin-finalization-head p {
  margin: 0 !important;
  color: #52636c !important;
}

.admin-finalization-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.admin-finalization-grid a {
  display: grid !important;
  gap: 7px !important;
  min-height: 118px !important;
  padding: 15px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
}

.admin-finalization-grid a:hover {
  border-color: #0f3f5c !important;
  box-shadow: 0 10px 22px rgba(15, 63, 92, .12) !important;
}

.admin-finalization-grid b {
  color: #0f3f5c !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
}

.admin-finalization-grid span {
  color: #52636c !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

@media (max-width: 1180px) {
  .admin-finalization-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .admin-finalization-head,
  .admin-finalization-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-finalization-head {
    display: grid !important;
  }
}

/* COMMANDE V2 - apercus de secours sans image */
.product-choice-cards button {
  position: relative !important;
  overflow: hidden !important;
}

.product-choice-cards button img {
  position: relative !important;
  z-index: 2 !important;
}

.product-choice-cards button img[src=""],
.product-choice-cards button img:not([src]) {
  display: none !important;
}

.choice-fallback {
  position: absolute !important;
  left: 12px !important;
  top: 14px !important;
  width: 74px !important;
  height: 58px !important;
  border: 1px solid #cfdfe5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 10px 20px rgba(15, 63, 92, .10) !important;
  z-index: 1 !important;
}

.choice-badge::before,
.choice-card::before,
.choice-rfid::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 16px !important;
  border-radius: 10px 10px 0 0 !important;
  background: #0f3f5c !important;
}

.choice-badge i {
  position: absolute !important;
  right: 9px !important;
  top: 23px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #dce9ee !important;
}

.choice-badge b,
.choice-card b {
  position: absolute !important;
  left: 9px !important;
  bottom: 12px !important;
  width: 36px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #18a999 !important;
}

.choice-card {
  transform: rotate(-5deg) !important;
}

.choice-card::before {
  background: linear-gradient(90deg, #0f3f5c, #18a999) !important;
}

.choice-rfid i {
  position: absolute !important;
  left: 13px !important;
  top: 24px !important;
  width: 25px !important;
  height: 18px !important;
  border-radius: 5px !important;
  background: #d7b257 !important;
}

.choice-rfid b {
  position: absolute !important;
  right: 10px !important;
  top: 20px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 4px solid transparent !important;
  border-right-color: #18a999 !important;
}

.choice-shirt {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.choice-shirt::before {
  content: "" !important;
  position: absolute !important;
  left: 19px !important;
  top: 8px !important;
  width: 38px !important;
  height: 48px !important;
  border-radius: 9px 9px 12px 12px !important;
  background: linear-gradient(135deg, #ffffff, #edf5f7) !important;
  border: 1px solid #d7e5ea !important;
  box-shadow: 0 12px 18px rgba(15, 63, 92, .12) !important;
}

.choice-shirt::after {
  content: "" !important;
  position: absolute !important;
  left: 9px !important;
  top: 13px !important;
  width: 58px !important;
  height: 22px !important;
  background: linear-gradient(90deg, #ffffff 0 28%, transparent 28% 72%, #ffffff 72% 100%) !important;
  border-radius: 9px !important;
  border-left: 1px solid #d7e5ea !important;
  border-right: 1px solid #d7e5ea !important;
}

.product-choice-cards button div {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 760px) {
  .choice-fallback {
    left: 16px !important;
    top: 16px !important;
  }
}

/* MESSAGES CLIENT V1 - WhatsApp et email */
.settings-message-templates {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 18px !important;
  padding: 16px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #f7fbfc !important;
}

.settings-message-templates .settings-card-head {
  grid-column: 1 / -1 !important;
  margin-bottom: 2px !important;
}

.settings-message-templates label {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  color: #52636c !important;
  font-weight: 800 !important;
}

.settings-message-templates textarea {
  width: 100% !important;
  min-height: 92px !important;
  resize: vertical !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 12px !important;
  padding: 12px !important;
  background: #fff !important;
  color: #162026 !important;
  line-height: 1.45 !important;
}

.copy-client-message {
  min-width: 150px !important;
}

@media (max-width: 900px) {
  .settings-message-templates {
    grid-template-columns: 1fr !important;
  }
}

/* VALIDATION FINALE V1 */
.final-check-panel {
  display: grid !important;
  gap: 18px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.final-check-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 230px !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: 24px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(20,108,148,.08), rgba(24,169,153,.12)) !important;
}

.final-check-hero h1 {
  margin: 5px 0 10px !important;
  color: #162026 !important;
  font-size: clamp(36px, 5vw, 60px) !important;
  line-height: 1 !important;
}

.final-check-hero p {
  margin: 0 !important;
  max-width: 760px !important;
  color: #52636c !important;
  line-height: 1.5 !important;
}

.final-score-card,
.final-stats-grid article,
.final-check-card,
.final-launch-box {
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(15, 63, 92, .06) !important;
}

.final-score-card {
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  padding: 18px !important;
}

.final-score-card span,
.final-stats-grid span,
.final-check-title span,
.final-launch-box span {
  color: #146c94 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.final-score-card strong {
  color: #0f3f5c !important;
  font-size: 44px !important;
  line-height: 1 !important;
}

.final-score-card small,
.final-check-card p,
.final-launch-box p {
  color: #52636c !important;
  line-height: 1.45 !important;
}

.final-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.final-stats-grid article {
  display: grid !important;
  gap: 7px !important;
  padding: 14px !important;
}

.final-stats-grid strong {
  color: #0f3f5c !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

.final-check-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.final-check-card {
  display: grid !important;
  gap: 14px !important;
  padding: 18px !important;
  border-left: 6px solid #18a999 !important;
}

.final-check-card.is-warning {
  border-left-color: #d7b257 !important;
  background: #fffaf0 !important;
}

.final-check-title {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  align-items: flex-start !important;
}

.final-check-title div {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}

.final-check-title strong {
  color: #162026 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.final-check-title b {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #e7fbf3 !important;
  color: #12684f !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

.final-check-card.is-warning .final-check-title b {
  background: #fff3d8 !important;
  color: #7a5400 !important;
}

.final-check-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.final-launch-box {
  display: grid !important;
  gap: 10px !important;
  padding: 20px !important;
  background: #f7fbfc !important;
}

.final-launch-box strong {
  color: #0f3f5c !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
}

@media (max-width: 980px) {
  .final-check-hero,
  .final-stats-grid,
  .final-check-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PARAMETRAGE PAIEMENTS */
.settings-payment-box {
  display: grid !important;
  gap: 16px !important;
  padding: 18px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #f8fcfd !important;
}

.settings-payment-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.settings-payment-grid article {
  display: grid !important;
  gap: 9px !important;
  padding: 14px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.settings-payment-grid input:not([type="checkbox"]),
.settings-payment-grid textarea {
  width: 100% !important;
  min-width: 0 !important;
}

.settings-payment-grid textarea {
  min-height: 82px !important;
}

.toggle-line {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: auto !important;
  font-weight: 900 !important;
  color: #0f3f5c !important;
}

.toggle-line input {
  width: auto !important;
}

.payment-public-note {
  display: grid !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 12px !important;
  background: #f8fcfd !important;
}

.payment-public-note strong {
  color: #0f3f5c !important;
}

.payment-public-note div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.payment-public-note span {
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #e7f7f9 !important;
  color: #0f3f5c !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.payment-public-note p {
  margin: 0 !important;
  color: #52636c !important;
  line-height: 1.45 !important;
}

@media (max-width: 820px) {
  .settings-payment-grid {
    grid-template-columns: 1fr !important;
  }
}

/* SUIVI CLIENT - DOCUMENTS DISPONIBLES */
.client-documents-alert {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  margin: 18px 0 !important;
  padding: 18px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: #f8fcfd !important;
}

.client-documents-alert.has-documents {
  border-left: 6px solid #18a999 !important;
  background: linear-gradient(135deg, rgba(24,169,153,.11), rgba(20,108,148,.06)) !important;
}

.client-documents-alert.is-waiting {
  border-left: 6px solid #d7b257 !important;
}

.client-documents-alert span {
  display: block !important;
  margin-bottom: 5px !important;
  color: #146c94 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.client-documents-alert strong {
  display: block !important;
  color: #162026 !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
}

.client-documents-alert p {
  margin: 7px 0 0 !important;
  color: #52636c !important;
  line-height: 1.45 !important;
}

.client-documents-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

@media (max-width: 820px) {
  .client-documents-alert {
    grid-template-columns: 1fr !important;
  }

  .client-documents-actions {
    justify-content: flex-start !important;
  }
}

/* CORRECTION FINALE - images produit manquantes */
.product-choice-cards button {
  min-width: 0 !important;
}

.product-choice-cards button img {
  display: block !important;
}

.product-choice-cards button.image-missing img,
.product-choice-cards button.has-fallback-preview img {
  display: none !important;
}

.product-choice-cards button .choice-fallback {
  display: none !important;
}

.product-choice-cards button.image-missing .choice-fallback,
.product-choice-cards button.has-fallback-preview .choice-fallback {
  display: block !important;
}

.studio-product-preview.is-missing {
  display: none !important;
}

.config-preview-shell:has(.studio-product-preview.is-active.is-missing) {
  background:
    linear-gradient(135deg, rgba(24, 169, 153, .12), rgba(15, 63, 92, .10)),
    repeating-linear-gradient(45deg, rgba(15, 63, 92, .06) 0 1px, transparent 1px 12px) !important;
}


/* PAYMENT CONFIG STABLE V1 - 16/07/2026 */
.payment-config-panel {
  max-width: 1280px !important;
  padding: 26px !important;
  overflow: hidden !important;
}

.payment-config-panel .payment-config-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 230px !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-bottom: 20px !important;
  padding: 24px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 16px !important;
  background:
    linear-gradient(135deg, rgba(15,63,92,.08), rgba(24,169,153,.12)),
    repeating-linear-gradient(45deg, #fff, #fff 18px, #eef7f8 18px, #eef7f8 20px) !important;
}

.payment-config-panel .payment-config-hero h1 {
  max-width: 760px !important;
  margin: 5px 0 10px !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
}

.payment-config-panel .payment-config-hero p:not(.eyebrow) {
  max-width: 780px !important;
  margin: 0 !important;
  color: #5c6a72 !important;
  line-height: 1.55 !important;
}

.payment-config-panel .payment-config-hero > article {
  display: grid !important;
  align-content: center !important;
  gap: 6px !important;
  min-height: 150px !important;
  padding: 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #0f3f5c, #126f70) !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(15,63,92,.18) !important;
}

.payment-config-panel .payment-config-hero > article span,
.payment-config-panel .payment-config-hero > article small {
  color: rgba(255,255,255,.76) !important;
}

.payment-config-panel .payment-config-hero > article strong {
  color: #fff !important;
  font-size: 42px !important;
  line-height: 1 !important;
}

.payment-config-panel .payment-config-form {
  display: grid !important;
  gap: 18px !important;
}

.payment-config-panel .payment-config-section {
  display: grid !important;
  gap: 18px !important;
  padding: 22px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(15,63,92,.06) !important;
}

.payment-config-panel .settings-card-head {
  display: grid !important;
  gap: 4px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e2eaed !important;
}

.payment-config-panel .settings-card-head span {
  color: #146c94 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.payment-config-panel .settings-card-head strong {
  color: #162026 !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
}

.payment-config-panel .settings-card-head small {
  color: #66757d !important;
  line-height: 1.45 !important;
}

.payment-config-panel .payment-method-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.payment-config-panel .payment-method-card {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 17px !important;
  border: 1px solid #dbe4e8 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fff, #f8fbfc) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.payment-config-panel .payment-method-card:hover {
  transform: translateY(-2px) !important;
  border-color: #bdd4dc !important;
  box-shadow: 0 12px 26px rgba(15,63,92,.08) !important;
}

.payment-config-panel .payment-method-card label:not(.toggle-line),
.payment-config-panel .payment-config-wide,
.payment-config-panel .stripe-settings-grid label {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: #52636c !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.payment-config-panel input:not([type="checkbox"]),
.payment-config-panel textarea {
  width: 100% !important;
  min-width: 0 !important;
  border-color: #d7e2e6 !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.payment-config-panel textarea {
  min-height: 88px !important;
  resize: vertical !important;
}

.payment-config-panel .toggle-line {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 38px !important;
  color: #162026 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.payment-config-panel .toggle-line input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  width: 46px !important;
  height: 26px !important;
  min-height: 26px !important;
  flex: 0 0 46px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #cfd9dd !important;
  box-shadow: inset 0 0 0 1px rgba(15,63,92,.08) !important;
  cursor: pointer !important;
  transition: background .18s ease !important;
}

.payment-config-panel .toggle-line input[type="checkbox"]::after {
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 2px 7px rgba(15,63,92,.22) !important;
  transition: transform .18s ease !important;
}

.payment-config-panel .toggle-line input[type="checkbox"]:checked {
  background: #18a999 !important;
}

.payment-config-panel .toggle-line input[type="checkbox"]:checked::after {
  transform: translateX(20px) !important;
}

.payment-config-panel .stripe-config-card {
  border-left: 5px solid #635bff !important;
}

.payment-config-panel .stripe-settings-grid {
  display: grid !important;
  grid-template-columns: 1.5fr .55fr 1fr !important;
  gap: 14px !important;
}

.payment-config-panel .stripe-settings-grid .wide {
  grid-column: 1 / -1 !important;
}

.payment-config-panel .settings-inline-actions,
.payment-config-panel .payment-config-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.payment-config-panel .settings-inline-actions small {
  color: #66757d !important;
}

.payment-config-panel .payment-config-actions {
  justify-content: flex-end !important;
  padding-top: 2px !important;
}

.payment-config-panel .payment-config-actions button {
  min-width: 210px !important;
}

@media (max-width: 920px) {
  .payment-config-panel .payment-config-hero,
  .payment-config-panel .payment-method-grid,
  .payment-config-panel .stripe-settings-grid {
    grid-template-columns: 1fr !important;
  }

  .payment-config-panel .payment-config-hero > article {
    min-height: 120px !important;
  }
}

@media (max-width: 640px) {
  .payment-config-panel {
    padding: 16px !important;
  }

  .payment-config-panel .payment-config-hero,
  .payment-config-panel .payment-config-section {
    padding: 17px !important;
    border-radius: 13px !important;
  }

  .payment-config-panel .payment-config-hero h1 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }

  .payment-config-panel .payment-config-actions {
    justify-content: stretch !important;
  }

  .payment-config-panel .payment-config-actions > * {
    width: 100% !important;
    text-align: center !important;
  }
}
