.hub-password-panel { padding: 24px; margin-top: 24px; }
.hub-password-panel .password-form-width { max-width: 520px; }
.hub-password-panel h2 { margin: 0 0 10px; }
.hub-password-panel p { line-height: 1.5; }
.hub-password-panel label { display: block; font-weight: 600; margin: 16px 0 8px; }
.hub-password-panel input { box-sizing: border-box; width: 100%; min-height: 46px; padding: 12px; border: 1px solid #c6d3e5; border-radius: 8px; font: inherit; }
.password-visibility-field { position: relative; }
.password-visibility-field input { padding-inline-end: 52px; }
.password-visibility-toggle { position: absolute; inset-block: 1px; inset-inline-end: 1px; width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #586b84; cursor: pointer; }
.password-visibility-toggle:hover { background: #eef3f9; color: #15273d; }
.password-visibility-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; pointer-events: none; }
.password-visibility-toggle .password-eye-slash { opacity: 0; }
.password-visibility-toggle[aria-pressed="true"] .password-eye-slash { opacity: 1; }
.password-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.hub-password-panel .password-hint { font-size: 14px; color: #586b84; margin-top: 8px; }
.hub-password-panel .password-actions { display: flex; align-items: center; gap: 18px; margin: 20px 0 0; flex-wrap: wrap; }
.hub-password-panel .password-primary { background: #ba2025; color: white; border: 0; border-radius: 9px; padding: 12px 24px; font: inherit; font-weight: 600; cursor: pointer; }
.hub-password-panel .password-link { background: none; color: #ba2025; border: 0; padding: 4px 0; font: inherit; text-decoration: underline; cursor: pointer; }
.hub-password-panel button:disabled { opacity: .6; cursor: wait; }
.hub-password-panel :focus-visible { outline: 3px solid #315ed0; outline-offset: 3px; }
.hub-password-panel[hidden], .hub-password-panel [hidden] { display: none !important; }
.password-page { margin: 0; padding: 24px; background: #f7f9fb; color: #15273d; font: 16px Arial, sans-serif; }
.password-page main { margin: 24px auto; max-width: 480px; padding: 28px; background: white; border: 1px solid #c6d3e5; border-radius: 18px; }
.password-page .hub-password-panel { padding: 0; margin: 0; }
.password-page .password-exits { text-align: center; margin-top: 24px; }
.password-page a { color: #ba2025; }
@media (max-width: 420px) { .password-page { padding: 12px; } .password-page main { padding: 20px; } }
