.auth-login-links { display:flex; justify-content:space-between; gap:12px; margin-top:18px; }
.auth-lock { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; border:0; border-radius:0; padding:32px; background:#f6f7f8; overflow:auto; }
.auth-lock::backdrop { background:#f6f7f8; }
.auth-lock-card { max-width:440px; margin:max(24px,8vh) auto; }
.auth-lock h2 { margin:24px 0 12px; font-size:calc(28px * var(--ui-type-scale, 1)); }
.auth-lock-card > p { color:var(--muted,#6b7280); line-height:1.7; margin-bottom:24px; }
.auth-lock-card form .btn { width:100%; margin-top:8px; }
.auth-lock-card > .link-btn { margin-top:20px; }
dialog.security-dialog { width:min(920px,calc(100vw - 40px)); }
.security-content { min-width:0; max-width:100%; }
.security-sections { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.security-sections > section { min-width:0; padding-bottom:24px; border-bottom:1px solid var(--line,#e3e6eb); }
.security-sections > section:last-child { border:0; padding-bottom:0; }
.security-section-head { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.security-dialog h3 { margin:0 0 8px; font-size:calc(17px * var(--ui-type-scale, 1)); }
.security-section-head > div { min-width:0; }
.security-dialog .small-copy { margin:5px 0; overflow-wrap:anywhere; }
.security-dialog .actions { gap:10px; }
.security-devices { margin-top:12px; }
.security-device { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line,#e3e6eb); }
.security-device:last-child { border:0; }
.security-device > div { min-width:0; }
.security-device .small-copy { overflow-wrap:anywhere; }
.security-form { max-width:620px; }
.security-form .actions { margin-top:20px; }
.security-form .field { margin-top:18px; }
[data-reauth-form] > .field + .field { margin-top:18px; }
[data-reauth-form] > .actions { margin-top:20px; }
.security-setup { display:flex; align-items:center; gap:24px; margin:20px 0; }
.security-qr { display:block; width:200px; height:200px; background:white; }
.security-secret { display:block; font-size:calc(15px * var(--ui-type-scale, 1)); letter-spacing:.08em; overflow-wrap:anywhere; user-select:all; padding:12px; background:#f3f5f7; border-radius:8px; }
.security-recovery pre { user-select:all; font:calc(15px * var(--ui-type-scale, 1))/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; padding:18px; border-radius:8px; background:#f3f5f7; }
.security-ack { margin:22px 0; }
[data-security-error]:not(:empty) { margin:16px 0; }
.security-dialog .table-wrap { min-width:0; max-width:100%; width:100%; margin-top:12px; }
.security-dialog table td { white-space:normal; min-width:120px; }
@media(max-width:760px) {
  dialog.security-dialog { width:calc(100vw - 20px); }
  .security-dialog .modal-body { padding:18px; }
  .security-section-head { align-items:flex-start; gap:10px; }
  .security-section-head > div { flex:1 1 100%; width:100%; }
  .security-section-head > .actions { width:100%; }
  .security-section-head > button { max-width:100%; min-height:44px; white-space:normal; }
  .security-setup { align-items:flex-start; flex-direction:column; gap:12px; }
  .security-qr { width:180px; height:180px; }
  .security-device { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .security-device > div { width:100%; flex:1 1 100%; }
  .security-device > .link-btn { min-height:44px; max-width:100%; text-align:left; white-space:normal; }
  .auth-lock { padding:24px; }
  .auth-lock-card { margin:24px auto; }
}
@media print { .auth-lock { display:none!important; } body:has(.auth-lock[open]) #app, body:has(.auth-lock[open]) dialog:not(.auth-lock) { display:none!important; } }
