/* extracted from portal_forgot_password.html */
body { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; background: var(--pb-bg, #0f1419); color: var(--pb-text, #e6edf3); font-family: system-ui, sans-serif; }
.login-box { width: min(420px, 92vw); padding: 1.75rem; }
.login-brand { text-align: center; margin-bottom: 1rem; }
.login-brand-name { font-size: 1.25rem; font-weight: 700; }
.login-brand-sub { color: var(--pb-muted, #8b949e); font-size: .9rem; }
.login-sub { color: var(--pb-muted, #8b949e); text-align: center; margin: 0 0 1.25rem; }
.login-flash { margin-bottom: .75rem; padding: .65rem .8rem; border-radius: 8px; background: rgba(74,158,255,.12); }
.login-btn { width: 100%; margin-top: .5rem; }
.login-footer, .forgot-back { text-align: center; margin-top: 1rem; color: var(--pb-muted, #8b949e); font-size: .9rem; }
.sk-field { margin-bottom: .9rem; }
.sk-label { display: block; margin-bottom: .35rem; font-size: .85rem; }
input[type=text] { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border-radius: 8px; border: 1px solid var(--pb-border, #30363d); background: var(--pb-input, #161b22); color: inherit; }
.copyright { margin-top: 1.5rem; color: var(--pb-muted, #8b949e); font-size: .75rem; }

/* from portal_reset_password */
body { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; background: var(--pb-bg, #0f1419); color: var(--pb-text, #e6edf3); font-family: system-ui, sans-serif; }
.login-box { width: min(420px, 92vw); padding: 1.75rem; }
.login-brand { text-align: center; margin-bottom: 1rem; }
.login-brand-name { font-size: 1.25rem; font-weight: 700; }
.login-sub { color: var(--pb-muted, #8b949e); text-align: center; margin: 0 0 1.25rem; }
.login-flash { margin-bottom: .75rem; padding: .65rem .8rem; border-radius: 8px; background: rgba(74,158,255,.12); }
.login-btn { width: 100%; margin-top: .5rem; }
.forgot-back { text-align: center; margin-top: 1rem; color: var(--pb-muted, #8b949e); font-size: .9rem; }
.sk-field { margin-bottom: .9rem; }
.sk-label { display: block; margin-bottom: .35rem; font-size: .85rem; }
input[type=password] { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border-radius: 8px; border: 1px solid var(--pb-border, #30363d); background: var(--pb-input, #161b22); color: inherit; }
.copyright { margin-top: 1.5rem; color: var(--pb-muted, #8b949e); font-size: .75rem; }
