a { color: var(--teal); text-decoration: none; }
.app-header > a img { width: 76px; height: 52px; display: block; object-fit: contain; }
.login-view { min-height: 100dvh; }
.login-form { gap: 14px; }
.login-logo { margin-bottom: 12px; }
.login-form h1 { margin: 0; font-size: 16px; }
.login-form p { margin: 0; }
.login-form .recovery-link { margin-top: 0; }
.stack { display: flex; flex-direction: column; gap: 8px; }
.stack input:not([type=checkbox]) { margin-bottom: 7px; }
.stack label.check { margin: 4px 0; }
.stack .primary { margin-top: 3px; }
.tabs a { display: inline-flex; align-items: center; position: relative; }
.back { display: inline-block; }
.primary { text-decoration: none; }
.primary:disabled { opacity: .65; cursor: wait; }
.muted { color: #646a63; font-size: 12px; line-height: 1.6; }
.feedback, .device-error { padding: 9px 11px; border: 1px solid var(--line); font-size: 12px; max-width: 644px; }
.error, .device-error { color: #8a3027; border-color: #cda9a0; }
.profile { display: grid; grid-template-columns: 114px minmax(0,430px); gap: 8px 12px; margin: 20px 0 28px; font-size: 12px; }
.profile dt { color: #646a63; }
.profile dd { margin: 0; overflow-wrap: anywhere; }
.temporary { font-size: 13px; }
.account-grid { display: grid; grid-template-columns: 302px 302px; gap: 64px; }
h2 { font-size: 14px; font-weight: 600; margin: 0 0 18px; }
.section { margin-top: 25px; }
.centered { align-self: center; margin-top: 8px; }
details { margin: 18px 0; font-size: 12px; }
summary { color: var(--teal); cursor: pointer; margin-bottom: 10px; }
.devices { list-style: none; padding: 0; margin: 0 0 20px; }
.devices li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.devices details { margin: 5px 0 0; }
.inline-form { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; }
.inline-form input { width: 240px; }
.pagination nav { display: flex; gap: 18px; font-size: 12px; margin-top: 20px; }
.recovery-codes { display: grid; grid-template-columns: max-content max-content; gap: 10px 28px; margin: 24px 0; }
.recovery-codes code { font-size: 13px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mobile-only { display: none; }
@media (max-width:600px) {
 .mobile-only { display: flex; }
 .account-grid { grid-template-columns: 1fr; gap: 32px; }
 .profile { grid-template-columns: 90px minmax(0,1fr); }
 .inline-form { flex-wrap: wrap; }
 .inline-form input { flex: 1; min-width: 140px; }
 .app-header > a img { width: 68px; height: 48px; }
 .recovery-codes { grid-template-columns: 1fr; }
}
