/* diaspora.ro source-first module extracted from #cv-builder-professional-voice; behavior preserved during migration. */
/* Voice wizard — interfață calmă, clară și coerentă cu editorul */
#vw-overlay{align-items:center;padding:20px;background:rgba(7,18,39,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vw-sheet{max-width:600px;max-height:min(720px,calc(100vh - 40px));overflow-y:auto;background:#fff;border:1px solid #dce5f0;border-radius:22px;box-shadow:0 24px 70px rgba(3,17,42,.3);transform:translateY(12px) scale(.985);opacity:0;transition:transform .24s ease,opacity .24s ease}
#vw-overlay.open .vw-sheet{transform:translateY(0) scale(1);opacity:1}
.vw-drag-handle{display:none}
.vw-header{padding:22px 28px 18px;border-bottom:1px solid #edf1f6}
.vw-header-brand{display:flex;flex-direction:column;gap:4px;min-width:0}
.vw-kicker{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#58729a}
.vw-header-brand strong{font-size:17px;line-height:1.25;color:#0b2559}
.vw-header-actions{display:flex;align-items:center;gap:12px}
.vw-step-badge{background:#eef4ff;border:1px solid #cbdcf5;color:#2053a0;border-radius:999px;padding:7px 11px;font-size:11px;letter-spacing:.02em;font-weight:800}
.vw-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #dbe3ee;background:#fff;color:#58708e;border-radius:10px}
.vw-close:hover{background:#f5f8fc;color:#0b2559;border-color:#b7c7dc}
.vw-body{padding:28px 28px 22px}
.vw-question{font-size:25px;line-height:1.25;letter-spacing:-.025em;color:#0b2559;margin:0 0 8px}
.vw-hint{font-size:13px;color:#5d6f88;margin:0 0 22px;line-height:1.55}
.vw-voice-bar{background:#f7f9fc;border:1px solid #dbe4f0;border-radius:16px;padding:16px;margin-bottom:16px}
.vw-voice-bar.active{background:#eef5ff;border-color:#5e8bd5;box-shadow:0 0 0 4px rgba(53,105,185,.1)}
.vw-voice-bar.done{background:#f1faf6;border-color:#9ed3b7}
.vw-voice-icon{border:0;width:52px;height:52px;background:#0b2559;color:#fff;box-shadow:0 6px 16px rgba(11,37,89,.2)}
.vw-voice-icon:hover{background:#17458f;transform:translateY(-1px)}
.vw-voice-icon.active,.vw-btn-mic.is-listening{background:#2165bd;animation:voice-pulse-professional 1.2s ease-in-out infinite}
.vw-voice-icon.done{background:#218552}
.vw-voice-status{color:#0b2559;font-size:11px;letter-spacing:.08em}
.vw-voice-bar.active .vw-voice-status{color:#2165bd}
.vw-voice-bar.done .vw-voice-status{color:#218552}
.vw-voice-transcript{color:#344862;font-size:14px}
.vw-edit{border:1px solid #cfdbea;border-radius:12px;background:#fbfcfe;min-height:104px;font-size:15px}
.vw-edit:focus{border-color:#3569b9;box-shadow:0 0 0 3px rgba(53,105,185,.1)}
.vw-progress{padding:0 28px 18px;gap:5px}
.vw-progress-dot{height:3px;background:#dce5f0;border-radius:99px}
.vw-progress-dot.done{background:#5fa77d}
.vw-progress-dot.active{background:#3569b9}
.vw-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);align-items:stretch;gap:10px;border-top:1px solid #edf1f6;padding:18px 28px 24px}
.vw-btn-skip,.vw-btn-mic,.vw-btn-next{width:100%;min-height:46px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#0b2559;color:#fff;border:1px solid #0b2559;border-radius:10px;padding:12px 14px;font:700 13px inherit;box-shadow:0 5px 14px rgba(11,37,89,.16);transition:all .2s}
.vw-btn-skip:hover,.vw-btn-mic:hover,.vw-btn-next:hover{background:#17458f;border-color:#17458f;color:#fff;transform:translateY(-1px);box-shadow:0 7px 18px rgba(11,37,89,.25)}
.vw-btn-next{font-weight:800;font-size:15px}
@keyframes voice-pulse-professional{0%,100%{box-shadow:0 0 0 0 rgba(53,105,185,.28)}50%{box-shadow:0 0 0 8px rgba(53,105,185,0)}}
@media(max-width:539px){
  #vw-overlay{align-items:flex-end;padding:10px 10px 0}
  .vw-sheet{max-height:calc(100vh - 10px);border-radius:20px 20px 0 0}
  .vw-header{padding:20px 20px 16px}
  .vw-body{padding:22px 20px 18px}
  .vw-progress{padding:0 20px 16px}
  .vw-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:8px;padding:16px 20px calc(20px + env(safe-area-inset-bottom))}
  .vw-question{font-size:22px}
  .vw-btn-skip,.vw-btn-mic,.vw-btn-next{min-height:46px;padding-left:8px;padding-right:8px;font-size:12px}
  .vw-btn-next{font-size:13px}
}
