/* Additional form rules, intentionally isolated from the existing site theme. */
#device-form { display: grid; gap: .55rem; width: 100%; }
#device-form label { margin-top: .45rem; font-weight: 650; }
#device-form input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: .8rem .9rem; font-size: 1rem; letter-spacing: .02em; color: #f5f9ff; background: #0b2141; border: 1px solid #47709d; border-radius: 10px; }
#device-form input:focus-visible, #device-form button:focus-visible { outline: 3px solid #5cc8ff; outline-offset: 2px; }
#device-form input[aria-invalid="true"] { border-color: #ff8b8b; }
#device-form button { min-height: 48px; margin-top: .65rem; cursor: pointer; }
.field-help { display: block; color: #b7cbe6; line-height: 1.35; }
.field-error { display: block; color: #ffd0d0; line-height: 1.4; }
.field-error[hidden] { display: none; }
.connection-status { line-height: 1.55; overflow-wrap: anywhere; }
.veylo-legal-notice { line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 540px) { .login-panel { max-width: 100%; } #device-form input { font-size: 16px; } }
