.mi-demo{max-width:760px;margin:0 auto;padding:0 24px 100px}
.mi-panel{background:rgba(255,255,255,.04);border:1px solid rgba(157,122,255,.25);border-radius:20px;padding:28px}

/* Consentement */
.consent-box{display:flex;gap:14px;background:rgba(139,232,255,.06);border:1px solid rgba(139,232,255,.25);border-radius:14px;padding:16px;margin-bottom:26px}
.consent-box .lock{font-size:20px}
.consent-box b{font-size:13.5px;color:#8be8ff}
.consent-box p{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6}

/* Enregistrement */
.record-zone{text-align:center}
.btn-record{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#6a3bd1,#9d7aff);color:#fff;border:0;border-radius:100px;padding:16px 28px;font-weight:800;font-size:15px;cursor:pointer}
.rec-dot{width:10px;height:10px;border-radius:50%;background:#ff5a5a;display:inline-block}
@keyframes recPulse{0%,100%{opacity:1}50%{opacity:.3}}
.btn-record.recording .rec-dot{animation:recPulse 1s ease-in-out infinite}
.rec-timer{margin-top:16px;font-size:28px;font-weight:900;font-variant-numeric:tabular-nums;color:#ff8a8a}
.btn-stop{margin-top:16px;background:rgba(255,90,90,.15);color:#ff8a8a;border:1px solid rgba(255,90,90,.35);border-radius:100px;padding:12px 22px;font-weight:800;cursor:pointer}
.rec-hint{margin:22px 0 10px;color:var(--muted);font-size:12.5px}
#file-input{color:var(--muted);font-size:13px}

/* Progression */
.progress-header{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.progress-header .mic-ic{font-size:26px}
.progress-header b{display:block;font-size:15px}
.progress-header span#progress-duration{font-size:12.5px;color:var(--muted)}
.progress-step{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06)}
.progress-step .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);flex:none}
.progress-step.active .dot{background:#8be8ff;animation:recPulse 1s ease-in-out infinite}
.progress-step.done .dot{background:#5ad18a}
.progress-step.done b{color:#5ad18a}
.progress-step.active b{color:#8be8ff}
.progress-step b{color:inherit;font-weight:800}
.progress-counters{display:flex;gap:24px;margin-top:20px;justify-content:center}
.progress-counters div{text-align:center}
.progress-counters b{display:block;font-size:24px;color:#8be8ff}
.progress-counters span{font-size:10.5px;color:var(--muted);letter-spacing:.05em}

/* Resultat */
.result-block{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.result-block.visible{opacity:1;transform:none}
.result-block:last-of-type{border-bottom:0}
.rb-head{font-size:13.5px;font-weight:800;letter-spacing:.03em;color:#8be8ff;margin-bottom:10px}
.result-block p{margin:0;font-size:14px;line-height:1.7;color:#e3ddfa}
.rb-list{margin:0;padding-left:20px}
.rb-list li{font-size:13.5px;line-height:1.8;color:#e3ddfa}
.rb-empty{font-size:13px;color:var(--muted);font-style:italic}
.rb-actions{display:flex;flex-direction:column;gap:10px}
.action-card{background:rgba(157,122,255,.06);border:1px solid rgba(157,122,255,.2);border-radius:12px;padding:12px 14px}
.action-card .a-title{font-size:13.5px;font-weight:700;color:#fff}
.action-card .a-meta{display:flex;gap:16px;margin-top:6px;font-size:11px;color:var(--muted)}
.action-card .a-meta b{color:#8be8ff}

.doc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.doc-btn{background:rgba(157,122,255,.1);border:1px solid rgba(157,122,255,.3);color:#fff;border-radius:100px;padding:10px 16px;font-size:12.5px;font-weight:700;cursor:pointer}
.doc-btn:hover{background:rgba(157,122,255,.2)}
.report-box{background:#140a35;border:1px solid rgba(157,122,255,.2);border-radius:12px;padding:16px;max-height:220px;overflow-y:auto;font-size:12.5px;line-height:1.7;color:#c9baf0;white-space:pre-wrap}

.memory-cta{background:rgba(246,201,74,.06);border:1px solid rgba(246,201,74,.25);border-radius:14px;padding:18px}
.memory-cta p{color:#f6c94a;font-size:13.5px}
.btn-memory{margin-top:10px;background:linear-gradient(135deg,#27dfff,#6a3bd1);color:#fff;border:0;border-radius:100px;padding:12px 20px;font-weight:800;font-size:13px;cursor:pointer}
.memory-demo{margin-top:16px;font-size:12.5px;color:var(--muted);line-height:2}
.memory-demo b{color:#8be8ff}

.btn-restart{display:block;margin:10px auto 0;background:none;border:1px solid rgba(255,255,255,.2);color:var(--muted);border-radius:100px;padding:10px 20px;font-size:12.5px;cursor:pointer}
