.pp-theme .pp-login {
	position: relative;
	display: block;
	max-width: calc(100vw - 32px);
	margin: 56px auto 72px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--bg);
	color: var(--text);
}
.pp-theme .pp-login > .icon { width: 44px; height: 44px; margin: 0 auto 20px; color: var(--accent); }
.pp-theme .pp-login h1 { font-size: 29px; line-height: 1.2; margin: 10px 0 22px; letter-spacing: -.8px; }
.pp-theme .floral .pp-login h1 { font-family: Cormorant, Georgia, serif; font-weight: 500; font-size: 36px; letter-spacing: 0; }
.pp-theme .pp-login > .primary { display: flex; width: max-content; max-width: 100%; margin: 25px auto 0; }
.pp-theme .pp-login > .small-note { margin-top: 16px; font-size: 11px; }
.pp-theme .pp-login-notice { margin: 4px 0 18px; padding: 12px 14px; border-radius: 8px; background: var(--surface); font-size: 12px; text-align: left; }
.pp-theme .pp-login-notice[hidden] { display: none; }
.pp-theme .pp-login .profile-nav.pp-login-tabs { padding: 0; margin: 6px 0 4px; justify-content: center; }
.pp-theme .pp-login-form { margin-top: 10px; text-align: left; }
.pp-theme .pp-login-form[hidden] { display: none; }
.pp-theme .pp-login-form h2 { font-size: 20px; line-height: 1.25; margin: 14px 0 6px; text-align: center; }
.pp-theme .floral .pp-login-form h2 { font-family: Cormorant, Georgia, serif; font-weight: 500; font-size: 26px; }
.pp-theme .pp-login-sub { font-size: 12px; color: var(--muted); text-align: center; margin: 0 0 6px; overflow-wrap: anywhere; }
.pp-theme .pp-login-form .primary { width: 100%; margin-top: 22px; }
.pp-theme .pp-login-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; }
.pp-theme .pp-login-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pp-theme .pp-login-row .check-field { margin: 16px 0 0; }
.pp-theme .pp-login-link { background: none; border: 0; padding: 0; min-height: 40px; font-size: 12px; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pp-theme .pp-login-row .pp-login-link { margin-top: 16px; }
.pp-theme .pp-login-link:disabled { color: var(--muted); text-decoration: none; cursor: default; }
.pp-theme .pp-login-center { display: block; margin: 12px auto 0; }
.pp-theme .pp-login-continue { display: block; width: max-content; margin: 18px auto 0; }
.pp-theme .pp-login .error:empty, .pp-theme .pp-login-ok:empty { display: none; }
.pp-theme .pp-login .error { color: #be4242; text-align: left; margin-top: 15px; }
.pp-theme .pp-login-ok { color: var(--accent); font-size: 12px; margin-top: 12px; }
.pp-theme .pp-login .field input[aria-invalid="true"] { border-color: #be4242; }

@media (max-width: 760px) {
	.pp-theme .pp-login { max-width: calc(100vw - 20px); margin: 24px auto 48px; }
	.pp-theme .pp-login h1 { font-size: 26px; }
	.pp-theme .floral .pp-login h1 { font-size: 31px; }
	.pp-theme .pp-login-pair { grid-template-columns: minmax(0, 1fr); }
}
