.iv-page { width: min(560px, calc(100% - 36px)); max-width: 560px; padding: 28px; margin: 24px auto; }
.iv-page .login-theme-controls { margin-bottom: 10px; }
.iv-page .brand { margin-bottom: 24px; }
.iv-page h1 { line-height: 1.2; margin: 12px 0; overflow-wrap: anywhere; }
.iv-page .eyebrow { color: var(--gold); }
.iv-page .btn { min-height: 44px; }
.iv-assignment { border: 1px solid var(--line); border-radius: 10px; background: var(--panel); padding: 16px; margin: 18px 0; }
.iv-assignment h2 { font-size: 20px; margin: 10px 0 6px; font-weight: 600; overflow-wrap: anywhere; }
.iv-assignment p { margin: 0 0 12px; }
.iv-assignment dl, .iv-account { display: grid; gap: 8px; margin: 12px 0 0; font-size: 13px; }
.iv-assignment dl > div, .iv-account > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
.iv-page dt { color: var(--muted); }
.iv-page dd { margin: 0; overflow-wrap: anywhere; line-height: 1.5; }
.iv-footer { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 26px; }
.iv-footer p { overflow-wrap: anywhere; font-size: 12px; }
.iv-error { margin: 18px 0 0; }
:root[data-theme="light"] .iv-page .eyebrow { color: #8e651b; }
:root[data-theme="light"] .iv-page .error { color: #ae3427; }
@media (max-width: 480px) { .iv-page { padding: 24px; margin: 24px auto; } .iv-assignment { padding: 16px; } .iv-assignment dl > div, .iv-account > div { grid-template-columns: 1fr; gap: 4px; } }
