.cv-setpwd-wrap { display:flex; justify-content:center; align-items:flex-start; padding:2em 1em; }
.cv-setpwd-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:2em 2.5em; max-width:420px; width:100%; box-shadow:0 4px 24px rgba(0,0,0,.07); text-align:center; }
.cv-setpwd-card--error { border-color:#fca5a5; background:#fff7f7; }
.cv-setpwd-icon { font-size:2.5em; margin-bottom:.4em; }
.cv-setpwd-title { font-size:1.35em; font-weight:700; color:#111827; margin:0 0 .3em; }
.cv-setpwd-subtitle { color:#6b7280; font-size:.92em; margin:0 0 1.5em; }
.cv-setpwd-notice--error { background:#fee2e2; color:#991b1b; border-left:4px solid #ef4444; padding:.6em .9em; border-radius:4px; text-align:left; font-size:.9em; margin-bottom:1em; }
.cv-setpwd-form { text-align:left; }
.cv-setpwd-group { margin-bottom:1.1em; }
.cv-setpwd-group label { display:block; font-size:.85em; font-weight:600; color:#374151; margin-bottom:.3em; }
.cv-setpwd-input { width:100%; padding:.55em .8em; border:1px solid #d1d5db; border-radius:6px; font-size:1em; box-sizing:border-box; transition:border-color .15s; }
.cv-setpwd-input:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.cv-strength-wrap { display:flex; align-items:center; gap:.6em; margin-top:.4em; }
.cv-strength-bar { flex:1; height:5px; background:#e5e7eb; border-radius:3px; overflow:hidden; }
.cv-strength-fill { height:100%; width:0; border-radius:3px; transition:width .25s, background .25s; }
.cv-strength-label { font-size:.78em; font-weight:600; min-width:60px; }
.cv-match-msg { font-size:.82em; font-weight:600; margin:.3em 0 0; min-height:1.2em; }
.cv-setpwd-btn { display:block; width:100%; padding:.75em; background:#2563eb; color:#fff; border:none; border-radius:6px; font-size:1em; font-weight:600; cursor:pointer; margin-top:1.5em; transition:background .15s; }
.cv-setpwd-btn:hover { background:#1d4ed8; }
