html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
.shell, .workspace, .card, .card-body, .columns, .facts { min-width: 0; }
.shell { width: 100%; max-width: 1440px; }
.intro { align-items: start; margin-bottom: 18px; }
.intro > div { width: 100%; min-width: 0; }
.intro h1 { max-width: 1100px; overflow-wrap: anywhere; }
.intro p { max-width: 1000px; overflow-wrap: anywhere; }
.page-actions { display: flex; margin-bottom: 10px; }
.guided-welcome { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1180px; margin-bottom: 14px; padding: 20px; }
.guided-welcome > div:first-child { min-width: 0; }
.guided-welcome h2 { margin: 9px 0 6px; font-size: clamp(1.2rem,2vw,1.65rem); }
.guided-welcome p { margin: 0; color: var(--muted); line-height: 1.5; }
.guided-start-actions { display: flex; gap: 9px; flex: 0 0 auto; flex-wrap: wrap; }
.guided-welcome.running { min-height: 0; padding: 13px 18px; border-color: #b8dcd8; background: linear-gradient(90deg,#f4fbfa,#fff); }
.guided-welcome.running > div:first-child { display: flex; align-items: center; gap: 12px; width: 100%; }
.guided-welcome.running .automation-badge::after { content: " en cours"; }
.guided-welcome.running h2 { margin: 0; font-size: clamp(1rem,1.8vw,1.35rem); }
.guided-welcome.running #guided-service, .guided-welcome.running .guided-start-actions { display: none; }
.presenter-visual { position: relative; min-width: 188px; height: 48px; flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 5px 13px 5px 7px; border: 1px solid rgba(53,214,199,.35); border-radius: 15px; color: #fff; text-align: left; background: linear-gradient(145deg,#102b3e,#071827); box-shadow: 0 10px 28px rgba(7,24,39,.22); cursor: pointer; transition: transform .18s ease,border-color .18s ease; }
.presenter-visual:hover { border-color: #6fe0d6; transform: translateY(-1px); }
.presenter-visual:focus-visible { outline: 3px solid rgba(53,214,199,.35); outline-offset: 2px; }
.assistant-avatar { position: relative; width: 38px; height: 38px; flex: 0 0 38px; overflow: hidden; border-radius: 13px; background: linear-gradient(155deg,#e9fffc 0 42%,#5ed7cc 43% 100%); box-shadow: inset 0 0 0 1px rgba(7,24,39,.08),0 4px 12px rgba(0,0,0,.18); }
.assistant-avatar::before { content: ""; position: absolute; left: 12px; top: 6px; width: 14px; height: 15px; border-radius: 50% 50% 44% 44%; background: #17475a; box-shadow: 0 -2px 0 #0a2c3d; }
.assistant-avatar::after { content: ""; position: absolute; left: 7px; bottom: -8px; width: 24px; height: 23px; border: 3px solid rgba(255,255,255,.72); border-radius: 50% 50% 12px 12px; background: #0d5260; }
.assistant-avatar > span { position: absolute; z-index: 2; left: 16px; top: 13px; width: 6px; height: 2px; border-radius: 99px; background: #e7fffc; }
.assistant-avatar.small { width: 31px; height: 31px; flex-basis: 31px; border-radius: 10px; }
.assistant-avatar.small::before { left: 10px; top: 5px; width: 12px; height: 12px; }
.assistant-avatar.small::after { left: 5px; width: 21px; height: 19px; }
.assistant-avatar.small > span { left: 13px; top: 11px; }
.assistant-identity { display: grid; min-width: 0; line-height: 1.12; }
.assistant-identity strong { font-size: .76rem; white-space: nowrap; }
.assistant-identity small,[data-agent-state-label] { color: #a9c3d0; font-size: .66rem; white-space: nowrap; }
.presenter-visual[data-state="listening"] { border-color: #ffd28a; }
.presenter-visual[data-state="thinking"] .assistant-avatar { animation: assistantThink 1.2s ease-in-out infinite; }
.presenter-visual.speaking,.presenter-visual[data-state="speaking"] { border-color: #6fe0d6; animation: presenterPulse 1.1s ease-in-out infinite; }
.presenter-visual[data-state="unavailable"] { border-color: #d98b8b; }
.presenter-visual[data-state="unavailable"] .assistant-avatar { filter: grayscale(.65); }
@keyframes presenterPulse { 50% { box-shadow: 0 0 0 15px rgba(53,214,199,.03); transform: scale(1.035); } }
@keyframes presenterMouth { to { height: 17px; border-radius: 45%; } }
@keyframes assistantThink { 50% { transform: translateY(-2px); filter: saturate(1.35); } }
.agent-narration { padding: 12px 14px; color: #fff; background: linear-gradient(135deg,#0b2233,#123c4f); border-bottom: 1px solid rgba(255,255,255,.12); }
.agent-narration h3 { margin: 7px 0 5px; font-size: .98rem; }
.agent-narration p { margin: 0; color: #d8e7ed; line-height: 1.45; font-size: .82rem; }
.guided-result { margin-top: 8px!important; padding: 8px 10px; border-radius: 8px; background: rgba(53,214,199,.12); color: #9cf2e8!important; font-weight: 700; font-size: .78rem; }
.guided-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 8px; border-bottom: 1px solid var(--line); background: #f4f7f9; }
.guided-controls .btn { min-width: 0; min-height: 34px; padding: 6px 8px; font-size: .7rem; white-space: normal; }
.guided-highlight { position: relative; z-index: 2; outline: 4px solid rgba(53,214,199,.75); outline-offset: 4px; border-radius: 10px; box-shadow: 0 0 0 10px rgba(53,214,199,.12), 0 16px 35px rgba(7,24,39,.15); transition: outline-color .25s, box-shadow .25s; }
.session-toggle { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; width: 100%; max-width: 1180px; padding: 9px; text-align: left; white-space: normal; line-height: 1.3; background: #e7eef2; }
.session-summary-badge { display: grid; align-content: center; min-width: 0; min-height: 54px; padding: 8px 11px; border: 1px solid #cedae1; border-radius: 9px; background: rgba(255,255,255,.84); }
.session-summary-badge small { margin-bottom: 2px; color: var(--muted); font-size: .66rem; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.session-summary-badge strong { color: var(--ink); font-size: .8rem; overflow-wrap: anywhere; }
.session-toggle:hover .session-summary-badge { border-color: #9ebfc1; background: #fff; }
.session-panel { width: 100%; margin-bottom: 20px; overflow: hidden; }
.session-panel .card-body { padding: 14px; }
.session-row { display: flex; align-items: end; gap: 10px; min-width: 0; }
.session-row > * { min-width: 0; }
.session-technical { flex: 0 1 220px; }
.session-choices { display: flex; align-items: end; gap: 10px; flex: 1 1 430px; min-width: 0; }
.session-choices .field { flex: 1 1 190px; min-width: 0; }
.session-row .btn { flex: 0 0 auto; }
.session-info { display: none !important; }
.dossier-form { display: grid; grid-template-columns: 1.1fr 2fr 1.35fr .85fr 1fr auto auto; gap: 10px; align-items: end; border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.dossier-form > * { min-width: 0; }
.dossier-form textarea { min-height: 43px; height: 43px; resize: vertical; }
.urgent-field { min-height: 43px; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-size: .86rem; font-weight: 680; }
.urgent-field input { width: auto; }
.workspace { width: 100%; }
.automation-insight { display: grid; grid-template-columns: minmax(0,1.15fr) repeat(3,minmax(0,1fr)); gap: 12px; padding: 16px; border-radius: 14px; background: linear-gradient(135deg,#0d2a3c,#123c4f); color: #fff; }
.automation-insight > div { min-width: 0; }
.automation-insight .automation-main { padding-right: 8px; }
.automation-insight .automation-kicker { color: var(--teal2); text-transform: uppercase; letter-spacing: .06em; font-size: .68rem; font-weight: 800; }
.automation-insight h3 { margin: 5px 0 7px; font-size: 1.12rem; }
.automation-insight b { display: block; margin-bottom: 5px; color: #fff; font-size: .78rem; }
.automation-insight p { margin: 0; color: #c9d9e2; font-size: .79rem; line-height: 1.45; overflow-wrap: anywhere; }
.automation-insight .gain { color: #9cf2e8; font-weight: 750; }
.automation-insight .automation-main .btn { margin-top: 12px; background: var(--teal2); color: var(--navy); }
.automation-demo { padding: 17px; border: 1px solid #aadfd9; border-radius: 14px; background: #f0faf9; }
.automation-demo-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.automation-demo-head h3 { margin: 3px 0 0; font-size: 1.05rem; }
.automation-demo-head p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; }
.automation-explanation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.automation-explanation > div { min-width: 0; padding: 11px 13px; border-left: 4px solid var(--teal); border-radius: 8px; background: #e1f4f1; }
.automation-explanation b { display: block; margin-bottom: 4px; color: #135b56; font-size: .76rem; }
.automation-explanation p { margin: 0; color: #254b49; font-size: .78rem; line-height: 1.4; }
.automation-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.automation-sample { min-width: 0; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); }
.automation-sample.output { border-color: #8fd5ce; box-shadow: 0 8px 24px rgba(8,127,120,.08); }
.automation-sample.output.waiting { border-style: dashed; background: #f8fbfc; box-shadow: none; }
.automation-sample h4 { margin: 0 0 10px; font-size: .82rem; }
.automation-step-number { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-bottom: 9px; border-radius: 50%; background: var(--navy); color: #fff; font-size: .72rem; font-weight: 850; }
.automation-step-copy { min-height: 38px; margin: 0 0 10px; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.automation-sample textarea { width: 100%; min-height: 118px; resize: vertical; border: 1px solid #becbd3; border-radius: 9px; padding: 10px; background: #fff; color: var(--ink); font: inherit; font-size: .8rem; line-height: 1.4; }
.automation-sample textarea[readonly] { background: #f4f7f8; }
.automation-sample.rules ol { margin: 0; padding-left: 20px; }
.automation-sample.rules li { margin: 0 0 7px; font-size: .78rem; line-height: 1.35; }
.automation-sample dl { display: grid; grid-template-columns: minmax(90px,.35fr) minmax(0,1fr); gap: 7px 10px; margin: 0; }
.automation-sample dt { color: var(--muted); font-size: .74rem; }
.automation-sample dd { margin: 0; font-size: .8rem; overflow-wrap: anywhere; }
.automation-demo-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.automation-demo-actions .hint { margin: 0; }
.automation-demo-actions #automation-result-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.automation-human-check { color: #275c58; font-size: .76rem; font-weight: 750; }
.automation-badge { display: inline-flex; padding: 4px 8px; border-radius: 99px; background: #d9f3ef; color: #075f59; font-size: .7rem; font-weight: 800; }
.confirmed-result-data { display: grid; grid-template-columns: minmax(90px,.25fr) minmax(0,1fr); gap: 7px 12px; margin: 0; padding: 12px; border-radius: 10px; background: #fff; }
.confirmed-result-data dt { color: var(--muted); font-size: .72rem; }
.confirmed-result-data dd { margin: 0; font-size: .78rem; overflow-wrap: anywhere; }
.demo-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 20px; align-items: start; }
.demo-process-main { min-width: 0; }
.process-progress { position: sticky; top: 72px; z-index: 12; min-width: 0; padding: 13px 15px; border-radius: 14px; background: rgba(244,247,249,.97); border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(7,24,39,.08); backdrop-filter: blur(10px); }
.process-progress-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.process-progress h3 { margin: 0 0 3px; font-size: .92rem; }
.process-progress-head p { margin: 0; color: var(--muted); font-size: .7rem; }
.process-legend { display: flex; gap: 6px; flex-wrap: wrap; justify-content: end; }
.process-legend span { padding: 4px 7px; border-radius: 99px; font-size: .63rem; font-weight: 800; white-space: nowrap; }
.legend-auto { color: #075f59; background: #d9f3ef; }
.legend-human { color: #74490b; background: #fff0d6; }
.progress-column { min-width: 0; padding: 15px; border-radius: 14px; background: #f4f7f9; border: 1px solid var(--line); }
.progress-column h3 { margin: 0 0 13px; font-size: .92rem; }
.process-execution { display: flex; overflow-x: auto; gap: 8px; padding: 11px 1px 3px; scrollbar-width: thin; }
.process-node { position: relative; flex: 1 0 130px; min-width: 130px; min-height: 76px; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px; align-items: center; padding: 9px; border: 1px solid #d5e0e6; border-radius: 11px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.process-node:focus-visible { outline: 3px solid rgba(53,214,199,.4); outline-offset: 2px; }
.process-node::after { content: ""; position: absolute; z-index: -1; left: -10px; top: 50%; width: 10px; height: 2px; background: #cad6dc; }
.process-node:first-child::after { display: none; }
.process-node .node-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #45606f; background: #e7eef2; font-size: .9rem; }
.process-node .node-label { display: block; font-size: .75rem; font-weight: 850; line-height: 1.2; }
.process-node .node-state { display: block; margin-top: 3px; color: var(--muted); font-size: .65rem; font-weight: 700; }
.process-node.past { border-color: #a9d8d2; background: #edf9f7; }
.process-node.past .node-icon { color: #fff; background: var(--teal); }
.process-node.current { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(53,214,199,.17); }
.process-node.current .node-icon { color: #fff; background: var(--teal); }
.process-node.validation { border-color: #e4be79; background: #fff9ed; }
.process-node.validation .node-icon { color: #fff; background: var(--amber); }
.process-node.correction { border-color: #e3a6a6; background: #fff3f3; }
.process-node.correction .node-icon { color: #fff; background: var(--red); }
.process-node.consulted:not(.current) { outline: 2px dashed #77919f; outline-offset: 2px; }
.process-node .node-consulted { display: block; margin-top: 2px; color: #526b78; font-size: .59rem; }
.process-branches { margin-top: 10px; padding: 10px; border-left: 4px solid var(--amber); border-radius: 9px; background: #fffaf0; }
.process-branches-head { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; color: #6f470c; font-size: .72rem; font-weight: 850; }
.branch-options { display: flex; gap: 8px; flex-wrap: wrap; }
.branch-path { flex: 1 1 180px; min-width: 0; padding: 8px 10px; border: 1px dashed #d7b679; border-radius: 9px; background: #fff; }
.branch-path strong { display: block; color: var(--ink); font-size: .72rem; }
.branch-path span { display: block; margin-top: 2px; color: var(--muted); font-size: .65rem; line-height: 1.3; }
.branch-path.chosen { border-style: solid; border-color: var(--teal); background: #edf9f7; box-shadow: inset 4px 0 var(--teal); }
.branch-path.return.chosen { border-color: var(--red); background: #fff3f3; box-shadow: inset 4px 0 var(--red); }
.progress-column .timeline { max-height: 250px; }
.decision-panel { padding: 15px; border: 1px solid #d7b679; border-radius: 14px; background: #fffaf0; }
.decision-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.decision-panel-head h3 { margin: 5px 0 0; font-size: 1rem; }
.decision-simulation { margin: 0; padding: 6px 9px; border-radius: 99px; color: #075f59; background: #d9f3ef; font-size: .68rem; font-weight: 850; }
.decision-panel-body { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(230px,.42fr); gap: 12px; align-items: start; }
.decision-panel .action-panel { min-width: 0; padding: 14px; border-radius: 12px; }
.decision-panel .action-panel h3 { font-size: .94rem; }
.decision-panel .action-panel p { font-size: .78rem; }
.decision-panel .row .btn { flex: 1 1 150px; min-width: 0; padding-inline: 9px; }
.decision-panel .notice { margin-top: 0; }
.decision-trace { padding: 12px; border: 1px solid #cbd8de; border-radius: 11px; background: #fff; }
.decision-trace h4 { margin: 0 0 8px; font-size: .78rem; }
.decision-trace-item { padding: 7px 0; border-top: 1px solid #edf1f3; font-size: .7rem; line-height: 1.35; }
.decision-trace-item:first-of-type { border-top: 0; }
.decision-trace-item b { display: block; color: var(--ink); }
.decision-trace-item span { color: var(--muted); }
.decision-reason { margin-top: 9px; }
.decision-reason small { color: #c9d9e2; }
.agent-messages { display: grid; gap: 9px; min-height: 90px; padding: 2px 4px 2px 2px; }
.agent-message { max-width: 88%; padding: 10px 12px; border-radius: 14px 14px 14px 4px; background: #edf8f7; border: 1px solid #bce7e2; overflow-wrap: anywhere; }
.agent-message.user { justify-self: end; border-radius: 14px 14px 4px 14px; background: #eef2f5; border-color: #d6e0e6; }
.agent-message p { margin: 4px 0 0; line-height: 1.45; font-size: .88rem; white-space: pre-line; }
.agent-message b { font-size: .69rem; color: var(--muted); }
.chatbox { position: fixed; right: max(16px, calc((100vw - 1440px) / 2 + 16px)); bottom: 16px; z-index: 45; display: grid; grid-template-rows: auto minmax(0,1fr) auto; width: min(390px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 20px 60px rgba(7,24,39,.24); overflow: hidden; transition: width .2s ease, border-radius .2s ease, box-shadow .2s ease; }
.chatbox-head { min-height: 68px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #fff; background: var(--navy); }
.chatbox-head > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.chatbox-head > div > div:last-child { display: grid; gap: 2px; min-width: 0; }
.chatbox-head h2 { margin: 0; font-size: 1rem; }
.chatbox-head small { color: #b9cad4; font-size: .62rem; }
.chat-collapse { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.2rem; line-height: 1; }
.chatbox-conversation { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.chatbox-body { display: grid; gap: 10px; padding: 12px; }
.chatbox-commands { z-index: 2; display: grid; gap: 8px; padding: 0 10px 10px; border-top: 1px solid var(--line); background: #fff; }
.chatbox-commands .guided-controls { margin: 0 -10px; border-bottom: 1px solid var(--line); }
.chatbox-secondary-actions:empty { display: none; }
.conclusion-actions { display: flex; gap: 10px; flex-wrap: wrap; padding: 16px 20px 0; }
.chatbox.collapsed .chatbox-conversation, .chatbox.collapsed .chatbox-commands { display: none; }
.chatbox.collapsed { display: block; width: 60px; height: 60px; border: 0; border-radius: 50%; background: transparent; box-shadow: 0 10px 30px rgba(7,24,39,.2); overflow: visible; }
.chatbox.collapsed .chatbox-head { width: 60px; min-height: 60px; height: 60px; padding: 10px; border-radius: 50%; background: transparent; }
.chatbox.collapsed .chatbox-identity, .chatbox.collapsed .chat-collapse { display: none; }
.chatbox.collapsed .assistant-avatar { width: 40px; height: 40px; flex-basis: 40px; box-shadow: 0 0 0 6px rgba(53,214,199,.14), 0 8px 24px rgba(7,24,39,.25); }
.chat-intro { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.chat-form { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; }
.chat-form input { width: 100%; min-width: 0; border: 1px solid #becbd3; border-radius: 10px; padding: 10px 12px; }
.chat-form input:focus { outline: 3px solid rgba(53,214,199,.23); border-color: var(--teal); }
.action-panel .notice { margin-bottom: 10px; }
.action-panel input, .action-panel textarea { color: var(--ink); }
.toast { left: 20px; right: auto; bottom: 20px; }

@media (min-width: 1181px) {
  body:has(#agent-card:not(.collapsed):not(.hidden)) #detail { margin-right: 405px; }
}

@media (max-width: 1380px) {
  .dossier-form { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .field-description { grid-column: span 2; }
}
@media (max-width: 1180px) {
  .session-row { flex-wrap: wrap; }
  .session-choices { flex-basis: 100%; }
  .automation-insight { grid-template-columns: 1fr 1fr; }
  .automation-flow { grid-template-columns: 1fr; }
  .automation-step-copy { min-height: 0; }
  .demo-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .decision-panel-body { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .guided-welcome { align-items: stretch; flex-direction: column; }
  .guided-start-actions .btn { flex: 1 1 190px; }
  .presenter-visual { min-width: 42px; width: 42px; height: 42px; padding: 4px; border-radius: 13px; }
  .presenter-visual .assistant-identity { display: none; }
  .presenter-visual .assistant-avatar { width: 32px; height: 32px; flex-basis: 32px; }
  .session-row, .session-choices { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .session-row .session-choices { grid-column: 1 / -1; }
  .session-info { grid-column: 1 / -1; }
  .dossier-form { grid-template-columns: 1fr 1fr; }
  .field-description, .field-target { grid-column: 1 / -1; }
  .agent-message { max-width: 94%; }
  .automation-insight { grid-template-columns: 1fr; }
  .automation-explanation { grid-template-columns: 1fr; }
  .demo-layout { grid-template-columns: 1fr; }
  .progress-column { order: 2; }
  .process-progress { position: static; padding: 12px; }
  .process-progress-head { display: grid; }
  .process-legend { justify-content: start; }
  .process-execution { display: grid; overflow: visible; gap: 7px; }
  .process-node { width: 100%; min-width: 0; min-height: 62px; }
  .process-node::after { left: 23px; top: -8px; width: 2px; height: 8px; }
  .branch-options { display: grid; }
  .session-toggle { grid-template-columns: 1fr 1fr; }
  .guided-highlight { outline-width: 3px; outline-offset: 2px; }
  body:has(#agent-card:not(.collapsed):not(.hidden)) #detail { padding-bottom: 72dvh; }
}
@media (max-width: 520px) {
  .session-row, .session-choices, .dossier-form { grid-template-columns: 1fr; }
  .session-row .session-choices, .session-info, .field-description, .field-target { grid-column: auto; }
  .session-row .btn, .create-request { width: 100%; }
  .chatbox { left: 8px; right: 8px; bottom: 8px; width: auto; max-width: none; }
  .chat-form .btn { padding-inline: 12px; }
  .session-toggle { grid-template-columns: 1fr; }
  .chatbox:not(.collapsed) { max-height: calc(100dvh - 16px); }
  .chatbox.collapsed { left: auto; width: 56px; height: 56px; }
  .chatbox.collapsed .chatbox-head { width: 56px; min-height: 56px; height: 56px; padding: 8px; }
  .guided-controls .btn { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* Carte interactive du processus */
.process-card { overflow: clip; }
.process-card > .card-head { padding-block: 13px; }
.process-scope-note { display: flex; align-items: center; gap: 12px; padding: 8px 16px; color: #405966; background: #eef3f5; border-bottom: 1px solid var(--line); font-size: .7rem; }
.process-scope-note strong { flex: 0 0 auto; color: #0d5f59; }
.process-workspace { display: grid; grid-template-columns: minmax(620px,1.7fr) minmax(310px,.8fr); gap: 12px; height: min(720px,calc(100dvh - 104px)); min-height: 560px; padding: 12px; background: #eaf0f3; }
.process-map-pane, .process-detail-pane { min-width: 0; min-height: 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.process-map-pane { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; gap: 10px; padding: 14px; overflow: hidden; }
.process-detail-pane { display: flex; flex-direction: column; gap: 10px; padding: 13px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.detail-pane-head { padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.detail-pane-head h3 { margin: 6px 0 2px; font-size: .98rem; }
.detail-pane-head p { margin: 0; color: var(--muted); font-size: .68rem; }
.legend-ai { color: #4f397d; background: #eee8fb; }
.process-execution { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; min-height: 0; padding: 0; overflow: visible; }
.process-stage-card { position: relative; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto auto; align-content: start; gap: 7px; min-width: 0; padding: 8px; border: 1px solid #d7e0e5; border-radius: 12px; background: #f8fafb; transition: border-color .2s,box-shadow .2s,background .2s; }
.process-stage-card::after { content: ""; position: absolute; top: 29px; right: -9px; z-index: 3; width: 9px; height: 2px; background: #9db0ba; }
.process-stage-card:last-child::after { display: none; }
.process-stage-card.past { border-color: #abd8d2; background: #f2fbf9; }
.process-stage-card.current { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(53,214,199,.14); }
.process-stage-card.validation { border-color: #e4be79; background: #fffbf2; }
.process-stage-card.correction { border-color: #e1a0a0; background: #fff5f5; }
.process-stage-card.consulted { outline: 2px dashed #6e8b9a; outline-offset: 2px; }
.process-stage-card .process-node { display: grid; grid-template-columns: 26px minmax(0,1fr); width: 100%; min-width: 0; min-height: 50px; padding: 6px; border: 0; background: transparent; box-shadow: none; }
.process-stage-card .process-node::after { display: none; }
.node-index { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #607986; font-size: .7rem; font-weight: 850; }
.process-stage-card.past .node-index, .process-stage-card.current .node-index { background: var(--teal); }
.process-stage-card.validation .node-index { background: var(--amber); }
.process-stage-card.correction .node-index { background: var(--red); }
.process-stage-card .node-label { font-size: .7rem; overflow-wrap: anywhere; }
.process-stage-card .node-engine { display: block; margin-top: 3px; color: #52707d; font-size: .54rem; font-weight: 750; }
.process-stage-card .node-state { font-size: .61rem; }
.automation-link { min-height: 91px; padding: 7px; border-radius: 9px; color: #6a7b85; background: #edf2f4; opacity: .62; }
.automation-link.revealed { color: #163d4b; background: #e6f6f3; opacity: 1; }
.automation-link > span { display: block; color: #0e6d66; font-size: .55rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.automation-link strong { display: block; margin: 3px 0; font-size: .68rem; line-height: 1.22; }
.automation-link small { display: block; color: #4d6874; font-size: .59rem; line-height: 1.34; }
.process-substeps { display: grid; align-content: start; gap: 5px; margin: 0; padding: 0; list-style: none; }
.process-substeps li { display: grid; grid-template-columns: 9px minmax(0,1fr); gap: 5px; align-items: center; color: #83949d; font-size: .61rem; line-height: 1.18; }
.process-substeps li > span { width: 7px; height: 7px; border: 1px solid #aab9c1; border-radius: 50%; background: #fff; }
.process-substeps li.done { color: #27635e; }
.process-substeps li.done > span { border-color: var(--teal); background: var(--teal); }
.process-substeps li.active { color: #0a2737; font-weight: 850; }
.process-substeps li.active > span { border: 2px solid var(--teal); box-shadow: 0 0 0 3px rgba(53,214,199,.18); }
.human-node { display: grid; grid-template-columns: 14px minmax(0,1fr); gap: 5px; align-items: start; padding: 6px; border: 1px solid #e8c98f; border-radius: 8px; color: #73501b; background: #fff9ed; font-size: .58rem; line-height: 1.25; }
.human-node > span { font-size: .72rem; }
.review-automation { width: 100%; padding: 5px; border: 0; border-radius: 7px; color: #116760; background: transparent; font-size: .58rem; font-weight: 800; text-decoration: underline; cursor: pointer; }
.review-automation:focus-visible, .process-node:focus-visible { outline: 3px solid rgba(53,214,199,.35); outline-offset: 2px; }
.map-essential-events { min-height: 42px; padding-top: 8px; border-top: 1px solid var(--line); }
.map-essential-events > strong { display: block; margin-bottom: 5px; font-size: .64rem; }
.map-essential-events > div { display: flex; gap: 5px; flex-wrap: wrap; }
.map-event { padding: 4px 6px; border-radius: 99px; color: #195d57; background: #e3f4f1; font-size: .56rem; font-weight: 750; }
.map-event.return { color: #8b3737; background: #fff0f0; }
.process-branches { margin: 0; padding: 8px; }
.process-branches-head { align-items: start; margin-bottom: 6px; }
.process-branches-head > div { display: grid; gap: 1px; }
.process-branches-head > div > span { color: #866128; font-size: .6rem; font-weight: 650; }
.human-avatar { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--amber); font-size: .65rem; }
.branch-path { padding: 6px 8px; }
.branch-path strong { font-size: .66rem; }
.branch-path span { font-size: .59rem; }
.process-detail-pane .automation-insight { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 11px; }
.process-detail-pane .automation-insight .automation-main { padding: 0; }
.process-detail-pane .automation-insight h3 { font-size: .96rem; }
.process-detail-pane .automation-insight p { font-size: .7rem; }
.insight-chain { display: grid; gap: 5px; }
.insight-chain span { padding: 6px 8px; border-radius: 7px; color: #d7e5eb; background: rgba(255,255,255,.07); font-size: .66rem; line-height: 1.3; }
.insight-chain b { display: inline!important; margin-right: 5px; color: #8ce4da!important; }
.human-check { padding: 7px 8px; border-radius: 8px; background: rgba(255,209,125,.1); }
.human-check b { color: #ffd993!important; }
.process-detail-pane .automation-demo { flex: 0 0 auto; padding: 11px; }
.process-detail-pane .automation-explanation { gap: 7px; margin-bottom: 8px; }
.process-detail-pane .automation-flow { grid-template-columns: 1fr; gap: 7px; }
.process-detail-pane .automation-sample { padding: 9px; }
.process-detail-pane .automation-sample textarea { min-height: 78px; }
.process-detail-pane .decision-panel { padding: 10px; }
.process-detail-pane .decision-panel-body { grid-template-columns: 1fr; }
.process-detail-pane .decision-panel .action-panel { padding: 9px; }
.process-document, .process-history { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.process-document summary, .process-history summary { padding: 9px 10px; color: #193746; font-size: .7rem; font-weight: 850; cursor: pointer; }
.process-document .facts { grid-template-columns: 1fr; gap: 6px; padding: 0 9px 9px; }
.process-document .fact { padding: 8px; font-size: .72rem; }
.process-history .timeline { max-height: 210px; padding: 0 10px 10px; overflow-y: auto; }

@media (max-width: 1180px) {
  .process-workspace { grid-template-columns: minmax(560px,1.5fr) minmax(290px,.8fr); }
}
@media (max-width: 900px) {
  .process-workspace { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .process-map-pane { overflow: visible; }
  .process-detail-pane { max-height: none; overflow: visible; }
  .process-execution { grid-template-columns: 1fr; }
  .process-stage-card { grid-template-columns: 150px minmax(0,1fr); grid-template-rows: auto auto auto; }
  .process-stage-card::after { top: -9px; left: 26px; right: auto; width: 2px; height: 9px; }
  .process-stage-card:first-child::after { display: none; }
  .process-stage-card .process-node { grid-row: 1 / 3; }
  .process-stage-card .automation-link { grid-column: 2; min-height: 0; }
  .process-substeps { grid-column: 2; }
  .human-node { grid-column: 1 / -1; }
  .review-automation { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .process-scope-note { align-items: start; flex-direction: column; gap: 3px; }
  .process-workspace { padding: 7px; }
  .process-map-pane { padding: 10px; }
  .process-progress-head { position: sticky; top: 62px; z-index: 8; margin: -10px -10px 0; padding: 10px; background: rgba(255,255,255,.96); box-shadow: 0 5px 12px rgba(7,24,39,.06); }
  .process-stage-card { grid-template-columns: 120px minmax(0,1fr); }
  .process-legend { gap: 4px; }
  .process-legend span { font-size: .56rem; }
}
@media (max-width: 460px) {
  .process-stage-card { grid-template-columns: 1fr; }
  .process-stage-card .process-node, .process-stage-card .automation-link, .process-stage-card .process-substeps, .human-node, .review-automation { grid-column: 1; grid-row: auto; }
}

/* Parcours prospect en deux pages */
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.selection-page { padding-block: 46px 70px; }
.selection-intro { max-width: 760px; margin-bottom: 34px; }
.selection-intro .eyebrow { color: var(--teal); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.selection-intro h1 { margin: 8px 0; font-size: clamp(2rem,5vw,4.2rem); line-height: .98; }
.selection-intro p { color: var(--muted); font-size: 1.05rem; }
.selection-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.72fr); gap: 28px; align-items: start; }
.selection-layout > div > h2 { margin: 0 0 14px; font-size: 1rem; }
.demo-list { display: grid; gap: 12px; }
.demo-choice { width: 100%; min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; box-shadow: 0 8px 26px rgba(7,24,39,.05); }
.demo-choice:hover, .demo-choice.selected { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(53,214,199,.14),0 12px 30px rgba(7,24,39,.08); }
.demo-choice-index { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--navy); font-weight: 850; }
.demo-choice strong, .demo-choice small { display: block; }
.demo-choice small { margin-top: 5px; color: var(--muted); line-height: 1.4; }
.launch-card { position: sticky; top: 82px; overflow: hidden; }
.launch-card .card-head h2 { margin: 8px 0 0; }
.selection-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.selection-fields.nested { grid-column: 1 / -1; }
.process-configuration-field, .demo-selection-field { grid-column: 1 / -1; }
.process-configuration-field select { font-weight: 750; color: #155f5a; background: #edf8f7; border-color: #bce7e2; }
.process-configuration-field small { display: block; margin-top: 2px; }
.config-mapping { margin-top: 4px; border: 1px solid var(--line); border-radius: 10px; background: #f7fafb; }
.config-mapping summary { cursor: pointer; padding: 9px 11px; font-size: .78rem; font-weight: 750; color: #31505e; }
.config-mapping ul { list-style: none; margin: 0; padding: 0 11px 10px; display: grid; gap: 6px; }
.config-mapping li { display: flex; justify-content: space-between; gap: 12px; font-size: .74rem; color: var(--muted); }
.config-mapping li strong { color: var(--ink); }
.config-mapping li span { text-align: right; overflow-wrap: anywhere; }
.case-customize { border: 1px solid var(--line); border-radius: 12px; }
.case-customize summary { padding: 13px 15px; font-weight: 800; cursor: pointer; }
.selection-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 4px 14px 16px; }
.selection-form .field { min-width: 0; }
.selection-form .field-description, .selection-form .field-target { grid-column: 1 / -1; }
.selection-form label { display: block; margin-bottom: 6px; }
.selection-form input, .selection-form select, .selection-form textarea { width: 100%; min-width: 0; }
.selection-form textarea { min-height: 108px; resize: vertical; }
.selection-form .urgent-field { align-self: end; min-height: 46px; display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #f7fafb; }
.selection-form .urgent-field input { width: 18px; height: 18px; flex: 0 0 auto; }
.launch-presentation { width: 100%; min-height: 52px; font-size: 1rem; }

body.presentation-mode { overflow: hidden; background: #eaf0f3; }
body.presentation-mode #detail { margin-right: 0!important; padding-bottom: 0!important; }
body.presentation-mode .topbar { height: 58px; min-height: 58px; }
.presentation-page { height: var(--app-available-height,calc(100dvh - 58px)); display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; }
.presentation-header { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 9px max(18px,calc((100vw - 1440px)/2 + 18px)); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.presentation-header .back-link { color: #46616f; font-size: .74rem; font-weight: 800; text-decoration: none; }
.presentation-header > div { min-width: 0; }
.presentation-header .automation-badge { margin-right: 9px; vertical-align: middle; }
.presentation-header h1 { display: -webkit-box; max-width: 100%; margin: 3px 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: clamp(.94rem,1.5vw,1.25rem); line-height: 1.18; overflow-wrap: anywhere; vertical-align: middle; }
.fiction-note { padding: 6px 10px; border: 1px solid #c79b44; border-radius: 99px; color: #76520b; font-size: .66rem; font-weight: 850; white-space: nowrap; }
.presentation-stage { min-height: 0; padding: 10px max(14px,calc((100vw - 1440px)/2 + 14px)); overflow: hidden; }
.presentation-start { position: fixed; inset: 0; z-index: 60; display: grid; place-content: center; justify-items: start; width: min(610px,calc(100vw - 32px)); height: max-content; margin: auto; padding: 28px; border: 1px solid #a9d8d2; border-radius: 20px; background: #fff; box-shadow: 0 28px 90px rgba(7,24,39,.3); }
.presentation-start::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(7,24,39,.58); backdrop-filter: blur(4px); }
.presentation-start h2 { margin: 12px 0 8px; font-size: clamp(1.35rem,3vw,2rem); line-height: 1.12; }
.presentation-start p { margin: 0 0 20px; color: var(--muted); line-height: 1.5; }
.presentation-start > div { display: flex; gap: 10px; flex-wrap: wrap; }
.presentation-start .btn { min-height: 48px; }
.presentation-stage > .empty { height: 100%; display: grid; place-content: center; text-align: center; }
.presentation-detail, .process-card { height: 100%; min-height: 0; }
.process-card { display: grid; grid-template-rows: auto auto minmax(0,1fr); border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; }
.case-strip { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 9px 16px; }
.case-strip strong, .case-strip span { display: block; }
.case-strip strong { font-size: .94rem; }
.case-strip div > span { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.presentation-page .process-scope-note { padding-block: 6px; }
.presentation-page .process-map-pane { position: relative; min-height: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; gap: 8px; padding: 12px; border: 0; border-radius: 0; overflow: hidden; background: linear-gradient(180deg,#f7fafb,#eef4f5); }
.presentation-page .process-progress-head h2 { margin: 0; font-size: 1rem; }
.presentation-page .process-progress-head p { margin: 3px 0 0; font-size: .66rem; }
.presentation-page .process-execution { align-self: stretch; }
.scene-focus { position: absolute; inset: 54px 14px 14px; z-index: 12; display: grid; grid-template-rows: auto auto minmax(0,1fr); gap: 9px; padding: 13px; border: 1px solid #a9d8d2; border-radius: 16px; background: rgba(248,252,252,.98); box-shadow: 0 22px 55px rgba(7,24,39,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px) scale(.99); transition: opacity .18s ease,transform .18s ease,visibility .18s; overflow: auto; }
.scene-focus.expanded { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.scene-focus-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.scene-close { padding: 6px 9px; border: 0; border-radius: 8px; color: #31515e; background: #e4ecef; font-weight: 800; cursor: pointer; }
.scene-focus .automation-insight { display: grid; grid-template-columns: 1fr 1.2fr .9fr; gap: 10px; padding: 12px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,#0b2233,#123c4f); }
.scene-focus .automation-main { padding: 0; }
.scene-focus .automation-main h3 { margin: 5px 0; }
.scene-focus .automation-main p, .scene-focus .human-check p { margin: 4px 0 0; font-size: .75rem; line-height: 1.4; }
.scene-focus .automation-demo { min-height: 0; overflow: auto; }
.scene-focus .process-document, .scene-focus .process-history { display: inline-block; margin-right: 8px; }
.scene-focus .process-document[open], .scene-focus .process-history[open] { display: block; }
.scene-conclusion { position: absolute; inset: 54px 14px 14px; z-index: 13; padding: 18px; border-radius: 16px; overflow: auto; background: #fff; box-shadow: 0 22px 55px rgba(7,24,39,.18); }
.scene-conclusion h3 { margin-top: 0; }
.presentation-page #contact-card:not(.hidden) { display: block; }
.presentation-page #metrics-card:not(.hidden) { display: none; }
.presentation-page #contact-card:not(.hidden) { inset: auto 14px 14px; padding: 12px 14px; border: 1px solid #9fcac5; background: rgba(255,255,255,.98); }
.presentation-page #contact-card > h3 { display: inline-block; margin: 0 14px 0 0; font-size: .9rem; }
.presentation-page #contact-card .conclusion-actions { display: inline-flex; padding: 0; vertical-align: middle; }
.presentation-page #contact-card .conclusion-actions .btn { min-height: 34px; padding: 7px 10px; font-size: .68rem; }
.presentation-page #contact-card #contact-form:not(.hidden) { max-height: min(58dvh,520px); margin-top: 10px; padding: 12px; overflow: auto; border-top: 1px solid var(--line); }

.player-bar { z-index: 40; min-width: 0; display: grid; grid-template-columns: auto minmax(260px,1fr) auto minmax(300px,.85fr); gap: 10px; align-items: center; padding: 9px max(14px,calc((100vw - 1440px)/2 + 14px)); border-top: 1px solid #b9c8cf; background: #fff; box-shadow: 0 -10px 30px rgba(7,24,39,.09); }
.player-main { min-width: 0; display: grid; gap: 6px; }
.player-caption { min-width: 0; display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.player-caption > span { color: var(--muted); font-size: .65rem; }
.player-caption strong { font-size: .76rem; }
.player-caption #guided-subtitle { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.guided-chapters { display: flex; gap: 5px; }
.guided-chapters button { flex: 1; min-width: 0; padding: 5px 7px; border: 0; border-radius: 7px; color: #6d7e87; background: #eef2f4; font-size: .58rem; font-weight: 800; cursor: pointer; }
.guided-chapters button.done { color: #17665f; background: #e1f3f0; }
.guided-chapters button.active { color: #fff; background: var(--teal); }
.player-controls { display: flex; gap: 6px; }
.player-controls .btn { min-height: 36px; padding: 7px 10px; font-size: .66rem; white-space: nowrap; }
.player-question { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 6px; }
.player-question input { min-width: 0; padding: 9px 10px; border: 1px solid #b9c8cf; border-radius: 9px; }
.player-question .btn { min-height: 36px; padding: 7px 10px; font-size: .67rem; }
.compact-answer { position: fixed; z-index: 44; right: 20px; bottom: calc(var(--player-height,82px) + 12px); width: min(440px,calc(100vw - 40px)); padding: 13px; border: 1px solid #aadbd5; border-radius: 16px; background: rgba(247,253,252,.98); box-shadow: 0 18px 45px rgba(7,24,39,.2); }
.compact-answer.error { border-color: #e0a7a7; background: #fff7f7; }
.compact-answer-head { display: flex; justify-content: flex-start!important; align-items: center; gap: 9px!important; margin-bottom: 8px; }
.compact-answer-head > div { display: grid; gap: 1px; }
.compact-answer-head b { font-size: .8rem; }
.compact-answer-head small { color: var(--muted); font-size: .68rem; }
.compact-answer p { display: -webkit-box; max-height: 4.5em; margin: 0 0 10px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-height: 1.5; font-size: .86rem; }
.compact-answer.expanded p { display: block; max-height: min(42vh,360px); overflow: auto; -webkit-line-clamp: unset; }
.compact-answer-actions { display: flex; justify-content: flex-end; gap: 7px; }
.compact-answer-actions .btn { min-height: 34px; padding: 7px 10px; font-size: .7rem; }
.presentation-page .chatbox { right: 18px; bottom: 88px; z-index: 50; width: min(430px,calc(100vw - 36px)); max-height: calc(100dvh - 170px); }
.presentation-page .chatbox.collapsed { display: none; }
.presentation-page .chat-collapse { display: grid; place-items: center; }

@media (max-width: 1050px) {
  body.presentation-mode { overflow: auto; }
  .presentation-page { min-height: var(--app-available-height,calc(100dvh - 58px)); height: auto; display: block; overflow: visible; padding-bottom: calc(var(--player-height,140px) + 12px); }
  .presentation-stage { min-height: 650px; overflow: visible; }
  .presentation-detail, .process-card { min-height: 650px; height: auto; }
  .player-bar { position: fixed; left: 0; right: 0; bottom: 0; grid-template-columns: auto minmax(0,1fr) auto; }
  .player-question { grid-column: 2 / -1; }
  .scene-focus { position: fixed; inset: 70px 12px 150px; }
}
@media (max-width: 760px) {
  .selection-layout { grid-template-columns: 1fr; }
  .launch-card { position: static; }
  .selection-fields { grid-template-columns: 1fr; }
  .selection-fields.nested { grid-column: auto; }
  .selection-form { grid-template-columns: 1fr; }
  .selection-form .field-description, .selection-form .field-target { grid-column: auto; }
  .presentation-header { grid-template-columns: auto minmax(0,1fr); }
  .presentation-header .fiction-note { display: none; }
  .presentation-header h1 { display: block; margin-top: 3px; }
  .presentation-page .process-execution { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .presentation-page .process-stage-card { flex: 0 0 min(82vw,330px); display: grid; grid-template-columns: 1fr; scroll-snap-align: center; }
  .presentation-page .process-stage-card > * { grid-column: 1; grid-row: auto; }
  .player-bar { grid-template-columns: auto minmax(0,1fr); }
  .player-controls { grid-column: 1 / -1; overflow-x: auto; }
  .player-question { grid-column: 1 / -1; }
  .player-caption #guided-subtitle { display: none; }
  .scene-focus .automation-insight { grid-template-columns: 1fr; }
}

/* Scène exclusive : vue d’ensemble, zoom ou document */
.presentation-page .process-map-pane { grid-template-rows: auto auto minmax(0,1fr); }
.scene-view { display: none!important; min-width: 0; min-height: 0; }
.scene-view.active { display: grid!important; }
.scene-overview.active { grid-template-rows: minmax(0,1fr) auto auto; gap: 8px; }
.scene-rail { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; min-height: 42px; }
.scene-rail span { min-width: 0; display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid #d6e1e6; border-radius: 9px; color: #7b8d96; background: #f3f6f7; font-size: .62rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scene-rail i { width: 20px; height: 20px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #899ba4; font-style: normal; }
.scene-rail span.past { color: #2b6863; background: #edf8f6; }
.scene-rail span.past i, .scene-rail span.current i { background: var(--teal); }
.scene-rail span.current { border-color: var(--teal); color: var(--ink); background: #fff; box-shadow: 0 0 0 3px rgba(53,214,199,.13); }
.presentation-page .scene-focus { position: static; inset: auto; z-index: auto; grid-template-rows: auto minmax(0,1fr); gap: 10px; padding: 12px; border: 1px solid #a9d8d2; border-radius: 14px; background: #f8fcfc; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; overflow: hidden; }
.scene-focus > #automation-insight, .scene-focus > #automation-demo, .scene-focus > #decision-popup { display: none!important; min-height: 0; }
.scene-focus[data-focus="insight"] > #automation-insight { display: grid!important; }
.scene-focus[data-focus="automation"] > #automation-demo, .scene-focus[data-focus="result"] > #automation-demo { display: block!important; }
.scene-focus[data-focus="decision"] > #decision-popup { display: grid!important; }
.scene-focus .automation-insight { height: 100%; align-content: center; grid-template-columns: minmax(220px,.85fr) minmax(300px,1.2fr) minmax(230px,.9fr); }
.scene-focus .automation-demo { height: 100%; overflow: hidden; }
.guided-zoom-head { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 12px; align-items: center; margin-bottom: 10px; }
.guided-zoom-head h3 { margin: 0; font-size: 1rem; }
.guided-zoom-head p { grid-column: 1 / -1; margin: 6px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.guided-zoom-grid { height: calc(100% - 60px); min-height: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: minmax(0,1fr) auto; gap: 9px; }
.guided-zoom-grid section { min-width: 0; min-height: 0; padding: 11px; border: 1px solid #d5e2e6; border-radius: 11px; background: #fff; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.guided-zoom-grid b { display: block; margin-bottom: 6px; color: #176a64; font-size: .7rem; }
.guided-zoom-grid p, .guided-zoom-grid li, .guided-zoom-grid dt, .guided-zoom-grid dd { font-size: .66rem; line-height: 1.35; }
.guided-zoom-grid p, .guided-zoom-grid ul, .guided-zoom-grid dl { margin: 0; }
.guided-zoom-grid ul { padding-left: 17px; }
.guided-zoom-grid dl { display: grid; grid-template-columns: minmax(90px,.7fr) minmax(0,1fr); gap: 4px 8px; }
.guided-zoom-grid dt { color: var(--muted); }
.guided-zoom-grid dd { margin: 0; font-weight: 750; }
.guided-zoom-benefit { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0,1fr) minmax(230px,.7fr); gap: 10px; align-items: center; color: #fff; border: 0!important; background: var(--navy)!important; }
.guided-zoom-benefit b { margin: 0; color: #83e1d7; }
.guided-zoom-benefit strong { color: #ffd993; font-size: .65rem; }
.scene-focus[data-focus="decision"] { background: #fffaf0; border-color: #dec083; }
.scene-focus[data-focus="decision"] .decision-panel { min-height: 0; height: 100%; display: grid; grid-template-rows: auto auto minmax(0,1fr); align-content: stretch; padding: 8px; border: 0; background: transparent; overflow: hidden; }
.scene-focus[data-focus="decision"] .decision-panel-head { min-height: 0; margin-bottom: 5px; }
.scene-focus[data-focus="decision"] .decision-panel-head h3 { margin-top: 2px; font-size: .86rem; }
.decision-branch-preview { margin-bottom: 8px; padding: 8px; border: 1px solid #e0c78f; border-radius: 10px; background: #fff; }
.decision-branch-preview .process-branches-head { margin-bottom: 5px; }
.scene-focus[data-focus="decision"] .decision-panel-body { grid-template-columns: minmax(0,1.2fr) minmax(250px,.65fr); }
.scene-focus[data-focus="decision"] .decision-panel-body { min-height: 0; align-items: stretch; overflow: hidden; }
.scene-focus[data-focus="decision"] .action-panel { min-height: 0; display: grid; align-content: start; gap: 5px; padding: 10px; overflow: hidden; }
.scene-focus[data-focus="decision"] .action-panel { grid-template-columns: minmax(250px,.85fr) minmax(280px,1.15fr); grid-template-areas: "decision-title decision-proposal" "decision-copy decision-proposal" "decision-actions decision-proposal"; column-gap: 12px; }
.scene-focus[data-focus="decision"] .action-panel > h3 { grid-area: decision-title; align-self: end; }
.scene-focus[data-focus="decision"] .action-panel > p { grid-area: decision-copy; align-self: start; }
.scene-focus[data-focus="decision"] #assistant-panel { grid-area: decision-proposal; align-self: stretch; }
.scene-focus[data-focus="decision"] #actions { grid-area: decision-actions; }
.scene-focus[data-focus="decision"] .action-panel h3,
.scene-focus[data-focus="decision"] .action-panel p { margin: 0; }
.scene-focus[data-focus="decision"] #assistant-panel { gap: 5px; }
.scene-focus[data-focus="decision"] #assistant-panel .notice { margin: 0; padding: 8px 10px; font-size: .68rem; line-height: 1.3; }
.scene-focus[data-focus="decision"] .decision-reason { margin-top: 0; }
.scene-focus[data-focus="decision"] .decision-reason label { margin-bottom: 3px; font-size: .68rem; }
.scene-focus[data-focus="decision"] .decision-reason textarea { min-height: 48px; height: 48px; padding: 7px 9px; resize: none; }
.scene-focus[data-focus="decision"] .decision-reason small { font-size: .58rem; }
.scene-focus[data-focus="decision"] #actions { gap: 6px; }
.scene-focus[data-focus="decision"] #actions .btn { min-height: 34px; padding-block: 6px; font-size: .68rem; }
.scene-focus[data-focus="decision"] .decision-trace { min-height: 0; overflow: hidden; }
.scene-focus[data-focus="decision"] .decision-trace-item { padding-block: 5px; }
.scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) { grid-template-rows: auto minmax(0,1fr); }
.scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) .decision-branch-preview { display: none; }
.scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) .decision-panel-body { grid-template-columns: 1fr; }
.scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) .decision-trace { display: none; }
.scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) .action-panel { grid-template-columns: minmax(250px,.8fr) minmax(300px,1.2fr); grid-template-areas: "decision-title decision-proposal" "decision-copy decision-proposal" "decision-actions decision-proposal"; }
.scene-focus[data-focus="result"] .automation-demo { display: grid!important; align-content: center; max-width: 980px; width: 100%; margin: auto; }
.scene-document { grid-template-rows: auto auto minmax(0,1fr) auto; gap: 9px; padding: 12px; border: 1px solid #b9ced6; border-radius: 14px; background: #fff; overflow: hidden; }
.scene-document .scene-focus-head h3 { margin: 4px 0 0; font-size: 1rem; }
.scene-document-copy { color: var(--muted); font-size: .72rem; }
.scene-document .facts, .scene-document .timeline { min-height: 0; overflow: hidden; }
.scene-document[data-document="facts"] .facts { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 10px; }
.scene-document[data-document="facts"] .timeline { display: none; }
.scene-document[data-document="timeline"] .facts { display: none; }
.scene-document[data-document="timeline"] .timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; align-content: center; }
.scene-document[data-document="timeline"] .event { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f7fafb; }
.scene-document[data-document="timeline"] .event:nth-child(n+7) { display: none; }
.scene-document .fact { min-width: 0; padding: 12px; }
.scene-document > #scene-document-back { justify-self: start; }
.scene-document.full-document { overflow: auto; }
.scene-document.full-document .facts, .scene-document.full-document .timeline { display: grid; overflow: visible; }
.scene-document.full-document .timeline { grid-template-columns: 1fr; }
.scene-document.full-document .event:nth-child(n) { display: block; }
.scene-consult-controls { position: absolute; z-index: 18; right: 22px; bottom: 20px; display: flex; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid #9fcac5; border-radius: 11px; color: #264b57; background: #edf9f7; box-shadow: 0 10px 28px rgba(7,24,39,.14); font-size: .66rem; font-weight: 750; }

@media (max-width: 1050px) {
  body.presentation-mode { overflow: hidden; }
  .presentation-page { box-sizing: border-box; height: var(--app-available-height,calc(100dvh - 58px)); min-height: 0; display: grid; grid-template-rows: auto minmax(0,1fr); overflow: hidden; padding-bottom: var(--player-height,140px); }
  .presentation-stage { min-height: 0; overflow: hidden; }
  .presentation-detail, .process-card { min-height: 0; height: 100%; }
  .presentation-page .process-progress-head { position: static; top: auto; z-index: auto; margin: 0; padding: 0; background: transparent; box-shadow: none; }
  .scene-rail:not(.hidden) { position: fixed; top: var(--stage-fixed-top,66px); left: 12px; right: 12px; z-index: 22; height: 44px; overflow-x: auto; grid-template-columns: repeat(5,minmax(130px,1fr)); padding: 4px; border: 1px solid #b9ced6; border-radius: 10px; background: rgba(255,255,255,.98); }
  .presentation-page .scene-focus, .scene-document { position: fixed; top: calc(var(--stage-fixed-top,66px) + 50px); right: 12px; bottom: calc(var(--player-height,140px) + 10px); left: 12px; z-index: 20; overflow: hidden; }
  .scene-consult-controls { position: fixed; right: 18px; bottom: calc(var(--player-height,140px) + 15px); z-index: 23; }
  .scene-document.full-document { overflow: auto; }
  .scene-focus .automation-insight { grid-template-columns: 1fr; height: auto; }
  .scene-focus[data-focus="decision"] .decision-panel-body { grid-template-columns: minmax(0,1.25fr) minmax(180px,.65fr); height: auto; }
  .guided-zoom-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); height: calc(100% - 54px); }
  .guided-zoom-benefit { grid-column: 2; grid-template-columns: 1fr; align-content: center; }
  .guided-zoom-grid > section:nth-child(3) dl { grid-template-columns: minmax(88px,.58fr) minmax(0,1fr); }
  .scene-document[data-document="facts"] .facts, .scene-document[data-document="timeline"] .timeline { grid-template-columns: 1fr; overflow: auto; }
}
@media (max-width: 760px) {
  .compact-answer { right: 10px; bottom: calc(var(--player-height,210px) + 10px); width: calc(100vw - 20px); max-height: min(46vh,360px); }
  .compact-answer.expanded p { max-height: min(28vh,240px); }
  body.presentation-mode { overflow-x: hidden; overflow-y: auto; }
  .presentation-page { height: auto; min-height: var(--app-available-height,calc(100dvh - 58px)); display: block; overflow: visible; padding-bottom: calc(var(--player-height,210px) + 18px); }
  .presentation-stage { min-height: 0; height: auto; padding: 8px; overflow: visible; }
  .presentation-detail, .process-card { min-height: 0; height: auto; overflow: visible; }
  .process-card { display: block; }
  .case-strip { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .presentation-page .process-map-pane { display: block; min-height: 0; height: auto; padding: 10px; overflow: visible; }
  .presentation-page .process-progress-head { margin-bottom: 8px; }
  .scene-rail:not(.hidden) { position: static; inset: auto; display: flex; width: 100%; height: auto; margin: 0 0 8px; padding: 4px; overflow-x: auto; }
  .scene-rail span { flex: 0 0 150px; }
  .presentation-page .scene-focus, .scene-document { position: static; inset: auto; width: 100%; min-height: 0; height: auto; margin-top: 8px; overflow: visible; }
  .scene-conclusion,
  .presentation-page #contact-card:not(.hidden) { position: static; inset: auto; width: 100%; max-height: none; margin-top: 8px; overflow: visible; box-shadow: none; }
  .scene-focus .automation-demo { height: auto; overflow: visible; }
  .guided-zoom-grid { height: auto; grid-template-columns: 1fr; grid-template-rows: none; }
  .guided-zoom-grid section { overflow: visible; }
  .guided-zoom-benefit { grid-column: 1; grid-template-columns: 1fr; }
  .guided-zoom-grid > section:nth-child(3) dl { grid-template-columns: minmax(92px,.55fr) minmax(0,1fr); }
  .scene-focus[data-focus="decision"] .decision-panel { height: auto; overflow: visible; }
  .scene-focus[data-focus="decision"] .decision-panel-body { height: auto; grid-template-columns: 1fr; overflow: visible; }
  .scene-focus[data-focus="decision"] .action-panel { overflow: visible; }
  .scene-focus[data-focus="decision"] .decision-trace { display: none; }
  .scene-document .facts, .scene-document .timeline { overflow: visible; }
  .scene-consult-controls { position: static; inset: auto; width: 100%; margin-top: 8px; box-shadow: none; }
  .scene-focus[data-focus="decision"] .action-panel,
  .scene-focus[data-focus="decision"] .decision-panel:has(#decision-reason-wrap:not(.hidden)) .action-panel { grid-template-columns: 1fr; grid-template-areas: "decision-title" "decision-copy" "decision-proposal" "decision-actions"; }
}
@media (max-height: 720px) and (min-width: 681px) {
  .scene-focus[data-focus="decision"] .decision-panel { padding-block: 4px; }
  .scene-focus[data-focus="decision"] .decision-panel-head { margin-bottom: 2px; }
  .decision-branch-preview { margin-bottom: 4px; padding-block: 5px; }
  .decision-branch-preview .branch-path { padding-block: 5px; }
  .scene-focus[data-focus="decision"] .action-panel { padding-block: 7px; }
  .scene-focus[data-focus="decision"] .decision-trace-item:nth-child(n+4) { display: none; }
}
@media (max-width: 480px) {
  .guided-zoom-head { display: block; margin-bottom: 6px; }
  .guided-zoom-head h3 { margin-top: 5px; font-size: .88rem; line-height: 1.15; }
  .guided-zoom-head p { display: none; }
  .guided-zoom-grid { gap: 6px; }
  .guided-zoom-grid section { padding: 8px; }
  .guided-zoom-grid p, .guided-zoom-grid li, .guided-zoom-grid dt, .guided-zoom-grid dd { font-size: .6rem; }
  .scene-document[data-document="facts"] .facts { grid-template-columns: 1fr 1fr; overflow: hidden; }
  .scene-document[data-document="timeline"] .timeline { grid-template-columns: 1fr 1fr; overflow: hidden; }
  .scene-document[data-document="timeline"] .event:nth-child(n+5) { display: none; }
  .scene-document .fact, .scene-document[data-document="timeline"] .event { padding: 7px; font-size: .65rem; }
  .scene-focus[data-focus="decision"] .decision-panel { padding: 5px; }
  .scene-focus[data-focus="decision"] .decision-panel-body { grid-template-columns: 1fr; }
  .scene-focus[data-focus="decision"] .decision-trace { display: none; }
  .decision-branch-preview { margin-bottom: 5px; padding: 5px; }
  .decision-branch-preview .branch-path { padding: 5px 7px; }
  .decision-branch-preview .branch-path span { display: none; }
  .scene-focus[data-focus="decision"] .decision-panel-head { display: none; }
  .scene-focus[data-focus="decision"] .decision-panel { grid-template-rows: auto minmax(0,1fr); }
  .scene-focus[data-focus="decision"] .action-panel { padding: 7px; }
  .scene-focus[data-focus="decision"] #assistant-panel .notice { padding: 6px 8px; }
  .presentation-page .scene-overview .process-substeps { display: none; }
  .presentation-page .scene-overview .automation-link { min-height: 0; }
  .presentation-page .scene-overview .process-stage-card { align-content: start; }
  .scene-consult-controls { position: static; inset: auto; justify-content: flex-end; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .scene-consult-controls > span { display: none; }
  .scene-consult-controls .btn { min-height: 32px; padding: 5px 8px; font-size: .6rem; }
  .process-map-pane:has(.scene-consult-controls:not(.hidden)) .scene-focus-head > .automation-badge { visibility: hidden; }
}

@media (min-width: 1051px) {
  .guided-zoom-grid > section:nth-child(3) dl { grid-template-columns: minmax(78px,.55fr) minmax(0,1fr) minmax(78px,.55fr) minmax(0,1fr); }
}
