.mk-production-native-hidden { display: none !important; }

#mk-architectural-production {
  --mk-ink: #17152f;
  --mk-muted: #747188;
  --mk-purple: #5b3fd0;
  --mk-purple-dark: #40269d;
  --mk-teal: #1b9993;
  --mk-navy: #123f4b;
  --mk-line: #dfdced;
  --mk-bg: #f8f7fc;
  color: var(--mk-ink);
  display: grid;
  font-size: 14px;
  gap: 18px;
  padding-bottom: 32px;
}

#mk-architectural-production * { box-sizing: border-box; }
#mk-architectural-production button,
#mk-architectural-production select,
#mk-architectural-production textarea { font: inherit; }
#mk-architectural-production button,
#mk-architectural-production a { -webkit-tap-highlight-color: transparent; }

.mk-production-hero {
  align-items: end;
  background: linear-gradient(120deg, #322071 0%, #5b3fd0 52%, #1b9993 100%);
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(47, 32, 110, .18);
  color: #fff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  overflow: hidden;
  padding: 26px 28px;
  position: relative;
}
.mk-production-hero::after {
  background: rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
  height: 260px;
  position: absolute;
  right: -90px;
  top: -130px;
  width: 260px;
}
.mk-production-hero small,
.mk-production-sources small,
.mk-production-program small,
.mk-production-visuals small {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
}
.mk-production-hero h2 { font-size: clamp(24px, 3vw, 38px); line-height: 1.05; margin: 8px 0; }
.mk-production-hero p { color: rgba(255, 255, 255, .82); line-height: 1.55; margin: 0; max-width: 720px; }
.mk-production-prospect-picker {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 14px;
  display: grid;
  gap: 7px;
  padding: 14px;
  position: relative;
  z-index: 1;
}
.mk-production-prospect-picker label { font-size: 11px; font-weight: 800; }
.mk-production-prospect-picker select {
  background: #fff;
  border: 0;
  border-radius: 9px;
  color: var(--mk-ink);
  min-height: 42px;
  padding: 0 12px;
  width: 100%;
}
.mk-production-prospect-picker strong { font-size: 12px; }

.mk-production-legal,
.mk-production-message,
.mk-production-loading {
  border: 1px solid var(--mk-line);
  border-radius: 12px;
  padding: 13px 16px;
}
.mk-production-legal { align-items: center; background: #fff8e8; border-color: #eddcae; display: flex; gap: 14px; }
.mk-production-legal strong { color: #7c5510; white-space: nowrap; }
.mk-production-legal span { color: #796d53; line-height: 1.45; }
.mk-production-message { background: #f0edff; border-color: #d7cef8; color: #4931a6; font-weight: 700; }
.mk-production-loading { background: #fff; color: var(--mk-muted); min-height: 100px; place-content: center; text-align: center; }

.mk-production-progress {
  background: #fff;
  border: 1px solid #d9d3ef;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(39, 27, 92, .07);
  padding: 15px 18px;
}
.mk-production-progress header,
.mk-production-progress footer { align-items: center; display: flex; gap: 14px; justify-content: space-between; }
.mk-production-progress header small,
.mk-production-progress header strong { display: block; }
.mk-production-progress header small { color: var(--mk-purple); font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.mk-production-progress header strong { font-size: 15px; margin-top: 3px; }
.mk-production-progress header b { color: var(--mk-purple-dark); font-size: 20px; }
.mk-production-progress__track { background: #ece9f7; border-radius: 999px; height: 10px; margin: 12px 0 9px; overflow: hidden; }
.mk-production-progress__track i { background: linear-gradient(90deg, var(--mk-purple), var(--mk-teal)); border-radius: inherit; display: block; height: 100%; transition: width .65s ease; }
.mk-production-progress footer span { color: #4e4960; font-size: 11px; font-weight: 700; }
.mk-production-progress footer small { color: var(--mk-muted); font-size: 9px; }
.mk-production-progress footer code { background: #fff; border-radius: 5px; font-size: 10px; padding: 3px 6px; }
.mk-production-progress.is-success { background: #eaf8f1; border-color: #bee4d3; }
.mk-production-progress.is-success .mk-production-progress__track i { background: #198662; }
.mk-production-progress.is-error { background: #fff0ef; border-color: #efc1bd; color: #8d3029; }
.mk-production-progress.is-error .mk-production-progress__track i { background: #bd4038; }

.mk-production-journey {
  align-items: center;
  background: #fff;
  border: 1px solid var(--mk-line);
  border-radius: 14px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px 18px;
}
.mk-production-journey__steps { align-items: center; display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); }
.mk-production-journey__steps > div { align-items: center; color: #8a8698; display: flex; font-size: 11px; font-weight: 800; gap: 8px; min-width: 0; position: relative; }
.mk-production-journey__steps > div:not(:last-child)::after { background: #ddd9e8; content: ""; height: 2px; margin: 0 10px; min-width: 16px; flex: 1; }
.mk-production-journey__steps b { align-items: center; background: #eeeaf8; border-radius: 50%; display: inline-flex; flex: 0 0 28px; height: 28px; justify-content: center; }
.mk-production-journey__steps .is-done { color: #176a50; }
.mk-production-journey__steps .is-done b { background: #dff5ea; }
.mk-production-journey__steps .is-done::after { background: #8ed3b6 !important; }
.mk-production-journey__steps .is-active { color: var(--mk-purple-dark); }
.mk-production-journey__steps .is-active b { background: var(--mk-purple); box-shadow: 0 0 0 4px #eee9ff; color: #fff; }
.mk-production-journey__action { border-left: 1px solid var(--mk-line); display: grid; gap: 5px; min-width: 205px; padding-left: 18px; }
.mk-production-journey__action > span { color: var(--mk-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.mk-production-journey__action button,
.mk-production-journey__action a { background: #fff; border: 1px solid #c9c2e5; border-radius: 9px; color: var(--mk-purple-dark); cursor: pointer; font-size: 11px; font-weight: 900; min-height: 38px; padding: 8px 12px; text-align: center; text-decoration: none; }
.mk-production-journey__action button.is-primary { background: var(--mk-navy); border-color: var(--mk-navy); color: #fff; }

.mk-production-sources,
.mk-production-program,
.mk-production-visuals {
  background: #fff;
  border: 1px solid var(--mk-line);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(33, 26, 70, .05);
  overflow: hidden;
}
.mk-production-source-head,
.mk-production-program > header,
.mk-production-visuals > header {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 18px 20px;
}
.mk-production-source-head small,
.mk-production-program > header small,
.mk-production-visuals > header small { color: var(--mk-purple); }
.mk-production-source-head h3,
.mk-production-program h3,
.mk-production-visuals h3 { font-size: 19px; margin: 4px 0 0; }
.mk-production-source-head button,
.mk-production-program button,
.mk-production-visuals button,
.mk-production-visuals a,
.mk-production-modal button {
  align-items: center;
  background: #fff;
  border: 1px solid #cbc5e6;
  border-radius: 9px;
  color: #44318f;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  text-decoration: none;
}
.mk-production-source-head button:hover,
.mk-production-program button:hover,
.mk-production-visuals button:hover,
.mk-production-visuals a:hover { background: #f1edff; }
#mk-architectural-production button:disabled { cursor: not-allowed; opacity: .48; }

.mk-production-source-grid {
  border-top: 1px solid var(--mk-line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 16px 20px;
}
.mk-production-source-grid article {
  background: var(--mk-bg);
  border: 1px solid #e6e3f0;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  min-height: 132px;
  padding: 13px;
}
.mk-production-source-grid article::before { background: #b7b2c9; border-radius: 10px; content: ""; height: 4px; margin-bottom: 10px; width: 36px; }
.mk-production-source-grid article.is-connected::before,
.mk-production-source-grid article.is-ready::before { background: #1e9a72; }
.mk-production-source-grid article.is-incomplete::before,
.mk-production-source-grid article.is-warning::before { background: #dc9828; }
.mk-production-source-grid article.is-blocked::before { background: #bd3c35; }
.mk-production-source-grid article > span { color: var(--mk-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.mk-production-source-grid article > strong { font-size: 15px; margin-top: 5px; }
.mk-production-source-grid article > small { color: var(--mk-muted); font-size: 10px; font-weight: 500; letter-spacing: 0; margin-top: 4px; }
.mk-production-source-grid article > button { align-self: start; background: transparent; border: 0; color: var(--mk-purple); margin-top: auto; min-height: auto; padding: 8px 0 0; }
.mk-production-source-ok { background: #eaf8f1; border-top: 1px solid #cde9dc; color: #18684d; padding: 11px 20px; }
.mk-production-source-warnings { background: #fff8e8; border-top: 1px solid #eddcae; padding: 0 20px; }
.mk-production-source-warnings summary { color: #835c14; cursor: pointer; font-weight: 800; padding: 12px 0; }
.mk-production-source-warnings div { border-top: 1px solid #ead9aa; padding: 6px 0 12px; }
.mk-production-source-warnings p { color: #75684b; margin: 6px 0; }

.mk-production-program--empty { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(320px, 46%); padding: 22px; }
.mk-production-program--empty h3 { margin: 7px 0; }
.mk-production-program--empty p { color: var(--mk-muted); line-height: 1.55; margin: 0; }
.mk-production-design-request,
.mk-production-new-design {
  background: var(--mk-bg);
  border: 1px solid #e3dff1;
  border-radius: 12px;
  display: grid;
  gap: 8px;
  padding: 14px;
}
.mk-production-design-request label,
.mk-production-new-design label,
.mk-production-modal label { font-size: 11px; font-weight: 800; }
.mk-production-design-request label em,
.mk-production-new-design label em { color: var(--mk-teal); font-size: 9px; font-style: normal; margin-left: 4px; text-transform: uppercase; }
.mk-production-design-request > small,
.mk-production-new-design > small { color: var(--mk-muted); font-size: 9px; font-weight: 500; letter-spacing: 0; }
.mk-production-design-request textarea,
.mk-production-new-design textarea,
.mk-production-modal textarea {
  background: #fff;
  border: 1px solid #cfc9e3;
  border-radius: 9px;
  min-height: 82px;
  padding: 10px 11px;
  resize: vertical;
  width: 100%;
}
.mk-production-design-request button,
.mk-production-new-design button,
.mk-production-validation > button,
.mk-production-visual-actions > button:last-child,
.mk-production-modal footer button:last-child {
  background: var(--mk-navy);
  border-color: var(--mk-navy);
  color: #fff;
}
.mk-production-program > header { align-items: flex-start; border-bottom: 1px solid var(--mk-line); }
.mk-production-program > header p { color: var(--mk-muted); line-height: 1.5; margin: 6px 0 0; max-width: 850px; }
.mk-production-program-status { background: #fff3d8; border-radius: 999px; color: #8c5d09; font-size: 10px; font-weight: 900; padding: 7px 10px; white-space: nowrap; }
.mk-production-program-status.is-ready { background: #e5f7ef; color: #14654a; }
.mk-production-program-status.is-blocked { background: #fff0ef; color: #a43b32; }
.mk-production-stale { align-items: center; background: #fff0ef; border-bottom: 1px solid #efc7c3; color: #893129; display: flex; gap: 12px; padding: 12px 20px; }
.mk-production-stale strong { white-space: nowrap; }
.mk-production-program-stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.mk-production-program-stats > div { border-bottom: 1px solid var(--mk-line); border-right: 1px solid var(--mk-line); padding: 15px 20px; }
.mk-production-program-stats > div:last-child { border-right: 0; }
.mk-production-program-stats strong,
.mk-production-program-stats span { display: block; }
.mk-production-program-stats strong { color: var(--mk-purple-dark); font-size: 22px; }
.mk-production-program-stats span { color: var(--mk-muted); font-size: 11px; margin-top: 2px; }
.mk-production-concept { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 18px 20px 8px; }
.mk-production-concept > div { background: var(--mk-bg); border: 1px solid #e6e3f0; border-radius: 10px; padding: 11px; }
.mk-production-concept > div.is-wide { grid-column: 1 / -1; }
.mk-production-concept span,
.mk-production-concept strong { display: block; }
.mk-production-concept span { color: var(--mk-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.mk-production-concept strong { line-height: 1.35; margin-top: 4px; }
.mk-production-program-details { display: grid; gap: 8px; padding: 10px 20px 18px; }
.mk-production-program-details details { border: 1px solid var(--mk-line); border-radius: 10px; overflow: hidden; }
.mk-production-program-details summary { cursor: pointer; font-weight: 800; padding: 12px 14px; }
.mk-production-program-details details > div { background: var(--mk-bg); border-top: 1px solid var(--mk-line); padding: 8px 14px; }
.mk-production-program-details p { background: #fff; border: 1px solid #e8e5f1; border-radius: 8px; display: grid; gap: 3px; margin: 7px 0; padding: 10px; }
.mk-production-program-details p span,
.mk-production-program-details p small { color: var(--mk-muted); }
.mk-production-program-details p button { justify-self: start; margin-top: 5px; }
.mk-production-program-actions { border-top: 1px solid var(--mk-line); display: grid; gap: 16px; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); padding: 18px 20px; }
.mk-production-validation { align-content: center; display: grid; gap: 10px; }
.mk-production-approval { align-items: start; background: #fff8e8; border: 1px solid #eddcae; border-radius: 10px; display: grid; font-size: 11px; gap: 9px; grid-template-columns: 18px 1fr; line-height: 1.45; padding: 11px; }
.mk-production-approval input { height: 16px; margin: 1px 0 0; width: 16px; }
.mk-production-approved { background: #e8f8f0; border: 1px solid #c8e8d9; border-radius: 10px; color: #166348; padding: 13px; }
.mk-production-approved strong,
.mk-production-approved span { display: block; }
.mk-production-approved span { font-size: 10px; margin-top: 4px; }

.mk-production-visuals > header { align-items: flex-end; }
.mk-production-visuals > header p { color: var(--mk-muted); line-height: 1.5; margin: 5px 0 0; max-width: 820px; }
.mk-production-visuals > header > span { background: #f0ecff; border-radius: 999px; color: var(--mk-purple-dark); font-size: 11px; font-weight: 900; padding: 7px 10px; white-space: nowrap; }
.mk-production-visual-grid { background: var(--mk-bg); border-top: 1px solid var(--mk-line); display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px; }
.mk-production-visual-card { background: #fff; border: 1px solid var(--mk-line); border-radius: 13px; display: grid; min-height: 250px; overflow: hidden; }
.mk-production-card-progress { background: #ece8f8; height: 5px; left: 0; overflow: hidden; position: absolute; right: 0; top: 0; z-index: 3; }
.mk-production-card-progress span { background: linear-gradient(90deg, var(--mk-purple), var(--mk-teal)); display: block; height: 100%; transition: width .65s ease; }
.mk-production-visual-card { position: relative; }
.mk-production-visual-card.has-image { grid-template-columns: minmax(220px, 42%) 1fr; }
.mk-production-image,
.mk-production-image-placeholder { background: linear-gradient(135deg, #21184d, #6b50d9 58%, #28aaa0); min-height: 220px; overflow: hidden; position: relative; }
.mk-production-image img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.mk-production-image > span { background: rgba(18, 63, 75, .9); border-radius: 999px; bottom: 10px; color: #fff; font-size: 9px; font-weight: 900; left: 10px; padding: 6px 8px; position: absolute; }
.mk-production-image-placeholder { align-items: center; display: flex; justify-content: center; }
.mk-production-image-placeholder span { color: rgba(255, 255, 255, .78); font-size: 30px; font-weight: 900; text-transform: uppercase; }
.mk-production-visual-content { display: flex; flex-direction: column; padding: 16px; }
.mk-production-visual-content > small { color: var(--mk-purple); }
.mk-production-visual-content h4 { font-size: 16px; margin: 6px 0; }
.mk-production-visual-content p { color: var(--mk-muted); line-height: 1.45; margin: 0; }
.mk-production-visual-content em { color: #23645d; font-size: 10px; font-style: normal; margin-top: 8px; }
.mk-production-visual-content em.is-warning { color: #a16611; }
.mk-production-visual-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 14px; }
.mk-production-visual-actions button,
.mk-production-visual-actions a { flex: 1 1 auto; }

.mk-production-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 10000; }
.mk-production-modal-backdrop { background: rgba(18, 13, 43, .68) !important; border: 0 !important; border-radius: 0 !important; inset: 0; min-height: 0 !important; padding: 0 !important; position: absolute; }
.mk-production-modal > section { background: #fff; border-radius: 16px; box-shadow: 0 24px 80px rgba(16, 9, 48, .35); max-width: 680px; padding: 20px; position: relative; width: 100%; z-index: 1; }
.mk-production-modal > section > header { align-items: flex-start; display: flex; justify-content: space-between; }
.mk-production-modal h3 { font-size: 20px; margin: 5px 0 0; }
.mk-production-modal > section > header button { border-radius: 50%; font-size: 22px; height: 36px; min-height: 36px; padding: 0; width: 36px; }
.mk-production-modal > section > p { color: var(--mk-muted); line-height: 1.5; }
.mk-production-modal textarea { margin-top: 7px; min-height: 120px; }
.mk-production-modal footer { display: flex; gap: 8px; justify-content: flex-end; margin-top: 14px; }

@media (max-width: 1100px) {
  .mk-production-journey { grid-template-columns: 1fr; }
  .mk-production-journey__action { border-left: 0; border-top: 1px solid var(--mk-line); padding-left: 0; padding-top: 12px; }
  .mk-production-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-production-visual-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  #mk-architectural-production { gap: 12px; }
  .mk-production-hero,
  .mk-production-program--empty,
  .mk-production-program-actions { grid-template-columns: 1fr; }
  .mk-production-hero { align-items: stretch; padding: 20px; }
  .mk-production-source-head,
  .mk-production-program > header,
  .mk-production-visuals > header,
  .mk-production-legal,
  .mk-production-stale { align-items: flex-start; flex-direction: column; }
  .mk-production-program-stats,
  .mk-production-concept { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-production-journey__steps { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-production-journey__steps > div::after { display: none; }
  .mk-production-program-stats > div:nth-child(2) { border-right: 0; }
  .mk-production-visual-card.has-image { grid-template-columns: 1fr; }
  .mk-production-image { min-height: 260px; }
}

@media (max-width: 480px) {
  .mk-production-source-grid,
  .mk-production-program-stats,
  .mk-production-concept { grid-template-columns: 1fr; }
  .mk-production-source-grid { padding: 12px; }
  .mk-production-program-stats > div { border-right: 0; }
  .mk-production-concept > div.is-wide { grid-column: auto; }
  .mk-production-visual-grid { padding: 12px; }
  .mk-production-modal { padding: 10px; }
  .mk-production-progress header,
  .mk-production-progress footer { align-items: flex-start; flex-direction: column; }
  .mk-production-journey__steps { grid-template-columns: 1fr; }
}

/* V12 — parcours de génération groupée, contrôlée et traçable */
.mk-v12-hero {
  align-items: end; background: linear-gradient(120deg, #322071 0%, #5b3fd0 54%, #168d88 100%);
  border-radius: 18px; box-shadow: 0 14px 38px rgba(47, 32, 110, .18); color: #fff;
  display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(250px, 350px); overflow: hidden; padding: 28px; position: relative;
}
.mk-v12-hero::after { background: rgba(255,255,255,.08); border-radius: 50%; content: ""; height: 280px; position: absolute; right: -100px; top: -145px; width: 280px; }
.mk-v12-hero > * { position: relative; z-index: 1; }
.mk-v12-hero small, .mk-v12-sources small, .mk-v12-builder small, .mk-v12-progress small, .mk-v12-results small, .mk-v12-documents small, .mk-v12-decision small, .mk-v12-history small { font-size: 10px; font-weight: 900; letter-spacing: .09em; }
.mk-v12-hero h2 { font-size: clamp(25px, 3vw, 39px); line-height: 1.05; margin: 8px 0; }
.mk-v12-hero p { color: rgba(255,255,255,.84); line-height: 1.55; margin: 0; max-width: 780px; }
.mk-v12-hero > div:last-child { backdrop-filter: blur(10px); background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.26); border-radius: 14px; display: grid; gap: 7px; padding: 15px; }
.mk-v12-hero label { font-size: 11px; font-weight: 800; }
.mk-v12-hero select { background: #fff; border: 0; border-radius: 9px; color: var(--mk-ink); min-height: 44px; padding: 0 12px; width: 100%; }
.mk-v12-hero > div:last-child strong { font-size: 12px; }

.mk-v12-legal { align-items: center; background: #fff8df; border: 1px solid #ebd995; border-radius: 12px; color: #6f5311; display: flex; gap: 12px; padding: 13px 16px; }
.mk-v12-legal strong { flex: 0 0 auto; }
.mk-v12-legal span { font-size: 12px; line-height: 1.45; }
.mk-v12-message { align-items: center; background: #e8f7f2; border: 1px solid #b7e2d4; border-radius: 12px; color: #155b4b; display: flex; gap: 10px; justify-content: space-between; padding: 13px 16px; }
.mk-v12-message.is-error { background: #fff0f0; border-color: #efc0c0; color: #842c2c; }
.mk-v12-message code { background: rgba(0,0,0,.06); border-radius: 6px; padding: 4px 7px; }
.mk-v12-loading { background: #fff; border: 1px solid var(--mk-line); border-radius: 14px; color: var(--mk-muted); padding: 34px; text-align: center; }

.mk-v12-sources, .mk-v12-builder, .mk-v12-progress, .mk-v12-results, .mk-v12-documents, .mk-v12-decision, .mk-v12-history { background: #fff; border: 1px solid var(--mk-line); border-radius: 16px; box-shadow: 0 8px 25px rgba(34,26,78,.05); overflow: hidden; }
.mk-v12-sources > header, .mk-v12-builder > header, .mk-v12-results > header, .mk-v12-decision > header, .mk-v12-history > header { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; padding: 19px 20px 14px; }
.mk-v12-sources h3, .mk-v12-builder h3, .mk-v12-results h3, .mk-v12-documents h3, .mk-v12-decision h3, .mk-v12-history h3 { font-size: 19px; margin: 5px 0; }
.mk-v12-sources header p, .mk-v12-builder header p, .mk-v12-decision header p { color: var(--mk-muted); line-height: 1.45; margin: 0; }
.mk-v12-sources button, .mk-v12-builder button, .mk-v12-progress button, .mk-v12-decision button, .mk-v12-revision-panel button { background: #fff; border: 1px solid var(--mk-line); border-radius: 9px; color: var(--mk-ink); cursor: pointer; font-weight: 800; min-height: 38px; padding: 8px 12px; }
.mk-v12-sources button:hover, .mk-v12-builder button:hover, .mk-v12-progress button:hover, .mk-v12-decision button:hover { border-color: var(--mk-purple); color: var(--mk-purple); }
.mk-v12-sources button:disabled, .mk-v12-builder button:disabled, .mk-v12-progress button:disabled, .mk-v12-decision button:disabled { cursor: not-allowed; opacity: .48; }
.mk-v12-source-grid { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 20px 18px; }
.mk-v12-source-grid article { border: 1px solid var(--mk-line); border-radius: 12px; display: flex; flex-direction: column; min-height: 145px; padding: 13px; }
.mk-v12-source-grid article.is-ready { border-top: 4px solid var(--mk-teal); }
.mk-v12-source-grid article.is-warning { border-top: 4px solid #d89a2b; }
.mk-v12-source-grid span { color: var(--mk-muted); font-size: 11px; font-weight: 800; }
.mk-v12-source-grid strong { font-size: 22px; margin: 6px 0 1px; }
.mk-v12-source-grid small { color: var(--mk-muted); letter-spacing: 0; }
.mk-v12-source-grid button { align-self: flex-start; background: transparent; border: 0; color: var(--mk-purple); font-size: 11px; margin-top: auto; min-height: 0; padding: 9px 0 0; }
.mk-v12-sources details { background: #fff8e9; border-top: 1px solid #efdfb8; color: #795816; padding: 13px 20px; }
.mk-v12-sources summary { cursor: pointer; font-weight: 900; }
.mk-v12-sources details p { margin: 9px 0 0; }
.mk-v12-ok { background: #eaf8f3; border-top: 1px solid #c6e6da; color: #216150; padding: 12px 20px; }

.mk-v12-builder > header > span, .mk-v12-results > header > span, .mk-v12-history > header > span { background: #eeeafd; border-radius: 999px; color: var(--mk-purple); font-size: 11px; font-weight: 900; padding: 7px 10px; white-space: nowrap; }
.mk-v12-presets { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 20px 14px; }
.mk-v12-plan-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0 20px 18px; }
.mk-v12-plan-card { border: 1px solid var(--mk-line); border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; min-height: 158px; padding: 14px 42px 14px 14px; position: relative; transition: border-color .18s, box-shadow .18s, transform .18s; }
.mk-v12-plan-card:hover { border-color: #b9adeb; box-shadow: 0 8px 18px rgba(64,38,157,.08); transform: translateY(-1px); }
.mk-v12-plan-card.is-selected { background: #f7f5ff; border: 2px solid var(--mk-purple); padding: 13px 41px 13px 13px; }
.mk-v12-plan-card.is-disabled { background: #f4f3f7; cursor: not-allowed; opacity: .62; }
.mk-v12-plan-card input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.mk-v12-check { align-items: center; background: #fff; border: 1px solid #c9c4d9; border-radius: 7px; display: flex; font-size: 14px; height: 24px; justify-content: center; position: absolute; right: 13px; top: 13px; width: 24px; }
.mk-v12-plan-card.is-selected .mk-v12-check { background: var(--mk-purple); border-color: var(--mk-purple); color: #fff; }
.mk-v12-plan-card small { color: var(--mk-purple); }
.mk-v12-plan-card strong { font-size: 14px; margin: 7px 0; }
.mk-v12-plan-card p { color: var(--mk-muted); font-size: 12px; line-height: 1.4; margin: 0; }
.mk-v12-plan-card em { color: #a26b12; font-size: 10px; font-style: normal; margin-top: auto; padding-top: 8px; }
.mk-v12-prompt { border-top: 1px solid var(--mk-line); display: grid; gap: 7px; padding: 18px 20px; }
.mk-v12-prompt > span, .mk-v12-decision-panel label, .mk-v12-revision-panel label { font-weight: 900; }
.mk-v12-prompt em { color: var(--mk-muted); font-size: 11px; font-style: normal; }
.mk-v12-prompt textarea, .mk-v12-decision-panel textarea, .mk-v12-revision-panel textarea { border: 1px solid #cfcbe0; border-radius: 10px; line-height: 1.5; min-height: 100px; padding: 11px; resize: vertical; width: 100%; }
.mk-v12-prompt small { color: var(--mk-muted); letter-spacing: 0; }
.mk-v12-launch { background: linear-gradient(90deg,var(--mk-purple),var(--mk-purple-dark)) !important; border: 0 !important; border-radius: 0 !important; color: #fff !important; min-height: 54px !important; width: 100%; }

.mk-v12-progress { border-top: 5px solid var(--mk-purple); padding: 20px; }
.mk-v12-progress.is-review_required, .mk-v12-progress.is-validated { border-top-color: var(--mk-teal); }
.mk-v12-progress.is-failed, .mk-v12-progress.is-rejected { border-top-color: #c94b4b; }
.mk-v12-progress > header { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.mk-v12-progress > header h3 { font-size: 22px; margin: 6px 0; }
.mk-v12-progress > header p { color: var(--mk-muted); margin: 0; }
.mk-v12-progress > header > strong { color: var(--mk-purple); font-size: 28px; }
.mk-v12-progress-track { background: #e9e6f2; border-radius: 999px; height: 13px; margin: 18px 0; overflow: hidden; }
.mk-v12-progress-track i { background: linear-gradient(90deg,var(--mk-purple),var(--mk-teal)); display: block; height: 100%; transition: width .6s ease; }
.mk-v12-progress-steps { display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.mk-v12-progress-steps div { align-items: center; background: var(--mk-bg); border: 1px solid var(--mk-line); border-radius: 10px; color: var(--mk-muted); display: flex; gap: 8px; padding: 10px; }
.mk-v12-progress-steps div.is-done { background: #ebf8f4; border-color: #bfe4d8; color: #1e6554; }
.mk-v12-progress-steps b { align-items: center; background: #fff; border-radius: 50%; display: flex; height: 24px; justify-content: center; width: 24px; }
.mk-v12-progress footer { align-items: center; color: var(--mk-muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 10px; justify-content: space-between; margin-top: 13px; }
.mk-v12-error { background: #fff0f0; border: 1px solid #efc0c0; border-radius: 10px; color: #842c2c; display: grid; gap: 4px; margin-top: 14px; padding: 12px; }
.mk-v12-error code { justify-self: start; }

.mk-v12-results-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 20px 20px; }
.mk-v12-results-grid article { border: 1px solid var(--mk-line); border-radius: 12px; display: grid; grid-template-columns: minmax(180px,42%) 1fr; overflow: hidden; }
.mk-v12-image { background: linear-gradient(135deg,#21184d,#6b50d9 58%,#28aaa0); min-height: 210px; overflow: hidden; position: relative; }
.mk-v12-image img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.mk-v12-image span { background: rgba(18,63,75,.9); border-radius: 999px; bottom: 9px; color: #fff; font-size: 9px; font-weight: 900; left: 9px; padding: 5px 7px; position: absolute; }
.mk-v12-results-grid article > div { display: flex; flex-direction: column; padding: 14px; }
.mk-v12-results-grid h4 { font-size: 16px; margin: 6px 0; }
.mk-v12-results-grid p { color: var(--mk-muted); font-size: 11px; margin: 0; }
.mk-v12-results-grid nav { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 12px; }
.mk-v12-results-grid nav a, .mk-v12-documents nav a, .mk-v12-history nav a { border: 1px solid var(--mk-line); border-radius: 8px; color: var(--mk-purple); font-size: 11px; font-weight: 900; padding: 8px 10px; text-decoration: none; }
.mk-v12-empty { color: var(--mk-muted); grid-column: 1/-1; padding: 28px; text-align: center; }

.mk-v12-documents { align-items: center; background: linear-gradient(120deg,#1b3140,#123f4b); color: #fff; display: grid; gap: 22px; grid-template-columns: minmax(0,1fr) minmax(260px,400px); padding: 21px; }
.mk-v12-documents h3 { margin-bottom: 7px; }
.mk-v12-documents p { color: rgba(255,255,255,.72); line-height: 1.5; margin: 0; }
.mk-v12-documents nav { display: flex; flex-wrap: wrap; gap: 8px; }
.mk-v12-documents nav a { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff; }
.mk-v12-documents nav a.is-primary { background: #fff; color: var(--mk-navy); }
.mk-v12-documents nav span { color: rgba(255,255,255,.62); font-size: 10px; width: 100%; }

.mk-v12-decision-actions { display: flex; flex-wrap: wrap; gap: 9px; padding: 0 20px 20px; }
.mk-v12-decision-actions .is-valid { background: #e7f7f1; border-color: #a9dccb; color: #1b6552; }
.mk-v12-decision-actions .is-danger, .mk-v12-decision-panel .is-danger { background: #fff0f0; border-color: #e9b1b1; color: #9b3030; }
.mk-v12-decision-actions .is-primary { background: var(--mk-purple); border-color: var(--mk-purple); color: #fff; }
.mk-v12-decision-state { border-radius: 10px; display: grid; gap: 4px; margin: 0 20px 16px; padding: 12px; }
.mk-v12-decision-state.is-valid { background: #e7f7f1; color: #1b6552; }
.mk-v12-decision-state.is-rejected { background: #fff0f0; color: #9b3030; }
.mk-v12-decision-panel, .mk-v12-revision-panel { background: var(--mk-bg); border-top: 1px solid var(--mk-line); display: grid; gap: 12px; padding: 18px 20px; }
.mk-v12-decision-panel label, .mk-v12-revision-panel label { display: grid; gap: 7px; }
.mk-v12-decision-panel > div, .mk-v12-revision-panel > header { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.mk-v12-revision-panel h4 { font-size: 18px; margin: 5px 0; }
.mk-v12-revision-panel > p { color: var(--mk-muted); margin: 0; }
.mk-v12-revision-panel .mk-v12-plan-grid { padding: 0; }

.mk-v12-history > div { display: grid; gap: 8px; padding: 0 20px 20px; }
.mk-v12-history article { align-items: center; border: 1px solid var(--mk-line); border-radius: 10px; display: grid; gap: 12px; grid-template-columns: minmax(210px,1fr) auto auto auto; padding: 12px; }
.mk-v12-history article > div { display: grid; gap: 3px; }
.mk-v12-history article > div span, .mk-v12-history article > small { color: var(--mk-muted); }
.mk-v12-history article > span { border-radius: 999px; font-size: 10px; font-weight: 900; padding: 6px 8px; }
.mk-v12-history article > span.is-validated, .mk-v12-history article > span.is-review_required { background: #e7f7f1; color: #1b6552; }
.mk-v12-history article > span.is-running, .mk-v12-history article > span.is-queued { background: #eeeafd; color: var(--mk-purple); }
.mk-v12-history article > span.is-rejected, .mk-v12-history article > span.is-failed { background: #fff0f0; color: #9b3030; }
.mk-v12-history nav { display: flex; gap: 6px; }

@media (max-width: 1100px) {
  .mk-v12-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mk-v12-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mk-v12-results-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .mk-v12-hero, .mk-v12-documents { grid-template-columns: 1fr; }
  .mk-v12-hero { align-items: stretch; padding: 20px; }
  .mk-v12-sources > header, .mk-v12-builder > header, .mk-v12-results > header, .mk-v12-decision > header, .mk-v12-history > header, .mk-v12-progress > header, .mk-v12-legal { align-items: flex-start; flex-direction: column; }
  .mk-v12-progress-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mk-v12-history article { grid-template-columns: 1fr auto; }
  .mk-v12-history article > small { grid-column: 1; }
}
@media (max-width: 520px) {
  .mk-v12-source-grid, .mk-v12-plan-grid, .mk-v12-progress-steps { grid-template-columns: 1fr; }
  .mk-v12-results-grid article { grid-template-columns: 1fr; }
  .mk-v12-image { min-height: 245px; }
  .mk-v12-history article { grid-template-columns: 1fr; }
  .mk-v12-source-grid, .mk-v12-plan-grid, .mk-v12-results-grid { padding-left: 12px; padding-right: 12px; }
}


/* Standard Maison Kit photoréaliste et révision visuelle */
.mk-v12-quality{display:inline-flex;align-items:center;width:max-content;margin:.25rem 0 .45rem;padding:.32rem .62rem;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.045em}
.mk-v12-quality.is-hq{color:#0a6b58;background:#dff7ef;border:1px solid #9dd9c8}
.mk-v12-quality.is-plan{color:#5141b4;background:#eeebff;border:1px solid #cfc7ff}
.mk-v12-quality.is-fallback{color:#9a3c29;background:#fff0ea;border:1px solid #efb5a6}
.mk-v12-results nav button[data-mk-improve-visual]{border:1px solid #7357e6;background:#fff;color:#5a43d6;border-radius:12px;padding:.7rem .9rem;font-weight:800;cursor:pointer}
.mk-v12-results nav button[data-mk-improve-visual]:hover{background:#f2efff}
.mk-v12-results nav button[data-mk-import-visual]{border:1px solid #148b7e;background:#148b7e;color:#fff;border-radius:12px;padding:.7rem .9rem;font-weight:800;cursor:pointer}
.mk-v12-results nav button[data-mk-import-visual]:disabled{cursor:wait;opacity:.58}
.mk-v12-import-file{border:1px dashed #9fcfc8;border-radius:12px;color:#176f65;display:grid;font-size:.68rem;font-weight:800;gap:.35rem;padding:.55rem .7rem;width:100%}
.mk-v12-import-file input{font-size:.7rem;max-width:100%;width:100%}
.mk-v12-import-payload{border:0;height:1px;min-height:1px;opacity:.01;overflow:hidden;padding:0;resize:none;width:1px}
.mk-v12-results header p{margin:.35rem 0 0;color:#696278;max-width:760px}
@media(max-width:720px){.mk-v12-results nav button[data-mk-improve-visual],.mk-v12-results nav button[data-mk-import-visual]{width:100%}}
