html { min-height: 100%; }
.identity-page { min-height: 100dvh; margin: 0; display: grid; place-items: center; padding: clamp(16px, 4vw, 64px); box-sizing: border-box; background: #f3f8f7; color: #172a26; font-family: system-ui, sans-serif; }
.identity-card { width: min(100%, 620px); box-sizing: border-box; background: white; border: 1px solid #d8e9e4; border-radius: 24px; padding: clamp(24px, 5vw, 48px); box-shadow: 0 16px 64px #17382c10; }
.identity-brand { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.identity-brand img { width: 40px; height: 40px; }
.identity-card h1 { font-size: clamp(24px, 5vw, 32px); margin: 32px 0 12px; overflow-wrap: anywhere; }
.identity-card p { line-height: 1.6; }
.identity-card dl { padding: 20px 0; border-block: 1px solid #d8e9e4; }
.identity-card dt { font-weight: 700; margin-bottom: 8px; }
.identity-card dd { margin: 0; overflow-wrap: anywhere; }
.identity-status { color: #087858; font-weight: 650; }
.identity-note { background: #f3f8f7; border-radius: 12px; padding: 16px; }
.identity-card button { width: 100%; margin-top: 16px; border: 0; border-radius: 12px; background: #087858; color: white; padding: 16px; font: inherit; font-weight: 700; cursor: pointer; }
.identity-card button:disabled { opacity: .55; cursor: wait; }
.identity-card button:focus-visible { outline: 3px solid #6fcbb0; outline-offset: 3px; }
.identity-card .auth-message { display: none; }
.identity-card .auth-message.show { display: block; color: #9d2222; line-height: 1.5; padding-top: 16px; }
.identity-card section { border-top: 1px solid #d8e9e4; margin-top: 24px; padding-top: 12px; }
.identity-card label { display: block; margin: 16px 0 6px; font-weight: 600; }
.identity-card input { box-sizing: border-box; width: 100%; border: 1px solid #8caaa0; border-radius: 8px; padding: 12px; font: inherit; }
.identity-card input:focus-visible { outline: 3px solid #6fcbb0; outline-offset: 2px; }
.identity-card ul { list-style: none; padding: 0; }
.identity-card li { padding: 16px 0; border-bottom: 1px solid #d8e9e4; overflow-wrap: anywhere; }
#identity-password-help, #identity-sessions li { font-size: .9rem; }
#identity-security-message { font-weight: 600; }
