:root { color-scheme: light; --bg:#eef1f4; --ink:#202a33; --muted:#637282; --line:#cbd4dc; --brand:#2f628b; --brand-dark:#294b66; --danger:#a93636; --panel:#fff; }
* { box-sizing: border-box; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; background:var(--bg); color:var(--ink); }
header { height:56px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; background:#354d61; color:#fff; border-bottom:3px solid #7794ac; }
header a { color:#e7f0f7; margin-left:12px; }
.layout { display:grid; grid-template-columns:220px 1fr; min-height:calc(100vh - 56px); }
nav { background:#dfe5ea; padding:16px; border-right:1px solid #bcc8d2; }
nav a { display:block; color:#34495a; text-decoration:none; padding:11px 12px; border-radius:4px; margin-bottom:4px; }
nav a.active, nav a:hover { background:#3f6e94; color:#fff; }
section { padding:24px; max-width:1300px; }
section { min-width:0; }
h1 { margin:0 0 18px; font-size:26px; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.card, .panel, table, .box { background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.card { padding:20px; }
.card strong { display:block; font-size:32px; }
.card span { color:var(--muted); text-transform:uppercase; font-size:12px; }
.panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:16px; margin-bottom:18px; }
label { display:flex; flex-direction:column; gap:6px; font-weight:700; font-size:13px; }
label.check { flex-direction:row; align-items:center; font-weight:600; }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:6px; padding:9px 10px; font:inherit; background:#fff; }
textarea { resize:vertical; }
button { border:0; border-radius:6px; background:var(--brand); color:#fff; padding:10px 14px; font-weight:700; cursor:pointer; align-self:end; }
button.danger { background:var(--danger); }
table { width:100%; border-collapse:collapse; margin-bottom:18px; overflow:hidden; }
th, td { text-align:left; border-bottom:1px solid var(--line); padding:10px; vertical-align:top; font-size:14px; }
th { background:#eef3f6; color:#334155; }
.notice, .empty { background:#fff; border-left:4px solid var(--brand); padding:12px 14px; }
.login { min-height:calc(100vh - 56px); display:grid; place-items:center; }
.box { width:min(420px, calc(100vw - 32px)); padding:24px; display:grid; gap:14px; }
.error { color:var(--danger); font-weight:700; }
@media (max-width:900px) { .layout { grid-template-columns:1fr; } nav { display:flex; overflow:auto; } nav a { white-space:nowrap; } .panel, .grid { grid-template-columns:1fr; } }

.flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.flow div { background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px; }
.flow strong { display:block; color:var(--brand); font-size:18px; margin-bottom:6px; }
.flow span { color:var(--muted); font-size:13px; }
.audio-list { display:grid; gap:12px; }
.audio-item { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; }
.audio-item h2 { margin:0 0 6px; font-size:18px; }
.audio-item p { margin:0 0 8px; color:var(--muted); }
.audio-item audio { width:100%; }
@media (max-width:900px) { .flow { grid-template-columns:1fr; } .audio-item { grid-template-columns:1fr; } }

.voice-form { display:grid; gap:12px; max-width:980px; }
.voice-form label { background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px; }
.voice-form audio { width:100%; margin:-4px 0 8px; }
.actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.button-link { display:inline-block; border-radius:5px; background:#e5ebf0; color:#294b66; padding:10px 14px; font-weight:700; text-decoration:none; border:1px solid #c3ced7; }

.live-stats { grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:20px; }
section h2 { margin-top:22px; font-size:20px; }
@media (max-width:1100px) { .live-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.table-scroll { width:100%; overflow-x:auto; }
.live-history-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-top:28px; border-top:1px solid var(--line); padding-top:20px; }
.live-history-head h2,.live-history-head p { margin:0; }
.live-history-head p { color:var(--muted); margin-top:5px; }
.live-filters { display:grid; grid-template-columns:repeat(3,minmax(170px,1fr)); gap:12px; margin:16px 0; padding:14px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.button-secondary { background:#e5ebf0; color:#294b66; border:1px solid #c3ced7; }
.live-result-title { display:flex; align-items:center; justify-content:space-between; }
.live-result-title h2 span { display:inline-block; min-width:25px; margin-left:5px; padding:2px 7px; border-radius:12px; background:#dfe7ed; color:#354d61; font-size:12px; text-align:center; vertical-align:middle; }
.phone-link { padding:0; border:0; background:transparent; color:#1f5f91; text-decoration:underline; font-weight:700; }
.status-pill { display:inline-block; padding:3px 7px; border-radius:5px; background:#e8eef3; color:#354d61; font-size:12px; font-weight:700; }
.pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin:-8px 0 18px; }
.pagination button { padding:7px 10px; }
.pagination button:disabled { opacity:.45; cursor:not-allowed; }
.lead-overlay { position:fixed; inset:0; z-index:30; background:rgba(24,35,45,.42); }
.lead-drawer { position:fixed; z-index:31; top:0; right:0; width:min(620px,100vw); height:100vh; overflow-y:auto; background:#f4f6f8; border-left:1px solid #9eacb8; box-shadow:-8px 0 24px rgba(30,43,54,.16); padding:20px; }
.lead-drawer[hidden],.lead-overlay[hidden] { display:none; }
.lead-drawer-head { position:sticky; top:-20px; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin:-20px -20px 18px; padding:18px 20px; background:linear-gradient(135deg,#7F1D1D,#991B1B); color:#fff; }
.lead-drawer-head span { color:#cbd8e2; font-size:12px; text-transform:uppercase; }
.lead-drawer-head h2 { margin:4px 0 0; font-size:21px; }
.icon-button { width:36px; height:36px; padding:0; border:1px solid #7890a2; background:#fff; color:#354d61; font-size:25px; line-height:1; }
.lead-fields { display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--line); background:var(--line); }
.lead-fields div { min-width:0; padding:10px; background:#fff; }
.lead-fields dt { color:var(--muted); font-size:11px; text-transform:uppercase; }
.lead-fields dd { margin:4px 0 0; overflow-wrap:anywhere; font-weight:700; }
.lead-detail h3 { margin:22px 0 9px; font-size:16px; }
.drawer-block,.recording-row,.drawer-text { background:#fff; border:1px solid var(--line); border-radius:6px; padding:12px; margin-bottom:8px; }
.drawer-block > span,.recording-row span { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.drawer-block p { margin-bottom:0; white-space:pre-wrap; }
.recording-row audio { width:100%; margin-top:9px; }
body.drawer-open { overflow:hidden; }
@media (max-width:900px) {
  .live-history-head { align-items:stretch; flex-direction:column; }
  .live-filters { grid-template-columns:1fr; }
  .live-filters .actions,.live-filters .actions button { width:100%; }
  .lead-fields { grid-template-columns:1fr; }
  .lead-drawer { padding:14px; }
  .lead-drawer-head { top:-14px; margin:-14px -14px 14px; padding:14px; }
}

.qual-card audio { width:100%; max-width:760px; }
.transcript { background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; white-space:pre-wrap; }

.nav-group { display:block; color:#667b8c; font-size:12px; text-transform:uppercase; margin:14px 8px 6px; }
.state { display:inline-block; padding:4px 8px; border-radius:6px; font-weight:700; background:#eef3f6; }
.state-running { background:#d1fadf; color:#05603a; }
.state-paused, .state-stopped { background:#fee4e2; color:#912018; }

.audio-picker { grid-template-columns: minmax(260px, 1fr) auto; align-items:end; }
.audio-prompt-list { display:grid; gap:12px; margin-top:14px; }
.audio-prompt-item { border:1px solid #d9e2e7; border-radius:8px; padding:12px; background:#fff; }
.audio-prompt-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:8px; }
.audio-prompt-head code { display:block; margin-top:4px; color:#667085; }
.audio-prompt-head span { color:#475467; font-size:12px; text-align:right; }
.audio-prompt-item textarea { width:100%; min-height:92px; resize:vertical; }
.audio-prompt-item audio { width:100%; margin-top:8px; }
.prompt-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.prompt-actions button { background:var(--brand-dark); }

.provider-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:12px; margin:16px 0 24px; }
.provider-card { border:1px solid #d9e2e7; border-radius:8px; background:#fff; padding:14px; display:grid; gap:10px; }
.provider-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.provider-head strong { display:block; }
.provider-head span { font-size:12px; color:#667085; }

.prospecting-campaign { border-top:1px solid #d9e2e7; padding:18px 0; }
.voice-usage-overview { display:flex; align-items:center; gap:16px; margin:4px 0 20px; padding:18px 20px; border:1px solid #9fb4c4; border-left:5px solid #26734d; border-radius:6px; background:#f7fafb; box-shadow:0 7px 18px rgba(44,67,84,.08); }
.voice-usage-overview > div:last-child { display:grid; gap:2px; }
.voice-usage-overview span { color:#526575; font-size:12px; font-weight:700; text-transform:uppercase; }
.voice-usage-overview strong { color:#24445f; font-size:32px; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:0; }
.voice-usage-overview small { color:#667b8c; }
.voice-usage-icon { display:grid; place-items:center; width:52px; height:52px; flex:0 0 auto; border-radius:6px; background:#354d61; color:#fff; font-size:11px; font-weight:800; }
.prospecting-title { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.prospecting-title h2 { margin:0 0 4px; font-size:20px; }
.prospecting-title span { color:#667085; }
.readiness-grid { margin:12px 0; }
.prospecting-config { grid-template-columns:repeat(3,minmax(180px,1fr)); align-items:end; }
.call-pipeline { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:6px; margin-top:12px; }
.call-pipeline span { padding:8px; border:1px solid #d0d5dd; border-radius:6px; color:#667085; text-align:center; font-size:12px; }
.call-pipeline span.done { background:#ecfdf3; border-color:#abefc6; color:#067647; }
.call-pipeline span.active { background:#eff8ff; border-color:#b2ddff; color:#175cd3; }
.readiness-reason { color:#475467; font-size:13px; }
.metric-link { position:relative; min-height:108px; overflow:hidden; color:inherit; text-decoration:none; border-color:#cad5dd; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.metric-link::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#607d94; }
.metric-link:hover,.metric-link:focus-visible { transform:translateY(-2px); border-color:#6889a4; box-shadow:0 8px 18px rgba(45,65,80,.12); }
.metric-link strong { color:#294b66; }
.metric-available { background:#f1fbf5; border-color:#b9dfc8; }
.metric-available::before { background:#218653; }
.metric-available strong { color:#176a40; }
.metric-called { background:#fff8e8; border-color:#ead7a8; }
.metric-called::before { background:#b47a16; }
.metric-called strong { color:#875b12; }
.quick-assignment { display:grid; grid-template-columns:minmax(210px,.7fr) minmax(0,2fr); gap:18px; align-items:end; margin:16px 0 20px; border-left:4px solid var(--brand); }
.quick-assignment-copy { display:grid; gap:5px; align-self:center; }
.quick-assignment-copy strong { font-size:17px; }
.quick-assignment-copy span,.switch-field small { color:var(--muted); font-size:13px; }
.quick-assignment form { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(210px,1.15fr) minmax(190px,1fr) minmax(190px,.9fr) auto; gap:12px; align-items:end; }
.switch-field { display:flex; align-items:center; gap:10px; min-height:42px; padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.switch-field input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--brand); }
.switch-field span { display:grid; gap:1px; }
.campaign-history { margin-top:24px; padding-top:20px; border-top:2px solid #9dafbd; scroll-margin-top:18px; }
.status-summary { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.status-summary span { padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; color:#526575; }
.attempts-zone { margin:30px -24px 0; padding:26px 24px; border-top:1px solid #b9c6cf; border-bottom:1px solid #b9c6cf; background:#f4f7f8; }
.attempt-filters,.attempt-lead-filters { display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) auto; gap:12px; align-items:end; margin-bottom:16px; }
.attempt-list { display:grid; gap:8px; }
.attempt-row { display:grid; grid-template-columns:minmax(260px,1.2fr) minmax(380px,1.4fr) auto; gap:18px; align-items:center; padding:15px 16px; border:1px solid #d1dae0; border-left:4px solid #607d94; border-radius:6px; background:#fff; }
.attempt-row:hover { border-color:#91a5b4; box-shadow:0 5px 14px rgba(50,70,84,.08); }
.attempt-main,.attempt-name { display:flex; align-items:center; gap:10px; min-width:0; }
.attempt-main { justify-content:space-between; }
.attempt-name > div { display:grid; gap:4px; min-width:0; }
.attempt-name strong { overflow-wrap:anywhere; font-size:16px; }
.attempt-name span:not(.attempt-dot) { color:var(--muted); font-size:12px; }
.attempt-dot { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:#8394a0; }
.attempt-dot-running { background:#218653; box-shadow:0 0 0 4px #dbf2e4; }
.attempt-dot-paused { background:#b47a16; box-shadow:0 0 0 4px #fff0c7; }
.attempt-dot-completed { background:#607d94; box-shadow:0 0 0 4px #e5ecf1; }
.attempt-metrics { display:grid; grid-template-columns:repeat(5,minmax(80px,1fr)); gap:8px; }
.attempt-metrics span { display:grid; gap:3px; color:var(--muted); font-size:11px; text-transform:uppercase; }
.attempt-metrics strong { color:#2c4354; font-size:15px; text-transform:none; overflow-wrap:anywhere; }
.attempt-metrics .voice-metric { padding-left:9px; border-left:3px solid #26734d; }
.attempt-metrics .voice-metric strong,.attempt-session-stats .voice-stat strong { color:#176a40; font-variant-numeric:tabular-nums; }
.attempt-detail { margin:26px -24px 0; padding:26px 24px; border-top:4px solid #218653; background:#fff; scroll-margin-top:18px; }
.attempt-detail-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.attempt-detail-head span { color:#218653; font-size:12px; font-weight:700; text-transform:uppercase; }
.attempt-detail-head h2 { margin:4px 0; font-size:24px; }
.attempt-detail-head p { margin:0; color:var(--muted); }
.attempt-lead-filters { grid-template-columns:repeat(5,minmax(145px,1fr)) auto; padding:15px; border:1px solid var(--line); border-radius:6px; background:#f7f9fa; }
.export-button { background:#218653; border-color:#176a40; color:#fff; }
.export-button:hover { background:#176a40; color:#fff; }
.attempt-result-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:18px 0 9px; }
.attempt-result-head span { color:var(--muted); font-size:13px; }
.attempt-history-filters { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(150px,.7fr) auto; gap:12px; align-items:end; padding:15px; margin-bottom:18px; border:1px solid var(--line); border-radius:6px; background:#f7f9fa; }
.attempt-browser { display:grid; grid-template-columns:minmax(250px,320px) minmax(0,1fr); min-height:520px; overflow:hidden; border:1px solid #cbd6de; background:#fff; }
.attempt-session-list { display:flex; flex-direction:column; min-width:0; border-right:1px solid #cbd6de; background:#f1f5f7; }
.attempt-session-list > strong { padding:15px; color:#526575; font-size:12px; text-transform:uppercase; }
.attempt-session-link { display:grid; gap:4px; padding:13px 15px; border-top:1px solid #d9e2e7; color:#2c4354; text-decoration:none; }
.attempt-session-link:hover { background:#fff; }
.attempt-session-link.active { background:#fff; border-left:4px solid #218653; padding-left:11px; }
.attempt-session-link span { font-weight:700; overflow-wrap:anywhere; }
.attempt-session-link small { color:var(--muted); }
.attempt-session-link b { color:#218653; font-size:12px; }
.attempt-session-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; border-top:1px solid #d9e2e7; background:#f1f5f7; }
.attempt-session-item .attempt-session-link { border-top:0; min-width:0; }
.attempt-delete-form { display:flex; align-items:center; padding:8px 10px 8px 0; }
.attempt-delete-button { align-self:center; padding:7px 9px; min-height:32px; border-radius:5px; font-size:11px; }
.attempt-delete-button:disabled { opacity:.45; cursor:not-allowed; }
.attempt-session-content { min-width:0; padding:20px; }
.attempt-session-content .attempt-lead-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.attempt-session-content .attempt-lead-filters .actions { grid-column:1/-1; }
.attempt-session-stats { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:1px; margin:0 0 16px; border:1px solid var(--line); background:var(--line); }
.attempt-session-stats div { display:grid; gap:3px; padding:12px; background:#fff; }
.attempt-session-stats strong { color:#294b66; font-size:19px; overflow-wrap:anywhere; }
.attempt-session-stats span { color:var(--muted); font-size:11px; text-transform:uppercase; }
.attempt-recording { width:210px; height:34px; vertical-align:middle; }
.recording-missing { display:inline-block; max-width:150px; color:#8a4b16; font-size:12px; line-height:1.25; }
@media (max-width:900px) {
  .prospecting-config,.call-pipeline,.quick-assignment,.quick-assignment form,.attempt-filters,.attempt-lead-filters,.attempt-row,.attempt-history-filters,.attempt-browser { grid-template-columns:1fr; }
  .attempt-metrics { grid-template-columns:1fr 1fr; }
  .attempt-detail-head,.attempt-result-head { align-items:stretch; flex-direction:column; }
  .attempts-zone,.attempt-detail { margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }
  .attempt-session-list { max-height:320px; overflow:auto; border-right:0; border-bottom:1px solid #cbd6de; }
  .attempt-session-item { grid-template-columns:1fr; }
  .attempt-delete-form { padding:0 15px 12px; }
  .attempt-session-content { padding:14px; }
}

.section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:16px; }
.section-title h1,.section-title h2 { margin:0 0 5px; }
.section-title p { margin:0; color:var(--muted); }
.scenario-editor { grid-template-columns:repeat(3,minmax(0,1fr)); }
.span-2 { grid-column:span 2; }
.subsection { margin:22px 0; padding-top:18px; border-top:1px solid var(--line); }
.question-row { display:grid; grid-template-columns:90px minmax(180px,1fr) minmax(180px,1fr) minmax(160px,1fr); gap:12px; padding:14px; margin-bottom:10px; background:#fff; border:1px solid var(--line); border-radius:6px; align-items:end; }
.question-new { border-left:4px solid var(--brand); }
.scenario-list { display:grid; gap:10px; margin-top:22px; }
.scenario-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:6px; padding:15px; }
.scenario-row p { margin:7px 0; color:var(--muted); }
.scenario-name { display:flex; align-items:center; gap:10px; }
.scenario-meta { display:flex; flex-wrap:wrap; gap:14px; color:#526575; font-size:13px; }
.scenario-row form { display:flex; gap:8px; }
.scenario-summary { display:flex; flex-wrap:wrap; gap:18px; align-items:center; background:#fff; border:1px solid var(--line); padding:14px; margin-bottom:14px; }
.scenario-summary span { color:var(--muted); }
.scenario-summary > * { min-width:0; overflow-wrap:anywhere; }
.test-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.internal-test-form { display:grid; grid-template-columns:1fr; align-content:start; gap:11px; }
.test-mode-head { display:grid; gap:4px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.test-mode-head strong { font-size:17px; }
.test-mode-head span,.test-route-note { color:var(--muted); font-size:13px; }
.external-test-form { border-top:3px solid #526f86; }
.test-route-note { margin:0; min-height:36px; }
.test-checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin:16px 0 22px; }
.test-checks div { display:grid; gap:5px; padding:13px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.test-checks span { color:var(--muted); font-size:13px; }
.test-audio { min-width:260px; }
.test-audio audio { width:250px; height:36px; }
.state-queued,.state-processing { background:#fff4cc; color:#735c0f; }
.state-ringing { background:#dbeafe; color:#1e4f91; }
.state-completed { background:#d1fadf; color:#05603a; }
.state-failed { background:#fee4e2; color:#912018; }
.test-state-cell { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.test-stop-form { margin:0; }
.test-stop-button { min-height:30px; padding:5px 9px; font-size:12px; line-height:1; }
.test-stop-pending { color:var(--danger); font-size:12px; font-weight:800; }
@media (max-width:900px) {
  .scenario-editor,.question-row,.scenario-row { grid-template-columns:1fr; }
  .span-2 { grid-column:span 1; }
  .section-title { align-items:stretch; flex-direction:column; }
  nav { width:100%; max-width:100vw; overflow-x:auto; }
  .audio-picker { grid-template-columns:1fr; }
  .audio-picker button { width:100%; }
  .actions > * { max-width:100%; }
  .internal-test-form,.test-mode-grid { grid-template-columns:1fr; }
}
/* Assistant de creation Agent IA */
.wizard-page{max-width:1180px}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:24px 0 30px;padding:0;border-bottom:1px solid #c7d0db}.wizard-steps li{position:relative}.wizard-steps a{display:flex;align-items:center;gap:10px;padding:0 10px 14px;color:#64748b;text-decoration:none;font-weight:700}.wizard-steps span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #aeb9c6;border-radius:50%;background:#fff}.wizard-steps .current a,.wizard-steps .done a{color:#1f4f78}.wizard-steps .current:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#2d6e9f}.wizard-steps .current span,.wizard-steps .done span{border-color:#2d6e9f;background:#2d6e9f;color:#fff}.wizard-form{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:26px}.wizard-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}.wizard-heading span{color:#2d6e9f;font-weight:700}.wizard-heading h2{margin:0}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #dbe2ea}.wizard-question-list{display:grid;gap:18px}.wizard-question{margin:0;padding:20px;border:1px solid #cbd5e1;border-radius:6px}.wizard-question legend{display:flex;align-items:center;gap:10px;padding:0 8px;font-weight:800;color:#24445f}.wizard-question legend span{display:grid;place-items:center;width:28px;height:28px;background:#e7f0f7;color:#1f5d87;border-radius:50%}.wizard-review{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cbd5e1;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;margin-bottom:24px}.wizard-review>div{display:grid;gap:5px;background:#f8fafc;padding:16px}.wizard-review span{color:#64748b;font-size:.85rem}.wizard-review-questions{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}.wizard-review-questions li{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px;border-bottom:1px solid #dbe2ea}.wizard-review-questions>li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f0f7;color:#1f5d87;font-weight:800}.wizard-review-questions p{margin:4px 0}.wizard-review-questions small{color:#64748b}.wizard-complete{text-align:center;background:#fff;border:1px solid #b9cfe0;border-radius:6px;padding:48px 24px}.wizard-complete-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#26734d;color:#fff;font-size:30px}.wizard-complete .actions{justify-content:center;margin-top:24px}.wizard-drafts{margin-top:30px}.wizard-drafts>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe2ea;padding:12px 0}.wizard-drafts a{display:grid;gap:4px;color:#24445f;text-decoration:none}.wizard-drafts span{color:#64748b;font-size:.85rem}
@media(max-width:760px){.wizard-steps{grid-template-columns:repeat(2,1fr);row-gap:14px}.wizard-review{grid-template-columns:repeat(2,1fr)}.wizard-form{padding:18px}.wizard-heading{display:block}.wizard-heading span{display:block;margin-bottom:6px}}
.voice-test-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.voice-test-actions span{color:#64748b;font-size:.88rem}.voice-preview{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr);align-items:center;gap:16px;padding:14px;border:1px solid #b9cfe0;border-radius:6px;background:#f4f8fb}.voice-preview audio{width:100%}
@media(max-width:760px){.voice-preview{grid-template-columns:1fr}}

/* Interface 2026 - couche visuelle uniquement */
:root {
  --bg:#f3f5f7;
  --ink:#1d2933;
  --muted:#667887;
  --line:#d5dde3;
  --line-strong:#b8c5cf;
  --brand:#991B1B;
  --brand-dark:#7F1D1D;
  --brand-soft:#eaf2f8;
  --success:#1f7a55;
  --success-soft:#e8f5ee;
  --warning:#a76c16;
  --warning-soft:#fff5df;
  --danger:#aa3e3e;
  --danger-soft:#faeaea;
  --panel:#fff;
  --shadow-sm:0 2px 7px rgba(35,52,65,.07);
  --shadow-md:0 10px 26px rgba(35,52,65,.10);
  --shadow-float:0 18px 44px rgba(29,45,58,.18);
}

html { background:var(--bg); scroll-behavior:smooth; }
body { min-width:320px; overflow-x:hidden; font-family:"Segoe UI",Arial,Helvetica,sans-serif; line-height:1.45; letter-spacing:0; background:var(--bg); }
::selection { background:#cde1ef; color:#17344a; }
* { scrollbar-width:thin; scrollbar-color:#9fb0bd #eef2f4; }
*::-webkit-scrollbar { width:10px; height:10px; }
*::-webkit-scrollbar-track { background:#eef2f4; }
*::-webkit-scrollbar-thumb { background:#9fb0bd; border:2px solid #eef2f4; border-radius:6px; }

header { position:sticky; top:0; z-index:40; height:62px; padding:0 28px; border-bottom:1px solid #6f8799; background:#304b60; box-shadow:0 5px 18px rgba(24,41,54,.18); }
header strong { display:flex; align-items:center; gap:11px; font-size:16px; letter-spacing:0; }
header strong::before { content:"AI"; display:grid; place-items:center; width:32px; height:32px; border:1px solid #8da8bc; border-radius:6px; background:#fff; color:#2b628d; font-size:11px; font-weight:800; box-shadow:0 2px 8px rgba(15,29,40,.18); }
header > span,header > div { display:flex; align-items:center; gap:8px; }
header a { margin-left:8px; padding:7px 10px; border:1px solid transparent; border-radius:5px; text-decoration:none; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
header a:hover { border-color:#7895aa; background:#3b5a70; transform:translateY(-1px); }

.layout { grid-template-columns:244px minmax(0,1fr); min-height:calc(100vh - 62px); }
main { min-width:0; }
nav { position:sticky; top:62px; align-self:start; height:calc(100vh - 62px); overflow-y:auto; padding:18px 14px 28px; border-right:1px solid #c4d0d8; background:#e8edf1; box-shadow:4px 0 16px rgba(35,52,65,.05); }
.nav-group { margin:17px 11px 7px; color:#718391; font-size:11px; font-weight:800; letter-spacing:0; }
nav a { position:relative; margin:2px 0; padding:10px 12px 10px 15px; border:1px solid transparent; border-radius:6px; font-size:13px; font-weight:650; transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease; }
nav a::before { content:""; position:absolute; top:9px; bottom:9px; left:5px; width:3px; border-radius:2px; background:transparent; }
nav a:hover { border-color:#c1ced7; background:#f8fafb; color:#254e6c; transform:translateX(2px); box-shadow:var(--shadow-sm); }
nav a.active { border-color:#315e7f; background:#315e7f; color:#fff; box-shadow:0 5px 13px rgba(37,78,108,.22); }
nav a.active::before { background:#9fd8bb; }

section { width:100%; max-width:1480px; padding:30px 34px 42px; animation:panelReveal .32s ease both; }
section > h1,.section-title h1 { color:#203747; font-size:27px; font-weight:750; }
section > h1 { padding-bottom:14px; border-bottom:1px solid var(--line); }
section h2 { color:#294454; }
.section-title { margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.section-title p { max-width:760px; }

.card,.panel,table,.box,.flow div,.audio-item,.voice-form label,.audio-prompt-item,.provider-card,.drawer-block,.recording-row,.drawer-text,.transcript,.question-row,.scenario-row,.scenario-summary,.test-checks div,.wizard-form,.wizard-question,.wizard-complete,.voice-preview { border-color:var(--line); box-shadow:var(--shadow-sm); }
.card,.audio-item,.audio-prompt-item,.provider-card,.question-row,.scenario-row,.test-checks div,.voice-preview { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.card:hover,.audio-item:hover,.audio-prompt-item:hover,.provider-card:hover,.scenario-row:hover,.test-checks div:hover,.voice-preview:hover { border-color:#a9bac6; box-shadow:var(--shadow-md); transform:translateY(-2px); }
.grid > .card:nth-child(3n+1) { border-top:3px solid var(--brand); }
.grid > .card:nth-child(3n+2) { border-top:3px solid var(--success); }
.grid > .card:nth-child(3n+3) { border-top:3px solid var(--warning); }
.card strong { color:#233f53; font-variant-numeric:tabular-nums; }
.card span { font-weight:700; letter-spacing:0; }

.panel { padding:20px; border-color:#cbd6de; background:#fff; box-shadow:var(--shadow-sm); }
label { color:#3c5262; }
input,select,textarea { min-height:42px; border-color:#c8d2da; color:#21323f; box-shadow:inset 0 1px 2px rgba(27,42,54,.04); transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease; }
textarea { min-height:84px; line-height:1.5; }
input:hover,select:hover,textarea:hover { border-color:#99adbb; }
input:focus,select:focus,textarea:focus { outline:0; border-color:#3475a5; box-shadow:0 0 0 3px rgba(52,117,165,.15); background:#fbfdff; }
input[type="checkbox"],input[type="radio"] { min-height:0; accent-color:var(--brand); }
button,.button-link { min-height:40px; border-radius:6px; transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,filter .16s ease; }
button { box-shadow:0 3px 8px rgba(43,98,141,.18); }
button:hover,.button-link:hover { transform:translateY(-1px); box-shadow:0 7px 15px rgba(35,52,65,.14); filter:brightness(.98); }
button:active,.button-link:active { transform:translateY(0); box-shadow:0 2px 5px rgba(35,52,65,.12); }
button:focus-visible,.button-link:focus-visible,nav a:focus-visible,a:focus-visible { outline:3px solid rgba(52,117,165,.24); outline-offset:2px; }
button.danger { background:var(--danger); box-shadow:0 3px 8px rgba(170,62,62,.18); }
.button-secondary { background:#f3f6f8; }
.actions { row-gap:8px; }

table { border-color:#c8d3db; box-shadow:var(--shadow-sm); }
th { position:sticky; top:0; z-index:1; padding:11px 12px; border-bottom:1px solid #b9c7d1; background:#eaf0f4; color:#324c5e; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0; }
td { padding:11px 12px; border-bottom-color:#e2e8ec; }
tbody tr { transition:background-color .14s ease,box-shadow .14s ease; }
tbody tr:nth-child(even) { background:#fafcfd; }
tbody tr:hover { background:#eef6fa; box-shadow:inset 3px 0 var(--brand); }
tbody tr:last-child td { border-bottom:0; }
.table-scroll { border-radius:7px; }
.table-scroll table { margin-bottom:0; }

.notice,.empty,.error { border-radius:6px; box-shadow:var(--shadow-sm); }
.notice { border:1px solid #b7d1e2; border-left:4px solid var(--brand); background:#f4f9fc; }
.empty { border:1px dashed #b8c5cf; border-left:4px solid #8b9ba7; background:#f8fafb; color:var(--muted); }
.error { padding:12px 14px; border:1px solid #e2b8b8; border-left:4px solid var(--danger); background:var(--danger-soft); }
.state,.status-pill { border:1px solid #d3dde4; font-size:11px; text-transform:uppercase; letter-spacing:0; }
.state-running,.state-completed { border-color:#a9d7bf; background:var(--success-soft); color:#126241; }
.state-paused,.state-stopped,.state-failed { border-color:#e3b8b8; background:var(--danger-soft); color:#8e2929; }
.state-queued,.state-processing,.state-ringing { border-color:#e5cf98; background:var(--warning-soft); color:#79520f; }

.login { background:#e7edf1; }
.login .box { position:relative; overflow:hidden; padding:30px; border-top:4px solid var(--brand); box-shadow:var(--shadow-float); }
.login .box::after { content:"VoxCOLLECT — Call Data Services"; display:block; margin-top:8px; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; text-align:center; }

.live-stats .card { min-height:118px; }
.live-result-title,.live-history-head { padding-bottom:10px; }
.live-filters,.attempt-history-filters,.attempt-lead-filters { border-color:#c8d4dc; box-shadow:var(--shadow-sm); }
.pagination button:disabled { box-shadow:none; }
.live-page { animation:none; transform:none; }
.lead-overlay { z-index:80; background:rgba(18,32,43,.58); backdrop-filter:blur(2px); animation:overlayIn .18s ease both; }
.lead-drawer { z-index:81; border-left:1px solid #7890a2; box-shadow:-18px 0 44px rgba(24,40,52,.24); animation:drawerIn .24s ease both; }
.lead-drawer-head { box-shadow:0 6px 18px rgba(24,40,52,.16); }
.lead-fields { border-radius:6px; overflow:hidden; }
.lead-fields div { transition:background-color .14s ease; }
.lead-fields div:hover { background:#f3f8fb; }

.audio-item audio,.audio-prompt-item audio,.recording-row audio,.qual-card audio,.attempt-recording { accent-color:var(--brand); }
.audio-item { border-left:4px solid #6388a3; }
.audio-prompt-item { padding:16px; }
.audio-prompt-head { padding-bottom:10px; border-bottom:1px solid #e1e7eb; }
.provider-card { border-top:3px solid #6388a3; padding:17px; }
.provider-card:has(.state-running) { border-top-color:var(--success); }
.provider-head { padding-bottom:9px; border-bottom:1px solid #e1e7eb; }

.prospecting-campaign { margin:0 -18px; padding:24px 18px; border-top-color:#c8d3db; transition:background-color .18s ease; }
.prospecting-campaign:hover { background:#f8fafb; }
.prospecting-title h2 { color:#24445a; }
.voice-usage-overview { box-shadow:var(--shadow-md); transition:transform .18s ease,box-shadow .18s ease; }
.voice-usage-overview:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(35,52,65,.13); }
.voice-usage-icon { box-shadow:0 5px 12px rgba(35,52,65,.18); }
.quick-assignment { padding:20px; border-left-width:5px; box-shadow:var(--shadow-md); }
.switch-field { transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.switch-field:hover { border-color:#99adbb; background:#f9fbfc; box-shadow:var(--shadow-sm); }
.call-pipeline { position:relative; }
.call-pipeline span { position:relative; background:#fff; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.call-pipeline span:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.call-pipeline span.done { box-shadow:inset 0 -3px #62aa82; }
.call-pipeline span.active { box-shadow:inset 0 -3px #4d91c2; }
.attempts-zone { border-color:#c6d1d9; background:#edf2f5; }
.attempt-row { box-shadow:var(--shadow-sm); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.attempt-row:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.attempt-dot-running { animation:statusPulse 2.2s ease-in-out infinite; }
.attempt-detail { box-shadow:0 -4px 18px rgba(35,52,65,.06); }
.attempt-browser { border-radius:7px; box-shadow:var(--shadow-md); }
.attempt-session-link { transition:background-color .15s ease,color .15s ease,padding-left .15s ease; }
.attempt-session-link:hover { padding-left:18px; }
.attempt-session-link.active { box-shadow:inset 4px 0 var(--success); }
.attempt-session-stats { border-radius:6px; overflow:hidden; }

.question-row { padding:17px; }
.question-row:hover { border-color:#a9bac6; box-shadow:var(--shadow-md); }
.question-new { border-left:4px solid var(--success); background:#f8fcfa; }
.scenario-row { border-left:4px solid #6388a3; }
.scenario-name strong { color:#25475e; font-size:16px; }
.scenario-meta span { padding:4px 8px; border:1px solid #d8e1e7; border-radius:5px; background:#f4f7f9; }
.test-mode-grid > * { box-shadow:var(--shadow-sm); }

.wizard-steps a { transition:color .16s ease,transform .16s ease; }
.wizard-steps a:hover { transform:translateY(-2px); }
.wizard-steps span { box-shadow:0 2px 6px rgba(35,52,65,.09); }
.wizard-form { box-shadow:var(--shadow-md); }
.wizard-question:hover { border-color:#9eb3c2; box-shadow:var(--shadow-sm); }
.wizard-review { box-shadow:var(--shadow-sm); }
.wizard-complete { border-top:4px solid var(--success); box-shadow:var(--shadow-md); }
.wizard-complete-mark { box-shadow:0 7px 18px rgba(31,122,85,.22); }
.wizard-drafts > div { transition:background-color .14s ease,padding .14s ease; }
.wizard-drafts > div:hover { padding-left:10px; background:#f5f9fb; }

@keyframes panelReveal { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes drawerIn { from { opacity:0; transform:translateX(22px); } to { opacity:1; transform:translateX(0); } }
@keyframes overlayIn { from { opacity:0; } to { opacity:1; } }
@keyframes statusPulse { 0%,100% { box-shadow:0 0 0 4px #dbf2e4; } 50% { box-shadow:0 0 0 7px rgba(92,166,124,.16); } }

@media (max-width:1100px) {
  .layout { grid-template-columns:218px minmax(0,1fr); }
  section { padding:26px 24px 38px; }
  .attempt-metrics { grid-template-columns:repeat(3,minmax(80px,1fr)); }
}

@media (max-width:1400px) and (min-width:901px) {
  .quick-assignment { grid-template-columns:minmax(190px,.65fr) minmax(0,1.8fr); }
  .quick-assignment form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-assignment form label,.quick-assignment form select,.quick-assignment form input { min-width:0; max-width:100%; }
  .quick-assignment form button { justify-self:start; }
  .attempt-metrics,.attempt-metrics span { min-width:0; }
}

@media (max-width:900px) {
  header { position:relative; height:58px; padding:0 14px; }
  header strong::before { width:29px; height:29px; }
  .layout { grid-template-columns:1fr; min-height:calc(100vh - 58px); }
  nav { position:sticky; top:0; z-index:35; display:flex; align-items:center; height:auto; padding:8px 10px; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid #bcc9d2; box-shadow:0 5px 14px rgba(35,52,65,.09); }
  .nav-group { flex:0 0 auto; margin:0 9px; }
  nav a { flex:0 0 auto; margin:0 2px; padding:8px 11px; white-space:nowrap; }
  nav a::before { display:none; }
  section { padding:22px 14px 34px; }
  .prospecting-campaign { margin:0; padding:21px 0; }
  .attempts-zone { margin-left:-14px; margin-right:-14px; }
  .attempt-session-stats { grid-template-columns:1fr 1fr; }
  .attempt-session-content .attempt-lead-filters { grid-template-columns:1fr; }
  .attempt-session-content .attempt-lead-filters .actions { grid-column:auto; }
}

@media (max-width:560px) {
  header { gap:8px; }
  header strong { font-size:13px; }
  header > span,header > div { font-size:12px; }
  header a { margin-left:2px; padding:6px; }
  section > h1,.section-title h1 { font-size:23px; }
  .voice-usage-overview { align-items:flex-start; padding:15px; }
  .voice-usage-overview strong { font-size:27px; }
  .voice-usage-icon { width:43px; height:43px; }
  .attempt-metrics,.attempt-session-stats,.wizard-review { grid-template-columns:1fr 1fr; }
  .scenario-row .actions,.question-row .actions { align-items:stretch; flex-direction:column; }
  .scenario-row .actions > *,.question-row .actions > * { width:100%; }
  .attempt-recording { width:180px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Rappel humain depuis l'historique Live */
.live-history-actions { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.callback-endpoint-label { display:grid; gap:5px; min-width:210px; color:var(--muted); font-size:12px; font-weight:700; }
.callback-endpoint-label select { min-height:39px; padding-top:7px; padding-bottom:7px; }
.live-phone-actions { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.human-call-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:5px 9px; border:1px solid #23734d; border-radius:5px; background:#e8f5ee; color:#155c3b; font-size:12px; font-weight:800; box-shadow:0 2px 5px rgba(21,92,59,.1); }
.human-call-button:hover { background:#d8eee2; border-color:#155c3b; transform:translateY(-1px); }
.human-call-button:disabled { opacity:.55; cursor:wait; transform:none; }
.human-stop-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:5px 9px; border:1px solid #9b3030; border-radius:5px; background:#faeaea; color:#8e2929; font-size:12px; font-weight:800; box-shadow:0 2px 5px rgba(142,41,41,.12); }
.human-stop-button:hover { background:#f4d7d7; border-color:#7f2222; transform:translateY(-1px); }
.human-stop-button:disabled { opacity:.55; cursor:wait; transform:none; }
.callback-live-state { display:block; margin-top:5px; color:#8e2929; font-size:11px; font-weight:700; white-space:nowrap; }
.tts-usage-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:24px 0 12px; }
.tts-usage-heading h2 { margin:0 0 4px; }
.tts-usage-heading p { margin:0; color:var(--muted); }
.tts-usage-heading form { margin:0; }
.tts-usage-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; margin-bottom:24px; }
.tts-usage-card { border:1px solid var(--line); border-top:4px solid var(--brand); border-radius:7px; background:#fff; padding:16px; box-shadow:0 6px 18px rgba(35,52,65,.08); }
.tts-usage-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.tts-usage-card-head div { display:grid; gap:3px; }
.tts-usage-card-head strong { font-size:16px; }
.tts-usage-card-head span,.tts-usage-card-head b,.tts-usage-card small { color:var(--muted); font-size:12px; }
.tts-credit-main { display:flex; align-items:baseline; gap:8px; margin:18px 0 10px; }
.tts-credit-main strong { font-size:29px; color:var(--brand-dark); }
.tts-credit-main span { color:var(--muted); font-weight:700; }
.tts-progress { height:9px; overflow:hidden; border-radius:5px; background:#e6ebef; }
.tts-progress i { display:block; height:100%; background:#218653; }
.tts-progress.warning i { background:#c68719; }
.tts-progress.critical i { background:var(--danger); }
.tts-usage-meta { display:flex; justify-content:space-between; gap:10px; margin:7px 0 12px; color:var(--muted); font-size:12px; font-weight:700; }
.tts-local-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0; }
.tts-local-stats div { display:grid; gap:2px; padding:10px; border:1px solid #dbe2e8; border-radius:5px; background:#f7f9fa; }
.tts-local-stats b { color:var(--ink); }
.tts-local-stats span,.tts-google-note,.tts-usage-error { color:var(--muted); font-size:12px; }
.tts-usage-error { color:var(--danger); font-weight:700; }
.provider-usage-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.attempt-limit-monitor { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0 4px; padding:12px; border:1px solid #c8d5df; border-left:4px solid var(--brand); border-radius:6px; background:#f7fafc; }
.attempt-limit-monitor div { display:grid; gap:4px; min-width:0; }
.attempt-limit-monitor span { color:var(--muted); font-size:12px; font-weight:700; }
.attempt-limit-monitor strong { color:var(--brand-dark); font-size:18px; overflow-wrap:anywhere; }
@media (max-width:700px) { .tts-usage-heading { align-items:stretch; flex-direction:column; } .tts-usage-heading button { width:100%; } .provider-usage-settings { grid-template-columns:1fr; } }
@media (max-width:700px) { .attempt-limit-monitor { grid-template-columns:1fr; } }
.live-callback-feedback { margin:0 0 14px; }
@media (max-width:700px) {
  .live-history-actions,.callback-endpoint-label { width:100%; }
  .live-history-actions .button-link { width:100%; justify-content:center; }
}

.smtp-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}
.smtp-card h2 { margin-top:0; }
.smtp-card .actions { margin-top:14px; }
.smtp-card input[type="password"] { letter-spacing:.08em; }
.state-sent { border-color:#a9d7bf; background:var(--success-soft); color:#126241; }
.state-sending { border-color:#acd2ec; background:#e0f2fe; color:#075985; }
.state-error { border-color:#e3b8b8; background:var(--danger-soft); color:#8e2929; }
@media (max-width:980px) { .smtp-grid { grid-template-columns:1fr; } }

.ai-generator-layout {
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);
  gap:20px;
  align-items:stretch;
  margin-bottom:20px;
}
.ai-generator-request,.ai-provider-panel {
  min-width:0;
  height:100%;
}
.ai-provider-panel {
  display:flex;
  flex-direction:column;
  border:1px solid #d5e0e9;
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 14px 32px rgba(35,52,65,.09);
}
.ai-provider-head {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e2e8f0;
}
.ai-provider-head h2,.ai-history-head h2 { margin:0 0 4px; }
.ai-provider-head p,.ai-history-head p { margin:0; }
.ai-provider-head > span,.ai-history-head > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 11px;
  border-radius:999px;
  background:#eef4fb;
  color:#334155;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.ai-provider-list {
  display:grid;
  gap:11px;
  margin-bottom:14px;
}
.ai-provider-card {
  border:1px solid #dbe4ef;
  border-left:4px solid #8aa0b3;
  border-radius:7px;
  background:#fff;
  padding:13px;
  box-shadow:0 5px 14px rgba(35,52,65,.05);
}
.ai-provider-card.online { border-left-color:#218653; background:#f2fbf5; }
.ai-provider-card.configured { border-left-color:#2563eb; background:#f4f8ff; }
.ai-provider-card.offline { border-left-color:#94a3b8; background:#f8fafc; }
.ai-provider-card div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.ai-provider-card strong { color:var(--ink); }
.ai-provider-card span {
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.ai-provider-card.online span { color:#166534; }
.ai-provider-card.configured span { color:#1d4ed8; }
.ai-provider-card p {
  margin:7px 0 0;
  color:#475569;
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.ai-openai-key-form {
  margin-top:auto;
  padding:14px;
  border:1px solid #dbe4ef;
  border-radius:7px;
  background:#fff;
}
.ai-openai-key-form p {
  margin:8px 0 0;
  font-size:12px;
}
.ai-model-status-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:-4px;
}
.ai-model-pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.ai-model-pill span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#94a3b8;
}
.ai-model-pill.online {
  border-color:#16a34a;
  background:#dcfce7;
  color:#166534;
}
.ai-model-pill.online span { background:#16a34a; }
.ai-progress-wrap {
  margin-top:12px;
  border:1px solid #dbe4ef;
  background:#f8fafc;
  border-radius:7px;
  padding:12px;
}
.ai-progress-head {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px;
}
.ai-progress-head strong { color:#334155; font-size:13px; }
.ai-progress-head span { color:#64748b; font-size:12px; }
.ai-progress-track {
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#e2e8f0;
}
.ai-progress-track div {
  width:4%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#22c55e);
  transition:width .8s ease;
}
.ai-history-panel {
  width:100%;
}

.ai-history-card {
  height:100%;
  min-height:260px;
}

.ai-history-grid > * {
  min-width:0;
}
.ai-history-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.ai-history-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:18px;
  width:100%;
  align-items:stretch;
}
.ai-history-card {
  min-width:0;
  min-height:232px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  border:1px solid #dbe4ef;
  border-radius:7px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 10px 24px rgba(35,52,65,.07);
}
.ai-history-card-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.ai-history-card-head div {
  display:grid;
  gap:3px;
  min-width:0;
}
.ai-history-card-head strong {
  color:#0f172a;
  font-size:16px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.ai-history-card-head small {
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.ai-history-card-head em {
  color:#475569;
  font-size:12px;
  font-style:normal;
}
.ai-history-card-head > span {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.ai-history-tags {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.ai-history-tags span {
  max-width:100%;
  padding:5px 8px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-history-description {
  flex:1;
  margin:0;
  color:#1f2937;
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.ai-history-objective {
  margin:0;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.ai-history-error {
  padding:9px 10px;
  border-left:3px solid #ef4444;
  border-radius:5px;
  background:#fff1f2;
  color:#991b1b;
  font-size:12px;
  line-height:1.35;
}
.ai-history-card-actions {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:auto;
}
.ai-history-card-actions span {
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.ai-history-empty {
  grid-column:1/-1;
  padding:24px;
  border:1px dashed #cbd5e1;
  border-radius:7px;
  background:#f8fafc;
  color:#64748b;
  text-align:center;
}
@media (max-width:1280px) {
  .ai-history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .ai-generator-layout { grid-template-columns:1fr; align-items:start; }
  .ai-provider-panel { height:auto; }
}
@media (max-width:700px) {
  .ai-history-grid { grid-template-columns:1fr; }
  .ai-history-card-head { flex-direction:column; }
  .ai-history-card-head > span { align-self:flex-start; }
}

.prompt-actions { align-items:center; gap:8px; flex-wrap:wrap; }
.manual-record-button {
  position:relative;
  background:#1f8f4d;
  color:#fff;
  border-color:#166f3a;
  box-shadow:0 2px 6px rgba(31,143,77,.18);
}
.manual-record-button:hover {
  background:#167a40;
  color:#fff;
  border-color:#115f32;
}
.manual-record-button.recording {
  background:#8b1e2d;
  color:#fff;
  border-color:#751827;
  box-shadow:0 0 0 3px rgba(139,30,45,.16);
}
.manual-record-button.recording:before {
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:7px;
  border-radius:50%;
  background:#fff;
  animation:manual-record-pulse 1s ease-in-out infinite;
}
.manual-record-status {
  min-width:150px;
  color:#475467;
  font-size:12px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.manual-record-status.error-text { color:#9a2b2b; }
@keyframes manual-record-pulse {
  0%,100% { transform:scale(.72); opacity:.55; }
  50% { transform:scale(1); opacity:1; }
}
.live-audio-meter {
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  width:42px;
  height:22px;
  padding:4px 6px;
  border:1px solid #cdd8e0;
  border-radius:6px;
  background:#f5f8fa;
  position:relative;
}
.live-audio-meter i {
  display:block;
  width:5px;
  height:6px;
  border-radius:3px 3px 1px 1px;
  background:#9aa9b5;
}
.live-audio-meter.active {
  border-color:#6fb08a;
  background:#eef9f2;
}
.live-audio-meter.active i {
  background:#1f8f4d;
  animation:live-audio-wave .72s ease-in-out infinite;
}
.live-audio-meter.active i:nth-child(2) { animation-delay:.12s; }
.live-audio-meter.active i:nth-child(3) { animation-delay:.24s; }
.live-audio-meter em {
  display:none;
  position:absolute;
  right:3px;
  top:3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#95a3ad;
  box-shadow:0 0 0 0 rgba(31,143,77,.1);
}
.live-audio-meter.active em {
  display:block;
  background:#5bb57d;
}
.live-audio-meter.speaking {
  border-color:#1f8f4d;
  background:#dff5e8;
  box-shadow:0 0 0 3px rgba(31,143,77,.13);
}
.live-audio-meter.speaking em {
  background:#128342;
  animation:live-audio-dot 1s ease-in-out infinite;
}
@keyframes live-audio-wave {
  0%,100% { height:6px; opacity:.65; }
  45% { height:17px; opacity:1; }
}
@keyframes live-audio-dot {
  0%,100% { transform:scale(.78); box-shadow:0 0 0 0 rgba(31,143,77,.25); }
  50% { transform:scale(1); box-shadow:0 0 0 5px rgba(31,143,77,0); }
}

/* ═══════════════════════════════════════════════════════════════
   SaaS Pro 2026 — Refonte visuelle professionnelle
   Sidebar sombre, topbar, KPI cards, tableaux modernes
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* Charte VoxCOLLECT — bordeaux profond & noir */
  --vox-primary:#991B1B;
  --vox-primary-dark:#7F1D1D;
  --vox-primary-light:#B91C1C;
  --vox-black:#1A1A1A;
  --sidebar-bg:#1A0A0C;
  --sidebar-hover:#2D1218;
  --sidebar-active:var(--vox-primary);
  --sidebar-text:#C4A0A4;
  --sidebar-text-active:#fff;
  --accent:var(--vox-primary);
  --accent-hover:var(--vox-primary-dark);
  --accent-soft:#FEE2E2;
  --surface:#F9FAFB;
  --surface-card:#ffffff;
  --radius-lg:12px;
  --radius-md:8px;
  --radius-sm:6px;
  --font-sans:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* Masquer l'ancien header pleine largeur */
body:not(.login-page) > header { display:none; }

/* Shell applicatif */
.app-shell { display:flex; min-height:100vh; background:var(--surface); }
.app-main { flex:1; min-width:0; display:flex; flex-direction:column; min-height:100vh; }
.content-area { flex:1; padding:0; overflow-x:hidden; }

/* Sidebar sombre */
.sidebar {
  width:260px; flex:0 0 260px;
  background:var(--sidebar-bg);
  color:var(--sidebar-text);
  display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh;
  overflow-y:auto; z-index:50;
  border-right:1px solid rgba(255,255,255,.06);
}
.sidebar-brand {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:14px 12px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sidebar-brand-link {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  text-decoration:none; width:100%;
}
.sidebar-logo {
  width:auto; max-width:132px; max-height:42px; height:auto;
  object-fit:contain;
  background:#fff; border-radius:8px;
  padding:5px 8px;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.sidebar-product {
  display:inline-block; padding:3px 10px; border-radius:999px;
  background:linear-gradient(135deg,var(--vox-primary),var(--vox-primary-dark));
  color:#fff; font-size:10px; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 2px 6px rgba(153,27,27,.3);
}
.sidebar-brand-icon { display:none; }
.sidebar-brand strong { color:#f1f5f9; font-size:14px; line-height:1.25; font-weight:700; }
.sidebar-brand small { display:block; color:var(--sidebar-text); font-size:11px; font-weight:500; margin-top:2px; }
.sidebar nav { background:transparent; border:0; box-shadow:none; padding:12px 10px 24px; height:auto; position:static; }
.sidebar .nav-group {
  color:#64748b; font-size:10px; font-weight:800;
  letter-spacing:.08em; margin:18px 12px 6px; text-transform:uppercase;
}
.sidebar nav a {
  color:var(--sidebar-text); border:0; border-radius:var(--radius-sm);
  padding:10px 14px; margin:2px 0; font-size:13px; font-weight:600;
  display:flex; align-items:center; gap:10px;
}
.sidebar nav a::before { display:none; }
.sidebar nav a:hover { background:var(--sidebar-hover); color:#e2e8f0; transform:none; box-shadow:none; }
.sidebar nav a.active {
  background:var(--sidebar-active); color:var(--sidebar-text-active);
  box-shadow:0 4px 14px rgba(153,27,27,.35);
}
.sidebar-footer {
  margin-top:auto; padding:16px;
  border-top:1px solid rgba(255,255,255,.08);
}
.sidebar-user { display:flex; align-items:center; gap:10px; }
.sidebar-avatar {
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,var(--vox-primary-light),var(--vox-primary-dark));
  display:grid; place-items:center; color:#fff; font-weight:700; font-size:14px;
}
.sidebar-user div { min-width:0; }
.sidebar-user strong { display:block; color:#f1f5f9; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user span { font-size:11px; color:#64748b; }

/* Topbar */
.topbar {
  height:60px; display:flex; align-items:center; justify-content:space-between;
  padding:0 28px; background:var(--surface-card);
  border-bottom:1px solid #e2e8f0;
  position:sticky; top:0; z-index:40;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
}
.topbar-live-ticker {
  flex:1; min-width:0; margin-right:20px; height:40px;
  display:flex; align-items:center; gap:12px;
  border-radius:999px; overflow:hidden;
  background:linear-gradient(90deg,#f8fafc 0%,#f1f5f9 100%);
  border:1px solid #e2e8f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.topbar-live-ticker.is-active {
  background:linear-gradient(90deg,#ecfdf5 0%,#f0fdf4 45%,#ecfdf5 100%);
  border-color:#bbf7d0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(34,197,94,.08);
}
.topbar-live-ticker.has-campaigns:not(.has-calls) {
  background:linear-gradient(90deg,#eff6ff 0%,#f0f9ff 45%,#eff6ff 100%);
  border-color:#bfdbfe;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(59,130,246,.08);
}
.topbar-live-ticker.has-campaigns.has-calls {
  background:linear-gradient(90deg,#eff6ff 0%,#ecfdf5 50%,#eff6ff 100%);
}
.topbar-live-idle {
  display:flex; align-items:center; gap:10px;
  width:100%; padding:0 18px;
  color:#94a3b8; font-size:13px; font-weight:600;
}
.topbar-live-idle .pulse-dot { background:#cbd5e1; animation:statusPulse 2.4s ease-in-out infinite; }
.topbar-live-head {
  display:flex; align-items:center; gap:10px;
  flex:0 0 auto; padding-left:14px;
}
.live-ticker-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 11px; border-radius:999px;
  background:rgba(34,197,94,.14); color:#166534;
  font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
  white-space:nowrap;
}
.live-ticker-badge .pulse-dot { width:6px; height:6px; background:#22c55e; }
.live-ticker-count {
  color:#64748b; font-size:11px; font-weight:700; white-space:nowrap;
}
.topbar-live-track {
  flex:1; min-width:0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.topbar-live-marquee {
  display:flex; align-items:center; gap:12px; width:max-content;
  animation:liveTickerScroll 24s linear infinite;
  padding-right:12px;
}
.topbar-live-ticker:hover .topbar-live-marquee { animation-play-state:paused; }
.live-ticker-item {
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px; border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid #bbf7d0;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  white-space:nowrap;
}
.live-ticker-dot {
  width:7px; height:7px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.18);
  animation:statusPulse 1.1s ease-in-out infinite;
}
.live-ticker-item strong {
  color:#14532d; font-size:13px; font-weight:800;
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
}
.live-ticker-item em {
  color:#64748b; font-style:normal; font-size:11px; font-weight:700;
  max-width:120px; overflow:hidden; text-overflow:ellipsis;
}
.live-ticker-item b {
  color:#15803d; font-size:10px; text-transform:uppercase; font-weight:800;
  padding:2px 8px; border-radius:999px; background:#dcfce7;
}
.live-ticker-item.live-ticker-campaign {
  border-color:#bfdbfe;
  background:rgba(255,255,255,.95);
}
.live-ticker-item.live-ticker-campaign strong { color:#1e3a8a; }
.live-ticker-item.live-ticker-campaign em { max-width:160px; }
.live-ticker-item.live-ticker-campaign b {
  color:#1d4ed8; background:#dbeafe;
}
.live-ticker-dot-campaign {
  background:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.18);
}
.live-ticker-meta {
  color:#64748b; font-size:10px; font-weight:700; white-space:nowrap;
}
.topbar-live-ticker.has-campaigns:not(.has-calls) .live-ticker-badge {
  background:rgba(59,130,246,.12); color:#1d4ed8;
}
.topbar-live-ticker.has-campaigns:not(.has-calls) .live-ticker-badge .pulse-dot {
  background:#3b82f6;
}
@keyframes liveTickerScroll {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
.topbar-actions { display:flex; align-items:center; gap:16px; flex:0 0 auto; }
.bot-status {
  display:flex; align-items:center; gap:8px;
  padding:6px 12px; border-radius:999px;
  background:var(--accent-soft); color:var(--vox-primary-dark);
  font-size:12px; font-weight:700;
}
.bot-status .pulse-dot {
  width:8px; height:8px; border-radius:50%; background:var(--vox-primary);
  animation:statusPulse 2s ease-in-out infinite;
}
.bot-status.is-live {
  background:#dcfce7; color:#166534; border:1px solid #bbf7d0;
}
.bot-status.is-live .pulse-dot {
  background:#22c55e; animation:statusPulse .9s ease-in-out infinite;
}
.topbar-logout {
  color:var(--muted); font-size:13px; font-weight:600;
  text-decoration:none; padding:6px 12px; border-radius:var(--radius-sm);
  border:1px solid #e2e8f0; transition:all .15s ease;
}
.topbar-logout:hover { background:#f1f5f9; color:var(--ink); }

/* Footer */
.app-footer {
  padding:16px 28px; text-align:center;
  color:#94a3b8; font-size:12px;
  border-top:1px solid #e2e8f0; background:var(--surface-card);
}

/* Contenu pages */
.content-area section,
.content-area > section,
.app-main .layout section {
  max-width:none; width:100%; padding:28px 32px 40px;
  animation:panelReveal .3s ease both;
}
.page-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:20px; margin-bottom:28px; flex-wrap:wrap;
}
.page-header h1 { margin:0; font-size:26px; font-weight:800; color:#0f172a; border:0; padding:0; }
.page-header p { margin:6px 0 0; color:var(--muted); font-size:14px; max-width:600px; }
.page-header-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

/* KPI Cards */
.kpi-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px; margin-bottom:28px;
}
.kpi-card {
  background:var(--surface-card); border:1px solid #e2e8f0;
  border-radius:var(--radius-lg); padding:18px 20px;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
  transition:transform .18s ease,box-shadow .18s ease;
  position:relative; overflow:hidden;
}
.kpi-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(15,23,42,.08); }
.kpi-card::after {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--kpi-accent,var(--vox-primary));
}
.kpi-card.accent-blue::after { background:#3b82f6; }
.kpi-card.accent-purple::after { background:#8b5cf6; }
.kpi-card.accent-orange::after { background:#f59e0b; }
.kpi-card.accent-teal::after { background:#14b8a6; }
.kpi-card.accent-red::after { background:#ef4444; }
.kpi-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.kpi-card-head span { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; }
.kpi-icon {
  width:36px; height:36px; border-radius:10px;
  display:grid; place-items:center; font-size:16px;
  background:var(--accent-soft); color:var(--accent);
}
.kpi-icon.blue { background:#dbeafe; color:#2563eb; }
.kpi-icon.purple { background:#ede9fe; color:#7c3aed; }
.kpi-icon.orange { background:#fef3c7; color:#d97706; }
.kpi-icon.teal { background:#ccfbf1; color:#0d9488; }
.kpi-icon.red { background:#fee2e2; color:#dc2626; }
.kpi-card strong { display:block; font-size:28px; font-weight:800; color:#0f172a; font-variant-numeric:tabular-nums; line-height:1.1; }
.kpi-trend { font-size:12px; font-weight:700; margin-top:6px; }
.kpi-trend.up { color:var(--vox-primary); }
.kpi-trend.down { color:#dc2626; }
.kpi-trend.neutral { color:var(--muted); }

/* Dashboard layout 2 colonnes */
.dashboard-grid {
  display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);
  gap:24px; align-items:start;
}
.dashboard-panel {
  background:var(--surface-card); border:1px solid #e2e8f0;
  border-radius:var(--radius-lg); padding:22px;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
}
.dashboard-panel h2 {
  margin:0 0 4px; font-size:17px; font-weight:800; color:#0f172a;
}
.dashboard-panel > p { margin:0 0 16px; color:var(--muted); font-size:13px; }
.panel-head {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-bottom:16px; flex-wrap:wrap;
}
.panel-head h2 { margin:0; }

/* Tableau campagnes dashboard */
.campaign-table { width:100%; border-collapse:collapse; margin:0; box-shadow:none; border:0; }
.campaign-table th {
  position:static; background:#f8fafc; color:#64748b;
  font-size:11px; font-weight:800; text-transform:uppercase;
  letter-spacing:.04em; padding:10px 12px; border-bottom:1px solid #e2e8f0;
}
.campaign-table td { padding:12px; border-bottom:1px solid #f1f5f9; font-size:13px; vertical-align:middle; }
.campaign-table tbody tr:hover { background:#f8fafc; box-shadow:none; }
.campaign-table tbody tr:last-child td { border-bottom:0; }
.progress-bar {
  height:8px; background:#e2e8f0; border-radius:4px; overflow:hidden; min-width:80px;
}
.progress-bar i { display:block; height:100%; background:var(--accent); border-radius:4px; transition:width .3s ease; }
.row-actions { display:flex; gap:6px; align-items:center; }
.icon-btn {
  width:32px; height:32px; padding:0; min-height:0;
  display:inline-grid; place-items:center;
  border:1px solid #e2e8f0; border-radius:var(--radius-sm);
  background:#fff; color:#475569; font-size:14px;
  cursor:pointer; text-decoration:none; box-shadow:none;
  transition:all .15s ease;
}
.icon-btn:hover { background:#f1f5f9; border-color:#cbd5e1; color:#0f172a; transform:none; box-shadow:0 2px 6px rgba(15,23,42,.06); }
.icon-btn.primary { background:var(--accent-soft); border-color:#FECACA; color:var(--vox-primary-dark); }
.icon-btn.danger { background:#fee2e2; border-color:#fecaca; color:#991b1b; }

/* Live spotlight */
.live-spotlight {
  background:linear-gradient(135deg,#1A0A0C 0%,#3D1018 50%,#1A0A0C 100%);
  border-radius:var(--radius-lg); padding:22px; color:#e2e8f0;
  position:relative; overflow:hidden;
}
.live-spotlight::before {
  content:""; position:absolute; top:-40px; right:-40px;
  width:120px; height:120px; border-radius:50%;
  background:rgba(153,27,27,.2);
}
.live-spotlight-head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.live-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:999px;
  background:rgba(239,68,68,.2); color:#fca5a5;
  font-size:11px; font-weight:800; text-transform:uppercase;
}
.live-badge .dot { width:6px; height:6px; border-radius:50%; background:#ef4444; animation:statusPulse 1.5s infinite; }
.live-spotlight-phone { font-size:26px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; margin-bottom:4px; }
.live-spotlight-timer { font-size:13px; color:#94a3b8; margin-bottom:16px; }
.live-spotlight-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.live-spotlight-item { background:rgba(255,255,255,.06); border-radius:var(--radius-sm); padding:10px 12px; }
.live-spotlight-item span { display:block; font-size:10px; text-transform:uppercase; color:#94a3b8; font-weight:700; margin-bottom:4px; }
.live-spotlight-item strong { color:#f1f5f9; font-size:13px; }
.live-spotlight-response { margin-top:14px; padding:10px 12px; background:rgba(153,27,27,.2); border-radius:var(--radius-sm); border-left:3px solid var(--vox-primary-light); }
.live-spotlight-response span { color:#FCA5A5; font-size:12px; font-weight:700; }
.live-spotlight-empty { text-align:center; padding:30px 16px; color:#64748b; }
.live-loading { margin:0; padding:18px 12px; color:var(--muted); }
.live-page.is-live-sync .live-badge .dot { animation:statusPulse .9s infinite; }
.live-feed-list { display:grid; gap:0; }

/* Alertes */
.alerts-list { display:grid; gap:10px; }
.alert-item {
  display:flex; gap:12px; align-items:flex-start;
  padding:12px 14px; border-radius:var(--radius-md);
  border:1px solid #e2e8f0; background:#fff;
  transition:background .14s ease;
}
.alert-item:hover { background:#f8fafc; }
.alert-icon {
  width:32px; height:32px; flex:0 0 32px; border-radius:8px;
  display:grid; place-items:center; font-size:14px;
}
.alert-icon.error { background:#fee2e2; color:#dc2626; }
.alert-icon.warning { background:#fef3c7; color:#d97706; }
.alert-icon.success { background:var(--accent-soft); color:var(--vox-primary); }
.alert-icon.info { background:#dbeafe; color:#2563eb; }
.alert-item div { min-width:0; flex:1; }
.alert-item strong { display:block; font-size:13px; color:#0f172a; margin-bottom:2px; }
.alert-item p { margin:0; font-size:12px; color:var(--muted); }
.alert-item time { font-size:11px; color:#94a3b8; white-space:nowrap; }

/* Badges qualification */
.qual-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:4px 10px; border-radius:999px;
  font-size:11px; font-weight:800; text-transform:uppercase;
  letter-spacing:.02em; white-space:nowrap;
}
.qual-badge.hot { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }
.qual-badge.warm { background:#ffedd5; color:#9a3412; border:1px solid #fed7aa; }
.qual-badge.cold { background:#dbeafe; color:#1e40af; border:1px solid #bfdbfe; }
.qual-badge.neutral { background:#f1f5f9; color:#475569; border:1px solid #e2e8f0; }
.qual-badge.success { background:var(--accent-soft); color:var(--vox-primary-dark); border:1px solid #FECACA; }

/* Score étoiles */
.score-stars { color:#f59e0b; font-size:14px; letter-spacing:1px; }
.score-stars .empty { color:#e2e8f0; }

/* Prospection — carte campagne professionnelle */
.prospecting-campaign {
  background:var(--surface-card); border:1px solid #e2e8f0;
  border-radius:var(--radius-lg); margin:0 0 20px; padding:24px;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
}
.prospecting-campaign:hover { background:var(--surface-card); }
.campaign-card-head {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:16px; margin-bottom:18px; flex-wrap:wrap;
}
.campaign-card-actions {
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.campaign-card-actions .button-link,
.campaign-card-actions button { font-size:12px; min-height:36px; padding:8px 14px; }
.btn-start { background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }
.btn-stop { background:#dc2626 !important; color:#fff !important; }

/* Table leads qualification moderne */
.qual-table-wrap { border-radius:var(--radius-lg); overflow:hidden; border:1px solid #e2e8f0; }
.qual-table-wrap table { margin:0; border:0; border-radius:0; }
.qual-table-wrap th { background:#f8fafc; }
.btn-play, .btn-detail {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:700; text-decoration:none;
  border:1px solid #e2e8f0; background:#fff; color:#475569;
  transition:all .15s ease;
}
.btn-play:hover, .btn-detail:hover { background:#f1f5f9; color:#0f172a; }
.btn-play { background:var(--accent-soft); border-color:#FECACA; color:var(--vox-primary-dark); }

/* Boutons primaires modernes */
.button-primary { background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }
.button-primary:hover { background:var(--accent-hover) !important; }
.btn-export {
  background:linear-gradient(135deg,var(--vox-primary),var(--vox-primary-dark)) !important;
  color:#fff !important;
  border:0 !important; padding:10px 18px !important;
  border-radius:var(--radius-md) !important; font-weight:700 !important;
}

/* Live page */
.live-page .kpi-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.live-hero-grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
  gap:24px; margin-bottom:28px; align-items:start;
}
.live-feed-panel { max-height:480px; overflow-y:auto; }
.multimodel-page .multimodel-editor { margin-bottom:24px; }
.multimodel-page .multimodel-editor .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.provider-capabilities { display:flex; flex-wrap:wrap; gap:8px 14px; margin:10px 0 14px; padding:12px; border:1px solid #d8e1e7; background:#f7f9fa; }
.provider-capabilities .check { margin:0; }
.multimodel-test-layout {
  display:grid;
  grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr);
  gap:20px;
  margin-bottom:24px;
}
.multimodel-test-launcher {
  border-top:4px solid #2563eb;
}
.multimodel-test-launcher button {
  width:100%;
  min-height:46px;
  background:#2563eb;
  color:#fff;
}
.multimodel-test-advice {
  display:grid;
  gap:6px;
  padding:14px;
  margin:12px 0 16px;
  border-left:4px solid #0f766e;
  background:#ecfdf5;
  color:#134e4a;
}
.multimodel-test-advice span { font-size:13px; line-height:1.5; }
.multimodel-profile-preview { display:none; }
.multimodel-profile-preview.is-selected { display:block; }
.multimodel-profile-preview dl {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0;
}
.multimodel-profile-preview dl div {
  padding:12px;
  border:1px solid #dbe4ea;
  background:#f8fafc;
}
.multimodel-profile-preview dt {
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.multimodel-profile-preview dd {
  margin:5px 0 0;
  color:#0f172a;
  font-weight:700;
}
.multimodel-test-detail td {
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);
  gap:18px;
  background:#f8fafc;
}
.multimodel-test-detail p,
.multimodel-test-detail pre {
  margin:8px 0 0;
  white-space:pre-wrap;
  font:inherit;
  line-height:1.55;
  color:#334155;
}
.multimodel-test-page {
  max-width:1680px;
  margin:0 auto;
}
.page-kicker {
  display:block;
  margin-bottom:5px;
  color:#2563eb;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.multimodel-test-header { align-items:flex-start; }
.multimodel-test-header p { max-width:760px; }
.multimodel-test-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0 20px;
}
.multimodel-test-stats > div {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:78px;
  padding:15px 17px;
  border:1px solid #dbe4ea;
  border-left:4px solid #2563eb;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,23,42,.04);
}
.multimodel-test-stats strong { color:#0f172a; font-size:22px; line-height:1.15; }
.multimodel-test-stats span { color:#64748b; font-size:12px; }
.multimodel-test-workspace {
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);
  gap:20px;
  align-items:start;
  margin-bottom:22px;
}
.multimodel-test-main,
.multimodel-test-profile { min-width:0; }
.multimodel-test-launcher,
.multimodel-test-profile { margin:0; }
.multimodel-test-launcher {
  position:sticky;
  top:72px;
  border-top:4px solid #2563eb;
}
.test-step-title {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.test-step-title > span {
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#1d4ed8;
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.test-step-title > div { display:grid; gap:2px; min-width:0; }
.test-step-title strong { color:#0f172a; font-size:16px; }
.test-step-title small { color:#64748b; line-height:1.35; }
.multimodel-test-fields {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(145px,.5fr);
  gap:14px;
}
.multimodel-custom-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding-top:16px;
  margin-top:16px;
  border-top:1px solid #dbe4ea;
}
.multimodel-custom-fields .span-2 { grid-column:1 / -1; }
.multimodel-custom-fields textarea {
  min-height:86px;
  resize:vertical;
  line-height:1.5;
}
.multimodel-custom-fields .span-2:last-child textarea { min-height:150px; }
.multimodel-test-start {
  width:100%;
  min-height:48px;
  background:#1d4ed8 !important;
  color:#fff !important;
  font-size:14px;
}
.multimodel-test-start:disabled { cursor:not-allowed; opacity:.55; }
.multimodel-test-busy {
  display:block;
  margin-top:9px;
  color:#b45309;
  text-align:center;
}
.profile-preview-head {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.profile-preview-head > div { display:grid; gap:4px; min-width:0; }
.profile-preview-head strong { color:#0f172a; font-size:17px; }
.profile-preview-head span:not(.state) { color:#64748b; font-size:12px; }
.profile-objective {
  padding:13px 14px;
  margin:0 0 14px;
  border-left:3px solid #0f766e;
  background:#f0fdfa;
  color:#134e4a;
  line-height:1.5;
}
.multimodel-test-history { margin-top:0; }
.history-title { margin-bottom:14px; }
.multimodel-history-toolbar {
  display:flex;
  gap:12px;
  align-items:end;
  padding:12px;
  margin-bottom:15px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
}
.multimodel-history-toolbar label:first-child { flex:1; }
.multimodel-history-toolbar label:last-child { width:190px; }
.multimodel-test-cards { display:grid; gap:14px; }
.multimodel-test-card {
  overflow:hidden;
  border:1px solid #dbe4ea;
  border-radius:6px;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.multimodel-test-card[hidden] { display:none; }
.multimodel-test-card > header {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid #e7edf2;
  background:#fbfdff;
}
.test-card-id { color:#64748b; font-size:11px; font-weight:700; }
.multimodel-test-card h3 { margin:4px 0 2px; color:#0f172a; font-size:15px; }
.multimodel-test-card header p { margin:0; color:#64748b; font-size:12px; }
.test-card-state { display:flex; gap:8px; align-items:flex-start; flex-wrap:wrap; justify-content:flex-end; }
.test-card-metrics {
  display:grid;
  grid-template-columns:.7fr 1.8fr .7fr .9fr;
  border-bottom:1px solid #e7edf2;
}
.test-card-metrics > div {
  display:grid;
  align-content:start;
  gap:4px;
  min-width:0;
  padding:14px 16px;
  border-right:1px solid #e7edf2;
}
.test-card-metrics > div:last-child { border-right:0; }
.test-card-metrics span { color:#64748b; font-size:10px; font-weight:800; text-transform:uppercase; }
.test-card-metrics strong { overflow-wrap:anywhere; color:#1e293b; font-size:13px; }
.test-card-metrics small { color:#64748b; }
.test-card-actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 16px;
}
.test-card-actions .test-audio { flex:1; min-width:220px; }
.test-card-actions audio { width:min(100%,420px); height:36px; }
.multimodel-test-analysis { border-top:1px solid #e7edf2; }
.multimodel-test-analysis summary {
  cursor:pointer;
  padding:13px 16px;
  color:#1d4ed8;
  font-size:13px;
  font-weight:800;
  list-style-position:inside;
}
.multimodel-test-analysis[open] summary { background:#eff6ff; }
.multimodel-production-launcher {
  margin:20px 0 24px;
  border-top:4px solid #0f766e;
  background:#fff;
}
.multimodel-production-copy { margin-bottom:18px; }
.multimodel-production-copy h2 { margin:3px 0 5px; color:#0f172a; }
.multimodel-production-copy p { margin:0; color:#64748b; }
.multimodel-production-form {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.multimodel-production-start {
  min-height:44px;
  background:#0f766e !important;
  color:#fff !important;
}
.multimodel-production-flow {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
}
.multimodel-production-flow span {
  padding:9px 8px;
  border:1px solid #a7f3d0;
  background:#ecfdf5;
  color:#065f46;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.scenario-marketplace-page { max-width:1760px; margin:0 auto; }
.marketplace-install-all {
  min-height:44px;
  background:#0f766e !important;
  color:#fff !important;
}
.marketplace-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.marketplace-stats > div {
  display:grid;
  gap:3px;
  padding:15px 17px;
  border:1px solid #dbe4ea;
  border-left:4px solid #0f766e;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.marketplace-stats strong { color:#0f172a; font-size:22px; }
.marketplace-stats span { color:#64748b; font-size:12px; }
.marketplace-toolbar {
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(180px,.4fr) minmax(150px,.3fr);
  gap:14px;
  margin-bottom:18px;
}
.marketplace-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.marketplace-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid #dbe4ea;
  border-top:4px solid #2563eb;
  border-radius:6px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}
.marketplace-card[hidden] { display:none; }
.marketplace-card > header {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 10px;
  align-items:flex-start;
}
.marketplace-sector {
  color:#2563eb;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.marketplace-card h2 {
  margin:5px 0 0;
  color:#0f172a;
  font-size:16px;
  line-height:1.3;
}
.marketplace-card > p {
  min-height:54px;
  margin:0;
  padding:0 16px 12px;
  color:#475569;
  line-height:1.45;
}
.marketplace-meta {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 16px 12px;
}
.marketplace-meta span {
  padding:5px 8px;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:10px;
  font-weight:700;
}
.marketplace-card details {
  margin:0 16px 14px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
}
.marketplace-card summary {
  cursor:pointer;
  padding:10px 12px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.marketplace-card ol {
  margin:0;
  padding:0 28px 13px 34px;
  color:#475569;
  font-size:12px;
  line-height:1.45;
}
.marketplace-card li + li { margin-top:5px; }
.marketplace-card > footer {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:auto;
  padding:13px 16px;
  border-top:1px solid #e7edf2;
  background:#fbfdff;
}
.marketplace-card footer form { margin:0; width:100%; }
.marketplace-card footer form button { width:100%; }
.marketplace-audio-state {
  display:grid;
  margin-right:auto;
  color:#64748b;
  font-size:10px;
}
.marketplace-audio-state strong { color:#0f172a; font-size:14px; }
.analysis-grid {
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(360px,1.15fr);
  gap:16px;
  padding:16px;
  background:#f8fafc;
}
.analysis-grid section {
  min-width:0;
  padding:14px;
  border:1px solid #e2e8f0;
  background:#fff;
}
.analysis-grid h4 { margin:0 0 9px; color:#0f172a; }
.analysis-grid p,
.analysis-grid pre {
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#334155;
  font:inherit;
  line-height:1.55;
}
.live-page #live-prospecting,
.live-page #live-runtime,
.live-page #live-agents,
.live-page #live-calls,
.live-page #live-events {
  position:relative;
  width:100%;
  max-width:100%;
  overflow-x:scroll !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  border-bottom:3px solid #d7e0e7;
}
.live-page #live-prospecting,
.live-page #live-runtime,
.live-page #live-agents {
  max-height:330px;
}
.live-page #live-calls,
.live-page #live-events {
  max-height:620px;
}
.live-page #live-prospecting table,
.live-page #live-runtime table,
.live-page #live-agents table {
  min-width:980px;
}
.live-page #live-calls table {
  min-width:1750px;
}
.live-page #live-events table {
  min-width:1080px;
}
.live-page #live-prospecting thead th,
.live-page #live-runtime thead th,
.live-page #live-agents thead th,
.live-page #live-calls thead th,
.live-page #live-events thead th {
  position:sticky;
  top:0;
  z-index:2;
  box-shadow:0 1px 0 #d9e2e8;
}
.live-page #live-prospecting::-webkit-scrollbar,
.live-page #live-runtime::-webkit-scrollbar,
.live-page #live-agents::-webkit-scrollbar,
.live-page #live-calls::-webkit-scrollbar,
.live-page #live-events::-webkit-scrollbar {
  width:12px;
  height:12px;
}
.live-page #live-prospecting::-webkit-scrollbar-thumb,
.live-page #live-runtime::-webkit-scrollbar-thumb,
.live-page #live-agents::-webkit-scrollbar-thumb,
.live-page #live-calls::-webkit-scrollbar-thumb,
.live-page #live-events::-webkit-scrollbar-thumb {
  background:#68839a;
  border:2px solid #edf2f5;
  border-radius:6px;
}
.live-page #live-prospecting::-webkit-scrollbar-track,
.live-page #live-runtime::-webkit-scrollbar-track,
.live-page #live-agents::-webkit-scrollbar-track,
.live-page #live-calls::-webkit-scrollbar-track,
.live-page #live-events::-webkit-scrollbar-track {
  background:#edf2f5;
}
.live-feed-item {
  display:flex; gap:12px; padding:12px 0;
  border-bottom:1px solid #f1f5f9; font-size:13px;
}
.live-feed-item:last-child { border-bottom:0; }
.live-feed-time { color:#94a3b8; font-size:11px; white-space:nowrap; min-width:52px; }
.live-feed-body { min-width:0; flex:1; }
.live-feed-body strong { color:#0f172a; }

/* Login page VoxCOLLECT */
body.login-page { background:linear-gradient(135deg,#1A0A0C 0%,#3D1018 40%,#1A1A1A 100%); }
body.login-page .login { min-height:100vh; background:transparent; }
body.login-page .login-brand { text-align:center; margin-bottom:8px; }
body.login-page .login-logo { max-width:160px; max-height:48px; width:auto; height:auto; object-fit:contain; background:#fff; border-radius:10px; padding:8px 10px; box-shadow:0 6px 24px rgba(0,0,0,.25); }
body.login-page .login-product { display:inline-block; margin-top:12px; padding:5px 14px; border-radius:999px; background:linear-gradient(135deg,var(--vox-primary),var(--vox-primary-dark)); color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
body.login-page .box {
  border:1px solid rgba(255,255,255,.1); border-top:4px solid var(--vox-primary);
  background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
  border-radius:var(--radius-lg); box-shadow:0 25px 60px rgba(0,0,0,.35);
}
body.login-page .box h1 { color:var(--vox-black); font-size:22px; }
body.login-page .box h1 .brand-collect { color:var(--vox-primary); }
body.login-page .box::after { content:"VoxCOLLECT — Call Data Services"; display:block; margin-top:8px; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; text-align:center; }
body.login-page button { background:linear-gradient(135deg,var(--vox-primary),var(--vox-primary-dark)); box-shadow:0 4px 14px rgba(153,27,27,.3); }

/* Responsive SaaS */
@media (max-width:1400px) {
  .kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .live-page .kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .marketplace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .dashboard-grid, .live-hero-grid { grid-template-columns:1fr; }
  .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimodel-page .multimodel-editor .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimodel-test-layout { grid-template-columns:1fr; }
  .multimodel-test-workspace { grid-template-columns:1fr; }
  .multimodel-test-launcher { position:static; }
  .test-card-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimodel-production-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimodel-production-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .test-card-metrics > div:nth-child(2) { border-right:0; }
  .test-card-metrics > div:nth-child(-n+2) { border-bottom:1px solid #e7edf2; }
}
@media (max-width:900px) {
  .app-shell { flex-direction:column; }
  .sidebar {
    width:100%; flex:0 0 auto; height:auto; position:sticky; top:0;
    flex-direction:column;
  }
  .sidebar nav {
    display:flex; flex-wrap:nowrap; overflow-x:auto;
    padding:8px 10px; gap:4px;
  }
  .sidebar .nav-group { flex:0 0 auto; margin:0 8px; }
  .sidebar nav a { flex:0 0 auto; white-space:nowrap; padding:8px 12px; }
  .sidebar-footer { display:none; }
  .topbar { padding:0 14px; height:52px; gap:10px; }
  .topbar-live-ticker { margin-right:10px; height:36px; }
  .topbar-live-head { padding-left:10px; }
  .live-ticker-count { display:none; }
  .live-ticker-item em { max-width:72px; }
  .content-area section { padding:20px 14px 32px; }
  .marketplace-toolbar { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .multimodel-page .multimodel-editor .form-grid { grid-template-columns:1fr; }
  .multimodel-profile-preview dl,
  .multimodel-test-detail td { grid-template-columns:1fr; }
  .multimodel-test-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .marketplace-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimodel-test-fields,
  .multimodel-custom-fields,
  .analysis-grid { grid-template-columns:1fr; }
  .multimodel-custom-fields .span-2 { grid-column:auto; }
  .multimodel-history-toolbar,
  .test-card-actions { align-items:stretch; flex-direction:column; }
  .multimodel-production-form,
  .multimodel-production-flow { grid-template-columns:1fr; }
  .multimodel-history-toolbar label:last-child { width:auto; }
  .test-card-actions .test-audio { min-width:0; width:100%; }
}
@media (max-width:560px) {
  .kpi-grid, .live-page .kpi-grid { grid-template-columns:1fr; }
  .live-spotlight-grid { grid-template-columns:1fr; }
  .campaign-card-head { flex-direction:column; }
  .multimodel-test-stats,
  .test-card-metrics { grid-template-columns:1fr; }
  .test-card-metrics > div { border-right:0; border-bottom:1px solid #e7edf2; }
  .test-card-metrics > div:last-child { border-bottom:0; }
  .multimodel-test-card > header { flex-direction:column; }
  .test-card-state { justify-content:flex-start; }
  .marketplace-grid,
  .marketplace-stats { grid-template-columns:1fr; }
}

/* Drawer fiche lead — au-dessus sidebar/topbar (z-index 50/40) */
.content-area section.live-page { animation:none !important; transform:none !important; }

.live-ia-page { display:grid; gap:20px; width:100%; max-width:none; }
.live-ia-header p { max-width:760px; }
.live-ia-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
.live-ia-grid { display:grid; grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr); gap:18px; align-items:start; }
.live-ia-bottom-grid { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.live-ia-page .panel { display:block; margin:0; min-width:0; width:100%; max-width:100%; }
.live-ia-page .panel-head { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:4px; }
.live-ia-page .panel-head h2 { margin:0; max-width:100%; overflow-wrap:anywhere; }
.live-ia-page .panel-head span { display:block; max-width:100%; color:#64748b; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.live-ia-focus-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.live-ia-focus-card div { border:1px solid #dbe5ee; border-radius:8px; background:#f8fafc; padding:11px 12px; min-width:0; }
.live-ia-focus-card span { display:block; margin-bottom:4px; color:#64748b; font-size:11px; font-weight:800; text-transform:uppercase; }
.live-ia-focus-card strong { display:block; color:#0f172a; font-size:14px; overflow-wrap:anywhere; }
.live-ia-page table td { vertical-align:top; }
.live-ia-page table small { color:#64748b; line-height:1.35; }
.live-ia-page .table-scroll { display:block; width:100%; max-width:100%; max-height:520px; overflow:auto; border:1px solid #d7e1ea; border-radius:8px; }
.live-ia-page .table-scroll table { min-width:980px; margin:0; }
.live-ia-page .table-scroll thead th { position:sticky; top:0; z-index:2; background:#eef4f8; box-shadow:0 1px 0 #d7e1ea; }
.live-ia-calls-panel .table-scroll table { min-width:1320px; }
.live-ia-agents .table-scroll table { min-width:720px; }
.live-ia-bottom-grid .table-scroll table { min-width:1180px; }
.live-ia-page .empty { color:#64748b; padding:18px; margin:0; }
@media (max-width:1200px) {
  .live-ia-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .live-ia-grid,.live-ia-bottom-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .live-ia-kpis { grid-template-columns:1fr; }
  .live-ia-focus-card { grid-template-columns:1fr; }
}
.lead-overlay { z-index:200 !important; }
.lead-drawer { z-index:201 !important; }
body.drawer-open .sidebar,
body.drawer-open .topbar { z-index:auto; }

/* Agent IA Multi-Modeles profile cards */
.multimodel-profile-panel { background:#fff; border:1px solid #cbd6de; border-radius:8px; padding:22px; box-shadow:var(--shadow-sm); }
.marketplace-section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.marketplace-section-head h2 { margin:0; color:#263f50; font-size:24px; }
.marketplace-section-head p { margin:5px 0 0; color:#64748b; }
.marketplace-section-head > span { flex:0 0 auto; border:1px solid #d7e1ea; border-radius:999px; padding:7px 11px; background:#f8fafc; color:#334155; font-size:12px; font-weight:800; }
.multimodel-profile-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:18px; }
.multimodel-profile-card { display:flex; flex-direction:column; min-height:360px; background:#fff; border:1px solid #d6e1e9; border-radius:8px; box-shadow:0 8px 18px rgba(36,56,72,.07); overflow:hidden; }
.multimodel-profile-card header { display:flex; justify-content:space-between; gap:12px; padding:16px 16px 12px; border-bottom:1px solid #e4ebf0; background:linear-gradient(180deg,#fbfdff,#f4f8fb); }
.multimodel-profile-card h2 { margin:4px 0 0; color:#1f3444; font-size:18px; line-height:1.25; overflow-wrap:anywhere; }
.marketplace-sector { color:#607489; font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.multimodel-profile-card > p { margin:0; padding:14px 16px; color:#475569; font-size:13px; line-height:1.55; min-height:82px; border-bottom:1px solid #edf2f6; }
.multimodel-profile-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:14px 16px; }
.multimodel-profile-meta div,.multimodel-profile-progress div { border:1px solid #e1e9ef; border-radius:7px; background:#f8fafc; padding:10px; min-width:0; }
.multimodel-profile-meta span,.multimodel-profile-progress span { display:block; color:#64748b; font-size:10px; font-weight:900; text-transform:uppercase; }
.multimodel-profile-meta strong,.multimodel-profile-progress strong { display:block; margin-top:4px; color:#0f172a; overflow-wrap:anywhere; }
.multimodel-profile-meta small { display:block; margin-top:3px; color:#64748b; line-height:1.35; }
.multimodel-profile-progress { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 16px 14px; }
.multimodel-profile-progress strong { font-size:24px; }
.multimodel-profile-card footer { margin-top:auto; display:flex; flex-wrap:wrap; gap:8px; padding:14px 16px; border-top:1px solid #e4ebf0; background:#f6f9fb; }
.multimodel-profile-card footer form { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.multimodel-profile-card footer .button-link,.multimodel-profile-card footer button { min-height:36px; padding:8px 12px; font-size:12px; }
@media (max-width:760px) { .marketplace-section-head { flex-direction:column; } .multimodel-profile-grid { grid-template-columns:1fr; } .multimodel-profile-meta { grid-template-columns:1fr; } }
/* Multimodel test professional layout 20260626 */
.multimodel-test-page {
  max-width:1760px;
  padding-bottom:44px;
}
.multimodel-test-page .page-header {
  align-items:center;
  padding:22px 24px;
  border:1px solid #d8e3eb;
  border-radius:8px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%);
  box-shadow:0 10px 28px rgba(30,49,66,.07);
}
.multimodel-test-header h1 {
  margin-bottom:6px;
  color:#20394c;
}
.multimodel-test-header .button-link {
  align-self:center;
  white-space:nowrap;
}
.multimodel-test-stats {
  gap:14px;
  margin:18px 0 22px;
}
.multimodel-test-stats > div {
  position:relative;
  overflow:hidden;
  min-height:92px;
  padding:18px 18px 16px;
  border:1px solid #d8e3eb;
  border-left:0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(30,49,66,.06);
}
.multimodel-test-stats > div:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#1d4ed8,#0f766e);
}
.multimodel-test-stats strong {
  font-size:25px;
  color:#172b3a;
}
.multimodel-test-workspace {
  grid-template-columns:minmax(480px,.96fr) minmax(420px,.74fr);
  gap:22px;
  align-items:stretch;
}
.multimodel-test-main,
.multimodel-test-profile,
.multimodel-test-history {
  min-width:0;
}
.multimodel-test-launcher,
.multimodel-test-profile,
.multimodel-test-history {
  border:1px solid #d2dee8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(30,49,66,.07);
}
.multimodel-test-launcher {
  position:relative;
  top:auto;
  padding:22px;
  border-top:0;
}
.multimodel-test-profile {
  padding:22px;
  border-top:0;
}
.test-step-title {
  align-items:flex-start;
  padding-bottom:16px;
  margin-bottom:18px;
  border-bottom:1px solid #e6edf3;
}
.test-step-title > span {
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:8px;
  background:linear-gradient(135deg,#20394c,#1d4ed8);
  box-shadow:0 8px 18px rgba(29,78,216,.2);
}
.test-step-title strong {
  font-size:18px;
  color:#20394c;
}
.test-step-title small {
  max-width:680px;
  color:#617386;
}
.multimodel-test-fields,
.multimodel-custom-fields {
  gap:16px;
}
.multimodel-test-launcher label {
  color:#33495b;
  font-weight:800;
}
.multimodel-test-launcher input,
.multimodel-test-launcher select,
.multimodel-test-launcher textarea,
.multimodel-history-toolbar input,
.multimodel-history-toolbar select {
  border-color:#cfdbe5;
  border-radius:7px;
  background:#fbfdff;
}
.multimodel-test-launcher textarea:focus,
.multimodel-test-launcher input:focus,
.multimodel-test-launcher select:focus,
.multimodel-history-toolbar input:focus,
.multimodel-history-toolbar select:focus {
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.13);
  outline:0;
}
.multimodel-custom-fields {
  padding-top:18px;
  margin-top:18px;
  border-top:1px solid #e6edf3;
}
.multimodel-test-advice {
  margin:18px 0;
  border-color:#bfdbfe;
  border-left:5px solid #2563eb;
  border-radius:8px;
  background:#eff6ff;
  color:#24445b;
}
.multimodel-test-start {
  min-height:50px;
  border-radius:7px;
  background:linear-gradient(135deg,#1d4ed8,#0f766e) !important;
  box-shadow:0 12px 22px rgba(29,78,216,.18);
}
.multimodel-profile-preview {
  display:none;
}
.multimodel-profile-preview.is-selected {
  display:block;
  padding:16px;
  border:1px solid #dbe7ef;
  border-radius:8px;
  background:#fbfdff;
}
.profile-preview-head {
  padding-bottom:13px;
  border-bottom:1px solid #e6edf3;
}
.profile-preview-head strong {
  color:#20394c;
  font-size:18px;
}
.profile-objective {
  border-left-color:#0f766e;
  border-radius:7px;
}
.multimodel-profile-preview dl {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.multimodel-profile-preview dl div {
  min-width:0;
  padding:11px;
  border:1px solid #e2eaf1;
  border-radius:7px;
  background:#fff;
}
.multimodel-profile-preview dt {
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.multimodel-profile-preview dd {
  margin:4px 0 0;
  color:#1e293b;
  font-weight:800;
  overflow-wrap:anywhere;
}
.multimodel-test-history {
  padding:20px;
}
.multimodel-test-history .history-title {
  margin-bottom:16px;
}
.multimodel-history-toolbar {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(180px,240px);
  gap:14px;
  align-items:end;
  padding:14px;
  border-color:#dbe7ef;
  border-radius:8px;
  background:#f8fbfd;
}
.multimodel-history-toolbar label {
  margin:0;
  color:#33495b;
  font-weight:800;
}
.multimodel-history-toolbar label:first-child,
.multimodel-history-toolbar label:last-child {
  width:auto;
}
.multimodel-test-cards {
  gap:16px;
}
.multimodel-test-card {
  border-color:#d7e3ec;
  border-radius:8px;
  box-shadow:0 10px 24px rgba(30,49,66,.06);
}
.multimodel-test-card > header {
  padding:17px 18px;
  background:linear-gradient(180deg,#fbfdff,#f5f9fc);
}
.multimodel-test-card h3 {
  color:#20394c;
  font-size:16px;
}
.test-card-metrics {
  grid-template-columns:.7fr minmax(220px,1.7fr) .65fr .9fr;
}
.test-card-metrics > div {
  background:#fff;
}
.test-card-actions {
  background:#fbfdff;
}
.multimodel-test-analysis summary {
  color:#20394c;
  background:#f8fbfd;
}
.multimodel-test-analysis[open] summary {
  color:#1d4ed8;
}
@media (max-width:1200px) {
  .multimodel-test-workspace {
    grid-template-columns:1fr;
  }
  .multimodel-test-profile {
    order:2;
  }
  .multimodel-test-main {
    order:1;
  }
}
@media (max-width:760px) {
  .multimodel-test-page .page-header,
  .multimodel-test-workspace,
  .multimodel-test-history {
    padding-left:14px;
    padding-right:14px;
  }
  .multimodel-test-stats,
  .multimodel-test-fields,
  .multimodel-custom-fields,
  .multimodel-profile-preview dl,
  .multimodel-history-toolbar,
  .test-card-metrics {
    grid-template-columns:1fr;
  }
  .test-step-title {
    gap:10px;
  }
  .test-card-metrics > div {
    border-right:0;
    border-bottom:1px solid #e7edf2;
  }
  .test-card-metrics > div:last-child {
    border-bottom:0;
  }
}
/* Multimodel test stacked steps 20260626 */
.multimodel-test-page {
  max-width:1760px;
}
.multimodel-test-workspace {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:20px !important;
  align-items:stretch !important;
}
.multimodel-test-main,
.multimodel-test-profile,
.multimodel-test-history {
  width:100% !important;
  max-width:none !important;
}
.multimodel-test-launcher,
.multimodel-test-profile,
.multimodel-test-history {
  width:100%;
  box-sizing:border-box;
}
.multimodel-test-launcher {
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(320px,1fr);
  gap:18px 22px;
  align-items:start;
}
.multimodel-test-launcher .test-step-title {
  grid-column:1 / -1;
}
.multimodel-test-fields {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.multimodel-custom-fields {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  padding-top:0;
  margin-top:0;
  border-top:0;
}
.multimodel-custom-fields .span-2 {
  grid-column:1 / -1 !important;
}
.multimodel-test-advice {
  align-self:stretch;
  margin:0;
}
.multimodel-test-start {
  align-self:end;
  margin:0;
}
.multimodel-test-busy {
  grid-column:1 / -1;
}
.multimodel-test-profile {
  display:block;
}
.multimodel-profile-preview.is-selected {
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr);
  gap:16px;
  align-items:start;
}
.multimodel-profile-preview.is-selected .profile-preview-head {
  grid-column:1 / -1;
}
.multimodel-profile-preview.is-selected .profile-objective {
  min-height:100%;
  margin:0;
}
.multimodel-profile-preview.is-selected dl {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.multimodel-test-history {
  margin-top:20px !important;
}
.multimodel-test-history .history-title {
  width:100%;
}
.multimodel-history-toolbar {
  grid-template-columns:minmax(280px,1fr) minmax(180px,240px) !important;
  max-width:760px;
}
.multimodel-test-cards {
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
  gap:18px !important;
  align-items:stretch;
}
.multimodel-test-card {
  display:flex;
  flex-direction:column;
  min-height:420px;
  overflow:hidden;
  border:1px solid #d6e1e9;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(30,49,66,.07);
}
.multimodel-test-card > header {
  display:grid !important;
  grid-template-columns:1fr auto;
  gap:14px;
  min-height:108px;
  padding:16px 18px;
  background:linear-gradient(180deg,#fbfdff,#f4f8fb);
}
.multimodel-test-card h3 {
  max-width:100%;
  font-size:18px;
  line-height:1.28;
}
.multimodel-test-card header p {
  margin-top:5px;
  line-height:1.35;
}
.test-card-state {
  justify-content:flex-end;
  min-width:112px;
}
.test-card-metrics {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  border-bottom:1px solid #e7edf2;
}
.test-card-metrics > div {
  min-height:88px;
  border-right:1px solid #e7edf2 !important;
  border-bottom:1px solid #e7edf2;
}
.test-card-metrics > div:nth-child(2n) {
  border-right:0 !important;
}
.test-card-metrics > div:nth-last-child(-n+2) {
  border-bottom:0;
}
.test-card-metrics strong {
  font-size:14px;
  line-height:1.35;
}
.test-card-actions {
  display:grid !important;
  grid-template-columns:1fr auto;
  gap:12px;
  margin-top:auto;
  align-items:center;
}
.test-card-actions .test-audio {
  min-width:0 !important;
}
.test-card-actions audio {
  width:100% !important;
}
.test-card-actions .button-link {
  min-height:42px;
  display:inline-flex;
  align-items:center;
}
.multimodel-test-analysis {
  margin-top:0;
}
@media (max-width:1180px) {
  .multimodel-test-launcher,
  .multimodel-profile-preview.is-selected {
    grid-template-columns:1fr;
  }
  .multimodel-profile-preview.is-selected dl {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  .multimodel-test-fields,
  .multimodel-custom-fields,
  .multimodel-profile-preview.is-selected dl,
  .multimodel-history-toolbar,
  .multimodel-test-cards,
  .test-card-actions,
  .test-card-metrics {
    grid-template-columns:1fr !important;
  }
  .test-card-metrics > div {
    border-right:0 !important;
  }
  .test-card-metrics > div:nth-last-child(-n+2) {
    border-bottom:1px solid #e7edf2;
  }
  .test-card-metrics > div:last-child {
    border-bottom:0;
  }
  .multimodel-test-card > header {
    grid-template-columns:1fr;
  }
  .test-card-state {
    justify-content:flex-start;
  }
}
/* Multimodel test step 3 grid fix 20260626 */
.multimodel-test-page .multimodel-test-history {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  clear:both !important;
}
.multimodel-test-page .multimodel-test-history .history-title {
  display:flex !important;
  width:100% !important;
  max-width:none !important;
}
.multimodel-test-page .multimodel-history-toolbar {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.multimodel-test-page .multimodel-test-cards {
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.multimodel-test-page .multimodel-test-card {
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}
.multimodel-test-page .multimodel-test-card > header {
  min-width:0 !important;
}
.multimodel-test-page .test-card-actions {
  grid-template-columns:1fr !important;
}
.multimodel-test-page .test-card-actions .button-link {
  justify-content:center;
  width:100%;
}
@media (max-width:1450px) {
  .multimodel-test-page .multimodel-test-cards {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:860px) {
  .multimodel-test-page .multimodel-test-cards {
    grid-template-columns:1fr !important;
  }
}
/* Multimodel analysis drawer 20260626 */
.multimodel-test-analysis-action {
  padding:13px 16px;
  border-top:1px solid #e7edf2;
  background:#f8fbfd;
}
.multimodel-test-analysis-action .button-link {
  width:100%;
  justify-content:center;
}
.analysis-overlay {
  position:fixed;
  z-index:210;
  inset:0;
  background:rgba(15,23,42,.38);
  backdrop-filter:blur(2px);
}
.analysis-overlay[hidden],
.analysis-drawer[hidden] {
  display:none;
}
.analysis-drawer {
  position:fixed;
  z-index:211;
  top:0;
  right:0;
  width:min(760px,100vw);
  height:100vh;
  overflow-y:auto;
  background:#f4f7f9;
  border-left:1px solid #7890a2;
  box-shadow:-18px 0 44px rgba(24,40,52,.24);
  animation:drawerIn .24s ease both;
}
.analysis-drawer-head {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 22px;
  color:#fff;
  background:linear-gradient(135deg,#20394c,#1d4ed8);
  box-shadow:0 6px 18px rgba(24,40,52,.16);
}
.analysis-drawer-head span {
  color:#dbeafe;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.analysis-drawer-head h2 {
  margin:4px 0 0;
  font-size:22px;
}
.analysis-drawer-head button {
  width:38px;
  height:38px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:18px;
}
.analysis-content {
  padding:20px 22px 28px;
}
.analysis-drawer-meta {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.analysis-drawer-meta div,
.analysis-drawer-section {
  border:1px solid #d8e3eb;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 18px rgba(30,49,66,.05);
}
.analysis-drawer-meta div {
  padding:12px;
}
.analysis-drawer-meta span {
  display:block;
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.analysis-drawer-meta strong {
  display:block;
  margin-top:4px;
  color:#172b3a;
  overflow-wrap:anywhere;
}
.analysis-drawer-section {
  padding:16px;
  margin-bottom:14px;
}
.analysis-drawer-section h3 {
  margin:0 0 10px;
  color:#20394c;
  font-size:17px;
}
.analysis-drawer-section p,
.analysis-drawer-section pre {
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#243746;
  line-height:1.6;
}
.analysis-drawer-section pre {
  max-height:none;
  font-family:inherit;
}
body.analysis-open {
  overflow:hidden;
}
body.analysis-open .sidebar,
body.analysis-open .topbar {
  z-index:auto;
}
@media (max-width:700px) {
  .analysis-drawer {
    width:100vw;
  }
  .analysis-drawer-meta {
    grid-template-columns:1fr;
  }
}
/* Leads Opt-In / RGPD */
.optin-page .page-kicker{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;color:#54708e;margin-bottom:6px}
.optin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.optin-tabs a{padding:10px 13px;border:1px solid #d8e3ec;background:#f8fbfd;color:#244159;text-decoration:none;border-radius:8px;font-weight:700}
.optin-tabs a.active{background:#174c72;color:#fff;border-color:#174c72;box-shadow:0 8px 20px rgba(23,76,114,.16)}
.optin-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.optin-kpi article{background:#fff;border:1px solid #d8e3ec;border-radius:10px;padding:16px;box-shadow:0 8px 22px rgba(21,50,75,.06)}
.optin-kpi span{display:block;color:#60758d;font-size:12px;font-weight:800;text-transform:uppercase}
.optin-kpi strong{display:block;font-size:28px;color:#142336;margin-top:6px}
.optin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.optin-two{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px;align-items:start}
.optin-form{display:grid;gap:12px}
.optin-form .span-2{grid-column:1/-1}
.optin-form label{font-weight:800;color:#2b4359}
.optin-form input,.optin-form select,.optin-form textarea,.optin-filters input,.optin-filters select{width:100%;margin-top:6px;border:1px solid #cfdce7;border-radius:8px;padding:10px 11px;background:#fff;color:#172538}
.optin-form label.check{display:flex;gap:9px;align-items:center;font-weight:700}
.optin-form label.check input{width:auto;margin:0}
.optin-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.optin-card{background:#fff;border:1px solid #d8e3ec;border-radius:10px;padding:16px;box-shadow:0 8px 22px rgba(21,50,75,.05);overflow:hidden}
.optin-card.big{min-height:160px}
.optin-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.optin-card strong{font-size:18px;color:#172538}
.optin-card p,.optin-card small,.optin-card code{color:#5b6f86;word-break:break-word}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;text-transform:uppercase;background:#eef3f7;color:#52687d}
.badge.ok{background:#e4f8ee;color:#147947}
.badge.danger{background:#fde8e8;color:#a32020}
.badge.muted{background:#eef3f7;color:#52687d}
.optin-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.optin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:18px}
.optin-dl{display:grid;gap:10px}
.optin-dl div{display:grid;grid-template-columns:150px 1fr;gap:12px;border-bottom:1px solid #edf2f6;padding-bottom:8px}
.optin-dl dt{font-weight:900;color:#62778d}
.optin-dl dd{margin:0;color:#172538;word-break:break-word}
.optin-events{display:grid;gap:10px}
.optin-events>div{border:1px solid #e0e9f1;border-radius:8px;padding:11px;background:#fbfdff}
.optin-events strong{color:#173a56}
.optin-events span{float:right;color:#71859a;font-size:12px}
.optin-token code{display:inline-block;background:#eef4f8;border:1px solid #d7e2eb;border-radius:6px;padding:4px 7px}
.optin-public{background:#eef4f8;min-height:100vh;display:grid;place-items:center;padding:24px}
.optin-public-card{width:min(680px,100%);background:#fff;border:1px solid #d8e3ec;border-radius:14px;padding:24px;box-shadow:0 18px 50px rgba(24,49,73,.13)}
.optin-public-card form{display:grid;gap:12px}
.optin-chat-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}
.optin-chat-list{display:grid;gap:8px;max-height:70vh;overflow:auto}
.optin-chat-list a{display:block;text-decoration:none;border:1px solid #e0e8f0;border-radius:8px;padding:10px;color:#20384f;background:#fff}
.optin-chat-list a.active{border-color:#174c72;background:#edf6fb}
.optin-chat-list span,.optin-chat-list small{display:block;color:#60758d}
.optin-chat-thread{min-height:420px;display:flex;flex-direction:column;gap:10px}
.chat-bubble{max-width:78%;border-radius:12px;padding:10px 12px;background:#eef4f8;color:#172538}
.chat-bubble.admin{margin-left:auto;background:#174c72;color:#fff}
.chat-bubble p{margin:4px 0}
.chat-reply{margin-top:auto;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}
@media(max-width:900px){.optin-two,.optin-chat-layout{grid-template-columns:1fr}.optin-dl div{grid-template-columns:1fr}.chat-reply{grid-template-columns:1fr}}

/* Public opt-in chat widget */
.optin-chat-widget{position:fixed;right:22px;bottom:22px;z-index:50;font-family:inherit}
.optin-chat-toggle{border:0;border-radius:999px;background:#174c72;color:#fff;padding:13px 18px;font-weight:900;box-shadow:0 12px 28px rgba(23,76,114,.28);cursor:pointer}
.optin-chat-box{width:min(360px,calc(100vw - 28px));height:460px;background:#fff;border:1px solid #d7e4ed;border-radius:14px;box-shadow:0 22px 60px rgba(20,45,66,.24);overflow:hidden;display:flex;flex-direction:column;margin-bottom:10px}
.optin-chat-box-head{display:flex;align-items:center;justify-content:space-between;background:#174c72;color:#fff;padding:12px 14px}
.optin-chat-box-head button{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer}
.optin-chat-messages{flex:1;overflow:auto;padding:14px;background:#f5f8fb;display:flex;flex-direction:column;gap:9px}
.optin-chat-messages .msg{background:#fff;border:1px solid #e1ebf2;border-radius:10px;padding:9px 10px;max-width:88%}
.optin-chat-messages .msg.admin{align-self:flex-end;background:#174c72;color:#fff;border-color:#174c72}
.optin-chat-messages .msg b,.optin-chat-messages .msg span{display:block}
.optin-chat-messages .msg b{font-size:12px;opacity:.75;margin-bottom:3px}
#optin-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;background:#fff;border-top:1px solid #e1ebf2}
#optin-chat-form input{border:1px solid #ccdbe6;border-radius:9px;padding:10px}
#optin-chat-form button{border:0;border-radius:9px;background:#174c72;color:#fff;font-weight:800;padding:0 14px}
@media(max-width:600px){.optin-chat-widget{right:12px;bottom:12px}.optin-chat-box{height:420px}}

/* Public landing page: pompe a chaleur */
.optin-heat-pump{display:block;min-height:100vh;background:#eef4f8;color:#22384a;padding:0}
.hp-hero{color:#fff;background:linear-gradient(115deg,rgba(25,48,67,.96),rgba(29,91,112,.9) 56%,rgba(20,130,120,.84)),url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80") center/cover;padding:22px clamp(18px,4vw,58px) 54px}
.hp-nav{max-width:1180px;margin:0 auto 38px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hp-nav strong{font-size:18px;letter-spacing:.2px}
.hp-nav span{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);border-radius:999px;padding:8px 14px;font-size:13px}
.hp-hero-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:34px;align-items:center}
.hp-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(219,246,235,.16);border:1px solid rgba(219,246,235,.38);color:#dffcf1;font-weight:900;font-size:12px;text-transform:uppercase}
.hp-hero h1{max-width:760px;margin:18px 0 16px;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:0}
.hp-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.62}
.hp-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hp-badges span{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:900}
.hp-hero-card{overflow:hidden;border-radius:8px;background:#fff;color:#22384a;box-shadow:0 28px 70px rgba(0,0,0,.28)}
.hp-hero-card img,.hp-products img{width:100%;display:block;object-fit:cover}
.hp-hero-card img{height:280px}
.hp-hero-card div{padding:18px 20px 20px}
.hp-hero-card strong{display:block;font-size:22px;margin-bottom:5px}
.hp-hero-card small{color:#60758a;line-height:1.45}
.hp-wrap{max-width:1180px;margin:-28px auto 54px;padding:0 clamp(14px,3vw,24px)}
.hp-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.hp-products article,.hp-info-panel,.hp-form-card{border:1px solid #cddce7;background:rgba(255,255,255,.96);border-radius:8px;box-shadow:0 16px 44px rgba(34,56,74,.08)}
.hp-products article{overflow:hidden}
.hp-products img{height:172px}
.hp-products h2{margin:16px 18px 6px;font-size:20px;color:#22384a}
.hp-products p{margin:0 18px 18px;color:#60758a;line-height:1.5}
.hp-content-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}
.hp-info-panel,.hp-form-card{padding:26px}
.hp-info-panel h2,.hp-form-card h2{margin:0 0 12px;color:#22384a;font-size:26px}
.hp-info-panel ol{margin:18px 0 0;padding-left:20px;color:#33485c;line-height:1.7}
.hp-trust{margin-top:22px;padding:18px;border-radius:8px;background:#e8f5f5;border-left:4px solid #16877f}
.hp-trust p{margin:8px 0 0;color:#486176;line-height:1.55}
.hp-form-card>p{color:#60758a;margin:0 0 18px}
.hp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hp-form-card label{display:grid;gap:7px;color:#30495f;font-weight:900}
.hp-form-card input,.hp-form-card select,.hp-form-card textarea{width:100%;border:1px solid #c7d6e2;border-radius:8px;background:#f8fbfd;color:#182637;padding:12px 13px;font:inherit;font-weight:700}
.hp-form-card textarea{margin-top:14px;resize:vertical}
.hp-consent{display:flex!important;align-items:flex-start;gap:10px!important;margin:16px 0;font-weight:600!important;color:#4e6478!important;line-height:1.45}
.hp-consent input{width:auto;margin-top:3px}
.hp-submit{width:100%;min-height:52px;border-radius:8px;background:linear-gradient(135deg,#1677a5,#15877d);box-shadow:0 16px 34px rgba(22,119,165,.25);font-size:16px}
.hp-privacy{display:block;margin-top:12px;color:#74879a;line-height:1.45}
@media(max-width:900px){.hp-hero-grid,.hp-content-grid,.hp-products{grid-template-columns:1fr}.hp-hero-card img{height:220px}.hp-wrap{margin-top:-18px}}
@media(max-width:620px){.hp-nav{align-items:flex-start;flex-direction:column;margin-bottom:26px}.hp-form-grid{grid-template-columns:1fr}.hp-hero{padding-bottom:42px}.hp-info-panel,.hp-form-card{padding:20px}}

/* Leads catalog and market forms */
.lead-catalog,.market-public{display:block;min-height:100vh;background:#eef4f8;color:#22384a;padding:0}
.lead-catalog-hero,.market-hero{color:#fff;background:linear-gradient(120deg,rgba(28,52,73,.98),rgba(24,96,122,.92) 55%,rgba(22,135,127,.86)),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80") center/cover;padding:22px clamp(18px,4vw,58px) 54px}
.lead-catalog-hero nav,.market-hero nav{max-width:1180px;margin:0 auto 38px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lead-catalog-hero nav span,.market-hero nav span{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:800}
.lead-catalog-hero section{max-width:1180px;margin:0 auto}
.lead-catalog-hero h1,.market-hero h1{max-width:780px;margin:0 0 14px;font-size:clamp(34px,5vw,58px);line-height:1.03;letter-spacing:0}
.lead-catalog-hero p,.market-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.62}
.lead-catalog-wrap,.market-wrap{max-width:1180px;margin:-28px auto 54px;padding:0 clamp(14px,3vw,24px)}
.lead-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.lead-catalog-card{display:grid;grid-template-rows:180px 1fr;overflow:hidden;text-decoration:none;color:#22384a;background:#fff;border:1px solid #cddce7;border-radius:8px;box-shadow:0 16px 44px rgba(34,56,74,.1);transition:transform .16s ease,box-shadow .16s ease}
.lead-catalog-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(34,56,74,.16)}
.lead-catalog-card img{width:100%;height:180px;object-fit:cover;display:block}
.lead-catalog-card div{padding:18px;display:grid;gap:9px}
.lead-catalog-card span,.market-kicker{width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;background:#e8f5f5;color:#126f68;font-size:12px;font-weight:900;text-transform:uppercase}
.lead-catalog-card h2{margin:0;font-size:21px;color:#22384a;line-height:1.16}
.lead-catalog-card p{margin:0;color:#60758a;line-height:1.5}
.lead-catalog-card strong{margin-top:6px;color:#1677a5}
.market-hero-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:34px;align-items:center}
.market-hero-grid img{width:100%;height:330px;object-fit:cover;border-radius:8px;box-shadow:0 28px 70px rgba(0,0,0,.28)}
.market-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.market-points span{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:900}
.market-form-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid #cddce7;border-radius:8px;box-shadow:0 16px 44px rgba(34,56,74,.1);padding:26px}
.market-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.market-products article,.market-info-panel{border:1px solid #cddce7;background:rgba(255,255,255,.96);border-radius:8px;box-shadow:0 16px 44px rgba(34,56,74,.08);overflow:hidden}
.market-products img{width:100%;height:172px;object-fit:cover;display:block}
.market-products h2{margin:16px 18px 6px;font-size:20px;color:#22384a}
.market-products p{margin:0 18px 18px;color:#60758a;line-height:1.5}
.market-content-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}
.market-info-panel{padding:26px}
.market-info-panel h2{margin:0 0 12px;color:#22384a;font-size:26px}
.market-info-panel ol{margin:18px 0 0;padding-left:20px;color:#33485c;line-height:1.7}
.market-trust{margin-top:22px;padding:18px;border-radius:8px;background:#e8f5f5;border-left:4px solid #16877f}
.market-trust p{margin:8px 0 0;color:#486176;line-height:1.55}
.market-form-card h2{margin:0 0 8px;color:#22384a;font-size:28px}
.market-form-card>p{margin:0 0 18px;color:#60758a}
.market-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.market-form-card label{display:grid;gap:7px;color:#30495f;font-weight:900}
.market-form-card input,.market-form-card textarea{width:100%;border:1px solid #c7d6e2;border-radius:8px;background:#f8fbfd;color:#182637;padding:12px 13px;font:inherit;font-weight:700}
.market-form-card textarea{margin-top:14px;resize:vertical}
.market-consent{display:flex!important;align-items:flex-start;gap:10px!important;margin:16px 0;font-weight:600!important;color:#4e6478!important;line-height:1.45}
.market-consent input{width:auto;margin-top:3px}
.market-submit{width:100%;min-height:52px;border-radius:8px;background:linear-gradient(135deg,#1677a5,#15877d);box-shadow:0 16px 34px rgba(22,119,165,.25)}
.optin-form-manage details{margin-top:12px;border-top:1px solid #e1ebf2;padding-top:10px}
.optin-form-manage summary{cursor:pointer;font-weight:900;color:#174c72}
.optin-mini-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.optin-mini-form .span-2{grid-column:1/-1}
.optin-mini-form input,.optin-mini-form textarea,.optin-mini-form select,.optin-clone-form input{width:100%;border:1px solid #ccdbe6;border-radius:8px;padding:9px;background:#fff}
.optin-clone-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:10px}
.optin-chat-pro{grid-template-columns:minmax(280px,380px) 1fr}
.optin-chat-pro .optin-chat-list a{box-shadow:0 10px 26px rgba(34,56,74,.06)}
.optin-chat-pro .optin-chat-list a em{display:block;margin-top:5px;color:#8aa0b3;font-style:normal;font-size:12px}
.optin-visitor-rows{gap:10px}
.optin-visitor-rows .visitor-row{display:grid;gap:8px;padding:12px;border-radius:10px;border:1px solid #d8e5ef;background:#fff;color:#22384a;box-shadow:0 10px 24px rgba(34,56,74,.06)}
.optin-visitor-rows .visitor-row.active{border-color:#1677a5;background:#f1f9fc;box-shadow:0 14px 32px rgba(22,119,165,.12)}
.visitor-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.visitor-row-top strong{font-size:15px;color:#173a56}
.visitor-row-top b{border-radius:999px;padding:4px 9px;font-size:11px;text-transform:uppercase}
.visitor-row-top b.ok{background:#dcfce7;color:#166534}
.visitor-row-top b.muted{background:#eef2f7;color:#64748b}
.visitor-row-meta{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:5px 8px;color:#526b80;font-size:12px}
.visitor-row-meta i{font-style:normal;color:#7d91a4;font-weight:900;text-transform:uppercase}
.visitor-row-page{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#26445d;font-weight:800;font-size:13px}
.visitor-row-time{color:#8aa0b3;font-size:12px}
.optin-chat-visitor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:1px solid #d7e5ef;border-radius:10px;background:#f6fbfd;padding:12px;color:#33485c}
.optin-chat-visitor strong{color:#173a56}
.typing-muted,.chat-typing{color:#6d8296;font-size:12px;font-weight:800}
.chat-typing{padding:0 12px 8px;background:#f5f8fb;min-height:18px}
.optin-chat-messages .msg small{display:block;margin-top:4px;font-size:11px;color:#7f91a3}
.optin-chat-messages .msg.admin small{color:rgba(255,255,255,.72)}
#optin-admin-thread{display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:58vh;padding-right:4px}

/* Force live chat visitor list into readable rows */
.optin-chat-layout.optin-chat-pro{grid-template-columns:minmax(360px,460px) minmax(0,1fr);align-items:start}
.optin-chat-layout.optin-chat-pro .optin-chat-list.optin-visitor-rows{display:flex!important;flex-direction:column!important;gap:10px!important;max-height:70vh;overflow:auto;padding:12px}
.optin-chat-layout.optin-chat-pro .optin-visitor-rows .visitor-row{width:100%;min-height:auto;display:grid!important;grid-template-columns:1fr;gap:8px;padding:14px 15px;border-radius:10px;box-sizing:border-box}
.optin-chat-layout.optin-chat-pro .visitor-row *{min-width:0}
.optin-chat-layout.optin-chat-pro .visitor-row-top strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.optin-chat-layout.optin-chat-pro .visitor-row-meta{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;font-size:12px;line-height:1.35}
.optin-chat-layout.optin-chat-pro .visitor-row-meta i:nth-of-type(2){grid-column:1}
.optin-chat-layout.optin-chat-pro .visitor-row-page{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.optin-chat-layout.optin-chat-pro .visitor-row-time{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.optin-chat-layout.optin-chat-pro .optin-chat-thread{min-width:0}
@media(max-width:1100px){.lead-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.optin-chat-visitor{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.market-hero-grid,.market-content-grid,.market-products{grid-template-columns:1fr}.market-hero-grid img{height:240px}.market-form-grid,.optin-mini-form,.optin-clone-form{grid-template-columns:1fr}.lead-catalog-grid{grid-template-columns:1fr}.optin-chat-pro{grid-template-columns:1fr}}
