/*
 * Phase 2 — Lot CSS 2M
 * Module : IA Présence vocale
 * Extraction stricte du bloc nf-v52-presence-voice-css.
 * Navigation et JavaScript inchangés.
 */

/* V52 — IA Présence vocale premium et repliable */
.nf-v52-voice-panel{
  margin:8px 16px 10px;
  padding:12px;
  background:rgba(253,249,238,.94);
  border:1px solid rgba(42,37,32,.10);
  border-radius:18px;
  box-shadow:0 4px 14px rgba(42,37,32,.045);
}
.nf-v52-voice-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.nf-v52-title{
  font-family:var(--font-mono);
  font-size:.54rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--nf-copper);
  font-weight:800;
}
.nf-v52-sub{
  margin-top:4px;
  font-family:var(--font-ui);
  font-size:.76rem;
  color:var(--nf-ink-mid);
  line-height:1.25;
}
.nf-v52-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.nf-v52-btn{
  border:none;
  border-radius:999px;
  padding:9px 13px;
  background:var(--nf-copper);
  color:#FDF9EE;
  font-family:var(--font-ui);
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  line-height:1;
  white-space:nowrap;
}
.nf-v52-btn.secondary{
  background:transparent;
  color:var(--nf-ink);
  border:1.5px solid var(--nf-ink-soft);
}
.nf-v52-btn.ghost{
  background:rgba(196,103,66,.08);
  color:var(--nf-copper);
  border:1px solid rgba(196,103,66,.14);
}
.nf-v52-btn:active{transform:scale(.98)}
.nf-v52-settings-toggle{
  width:100%;
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:none;
  background:rgba(42,37,32,.04);
  border-radius:14px;
  padding:10px 12px;
  color:var(--nf-ink);
  cursor:pointer;
  font-family:var(--font-ui);
  font-size:.82rem;
  font-weight:650;
}
.nf-v52-chevron{transition:transform .2s ease;color:var(--nf-copper)}
.nf-v52-voice-panel.open .nf-v52-chevron{transform:rotate(180deg)}
.nf-v52-settings{display:none;margin-top:12px}
.nf-v52-voice-panel.open .nf-v52-settings{display:block}
.nf-v52-auto-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(42,37,32,.07);
  margin-bottom:10px;
}
.nf-v52-auto-row input{margin-top:3px;accent-color:var(--nf-copper);width:18px;height:18px;flex-shrink:0}
.nf-v52-auto-label{display:block;font-size:.82rem;color:var(--nf-ink);font-weight:650;line-height:1.25}
.nf-v52-auto-help{display:block;font-size:.72rem;color:var(--nf-ink-mid);line-height:1.35;margin-top:4px}
.nf-v52-grid{
  display:grid;
  grid-template-columns:1fr 86px 86px;
  gap:9px;
  align-items:end;
}
.nf-v52-select,.nf-v52-range{
  width:100%;
  border:1.5px solid var(--nf-ink-soft);
  border-radius:12px;
  background:#fff;
  color:var(--nf-ink);
  font-family:var(--font-ui);
  font-size:.78rem;
  padding:8px;
  outline:none;
}
.nf-v52-range{padding:0;height:34px;background:transparent;border:none;accent-color:var(--nf-copper)}
.nf-v52-mini-label{
  font-family:var(--font-mono);
  font-size:.48rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--nf-ink-mid);
  margin-bottom:3px;
}
.nf-v52-note{
  font-size:.71rem;
  color:var(--nf-ink-mid);
  line-height:1.35;
  margin-top:8px;
}
#screen-ia.nf-active{
  padding-bottom:160px!important;
  scroll-padding-bottom:180px;
}
#screen-ia .nf-v52-voice-panel + *{margin-top:10px}
@media(max-width:390px){
  .nf-v52-grid{grid-template-columns:1fr}
}

/* IA-PRESENCE-UX-R2B — dictée vocale facultative */
.nf-v52-support-note{
  margin:-2px 2px 10px;
  font-family:var(--font-ui);
  font-size:.7rem;
  line-height:1.35;
  color:var(--nf-ink-mid);
}
.nf-v52-dictation-status{
  margin:0 0 10px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(42,37,32,.035);
  border:1px solid rgba(42,37,32,.06);
  font-family:var(--font-ui);
  font-size:.72rem;
  line-height:1.35;
  color:var(--nf-ink-mid);
}
.nf-v52-dictation-status.is-listening{
  background:rgba(196,103,66,.08);
  border-color:rgba(196,103,66,.22);
  color:var(--nf-ink);
}
.nf-v52-mic-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1.5px solid rgba(196,103,66,.24);
  background:rgba(196,103,66,.08);
  color:var(--nf-copper);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  cursor:pointer;
  font-size:1rem;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.nf-v52-mic-btn:active{transform:scale(.97)}
.nf-v52-mic-btn.is-listening{
  background:var(--nf-copper);
  color:#FDF9EE;
  border-color:var(--nf-copper);
  animation:nf-v52-mic-pulse 1.15s ease-in-out infinite;
}
@keyframes nf-v52-mic-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(196,103,66,.24)}
  50%{box-shadow:0 0 0 7px rgba(196,103,66,0)}
}
@media(prefers-reduced-motion:reduce){.nf-v52-mic-btn.is-listening{animation:none}}
