#mk-final-workspace {
  --mk-final-ink: #102f3b;
  --mk-final-muted: #667085;
  --mk-final-line: #dfe6ea;
  --mk-final-paper: #ffffff;
  --mk-final-soft: #f6f8f9;
  --mk-final-purple: #5d3ca7;
  --mk-final-orange: #bf6a32;
  color: var(--mk-final-ink);
  display: grid;
  gap: 18px;
  padding-bottom: 36px;
}

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

.mk-final-loading,
.mk-architect-no-packet {
  align-items: center;
  background: var(--mk-final-paper);
  border: 1px solid var(--mk-final-line);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-height: 240px;
  padding: 34px;
  text-align: center;
}

.mk-final-hero {
  align-items: end;
  background: linear-gradient(135deg, #102f3b 0%, #183f4d 68%, #bf6a32 150%);
  border-radius: 18px;
  color: white;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr);
  overflow: hidden;
  padding: 26px;
  position: relative;
}

.mk-final-hero--architect { background: linear-gradient(135deg, #34226c, #5d3ca7 70%, #bb6b35 150%); }
.mk-final-hero--offer { background: linear-gradient(135deg, #173f4a, #267466 70%, #bf6a32 150%); }
.mk-final-hero small { color: #f4c899; display: block; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.mk-final-hero h2 { font-family: Georgia, serif; font-size: clamp(28px, 4vw, 42px); line-height: 1.05; margin: 6px 0 10px; }
.mk-final-hero p { color: rgba(255,255,255,.76); line-height: 1.55; margin: 0; max-width: 760px; }

.mk-final-prospect-select {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 13px;
  display: grid;
  gap: 8px;
  padding: 14px;
}
.mk-final-prospect-select label { color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; }
.mk-final-prospect-select select { background: white; border: 0; border-radius: 8px; color: var(--mk-final-ink); min-height: 42px; padding: 0 10px; width: 100%; }
.mk-final-prospect-select strong { font-size: 13px; }

.mk-final-guardrail {
  align-items: center;
  background: #fff6e9;
  border: 1px solid #efc38f;
  border-radius: 12px;
  display: flex;
  gap: 16px;
  padding: 13px 16px;
}
.mk-final-guardrail strong { color: #9a4e1e; flex: 0 0 auto; font-size: 12px; text-transform: uppercase; }
.mk-final-guardrail span { color: #624628; font-size: 12px; line-height: 1.45; }

.mk-final-message { background: #ecfdf3; border: 1px solid #a6e4bf; border-radius: 10px; display: flex; gap: 10px; padding: 12px 14px; }
.mk-final-message.is-error { background: #fff0ef; border-color: #efb2ad; color: #a12b22; }
.mk-final-message strong { flex: 0 0 auto; font-size: 12px; }
.mk-final-message span { font-size: 12px; }

.mk-final-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.mk-final-stats article {
  background: var(--mk-final-paper);
  border: 1px solid var(--mk-final-line);
  border-radius: 12px;
  display: grid;
  gap: 4px;
  padding: 15px;
}
.mk-final-stats strong { font-size: 22px; }
.mk-final-stats span { color: var(--mk-final-muted); font-size: 10px; }

.mk-final-accordion { display: grid; gap: 10px; }
.mk-final-block { background: var(--mk-final-paper); border: 1px solid var(--mk-final-line); border-radius: 14px; overflow: clip; }
.mk-final-block[open] { box-shadow: 0 8px 30px rgba(16,47,59,.07); }
.mk-final-block > summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; min-height: 74px; padding: 15px 18px; }
.mk-final-block > summary::-webkit-details-marker { display: none; }
.mk-final-block > summary span { display: grid; gap: 3px; }
.mk-final-block > summary small { color: var(--mk-final-muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mk-final-block > summary strong { font-size: 16px; }
.mk-final-block > summary b { align-items: center; background: #eef2f4; border-radius: 999px; display: inline-flex; font-size: 11px; justify-content: center; min-height: 28px; min-width: 34px; padding: 0 10px; }
.mk-final-block[open] > summary { border-bottom: 1px solid var(--mk-final-line); }
.mk-final-block-body { display: grid; gap: 10px; padding: 16px; }

.mk-final-data-row {
  align-items: start;
  background: var(--mk-final-soft);
  border: 1px solid #e8edef;
  border-radius: 10px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px;
}
.mk-final-data-row > div { display: grid; gap: 3px; }
.mk-final-data-row small { color: var(--mk-final-muted); font-size: 10px; text-transform: uppercase; }
.mk-final-data-row strong { font-size: 13px; }
.mk-final-data-row span,
.mk-final-data-row em { color: var(--mk-final-muted); font-size: 10px; font-style: normal; line-height: 1.4; }

.mk-final-data-row > b,
.mk-final-api-grid b,
.mk-architect-review-card header b,
.mk-final-stats article:last-child {
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  padding: 6px 9px;
  text-transform: uppercase;
}
.is-ok { background: #e7f8ee !important; color: #187744 !important; }
.is-warning { background: #fff4df !important; color: #9a591b !important; }
.is-danger { background: #ffebe9 !important; color: #a12b22 !important; }
.is-neutral { background: #eef2f4 !important; color: #50616a !important; }

.mk-final-api-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mk-final-api-grid article { border: 1px solid var(--mk-final-line); border-radius: 10px; display: grid; gap: 8px; padding: 12px; }
.mk-final-api-grid header { align-items: center; display: flex; justify-content: space-between; }
.mk-final-api-grid header span { color: var(--mk-final-muted); font-size: 9px; }
.mk-final-api-grid article > strong { font-size: 12px; }
.mk-final-api-grid article > small { color: var(--mk-final-muted); font-size: 9px; }
.mk-final-api-grid nav,
.mk-final-visuals nav { display: flex; flex-wrap: wrap; gap: 7px; }
.mk-final-api-grid a,
.mk-final-visuals a { color: var(--mk-final-purple); font-size: 10px; font-weight: 700; text-decoration: none; }

.mk-final-concordances { display: grid; gap: 10px; }
.mk-final-concordances article { border: 1px solid var(--mk-final-line); border-radius: 10px; overflow: hidden; }
.mk-final-concordances header { align-items: center; background: var(--mk-final-soft); display: flex; justify-content: space-between; padding: 11px 12px; }
.mk-final-concordances header strong { font-size: 12px; }
.mk-final-concordances header b { border-radius: 999px; font-size: 9px; padding: 6px 9px; text-transform: uppercase; }
.mk-final-concordances dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.mk-final-concordances dl div { border-right: 1px solid var(--mk-final-line); display: grid; gap: 5px; padding: 11px; }
.mk-final-concordances dl div:last-child { border-right: 0; }
.mk-final-concordances dt { color: var(--mk-final-muted); font-size: 9px; text-transform: uppercase; }
.mk-final-concordances dd { font-size: 10px; line-height: 1.45; margin: 0; }

.mk-final-anomalies { display: grid; gap: 8px; }
.mk-final-anomalies article { align-items: start; border: 1px solid #eed5a7; border-left: 5px solid #d99930; border-radius: 9px; display: grid; gap: 12px; grid-template-columns: 130px minmax(0, 1fr); padding: 11px; }
.mk-final-anomalies article.is-high { border-color: #e9b3ae; border-left-color: #b83b31; }
.mk-final-anomalies b { font-size: 9px; text-transform: uppercase; }
.mk-final-anomalies div { display: grid; gap: 4px; }
.mk-final-anomalies strong { font-size: 11px; }
.mk-final-anomalies span { color: var(--mk-final-muted); font-size: 10px; }
.mk-final-success { background: #ecfdf3; border: 1px solid #a6e4bf; border-radius: 9px; color: #187744; font-size: 11px; padding: 14px; }

.mk-final-visuals { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mk-final-visuals article { border: 1px solid var(--mk-final-line); border-radius: 12px; overflow: hidden; }
.mk-final-visuals img { aspect-ratio: 16 / 10; background: #eef2f4; display: block; object-fit: cover; width: 100%; }
.mk-final-visuals article > div { display: grid; gap: 6px; padding: 11px; }
.mk-final-visuals strong { font-size: 11px; }
.mk-final-visuals small { color: var(--mk-final-muted); font-size: 9px; }

.mk-final-form { background: var(--mk-final-soft); border: 1px solid var(--mk-final-line); border-radius: 11px; display: grid; gap: 12px; padding: 14px; }
.mk-final-form > div { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-final-form label { color: #344054; display: grid; font-size: 10px; font-weight: 700; gap: 5px; }
.mk-final-form input,
.mk-final-form select,
.mk-final-form textarea,
.mk-architect-review-card textarea { background: white; border: 1px solid #ced8dd; border-radius: 8px; color: var(--mk-final-ink); font: inherit; font-size: 11px; min-height: 40px; padding: 9px; width: 100%; }
.mk-final-form textarea,
.mk-architect-review-card textarea { min-height: 82px; resize: vertical; }
.mk-final-form button,
.mk-final-packet button,
.mk-architect-review-card button { background: var(--mk-final-purple); border: 0; border-radius: 8px; color: white; cursor: pointer; font-size: 10px; font-weight: 800; min-height: 40px; padding: 0 15px; }
.mk-final-form button:disabled,
.mk-final-packet button:disabled,
.mk-architect-review-card button:disabled { cursor: wait; opacity: .55; }

.mk-final-timeline { display: grid; gap: 7px; }
.mk-final-timeline article { align-items: start; border: 1px solid var(--mk-final-line); border-radius: 9px; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 10px; }
.mk-final-timeline article > div { display: grid; gap: 3px; }
.mk-final-timeline strong { font-size: 10px; }
.mk-final-timeline p { color: #344054; font-size: 10px; line-height: 1.45; margin: 0; }
.mk-final-timeline small { color: var(--mk-final-muted); font-size: 8px; line-height: 1.5; text-align: right; }
.mk-final-empty { background: var(--mk-final-soft); border: 1px dashed #cbd6db; border-radius: 9px; color: var(--mk-final-muted); font-size: 11px; padding: 14px; text-align: center; }

.mk-offer-project { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mk-offer-project article { background: white; border: 1px solid var(--mk-final-line); border-radius: 11px; display: grid; gap: 5px; padding: 14px; }
.mk-offer-project span { color: var(--mk-final-muted); font-size: 9px; text-transform: uppercase; }
.mk-offer-project strong { font-size: 13px; overflow-wrap: anywhere; }
.mk-offer-lines { display: grid; gap: 8px; }
.mk-offer-lines > header { align-items: center; display: flex; justify-content: space-between; }
.mk-offer-lines > header strong { font-size: 12px; }
.mk-offer-lines > header small { color: var(--mk-final-muted); font-size: 9px; }
.mk-offer-line { align-items: end; background: white; border: 1px solid var(--mk-final-line); border-radius: 10px; display: grid !important; gap: 8px !important; grid-template-columns: 28px minmax(180px, 2fr) repeat(4, minmax(90px, .7fr)) !important; padding: 10px; }
.mk-offer-line > b { align-items: center; background: #eef2f4; border-radius: 999px; display: inline-flex; font-size: 10px; height: 28px; justify-content: center; width: 28px; }
.mk-offer-totals { background: white; border: 1px solid var(--mk-final-line); border-radius: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; }
.mk-offer-totals--detailed { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mk-offer-totals div { border-right: 1px solid var(--mk-final-line); display: grid; gap: 5px; padding: 16px; }
.mk-offer-totals div:last-child { background: #eef8f4; border-right: 0; }
.mk-offer-totals span { color: var(--mk-final-muted); font-size: 9px; text-transform: uppercase; }
.mk-offer-totals strong { font-size: 20px; }
.mk-offer-validate { background: #187744; border: 0; border-radius: 9px; color: white; cursor: pointer; font-size: 11px; font-weight: 800; min-height: 44px; padding: 0 18px; justify-self: end; }
.mk-price-persistence-panel { border-bottom: 1px solid var(--mk-final-line); margin-bottom: 26px; padding-bottom: 26px !important; }
.mk-price-bridge-actions { align-items: center; display: flex !important; gap: 10px; grid-template-columns: none !important; justify-content: flex-end; }
.mk-price-bridge-actions .mk-price-print { background: white; border: 1px solid var(--mk-final-purple); color: var(--mk-final-purple); }

.mk-final-packet { align-items: center; background: linear-gradient(115deg, #f3efff, #fff6ec); border: 1px solid #d8cbed; border-radius: 12px; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto; padding: 16px; }
.mk-final-packet small { color: var(--mk-final-purple); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.mk-final-packet h3 { font-size: 15px; margin: 4px 0; }
.mk-final-packet p { color: var(--mk-final-muted); font-size: 10px; line-height: 1.45; margin: 0; }
.mk-final-packet-meta { display: grid; gap: 6px; margin: 0; }
.mk-final-packet-meta div { display: grid; gap: 4px; grid-template-columns: 100px minmax(0, 1fr); }
.mk-final-packet-meta dt { color: var(--mk-final-muted); font-size: 9px; text-transform: uppercase; }
.mk-final-packet-meta dd { font-family: ui-monospace, monospace; font-size: 9px; margin: 0; overflow-wrap: anywhere; }

.mk-architect-packet-head { align-items: center; background: var(--mk-final-paper); border: 1px solid var(--mk-final-line); border-radius: 13px; display: flex; justify-content: space-between; padding: 16px; }
.mk-architect-packet-head small { color: var(--mk-final-purple); font-size: 9px; font-weight: 800; }
.mk-architect-packet-head h3 { margin: 4px 0; }
.mk-architect-packet-head p { color: var(--mk-final-muted); font-size: 9px; margin: 0; overflow-wrap: anywhere; }
.mk-architect-packet-head > b { background: #f1ecff; border-radius: 999px; color: var(--mk-final-purple); font-size: 10px; padding: 8px 11px; }

.mk-architect-review-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-review-card { border: 1px solid var(--mk-final-line); border-radius: 11px; display: grid; gap: 8px; padding: 12px; }
.mk-architect-review-card header { align-items: center; display: flex; justify-content: space-between; }
.mk-architect-review-card header span { color: var(--mk-final-purple); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mk-architect-review-card h4 { font-size: 12px; margin: 0; }
.mk-architect-review-card p { font-size: 11px; line-height: 1.5; margin: 0; }
.mk-architect-review-card small,
.mk-architect-review-card em { color: var(--mk-final-muted); font-size: 9px; font-style: normal; line-height: 1.4; }
.mk-architect-review-card nav { display: grid; gap: 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mk-architect-review-card nav button:nth-child(1) { background: #187744; }
.mk-architect-review-card nav button:nth-child(2) { background: #a75b1b; }
.mk-architect-review-card nav button:nth-child(3) { background: #a12b22; }
.mk-final-form--architect { border-color: #cfc2eb; }

.mk-global-deliverable { background: linear-gradient(145deg, #17142c 0%, #292246 56%, #123f49 100%); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; color: #fff; display: grid; gap: 18px; margin: 18px 0; overflow: hidden; padding: 20px; box-shadow: 0 18px 48px rgba(23,20,44,.18); }
.mk-global-deliverable.is-ready { background: linear-gradient(145deg, #142b2d 0%, #174751 55%, #292246 100%); }
.mk-global-deliverable > header { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.mk-global-deliverable > header small { color: #aeece5; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.mk-global-deliverable > header h3 { color: #fff; font-size: 22px; margin: 5px 0 7px; }
.mk-global-deliverable > header p { color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.5; margin: 0; max-width: 720px; }
.mk-global-deliverable > header > b { background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; flex: 0 0 auto; font-size: 9px; letter-spacing: .05em; padding: 9px 12px; }
.mk-global-deliverable.is-ready > header > b { background: #e7fff8; color: #14634f; }
.mk-global-deliverable__stats { display: grid; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.mk-global-deliverable__stats article { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.1); border-radius: 11px; display: grid; gap: 4px; min-width: 0; padding: 12px; }
.mk-global-deliverable__stats strong { color: #fff; font-size: 16px; overflow-wrap: anywhere; }
.mk-global-deliverable__stats span { color: rgba(255,255,255,.67); font-size: 9px; }
.mk-global-deliverable__stats .is-danger strong { color: #ffc0b7; }
.mk-global-deliverable__stats .is-ok strong { color: #aeece5; }
.mk-global-deliverable__requirements { display: grid; gap: 7px; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.mk-global-deliverable__requirements li { color: rgba(255,255,255,.82); font-size: 10px; line-height: 1.4; padding-left: 18px; position: relative; }
.mk-global-deliverable__requirements li::before { color: #aeece5; content: "✓"; font-weight: 900; left: 0; position: absolute; }
.mk-global-deliverable__links { display: flex; flex-wrap: wrap; gap: 9px; }
.mk-global-deliverable__links a,
.mk-global-deliverable__links button { background: #fff; border: 0; border-radius: 9px; color: #3f2ca5; cursor: pointer; font-size: 10px; font-weight: 800; min-height: 42px; padding: 0 15px; text-decoration: none; display: inline-flex; align-items: center; }
.mk-global-deliverable .mk-final-visuals article { background: #fff; color: var(--mk-final-ink); }
.mk-global-deliverable > footer { border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.58); font-size: 9px; padding-top: 12px; }
/* Dossier architecte éditorial · 11 chapitres */
.mk-architect-dossier-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 184px minmax(0, 1fr) 224px;
}

.mk-architect-chapters,
.mk-architect-collaboration {
  background: #fff;
  border: 1px solid var(--mk-final-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(16, 47, 59, .07);
  overflow: hidden;
  position: sticky;
  top: 14px;
}
.mk-architect-chapters > div { background: #102f3b; color: #fff; display: grid; gap: 3px; padding: 14px; }
.mk-architect-chapters > div small { color: #efbd89; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.mk-architect-chapters > div strong { font-family: Georgia, serif; font-size: 17px; }
.mk-architect-chapters nav { display: grid; padding: 6px; }
.mk-architect-chapters a {
  align-items: center;
  border-radius: 8px;
  color: var(--mk-final-ink);
  display: grid;
  font-size: 10px;
  gap: 7px;
  grid-template-columns: 25px minmax(0, 1fr) 8px;
  min-height: 38px;
  padding: 5px 7px;
  text-decoration: none;
}
.mk-architect-chapters a:hover { background: #f3f6f7; }
.mk-architect-chapters a span { color: #a65e2f; font-family: Georgia, serif; font-size: 12px; font-weight: 700; }
.mk-architect-chapters a b { font-weight: 700; }
.mk-architect-chapters a i { border-radius: 999px; display: block; height: 8px; padding: 0 !important; width: 8px; }

.mk-architect-sheets { display: grid; gap: 20px; min-width: 0; }
.mk-architect-sheet {
  background: #fff;
  border: 1px solid #d9e0e3;
  border-radius: 3px;
  box-shadow: 0 12px 30px rgba(16, 47, 59, .09);
  min-width: 0;
  overflow: hidden;
  scroll-margin-top: 16px;
}
.mk-architect-sheet-head {
  align-items: start;
  border-bottom: 1px solid #e1e6e8;
  display: grid;
  gap: 14px;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  padding: 24px 28px 18px;
}
.mk-architect-sheet-number { color: #bd6a35; font-family: Georgia, serif; font-size: 34px; line-height: 1; }
.mk-architect-sheet-head small { color: #a65e2f; font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.mk-architect-sheet-head h3 { font-family: Georgia, serif; font-size: clamp(22px, 3vw, 31px); line-height: 1.08; margin: 5px 0; }
.mk-architect-sheet-head p { color: var(--mk-final-muted); font-size: 10px; line-height: 1.45; margin: 0; }
.mk-architect-sheet-head > b { align-self: center; border-radius: 999px; font-size: 9px; padding: 7px 10px; text-transform: uppercase; }
.mk-architect-sheet-body { display: grid; gap: 16px; padding: 24px 28px 30px; }
.mk-architect-sheet > footer {
  align-items: center;
  border-top: 1px solid #e8edef;
  color: #7a858a;
  display: flex;
  font-size: 8px;
  justify-content: space-between;
  letter-spacing: .08em;
  padding: 10px 28px;
}

.mk-architect-sheet--cover { background: linear-gradient(148deg, #fff 0%, #fff 72%, #f4ece4 100%); }
.mk-architect-sheet--cover > .mk-architect-sheet-head { display: none; }
.mk-architect-sheet--cover > .mk-architect-sheet-body { min-height: 720px; padding: 0; }
.mk-architect-cover { display: grid; gap: 26px; grid-template-rows: auto 1fr auto auto auto; min-height: 720px; padding: 30px 34px; width: 100%; }
.mk-architect-cover-brand { align-items: end; border-bottom: 1px solid #d8dfe2; display: grid; gap: 2px; grid-template-columns: auto 1fr auto; padding-bottom: 13px; }
.mk-architect-cover-brand small { color: #aa6031; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.mk-architect-cover-brand strong { font-family: Georgia, serif; font-size: 18px; text-align: center; }
.mk-architect-cover-brand span { color: var(--mk-final-muted); font-size: 9px; }
.mk-architect-cover-title { align-self: center; max-width: 680px; }
.mk-architect-cover-title small { color: #b96431; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.mk-architect-cover-title h1 { font-family: Georgia, serif; font-size: clamp(40px, 6vw, 72px); font-weight: 500; line-height: .98; margin: 12px 0 20px; }
.mk-architect-cover-title p { color: #42535a; font-size: 15px; line-height: 1.65; margin: 0; }
.mk-architect-cover-alert { align-items: start; background: #fff7e9; border: 1px solid #e9bd83; display: grid; gap: 11px; grid-template-columns: 26px minmax(0, 1fr); padding: 14px; }
.mk-architect-cover-alert > b { align-items: center; background: #b76632; border-radius: 999px; color: #fff; display: flex; height: 25px; justify-content: center; }
.mk-architect-cover-alert div { display: grid; gap: 4px; }
.mk-architect-cover-alert strong { font-size: 11px; text-transform: uppercase; }
.mk-architect-cover-alert span { color: #624628; font-size: 10px; line-height: 1.5; }
.mk-architect-cover-note { color: #69777d; font-size: 9px; line-height: 1.5; margin: 0; }

.mk-architect-fact-grid { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mk-architect-fact-grid article { border-left: 3px solid #be6a34; display: grid; gap: 4px; min-width: 0; padding: 7px 9px; }
.mk-architect-fact-grid span { color: var(--mk-final-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mk-architect-fact-grid strong { font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.mk-architect-fact-grid small { color: var(--mk-final-muted); font-size: 8px; }

.mk-architect-decision { border-left: 5px solid #5d3ca7; display: grid; gap: 5px; padding: 4px 0 4px 14px; }
.mk-architect-decision small { color: #5d3ca7; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.mk-architect-decision strong { font-family: Georgia, serif; font-size: 23px; }
.mk-architect-decision p { color: var(--mk-final-muted); font-size: 10px; line-height: 1.5; margin: 0; }
.mk-architect-status-grid { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mk-architect-status-grid article { border: 1px solid currentColor; border-radius: 10px; display: grid; gap: 4px; padding: 10px; }
.mk-architect-status-grid article b { font-size: 16px; }
.mk-architect-status-grid article span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mk-architect-status-grid article strong { font-size: 10px; }
.mk-architect-dashboard-columns { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-dashboard-columns section { background: #f7f9fa; border: 1px solid #e1e6e8; padding: 14px; }
.mk-architect-dashboard-columns h4,
.mk-architect-subsection h4,
.mk-architect-response-grid h4 { font-family: Georgia, serif; font-size: 16px; margin: 0 0 10px; }
.mk-architect-dashboard-columns ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; }
.mk-architect-dashboard-columns li,
.mk-architect-dashboard-columns p { color: #42535a; font-size: 10px; line-height: 1.45; }

.mk-architect-subsection { border-top: 1px solid #e3e8ea; display: grid; gap: 10px; padding-top: 16px; }
.mk-architect-section-alert { align-items: start; background: #f3f0fa; border-left: 4px solid #5d3ca7; display: grid; gap: 3px; padding: 12px 14px; }
.mk-architect-section-alert strong { font-size: 10px; text-transform: uppercase; }
.mk-architect-section-alert span { color: #5e6571; font-size: 9px; line-height: 1.45; }

.mk-architect-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-review-card { background: #fff; border-radius: 3px; box-shadow: 0 3px 12px rgba(16, 47, 59, .04); }
.mk-architect-review-card dl { border: 1px solid #e2e7e9; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.mk-architect-review-card dl div { display: grid; gap: 4px; padding: 8px; }
.mk-architect-review-card dl div:nth-child(odd) { border-right: 1px solid #e2e7e9; }
.mk-architect-review-card dl div:nth-child(-n+2) { border-bottom: 1px solid #e2e7e9; }
.mk-architect-review-card dt { color: var(--mk-final-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mk-architect-review-card dd { font-size: 9px; line-height: 1.45; margin: 0; }
.mk-architect-review-image { border: 1px solid #e0e5e7; display: block; overflow: hidden; }
.mk-architect-review-image img { aspect-ratio: 16 / 9; display: block; object-fit: cover; width: 100%; }
.mk-architect-evidence-links { display: flex !important; flex-wrap: wrap; grid-template-columns: none !important; }
.mk-architect-evidence-links a { background: #f2eff9; border-radius: 999px; color: #5d3ca7; font-size: 8px; font-weight: 800; padding: 6px 8px; text-decoration: none; }
.mk-architect-assignment { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-assignment label { color: var(--mk-final-muted); display: grid; font-size: 8px; font-weight: 800; gap: 4px; text-transform: uppercase; }
.mk-architect-assignment input { border: 1px solid #ced8dd; border-radius: 7px; color: var(--mk-final-ink); font: inherit; font-size: 10px; min-height: 36px; padding: 7px; text-transform: none; width: 100%; }

.mk-architect-check-stats { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mk-architect-check-stats article { background: #f7f9fa; border: 1px solid #e0e6e8; display: grid; gap: 4px; padding: 14px; }
.mk-architect-check-stats strong { font-family: Georgia, serif; font-size: 28px; }
.mk-architect-check-stats span { color: var(--mk-final-muted); font-size: 9px; text-transform: uppercase; }
.mk-architect-mission-grid,
.mk-architect-response-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-mission { border: 1px solid #d9e1e4; }
.mk-architect-mission header { background: #173f4a; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .08em; padding: 11px 13px; text-transform: uppercase; }
.mk-architect-mission--later header { background: #a05b2f; }
.mk-architect-mission ol { display: grid; gap: 9px; margin: 0; padding: 14px 14px 14px 35px; }
.mk-architect-mission li { color: #42535a; font-size: 10px; line-height: 1.45; }
.mk-architect-workflow { display: grid; gap: 1px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mk-architect-workflow span { background: #eef2f3; font-size: 8px; font-weight: 800; line-height: 1.35; padding: 10px 7px; text-align: center; text-transform: uppercase; }
.mk-architect-response-grid > section { display: grid; min-width: 0; }

.mk-architect-collaboration { display: grid; gap: 11px; padding: 15px; }
.mk-architect-collaboration > small { color: #a85e30; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.mk-architect-collaboration h3 { font-family: Georgia, serif; font-size: 24px; margin: 0; }
.mk-architect-progress { background: #e7ecee; border-radius: 999px; height: 8px; overflow: hidden; }
.mk-architect-progress span { background: linear-gradient(90deg, #5d3ca7, #bf6a32); display: block; height: 100%; }
.mk-architect-collaboration dl { display: grid; gap: 0; margin: 0; }
.mk-architect-collaboration dl div { align-items: center; border-bottom: 1px solid #e5eaec; display: flex; justify-content: space-between; padding: 8px 0; }
.mk-architect-collaboration dt { color: var(--mk-final-muted); font-size: 9px; }
.mk-architect-collaboration dd { font-size: 10px; font-weight: 800; margin: 0; }
.mk-architect-collaboration > a,
.mk-architect-collaboration > button { background: #5d3ca7; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-size: 9px; font-weight: 800; padding: 11px; text-align: center; text-decoration: none; }
.mk-architect-collaboration > button { background: #fff; border: 1px solid #5d3ca7; color: #5d3ca7; }
.mk-architect-collaboration > p { color: var(--mk-final-muted); font-size: 8px; line-height: 1.45; margin: 0; }

@media (max-width: 1050px) {
  .mk-architect-dossier-layout { grid-template-columns: 170px minmax(0, 1fr); }
  .mk-architect-collaboration { grid-column: 2; position: static; }
  .mk-final-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mk-global-deliverable__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-final-api-grid,
  .mk-final-visuals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-final-concordances dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-final-concordances dl div:nth-child(2) { border-right: 0; }
  .mk-offer-line { grid-template-columns: 28px repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 720px) {
  .mk-final-hero { align-items: stretch; grid-template-columns: 1fr; padding: 20px; }
  .mk-global-deliverable { border-radius: 13px; padding: 14px; }
  .mk-global-deliverable > header { align-items: stretch; flex-direction: column; }
  .mk-global-deliverable > header > b { align-self: flex-start; }
  .mk-global-deliverable__requirements { grid-template-columns: 1fr; }
  .mk-global-deliverable__links { align-items: stretch; flex-direction: column; }
  .mk-global-deliverable__links a,
  .mk-global-deliverable__links button { justify-content: center; }
  .mk-global-deliverable__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-final-stats,
  .mk-final-api-grid,
  .mk-final-visuals,
  .mk-architect-review-grid,
  .mk-final-form > div { grid-template-columns: 1fr; }
  .mk-offer-project,
  .mk-offer-totals,
  .mk-offer-totals--detailed { grid-template-columns: 1fr; }
  .mk-offer-line { grid-template-columns: 1fr !important; }
  .mk-offer-totals div { border-bottom: 1px solid var(--mk-final-line); border-right: 0; }
  .mk-final-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-final-concordances dl { grid-template-columns: 1fr; }
  .mk-final-concordances dl div { border-bottom: 1px solid var(--mk-final-line); border-right: 0; }
  .mk-final-anomalies article { grid-template-columns: 1fr; }
  .mk-final-guardrail { align-items: start; flex-direction: column; }
  .mk-final-packet { grid-template-columns: 1fr; }
  .mk-final-timeline article { grid-template-columns: 1fr; }
  .mk-final-timeline small { text-align: left; }
  .mk-price-bridge-actions { align-items: stretch; flex-direction: column; }
  .mk-architect-dossier-layout { grid-template-columns: 1fr; }
  .mk-architect-chapters { border-radius: 10px; overflow: auto; position: sticky; top: 0; z-index: 20; }
  .mk-architect-chapters > div { display: none; }
  .mk-architect-chapters nav { display: flex; gap: 3px; min-width: max-content; padding: 6px; }
  .mk-architect-chapters a { grid-template-columns: 22px auto 7px; min-height: 34px; }
  .mk-architect-chapters a b { display: none; }
  .mk-architect-collaboration { grid-column: 1; grid-row: 2; position: static; }
  .mk-architect-sheets { grid-column: 1; grid-row: 3; }
  .mk-architect-sheet-head { gap: 9px; grid-template-columns: 38px minmax(0, 1fr); padding: 18px 16px 14px; }
  .mk-architect-sheet-head > b { grid-column: 2; justify-self: start; }
  .mk-architect-sheet-number { font-size: 26px; }
  .mk-architect-sheet-body { padding: 17px 16px 22px; }
  .mk-architect-sheet > footer { padding: 9px 16px; }
  .mk-architect-sheet--cover > .mk-architect-sheet-body,
  .mk-architect-cover { min-height: 620px; }
  .mk-architect-cover { padding: 22px 18px; }
  .mk-architect-cover-brand { grid-template-columns: 1fr auto; }
  .mk-architect-cover-brand strong { display: none; }
  .mk-architect-cover-title h1 { font-size: 42px; }
  .mk-architect-fact-grid,
  .mk-architect-status-grid,
  .mk-architect-dashboard-columns,
  .mk-architect-mission-grid,
  .mk-architect-response-grid,
  .mk-architect-check-stats { grid-template-columns: 1fr; }
  .mk-architect-review-card dl,
  .mk-architect-assignment { grid-template-columns: 1fr; }
  .mk-architect-review-card dl div { border-bottom: 1px solid #e2e7e9; border-right: 0 !important; }
  .mk-architect-workflow { grid-template-columns: 1fr; }
}

@media print {
  .mk-price-persistence-form,
  .mk-offer-validate,
  .mk-final-prospect-select,
  .mk-final-message { display: none !important; }
  .mk-price-persistence-panel { break-after: avoid; }
  body.mk-architect-dossier-printing * { visibility: hidden !important; }
  body.mk-architect-dossier-printing #mk-final-workspace,
  body.mk-architect-dossier-printing #mk-final-workspace * { visibility: visible !important; }
  body.mk-architect-dossier-printing #mk-final-workspace { display: block; inset: 0; padding: 0; position: absolute; width: 100%; }
  body.mk-architect-dossier-printing .mk-final-hero,
  body.mk-architect-dossier-printing .mk-final-guardrail,
  body.mk-architect-dossier-printing .mk-architect-packet-head,
  body.mk-architect-dossier-printing .mk-architect-chapters,
  body.mk-architect-dossier-printing .mk-architect-collaboration,
  body.mk-architect-dossier-printing .mk-architect-review-card textarea,
  body.mk-architect-dossier-printing .mk-architect-review-card nav,
  body.mk-architect-dossier-printing .mk-architect-assignment,
  body.mk-architect-dossier-printing .mk-final-form button { display: none !important; }
  body.mk-architect-dossier-printing .mk-architect-dossier-layout { display: block; }
  body.mk-architect-dossier-printing .mk-architect-sheets { display: block; }
  body.mk-architect-dossier-printing .mk-architect-sheet { border: 0; break-after: page; box-shadow: none; margin: 0; min-height: 270mm; }
  body.mk-architect-dossier-printing .mk-architect-sheet:last-child { break-after: auto; }
  body.mk-architect-dossier-printing .mk-architect-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Synthèse architecte V13.2 — lecture claire, sans commandes par ligne */
.mk-architect-summary-hero { align-items: center; }
.mk-architect-summary-hero p { font-size: 16px; }
.mk-architect-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-column: 1 / -1;
}
.mk-architect-top-actions button {
  align-items: center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  gap: 9px;
  min-height: 46px;
  padding: 10px 15px;
}
.mk-architect-top-actions button b {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  color: #50328f;
  display: inline-flex;
  font-size: 12px;
  justify-content: center;
  min-height: 24px;
  min-width: 24px;
  padding: 0 7px;
}
.mk-architect-summary-status {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mk-architect-summary-status article {
  background: #fff;
  border: 1px solid var(--mk-final-line);
  border-radius: 14px;
  display: grid;
  gap: 5px;
  padding: 17px;
}
.mk-architect-summary-status span { color: var(--mk-final-muted); font-size: 13px; font-weight: 700; }
.mk-architect-summary-status strong { color: var(--mk-final-ink); font-size: 21px; line-height: 1.2; }
.mk-architect-summary-status small { color: #5f6f77; font-size: 12px; line-height: 1.4; }
.mk-architect-summary-layout {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mk-architect-summary-block {
  background: #fff;
  border: 1px solid var(--mk-final-line);
  border-radius: 16px;
  box-shadow: 0 8px 26px rgba(16,47,59,.06);
  min-width: 0;
  overflow: hidden;
}
.mk-architect-summary-block--wide { grid-column: 1 / -1; }
.mk-architect-summary-block--accent { border-top: 5px solid #bb6b35; }
.mk-architect-summary-block--primary,
.mk-architect-summary-block--wide { border-top: 5px solid #5d3ca7; }
.mk-architect-summary-block--danger { border-top: 5px solid #b63c32; }
.mk-architect-summary-block--success { border-top: 5px solid #21835a; }
.mk-architect-summary-block > header {
  align-items: center;
  background: #fafbfc;
  border-bottom: 1px solid var(--mk-final-line);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 18px 20px;
}
.mk-architect-summary-block > header small {
  color: #9c592f;
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
}
.mk-architect-summary-block > header h3 {
  color: var(--mk-final-ink);
  font-family: Georgia, serif;
  font-size: 25px;
  line-height: 1.15;
  margin: 4px 0 0;
}
.mk-architect-summary-block > header > b {
  background: #ece8f7;
  border-radius: 999px;
  color: #52338f;
  flex: 0 0 auto;
  font-size: 12px;
  padding: 7px 10px;
}
.mk-architect-summary-content { color: #263f48; font-size: 16px; line-height: 1.55; padding: 18px 20px 21px; }
.mk-architect-readable-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-readable-grid article {
  background: #f7f9fa;
  border: 1px solid #e3e8eb;
  border-radius: 11px;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px 14px;
}
.mk-architect-readable-grid span { color: #687780; font-size: 12px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.mk-architect-readable-grid strong { color: #183741; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.mk-architect-readable-grid small { color: #748189; font-size: 11px; }
.mk-architect-summary-empty { background: #f6f8f9; border-radius: 10px; color: #687780; font-size: 15px; padding: 17px; }
.mk-architect-api-summary { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-architect-api-summary article { border: 1px solid #dfe5e8; border-radius: 12px; display: grid; gap: 12px; padding: 15px; }
.mk-architect-api-summary article > div strong { display: block; font-size: 17px; }
.mk-architect-api-summary article > div small { color: #6b7880; display: block; font-size: 11px; margin-top: 3px; }
.mk-architect-api-summary dl { display: grid; gap: 7px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.mk-architect-api-summary dl div { display: grid; gap: 4px; }
.mk-architect-api-summary dt { color: #687780; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.mk-architect-api-summary dd { border-radius: 7px; font-size: 12px; font-weight: 800; margin: 0; padding: 6px 7px; }
.mk-architect-api-summary a,
.mk-architect-concordance-summary a { color: #5939a1; font-size: 13px; font-weight: 800; text-decoration: none; }
.mk-architect-concordance-summary { display: grid; gap: 12px; }
.mk-architect-concordance-summary article { border: 1px solid #dfe5e8; border-radius: 12px; overflow: hidden; }
.mk-architect-concordance-summary article > header { align-items: center; background: #f7f9fa; display: flex; gap: 10px; justify-content: space-between; padding: 13px 15px; }
.mk-architect-concordance-summary article > header strong { font-size: 17px; }
.mk-architect-concordance-summary article > header b { border-radius: 999px; font-size: 11px; padding: 6px 8px; }
.mk-architect-concordance-summary article > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mk-architect-concordance-summary p { border-right: 1px solid #e4e9eb; font-size: 14px; line-height: 1.45; margin: 0; padding: 13px 15px; }
.mk-architect-concordance-summary p:last-child { border-right: 0; }
.mk-architect-concordance-summary p span { color: #687780; display: block; font-size: 10px; font-weight: 900; margin-bottom: 5px; text-transform: uppercase; }
.mk-architect-concordance-summary article > a { display: inline-block; padding: 0 15px 14px; }
.mk-architect-anomaly-summary { display: grid; gap: 10px; }
.mk-architect-anomaly-summary article { align-items: start; border: 1px solid #ebcf9e; border-left: 5px solid #d78d22; border-radius: 10px; display: grid; gap: 14px; grid-template-columns: 145px minmax(0, 1fr); padding: 14px; }
.mk-architect-anomaly-summary article.is-high,
.mk-architect-anomaly-summary article.is-critical { border-color: #eab4af; border-left-color: #b63c32; }
.mk-architect-anomaly-summary article > b { color: #8b4b1e; font-size: 11px; text-transform: uppercase; }
.mk-architect-anomaly-summary article div { display: grid; gap: 5px; }
.mk-architect-anomaly-summary article strong { font-size: 16px; }
.mk-architect-anomaly-summary article span { color: #5f6f77; font-size: 14px; }
.mk-architect-all-clear { background: #eaf8f1; border-radius: 11px; color: #176849; display: grid; gap: 4px; padding: 15px; }
.mk-architect-all-clear strong { font-size: 17px; }
.mk-architect-all-clear span { font-size: 14px; }

.mk-regulatory-diagnostic {
  align-items: start;
  border: 1px solid #b9dfcf;
  border-left: 6px solid #21835a;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 15px;
  padding: 15px 16px;
}
.mk-regulatory-diagnostic.is-danger { background: #fff5f4; border-color: #e8b2ad; border-left-color: #b63c32; }
.mk-regulatory-diagnostic.is-ok { background: #effaf5; }
.mk-regulatory-diagnostic > div { display: grid; gap: 5px; }
.mk-regulatory-diagnostic small { color: #8f4e2e; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.mk-regulatory-diagnostic strong { color: #203b44; font-size: 18px; line-height: 1.45; }
.mk-regulatory-diagnostic span { color: #5d6e76; font-size: 14px; }
.mk-regulatory-diagnostic nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mk-regulatory-diagnostic a {
  background: #5d3ca7;
  border-radius: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 9px 11px;
  text-decoration: none;
}
.mk-regulatory-coverage {
  align-items: center;
  background: #f5f2fb;
  border-radius: 10px;
  color: #52358e;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 11px 13px;
}
.mk-regulatory-coverage strong { font-size: 15px; }
.mk-regulatory-coverage span { font-size: 13px; }
.mk-regulatory-criteria-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-regulatory-criterion { border: 1px solid #dde4e7; border-radius: 12px; min-width: 0; overflow: hidden; }
.mk-regulatory-criterion.is-extracted { border-top: 4px solid #5d3ca7; }
.mk-regulatory-criterion.is-missing { border-top: 4px solid #d58a21; }
.mk-regulatory-criterion > header {
  align-items: center;
  background: #f8fafb;
  border-bottom: 1px solid #e2e8ea;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 13px 14px;
}
.mk-regulatory-criterion h4 { color: #173741; font-size: 17px; line-height: 1.3; margin: 0; }
.mk-regulatory-criterion > header > b { background: #fff2d9; border-radius: 999px; color: #976014; flex: 0 0 auto; font-size: 9px; padding: 6px 8px; }
.mk-regulatory-criterion.is-extracted > header > b { background: #ece8f7; color: #52338f; }
.mk-regulatory-criterion > div { display: grid; gap: 9px; padding: 12px 14px 14px; }
.mk-regulatory-rule { background: #fff; border-left: 3px solid #8f78c5; display: grid; gap: 7px; padding-left: 11px; }
.mk-regulatory-rule + .mk-regulatory-rule { border-top: 1px solid #e6ebed; padding-top: 11px; }
.mk-regulatory-rule > header { align-items: start; display: flex; gap: 8px; justify-content: space-between; }
.mk-regulatory-rule > header strong { color: #263f48; font-size: 15px; line-height: 1.35; }
.mk-regulatory-rule > header b { background: #f0eff4; border-radius: 999px; color: #625c71; flex: 0 0 auto; font-size: 9px; padding: 5px 7px; text-transform: uppercase; }
.mk-regulatory-rule > header b.is-required { background: #edf2ff; color: #3159be; }
.mk-regulatory-rule > header b.is-prohibited { background: #fff0f0; color: #c53c3c; }
.mk-regulatory-rule > header b.is-conditional { background: #fff7e5; color: #a86808; }
.mk-regulatory-rule > header b.is-allowed { background: #e9f8f2; color: #147553; }
.mk-regulatory-rule p { color: #183741; font-size: 17px; font-weight: 750; line-height: 1.5; margin: 0; }
.mk-regulatory-rule > span { color: #586970; font-size: 13px; line-height: 1.45; }
.mk-regulatory-rule > footer { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.mk-regulatory-rule > footer small { color: #687780; font-size: 11px; font-weight: 800; }
.mk-regulatory-rule > footer a { color: #5939a1; font-size: 12px; font-weight: 900; text-decoration: none; }
.mk-regulatory-missing { color: #8a601f; font-size: 15px; line-height: 1.5; margin: 0; }
.mk-regulatory-notice { align-items: start; background: #fff8e8; border-radius: 10px; color: #775d2b; display: grid; gap: 4px; margin-top: 14px; padding: 13px 14px; }
.mk-regulatory-notice strong { font-size: 13px; text-transform: uppercase; }
.mk-regulatory-notice span { font-size: 13px; line-height: 1.45; }

.mk-architect-modal {
  align-items: center;
  background: rgba(13,24,30,.72);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 22px;
  position: fixed;
  z-index: 10000;
}
.mk-architect-modal-dialog { background: #fff; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.3); display: grid; max-height: calc(100vh - 44px); max-width: 1120px; overflow: hidden; width: 100%; }
.mk-architect-modal-dialog > header { align-items: start; background: linear-gradient(135deg, #34226c, #5d3ca7); color: #fff; display: flex; gap: 15px; justify-content: space-between; padding: 20px 22px; }
.mk-architect-modal-dialog > header small { color: #f4c899; font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.mk-architect-modal-dialog > header h3 { font-family: Georgia, serif; font-size: 27px; margin: 4px 0; }
.mk-architect-modal-dialog > header p { color: rgba(255,255,255,.75); font-size: 13px; margin: 0; }
.mk-architect-modal-dialog > header button { align-items: center; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; cursor: pointer; display: flex; flex: 0 0 auto; font-size: 28px; height: 42px; justify-content: center; line-height: 1; width: 42px; }
.mk-architect-modal-body { display: grid; gap: 18px; overflow: auto; overscroll-behavior: contain; padding: 20px 22px 28px; }
.mk-architect-modal-body > section > h4 { color: #58399a; font-family: Georgia, serif; font-size: 21px; margin: 0 0 10px; }
.mk-architect-document-card { border: 1px solid #dfe5e8; border-radius: 12px; overflow: hidden; }
.mk-architect-document-card > summary { align-items: center; cursor: pointer; display: flex; gap: 12px; justify-content: space-between; list-style: none; padding: 14px 16px; }
.mk-architect-document-card > summary::-webkit-details-marker { display: none; }
.mk-architect-document-card > summary strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.mk-architect-document-card > summary small { color: #687780; display: block; font-size: 11px; margin-top: 3px; }
.mk-architect-document-card > summary b { border-radius: 999px; flex: 0 0 auto; font-size: 11px; padding: 7px 9px; }
.mk-architect-document-card > div { background: #f8fafb; border-top: 1px solid #dfe5e8; display: grid; gap: 12px; padding: 16px; }
.mk-architect-document-summary { color: #263f48; font-size: 16px; line-height: 1.55; margin: 0; }
.mk-architect-document-card h5 { color: #5939a1; font-size: 14px; margin: 0 0 7px; }
.mk-architect-document-card ul { margin: 0; padding-left: 20px; }
.mk-architect-document-card li { font-size: 14px; line-height: 1.5; margin: 5px 0; }
.mk-architect-document-card li small { color: #6d7a82; display: block; font-size: 11px; }
.mk-architect-document-card nav { display: flex; flex-wrap: wrap; gap: 8px; }
.mk-architect-document-card nav a { background: #5d3ca7; border-radius: 8px; color: #fff; font-size: 13px; font-weight: 800; padding: 8px 11px; text-decoration: none; }
.mk-architect-document-card > div > small { color: #687780; font-size: 11px; }

.mk-internal-index { background: #fff; border: 1px solid #dfe5e8; border-radius: 18px; box-shadow: 0 14px 34px rgba(35,49,61,.08); overflow: hidden; }
.mk-internal-index > summary { align-items: center; background: linear-gradient(135deg, #172d38, #285062); color: #fff; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 18px 20px; }
.mk-internal-index > summary::-webkit-details-marker { display: none; }
.mk-internal-index > summary small { color: #9fd6c4; display: block; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.mk-internal-index > summary strong { display: block; font-size: 20px; margin-top: 4px; }
.mk-internal-index > summary > b { background: rgba(255,255,255,.14); border-radius: 999px; padding: 8px 11px; }
.mk-internal-index__body { display: grid; gap: 13px; padding: 16px; }
.mk-internal-index__body > label { color: #52636b; display: grid; font-size: 12px; font-weight: 800; gap: 6px; }
.mk-internal-index__body input { border: 1px solid #cad5d9; border-radius: 10px; font: inherit; font-size: 15px; padding: 11px 12px; }
.mk-internal-index__counts { display: flex; flex-wrap: wrap; gap: 9px; }
.mk-internal-index__counts span { background: #f1f6f7; border-radius: 999px; color: #50636a; font-size: 12px; padding: 7px 10px; }
.mk-internal-dossier-list { display: grid; gap: 7px; max-height: 520px; overflow: auto; overscroll-behavior: contain; }
.mk-internal-dossier-row { align-items: center; background: #fff; border: 1px solid #e0e7e9; border-radius: 11px; color: #263f48; cursor: pointer; display: grid; font: inherit; gap: 10px; grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(95px, auto)); padding: 11px 12px; text-align: left; width: 100%; }
.mk-internal-dossier-row:hover, .mk-internal-dossier-row.is-selected { background: #f5fbf8; border-color: #50a486; }
.mk-internal-dossier-row span { display: grid; gap: 2px; }
.mk-internal-dossier-row span:not(:first-child) { text-align: center; }
.mk-internal-dossier-row strong { font-size: 14px; }
.mk-internal-dossier-row b { font-size: 15px; }
.mk-internal-dossier-row small { color: #6e7d83; font-size: 10px; }
.mk-internal-dossier-row .is-ok { color: #147553; }
.mk-internal-dossier-row .is-warning { color: #a86808; }
.mk-internal-index__limit { color: #6e7d83; font-size: 12px; margin: 0; text-align: center; }
.mk-internal-storage, .mk-internal-queue { align-items: center; border-radius: 14px; display: flex; gap: 12px; padding: 14px 16px; }
.mk-internal-storage { background: #eef9f4; border: 1px solid #b9dfcf; color: #175e48; }
.mk-internal-storage.is-warning { background: #fff8e8; border-color: #efd69f; color: #7d5b18; }
.mk-internal-storage > b { font-size: 23px; }
.mk-internal-storage strong, .mk-internal-storage span { display: block; }
.mk-internal-storage span { font-size: 12px; margin-top: 3px; }
.mk-internal-queue { background: #f2effc; color: #52338f; }
.mk-internal-queue__pulse { animation: mk-internal-pulse 1.1s infinite; background: #7350d8; border-radius: 50%; height: 10px; width: 10px; }
@keyframes mk-internal-pulse { 50% { opacity: .25; transform: scale(.72); } }
.mk-internal-analysis-list { display: grid; gap: 12px; }
.mk-internal-analysis-card { border: 1px solid #dde5e7; border-radius: 13px; overflow: hidden; }
.mk-internal-analysis-card > header { align-items: start; background: #f6f4fb; display: flex; gap: 12px; justify-content: space-between; padding: 13px 15px; }
.mk-internal-analysis-card header small { color: #6847ad; display: block; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.mk-internal-analysis-card header strong { display: block; font-size: 16px; margin-top: 3px; }
.mk-internal-analysis-card header > b { background: #e6f5ef; border-radius: 999px; color: #147553; font-size: 10px; padding: 6px 8px; }
.mk-internal-analysis-card > p, .mk-internal-analysis-card > ul { color: #29414a; font-size: 15px; line-height: 1.55; margin: 14px 16px; }
.mk-internal-analysis-card > footer { align-items: center; border-top: 1px solid #e4eaec; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 11px 15px; }
.mk-internal-analysis-card footer span { color: #6e7d83; font-size: 11px; }
.mk-internal-analysis-card footer a, .mk-internal-criteria a { color: #5939a1; font-size: 12px; font-weight: 900; text-decoration: none; }
.mk-internal-criteria { display: grid; gap: 14px; }
.mk-internal-criteria section { border-left: 4px solid #7350d8; padding-left: 14px; }
.mk-internal-criteria h4 { color: #273f48; font-size: 18px; margin: 0 0 8px; }
.mk-internal-criteria ul { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.mk-internal-criteria li { background: #f8fafb; border-radius: 10px; display: grid; gap: 4px; padding: 11px 12px; }
.mk-internal-criteria li strong { color: #243c45; font-size: 14px; }
.mk-internal-criteria li span { color: #304a53; font-size: 15px; line-height: 1.5; }
.mk-internal-criteria li small { color: #6b7b82; font-size: 11px; font-weight: 800; }

@media (max-width: 900px) {
  .mk-architect-summary-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-architect-summary-layout { grid-template-columns: 1fr; }
  .mk-architect-summary-block--wide { grid-column: auto; }
  .mk-architect-api-summary { grid-template-columns: 1fr; }
  .mk-architect-concordance-summary article > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-regulatory-diagnostic { grid-template-columns: 1fr; }
  .mk-regulatory-diagnostic nav { justify-content: flex-start; }
  .mk-regulatory-criteria-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  #mk-final-workspace { gap: 13px; }
  .mk-architect-summary-hero { padding: 18px; }
  .mk-architect-summary-hero h2 { font-size: 31px; }
  .mk-architect-summary-hero p { font-size: 15px; }
  .mk-architect-top-actions { display: grid; grid-template-columns: 1fr; }
  .mk-architect-top-actions button { justify-content: space-between; width: 100%; }
  .mk-architect-summary-status { grid-template-columns: 1fr; }
  .mk-architect-summary-status article { padding: 15px; }
  .mk-architect-summary-block > header { align-items: start; padding: 16px; }
  .mk-architect-summary-block > header h3 { font-size: 23px; }
  .mk-architect-summary-block > header > b { white-space: nowrap; }
  .mk-architect-summary-content { font-size: 16px; padding: 15px 16px 18px; }
  .mk-architect-readable-grid { grid-template-columns: 1fr; }
  .mk-architect-readable-grid strong { font-size: 17px; }
  .mk-architect-api-summary dl { grid-template-columns: 1fr; }
  .mk-architect-concordance-summary article > div { grid-template-columns: 1fr; }
  .mk-architect-concordance-summary p { border-bottom: 1px solid #e4e9eb; border-right: 0; }
  .mk-architect-anomaly-summary article { grid-template-columns: 1fr; }
  .mk-regulatory-diagnostic { padding: 13px; }
  .mk-regulatory-diagnostic strong { font-size: 17px; }
  .mk-regulatory-diagnostic nav { display: grid; }
  .mk-regulatory-diagnostic a { text-align: center; }
  .mk-regulatory-coverage { align-items: start; flex-direction: column; }
  .mk-regulatory-criterion > header { align-items: start; flex-direction: column; }
  .mk-regulatory-rule > header { flex-direction: column; }
  .mk-regulatory-rule p { font-size: 16px; }
  .mk-architect-modal { align-items: stretch; padding: 0; }
  .mk-architect-modal-dialog { border-radius: 0; max-height: 100vh; }
  .mk-architect-modal-dialog > header { padding: 16px; }
  .mk-architect-modal-dialog > header h3 { font-size: 22px; }
  .mk-architect-modal-body { padding: 15px 14px 24px; }
  .mk-architect-document-card > summary { align-items: start; flex-direction: column; }
  .mk-internal-index > summary { align-items: start; gap: 10px; }
  .mk-internal-dossier-row { grid-template-columns: 1fr repeat(3, minmax(64px, auto)); padding: 10px; }
  .mk-internal-dossier-row strong { font-size: 13px; }
  .mk-internal-dossier-row small { font-size: 9px; }
  .mk-internal-analysis-card > header { flex-direction: column; }
}

@media print {
  body.mk-architect-dossier-printing .mk-architect-top-actions,
  body.mk-architect-dossier-printing .mk-architect-modal { display: none !important; }
  body.mk-architect-dossier-printing .mk-architect-summary-layout { display: block; }
  body.mk-architect-dossier-printing .mk-architect-summary-block,
  body.mk-architect-dossier-printing .mk-global-deliverable { break-inside: avoid; box-shadow: none; margin-bottom: 12px; }
}
