/* R3O — compact login checkbox and identification guidance, no shell geometry changes. */
.login-form .jdw-remember-label { display:flex; align-items:center; gap:9px; color:#557789; font-size:12px; font-weight:650; cursor:pointer; margin:10px 0 0; }
.login-form .jdw-remember-label input[type=checkbox] { appearance:auto; min-height:0; width:16px; height:16px; padding:0; margin:0; flex:none; accent-color:#22738d; }
.login-form .jdw-remember-label span { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; }
.login-form .jdw-remember-label small { font-size:10px; color:#819ba9; font-weight:500; }
.login-form .jdw-remember-label + .action-primary { margin-top:11px; }
.security-grid .panel-intro strong { color:#1f536b; }
.jdw-login-device-context { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; margin:8px 0 7px; }
.jdw-login-device-context span { color:#537186; font-size:10px; padding:4px 7px; background:#eff5f8; border-radius:15px; white-space:nowrap; }
.login-form label small { color:#8aa1ae; font-size:10px; font-weight:500; }
.device-desc .jdw-device-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
.jdw-device-tags b { padding:3px 6px; border-radius:12px; background:#ecf4f7; color:#537b8f; font-size:10px; font-weight:550; white-space:nowrap; }
.jdw-device-last { color:#8b9faf; font-size:10px; margin-top:4px; line-height:1.4; }
.device-row { flex-wrap:wrap; }
.device-action-form { flex-wrap:wrap; max-width:100%; }
.device-action-form input[name=confirm_device_id] { width:110px; min-width:0; border:1px solid #d6e5ec; border-radius:7px; padding:7px 8px; font-size:11px; }
.device-action-form input[name=current_password] { width:124px; }
.jdw-security-log { margin:10px 0; }
.jdw-security-log-list { display:grid; gap:0; border:1px solid #e2ebf0; border-radius:8px; overflow:hidden; }
.jdw-security-log-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; min-width:0; }
.jdw-security-log-row+.jdw-security-log-row { border-top:1px solid #edf2f5; }
.jdw-security-log-row strong { color:#335a70; font-size:11px; }
.jdw-security-log-row small { display:block; color:#8199aa; font-size:10px; margin-top:3px; }
.jdw-security-log-meta { text-align:right; min-width:0; }
.jdw-security-log-meta span { display:block; font-size:10px; color:#69869a; overflow-wrap:anywhere; }
@media (max-width:580px) {
  .login-dialog { width:min(380px,calc(100vw - 24px)); max-width:100%; max-height:calc(100dvh - 24px); overflow-y:auto; padding:17px 17px 15px; }
  .login-dialog .dialog-heading { margin-bottom:6px; }
  .login-dialog .dialog-heading h2 { font-size:19px; }
  .login-dialog .eyebrow { font-size:9px; }
  .login-dialog .login-form label:not(.jdw-remember-label) { margin-top:7px; margin-bottom:3px; font-size:11px; }
  /* 16px input text prevents iOS Safari from zooming the entire login card on focus. */
  .login-dialog .login-form input:not([type=checkbox]) { min-height:38px; padding:7px 9px; font-size:16px; }
  .login-dialog .login-form .action-primary { margin-top:10px; min-height:38px; font-size:12px; }
  .login-dialog .login-hint { font-size:10px; line-height:1.4; margin-top:9px; }
  .jdw-login-device-context { margin:3px 0 4px; gap:4px; }
  .jdw-login-device-context span { font-size:9px; padding:3px 6px; }
  .jdw-security-log-row { flex-direction:column; align-items:flex-start; gap:4px; }
  .jdw-security-log-meta { text-align:left; }
}
@media (max-width:360px) {
  .login-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:12px; }
  .jdw-login-device-context span { font-size:8.5px; }
}
