/* Speed Ecom Setting — style sobre, sans ressource externe */
/* Un seul thème : Speed Ecom, surfaces neutres navy et accent or. */
:root { color-scheme:dark; --bg:#0a0e1a; --surface:#101729; --ink:#f3f5fa; --muted:#a7b0c3; --line:#293248;
  --accent:#e8a800; --accent-ink:#0a0e1a; --ok:#e7c36b; --warn:#f0c369; --err:#ffaaa3; --ai:#182136; --human:#202a40; --note:#252218; --radius:12px;
  font-family:Inter,system-ui,sans-serif; color:var(--ink); background:var(--bg); }
* { box-sizing: border-box; }
fieldset { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; }
legend { font-size: 13px; font-weight: 600; }
.assistant-panel { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ai); }
.assistant-next { padding: 10px; border-left: 3px solid var(--accent); background: var(--surface); border-radius: 4px; }
.assistant-facts { padding-left: 18px; overflow-wrap: anywhere; }
.assistant-facts li { margin: 12px 0; }
.assistant-facts blockquote { margin: 6px 0; padding-left: 8px; border-left: 2px solid var(--line); }
.feedback-options { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.feedback-version { padding: 12px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
body { margin: 0; background: var(--bg); }
a { color: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; } .skip:focus { left: 8px; top: 8px; z-index: 10; background: var(--surface); padding: 6px; }
.banner { background: #7a1f00; color: #fff; text-align: center; font-weight: 600; padding: 6px 12px; font-size: 14px; position: sticky; top: 0; z-index: 5; }
.top { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 8px 16px; background: var(--surface); border-bottom: 1px solid var(--line); }
.brand { font-weight: 700; }
.top nav { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.top nav a { padding: 6px 10px; border-radius: var(--radius); text-decoration: none; color: var(--ink); }
.top nav a.on { background: var(--accent); color: var(--accent-ink); }
.who { display: flex; gap: 8px; align-items: center; font-size: 14px; flex-wrap: wrap; }
main { padding: 12px 16px; max-width: 1500px; margin: 0 auto; }
.page { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
h2 { font-size: 20px; margin: 12px 0 4px; } h3 { font-size: 15px; margin: 12px 0 6px; }
.muted { color: var(--muted); } .small { font-size: 13px; }
.row { display: flex; gap: 8px; align-items: center; } .row.wrap { flex-wrap: wrap; } .between { justify-content: space-between; }
.stack { display: flex; flex-direction: column; gap: 8px; }
label { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--muted); }
label.row { flex-direction: row; color: var(--ink); }
input, select, textarea { font: inherit; font-size: 14px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); max-width: 100%; }
textarea { width: 100%; resize: vertical; }
.btn { font: inherit; font-size: 14px; padding: 6px 12px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; }
.btn:hover { border-color: var(--accent); } .btn:disabled { opacity: .5; cursor: not-allowed; }
.btn.primary { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.btn.danger { color: var(--err); border-color: var(--err); }
.btn.small { font-size: 12px; padding: 8px 12px; }
.badge { display: inline-block; font-size: 12px; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); white-space: nowrap; }
.badge.ok, .badge.IA_ACTIVE { color: var(--ok); border-color: var(--ok); }
.badge.warn, .badge.ATTENTE_HUMAIN { color: var(--warn); border-color: var(--warn); }
.badge.err, .badge.PAUSE { color: var(--err); border-color: var(--err); }
.badge.HUMAIN_ACTIF { color: var(--accent); border-color: var(--accent); }
.state { padding: 12px; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--surface); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.state.error { border-color: var(--err); color: var(--err); } .state.denied { border-color: var(--warn); color: var(--warn); }
.notice { background: var(--note); padding: 8px 12px; border-radius: var(--radius); font-size: 14px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 14px 14px; min-width: 0; }
.login { max-width: 420px; margin: 40px auto; background: var(--surface); padding: 20px; border-radius: var(--radius); border: 1px solid var(--line); }
.login form { display: flex; flex-direction: column; gap: 12px; }
/* Conversations */
.conv-layout { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 12px; min-width: 0; }
.conv-list, .conv-detail { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px; min-width: 0; }
.conv-detail.placeholder { display: grid; place-items: center; min-height: 200px; }
.toolbar { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; } .toolbar input { flex: 1; min-width: 140px; }
.items { list-style: none; padding: 0; margin: 0; max-height: 75vh; overflow-y: auto; }
.item { display: flex; flex-direction: column; gap: 3px; padding: 8px; border-radius: 6px; text-decoration: none; color: var(--ink); border-bottom: 1px solid var(--line); }
.item.active { background: var(--ai); }
.preview { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.back { display: none; }
.conv-head { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; } .conv-head h2 { margin: 0; }
.next { font-size: 13px; background: var(--bg); padding: 6px 8px; border-radius: 6px; }
.conv-body { display: grid; grid-template-columns: 1fr minmax(280px, 380px); gap: 12px; min-width: 0; }
.thread-col { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.thread { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: 55vh; overflow-y: auto; }
.msg { max-width: 85%; padding: 6px 10px; border-radius: 10px; border: 1px solid var(--line); overflow-wrap: anywhere; }
.msg.in { align-self: flex-start; background: var(--surface); }
.msg.out { align-self: flex-end; background: var(--human); } .msg.out.ai { background: var(--ai); }
.msg.note { align-self: center; background: var(--note); border-style: dashed; max-width: 95%; }
.msg .meta { font-size: 12px; color: var(--muted); } .msg .body { white-space: pre-wrap; font-size: 14px; }
.msg blockquote { margin: 2px 0; padding-left: 6px; border-left: 3px solid var(--line); font-size: 12px; color: var(--muted); }
.status { font-weight: 600; }
.pending { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.pending-item { border: 1px dashed var(--accent); border-radius: 8px; padding: 6px 10px; font-size: 14px; white-space: pre-wrap; }
.pending-item .meta { font-size: 12px; color: var(--muted); }
.pending-item.failed, .pending-item.dead { border-color: var(--err); } .pending-item.unknown { border-color: var(--warn); }
.composer { display: flex; flex-direction: column; gap: 6px; }
.side { min-width: 0; }
.tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.tab { font: inherit; font-size: 13px; padding: 5px 10px; border: 1px solid var(--line); background: var(--bg); border-radius: 6px 6px 0 0; cursor: pointer; color: var(--ink); }
.tab.on { background: var(--surface); border-bottom-color: var(--surface); font-weight: 600; }
.panel { border: 1px solid var(--line); border-radius: 0 6px 6px 6px; padding: 8px; overflow-wrap: anywhere; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 4px 10px; font-size: 13px; margin: 0; } .kv dt { color: var(--muted); } .kv dd { margin: 0; }
.compact { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.qual { width: 100%; font-size: 13px; border-collapse: collapse; } .qual th, .qual td { text-align: left; border-bottom: 1px solid var(--line); padding: 4px; vertical-align: top; }
.qual tr.contra { background: var(--note); }
.proposal { border: 1px dashed var(--line); border-radius: 6px; padding: 6px; margin-bottom: 6px; }
/* Tables */
.table-wrap { overflow-x: auto; max-width: 100%; }
table { border-collapse: collapse; width: 100%; font-size: 13px; background: var(--surface); }
th, td { text-align: left; border-bottom: 1px solid var(--line); padding: 6px; vertical-align: top; }
tr.overdue { background: var(--note); }
.audit { max-height: 360px; overflow-y: auto; }
/* Pipeline */
.kanban { display:grid;grid-auto-flow:column;grid-auto-columns:220px;gap:12px;overflow-x:auto;padding-bottom:14px;max-width:100%; }
.col { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 8px; min-width: 0; }
.col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: grid; place-items: center; padding: 12px; z-index: 20; }
.modal-body { background: var(--surface); border-radius: var(--radius); padding: 16px; max-width: 720px; width: 100%; max-height: 90vh; overflow-y: auto; }
/* Pilotage */
.funnel { display: flex; flex-direction: column; gap: 6px; }
.funnel-row { display: grid; grid-template-columns: minmax(150px, 210px) 1fr 40px; gap: 4px 10px; align-items: center; }
.f-bar { height: 14px; background: var(--bg); border-radius: 4px; overflow: hidden; } .f-bar span { display: block; height: 100%; background: var(--accent); border-radius: 0 4px 4px 0; min-width: 0; }
.f-value { font-weight: 700; text-align: right; } .f-def { grid-column: 1 / -1; }
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.tile { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 12px; font-size: 14px; }
.filters { align-items: flex-end; }
.toasts { position: fixed; right: 12px; bottom: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 30; max-width: min(420px, calc(100vw - 24px)); }
.toast { padding: 8px 12px; border-radius: 6px; background: var(--surface); border: 1px solid var(--ok); font-size: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.toast.err { border-color: var(--err); color: var(--err); }
/* Poste de travail, supports et preuves */
.desk { max-width: 1380px; margin: 12px auto 40px; gap: 20px; }
.desk-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.desk h1 { font-size: clamp(28px, 4vw, 38px); margin: 2px 0 8px; letter-spacing: -.04em; }
.desk-heading p { margin: 6px 0; }
.eyebrow { color: var(--muted); font-size: 12px; letter-spacing: .12em; font-weight: 700; }
.desk .btn { text-decoration: none; padding: 9px 14px; display: inline-block; }
.desk-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.desk-stat { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); display: flex; flex-direction: column; gap: 8px; }
.desk-stat > span { font-size: 13px; font-weight: 600; }
.desk-stat strong { font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.desk-stat small { color: var(--muted); font-size: 12px; }
.desk-columns { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 24px; align-items: start; }
.desk-guide { display: flex; flex-direction: column; gap: 16px; }
.desk .card { border-radius: 12px; padding: 18px; }
.desk h2 { margin: 0 0 12px; font-size: 18px; }
.desk h3 { margin: 0 0 3px; font-size: 15px; }
.work-queue > .toolbar { margin: 12px 0 18px; gap: 12px; align-items: end; }
.grow { flex: 1; }
.work-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.work-card { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.work-card.urgent { border-left: 4px solid var(--warn); padding-left: 17px; }
.work-card h3 a { color: var(--ink); text-decoration: none; }
.work-card h3 a:hover { text-decoration: underline; }
.avatar { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: var(--ai); color: var(--accent); font-weight: 700; }
.work-message { font-size: 14px; line-height: 1.5; margin: 16px 0; overflow-wrap: anywhere; }
.work-context { display: flex; gap: 8px 24px; flex-wrap: wrap; margin: 0 0 12px; }
.work-context > div { min-width: 80px; max-width: 100%; }
.work-context dt { color: var(--muted); font-size: 12px; }
.work-context dd { font-size: 13px; margin: 2px 0 0; overflow-wrap: anywhere; }
.work-next { font-size: 13px; line-height: 1.6; background: var(--bg); border-radius: 8px; padding: 12px; }
.desk details { font-size: 12px; }
.desk summary { cursor: pointer; padding: 5px 0; }
.work-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.work-footer .btn { white-space: nowrap; }
.eligibility { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--line); line-height: 1.5; }
.guide-list { padding-left: 20px; font-size: 13px; line-height: 1.6; }
.guide-list li { margin: 10px 0; }
.method-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.step-number { font-size: 26px; font-weight: 700; color: var(--accent); display: block; margin-bottom: 12px; }
.script-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.script-card textarea { margin-top: 8px; padding: 12px; line-height: 1.5; }
.script-card h3 { margin: 10px 0 16px; }
.benchmark-result { padding: 24px; background: var(--ai); border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.benchmark-result h2 { font-size: 28px; margin-top: 12px; }
.benchmark-result > p { font-size: 14px; line-height: 1.6; }
.benchmark-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; }
.benchmark-cases details { border-bottom: 1px solid var(--line); padding: 6px 0; }
@media (max-width: 1050px) { .desk-columns { grid-template-columns: 1fr; } .desk-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 650px) {
  .desk-heading { align-items: start; flex-direction: column; gap: 8px; }
  .desk-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .desk-stat { padding: 14px; }
  .desk-guide, .method-steps, .script-grid, .benchmark-cases, .benchmark-result { grid-template-columns: 1fr; }
  .work-card { padding: 14px; } .work-card.urgent { padding-left: 11px; }
  .work-footer { align-items: start; flex-direction: column; }
  .desk .toolbar { flex-direction: column; align-items: stretch; }
}
@media (max-width: 900px) {
  .top nav { flex: 1 1 100%; order: 3; }
  .top nav a { padding: 4px 8px; }
  .conv-layout { grid-template-columns: 1fr; }
  .conv-layout.has-detail .conv-list { display: none; }
  .conv-layout:not(.has-detail) .conv-detail { display: none; }
  .back { display: inline-block; margin-bottom: 6px; }
  .conv-body { grid-template-columns: 1fr; }
  .msg { max-width: 95%; }
  main { padding: 8px; }
  .funnel-row { grid-template-columns: 1fr 50px; } .f-bar { grid-column: 1 / -1; grid-row: 2; }
}

/* Atelier de parcours, brouillon local. */
.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.journey fieldset{border:0;padding:0;margin:0;min-width:0}.journey label{display:block;margin:16px 0}.journey textarea,.journey input,.journey select{width:100%;max-width:100%}.journey textarea{min-height:72px;resize:vertical}.journey .stack{display:grid;gap:16px;min-width:0}.journey .card{min-width:0}.journey-preview ol{padding-left:22px}.journey-preview li{margin:16px 0;overflow-wrap:anywhere}.journey-preview p{white-space:pre-wrap}.journey-note{color:var(--muted,#526176)}.journey .btn{margin:6px 8px 6px 0}@media(max-width:850px){.journey-grid{grid-template-columns:1fr}}

.journey-chat{list-style:none;padding:0;display:grid;gap:12px}.journey-chat li{padding:14px;border-radius:12px;overflow-wrap:anywhere}.journey-chat .prospect{background:var(--human);margin-left:24px}.journey-chat .team{background:var(--surface);border:1px solid var(--line);margin-right:24px}.journey-chat p{white-space:pre-wrap;margin:8px 0 0}

/* Identité Speed Ecom : référence speed-ecom.eu, relevée le 13/10/2026. */

body{font-family:Inter,system-ui,sans-serif;background:var(--bg)}
.banner{background:#171a22;color:#f0cb77;border-bottom:1px solid #e8a80030;font-size:12px;font-weight:600;padding:9px 16px}
.top{padding:14px 20px;background:#0a0e1a}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:166px;height:auto;display:block}.brand span{font-size:10px;letter-spacing:.16em;color:#e8a800;border-left:1px solid var(--line);padding-left:12px}
h1,h2{letter-spacing:-.025em}h1{font-weight:900}h2{font-weight:700}.btn{border-radius:10px;padding:10px 15px;font-weight:600}.btn.primary:hover{background:#f2ba28;border-color:#f2ba28}.btn.primary:disabled{background:var(--accent)}
input,select,textarea{border-radius:9px;padding:10px 12px;background:#0a1020}.card{padding:18px;border-radius:16px}.state{border-style:solid}.top nav a.on{background:#e8a80019;color:#f3c554;border:1px solid #e8a80035}.top nav a{font-size:13px}
.login.login-shell{max-width:1040px;width:calc(100% - 40px);margin:72px auto;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding:0;border:0;background:none;box-shadow:none;align-items:center}
.login-intro{padding:20px 0}.login-logo{display:block;width:230px;height:auto;margin-bottom:44px}.brand-eyebrow{display:block;color:#e8a800;font-size:11px;letter-spacing:.16em;font-weight:700;margin-bottom:15px}
.login-intro h1{font-size:42px;line-height:1.12;margin:0 0 22px}.login-intro h1 span{color:#e8a800}.login-intro p{font-size:15px;line-height:1.75;color:#b5bdcd;max-width:430px}.login-steps{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:28px;font-size:12px;color:#d7dce6}.login-steps span{border-top:1px solid #e8a80066;padding-top:10px}
.login-form-panel{padding:36px;background:linear-gradient(145deg,#141c30,#0e1527);border:1px solid #2b354c;border-radius:20px;box-shadow:0 18px 60px #0003}.login-form-panel h2{font-size:28px;margin:0 0 12px}.login-form-panel p{font-size:14px;line-height:1.65}.login-form-panel form{display:flex;flex-direction:column;gap:18px;margin-top:26px}.login-form-panel label{gap:8px;font-size:13px;color:#d4daE5}.login-form-panel input{height:46px}.login-form-panel .btn.primary{height:46px;margin-top:4px}.login-form-panel .small{font-size:12px;margin:20px 0 0}
@media(max-width:760px){.login.login-shell{grid-template-columns:1fr;gap:20px;margin:28px auto;width:calc(100% - 32px)}.login-intro{padding:0}.login-logo{width:180px;margin-bottom:24px}.login-intro h1{font-size:31px;margin-bottom:12px}.login-intro p{font-size:14px;margin:0}.login-steps{display:none}.login-form-panel{padding:24px}.login-form-panel h2{font-size:24px}.brand img{width:140px}.top{padding:12px}.card{padding:14px}}

/* Structure de travail */
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100dvh - 35px)}
.sidebar{position:sticky;top:35px;align-self:start;height:calc(100dvh - 35px);background:#0d1322;border-right:1px solid var(--line);padding:26px 16px 18px;display:flex;flex-direction:column;gap:20px;overflow:hidden}
.sidebar-brand .brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0 10px}.sidebar-brand .brand img{width:175px}.sidebar-brand .brand span{border:0;padding:0;letter-spacing:.24em;color:var(--muted);font-size:10px;margin-left:40px}
.sidebar nav{display:block;min-height:0;overflow-y:auto;flex:1}.sidebar nav section{margin-bottom:18px}.sidebar nav section:last-child{margin-bottom:0}.nav-label{font-size:11px;color:#9ba7bd;text-transform:uppercase;letter-spacing:.14em;margin:0 12px 8px;font-weight:600}
.sidebar nav a{display:flex;align-items:center;gap:12px;color:#b9c2d3;padding:11px 12px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:500;min-height:42px;border:1px solid transparent}
.sidebar nav a:hover{background:#172033;color:var(--ink)}.sidebar nav a.on{background:#e8a80012;color:#f0c453;border-color:#e8a80030}.sidebar nav a.on svg{color:var(--accent)}
.sidebar-footer{flex-shrink:0;margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:grid;gap:14px}.sidebar-footer strong{font-size:13px}.sidebar-footer small{display:block;color:var(--muted);font-size:11px;margin-top:4px;max-width:135px}.sidebar-footer .avatar{width:32px;height:32px}.sidebar-footer .btn{justify-self:start}
.sidebar .menu-toggle{display:none}.workspace{min-width:0}.workspace-topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:13px;font-weight:600;background:#0b111f}.environment-label{font-weight:400;font-size:12px;color:var(--muted)}
.workspace main{padding:28px 32px;max-width:1680px}.page{gap:16px}.page>h2:first-child{font-size:28px;margin:4px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading h1{font-size:30px;line-height:1.2;margin:2px 0 8px;font-weight:700;letter-spacing:-.04em}.page-heading p{margin:4px 0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em}
body{line-height:1.5}h2,h3,p{overflow-wrap:break-word}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;line-height:1.3}.btn.small{min-height:34px}.btn.primary{box-shadow:0 2px 4px #0002}.btn:disabled{opacity:.55}input,select,textarea{min-height:40px}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--accent);flex-shrink:0}label{gap:6px}summary{cursor:pointer;font-size:13px;color:#bcc5d7;padding:8px 0}details[open]>summary{color:var(--ink)}details.card{padding:16px 20px}details.card>summary{font-weight:600}a:hover{text-underline-offset:4px}
.card{box-shadow:0 1px 3px #0001}.card h2:first-child,.card h3:first-child{margin-top:0}.notice{border:1px solid #e8a80024;background:#e8a8000a;color:#d2d8e4}.desk{margin:0;max-width:none}.desk-heading h1{font-size:30px;font-weight:700}.desk-stats{gap:16px}.desk-columns{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.work-items{gap:12px}.work-card{padding:18px 20px}.work-card .work-message{margin:12px 0}.work-context{margin-bottom:8px}.work-next{padding:10px 12px;margin:10px 0}.work-next br{display:none}.work-next strong{display:inline;margin-right:8px}.eligibility{font-size:12px}.desk-guide .card{padding:18px}.desk-guide .guide-list{font-size:12px}.desk-guide h2{font-size:15px}.desk-guide p{line-height:1.65}.desk-stat{padding:18px 20px}.desk-stat strong{font-size:30px;font-weight:600}
/* Messagerie */
.conv-layout{grid-template-columns:280px minmax(0,1fr);gap:16px}.conv-list{padding:12px}.conv-detail{padding:20px}.conv-head{align-items:center}.conv-head h2{font-size:22px}.conv-body{grid-template-columns:minmax(260px,1fr) minmax(260px,310px);gap:18px}.conversation-summary{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;border-left:2px solid var(--accent)}.conversation-summary strong{font-size:14px}.conversation-summary .eyebrow{display:block;margin-bottom:4px}.conversation-summary details{font-size:12px;width:100%}.conversation-summary summary{padding:0;font-size:12px}.thread{height:clamp(160px,calc(100dvh - 475px),480px);max-height:none;overscroll-behavior:contain;padding:8px 4px}.msg{padding:11px 13px;max-width:90%}.msg.in{background:#161e30}.msg.out{background:var(--human)}.msg.out.ai{background:var(--ai)}.msg .meta{font-size:11px;line-height:1.6}.msg .body{line-height:1.6}.composer{position:sticky;bottom:12px;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:12px;z-index:2}.composer textarea{min-height:76px}.composer>.btn{align-self:flex-end}.assistant-panel{background:var(--surface);padding:16px}.side .card{padding:16px}.side .tabs{gap:0;flex-wrap:nowrap}.side .tab{font-size:12px;flex:1;padding:9px 5px}.thread-col{overflow:visible}.items{max-height:calc(100dvh - 240px)}.item{padding:14px 8px;gap:6px}.item .badge{font-size:10px}.item .row.between{align-items:flex-start;flex-wrap:wrap}.item.active{border:1px solid #e8a80040;background:#e8a80009}
/* Essai prospect */
.test-page{gap:18px}.test-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:12px;background:#0d1424;overflow:hidden}.test-progress li{display:flex;align-items:center;gap:10px;padding:14px 12px;color:var(--muted);font-size:12px;min-width:0;border-right:1px solid var(--line)}.test-progress li:last-child{border:0}.test-progress li>span:first-child{width:23px;height:23px;display:grid;place-items:center;font-size:11px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.test-progress .complete{color:#d9deea}.test-progress .complete>span:first-child{color:var(--accent);border-color:#e8a80050}.test-progress .current{background:#e8a8000d;color:#f2c65c}.test-progress .current>span:first-child{background:var(--accent);color:var(--accent-ink);border:0}.test-progress strong{font-weight:500}
.test-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.test-chat-card.card{padding:0;overflow:hidden;display:flex;flex-direction:column;height:calc(100dvh - 340px);min-height:400px;max-height:800px}.test-chat-heading{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.test-chat-heading h2{font-size:15px;margin:0}.test-chat-heading .small{font-size:11px}.test-chat-card .journey-chat{display:flex;flex-direction:column;gap:14px;flex:1;min-height:120px;margin:0;padding:22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.journey-chat li{max-width:88%;padding:12px 15px;border-radius:12px;font-size:13px;line-height:1.6}.journey-chat .prospect{align-self:flex-end;margin:0;background:var(--human);border:1px solid #34415b;border-bottom-right-radius:4px}.journey-chat .team{align-self:flex-start;margin:0;background:#111a2d;border:1px solid var(--line);border-bottom-left-radius:4px}.message-author{font-size:11px;color:var(--muted);font-weight:500}.journey-chat p{margin:5px 0 0}.test-composer{padding:14px 20px;border-top:1px solid var(--line);background:#0e1627;flex-shrink:0;display:grid;gap:10px;min-height:164px}.test-composer label{font-size:12px}.test-composer textarea{font-size:13px;resize:none;height:62px}.test-composer .btn{font-size:12px;min-height:36px;padding:8px 12px}.test-composer p{margin:0}.test-edge-cases summary{font-size:11px;padding:0}.test-edge-cases .row{margin-top:12px}.test-inspector{gap:16px}.test-inspector .card{padding:20px}.test-inspector h2{font-size:15px;margin:0 0 12px}.next-step-card{border-color:#e8a80040}.test-inspector .eyebrow{display:block;margin-bottom:8px;color:var(--accent)}.test-facts{margin:0;display:grid;gap:14px}.test-facts dt{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.test-facts dd{font-size:13px;margin:3px 0 0;overflow-wrap:anywhere}.test-inspector details{margin-top:12px}.test-inspector summary{font-size:11px}.slot-button{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px}.slot-button:hover{background:#e8a8000a}.booking-result{padding:12px;background:#e8a8000a;border:1px solid #e8a80030;border-radius:8px;font-size:13px}.restart-test{padding:0 5px}.test-welcome{max-width:760px;margin:16px auto;padding:48px!important;width:100%}.test-welcome h2{font-size:25px}.test-welcome p{max-width:580px;color:var(--muted);line-height:1.8}.test-welcome .row{margin:24px 0}.welcome-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e8a80055;background:#e8a8000b;color:var(--accent);border-radius:12px;margin-bottom:22px}
.reauth{z-index:50}.reauth-panel{max-width:1060px;width:100%;max-height:95dvh;overflow:auto;background:var(--bg);padding:24px;border-radius:16px}.reauth .login.login-shell{margin:20px auto}
@media(max-width:1250px){.sidebar{padding-left:12px;padding-right:12px}.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar-brand .brand img{width:160px}.workspace main{padding:24px}.workspace-topbar{padding:0 24px}.conv-layout{grid-template-columns:250px minmax(0,1fr)}.conv-body{grid-template-columns:1fr}.side{margin-top:12px}.side .tabs{max-width:450px}.thread{height:260px}.test-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.test-progress li{gap:6px;padding:12px 8px}.desk-columns{grid-template-columns:1fr}.desk-guide{display:none}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:sticky;top:35px;z-index:10;padding:14px 18px;overflow:visible;gap:0;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-brand .brand{flex-direction:row;gap:8px;padding:0}.sidebar-brand .brand img{width:140px}.sidebar-brand .brand span{display:none}.sidebar .menu-toggle{display:inline-flex}.sidebar nav,.sidebar-footer{display:none}.menu-open .sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.menu-open .sidebar-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px}.sidebar nav a{font-size:12px;padding:10px 8px}.sidebar nav a svg{flex-shrink:0}.nav-label{margin-left:8px}.workspace-topbar{height:48px;padding:0 18px}.workspace main{padding:20px 18px}.test-layout{grid-template-columns:1fr}.test-chat-card.card{height:580px}.test-inspector{display:grid;grid-template-columns:1fr 1fr}.conv-layout{grid-template-columns:1fr}.conv-detail{padding:16px}.desk-guide{display:none}.page-heading h1{font-size:27px}.method-steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.banner{font-size:10px;padding:8px 10px;line-height:1.6}.sidebar{top:33px}.workspace main{padding:18px 14px}.workspace-topbar{padding:0 14px;font-size:12px}.environment-label{font-size:10px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading h1{font-size:25px}.page-heading p{font-size:13px}.page-heading>.btn{font-size:12px}.test-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.test-progress li{font-size:11px;padding:10px 8px}.test-progress li:nth-child(3){border-right:0}.test-progress li:nth-child(-n+3){border-bottom:1px solid var(--line)}.test-progress li>span:first-child{width:20px;height:20px;font-size:10px}.test-chat-card.card{height:550px;min-height:420px}.test-chat-heading{padding:14px}.test-chat-card .journey-chat{padding:14px}.journey-chat li{max-width:93%}.test-composer{padding:14px}.test-inspector{grid-template-columns:1fr}.test-welcome{padding:24px!important;margin:0}.test-welcome h2{font-size:22px}.menu-open .sidebar nav{grid-template-columns:1fr 1fr}.menu-open .sidebar{max-height:calc(100dvh - 33px);overflow-y:auto}.sidebar nav a{min-height:42px}.desk-stats{gap:10px}.desk-stat{padding:14px}.desk-stat strong{font-size:26px}.desk-stat small{font-size:11px}.desk-heading h1{font-size:27px}.work-card{padding:16px}.method-steps,.script-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr}.kv dd{margin-bottom:8px}.conv-head h2{font-size:20px}.conversation-summary{padding:12px}.thread{height:230px}.composer{bottom:8px;padding:10px}.modal-body{padding:18px}.test-composer .row{gap:8px}.test-composer .btn{font-size:11px;padding:8px 10px}.workspace main>.page{min-width:0}.page>h2:first-child{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.readiness-strip{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#101729;font-size:12px}.readiness-strip strong{color:#eceff6;font-weight:500}.readiness-strip span{color:var(--muted)}.readiness-strip a{margin-left:auto}.save-status{color:var(--accent);font-size:13px}.journey>h2{font-size:28px}.journey .card h3{font-size:16px}.journey .stack{gap:20px}

.row>label{min-width:0;max-width:100%}.row>label select{min-width:0;width:100%}.test-tools{display:grid;gap:20px;margin-top:18px}
