/* Acceso al simulador: pantalla de ingreso y registro de la cuenta de práctica. */
body.booting .welcome, body.booting .session-note, body.booting .workspace, body.booting footer, body.booting .training-actions { visibility: hidden; }
body.auth-mode .welcome, body.auth-mode .session-note, body.auth-mode .workspace, body.auth-mode footer, body.auth-mode .training-actions { display: none; }
.auth-shell { display: none; }
body.auth-mode .auth-shell { display: grid; }
.auth-shell { min-height: 100vh; place-items: center; padding: 28px 16px; background: #f4f6f8; }
.auth-card { width: min(430px, 100%); background: #fff; border: 1px solid #d5dde4; border-top: 4px solid #123f62; border-radius: 10px; box-shadow: 0 12px 34px #123f6215; padding: 30px 30px 26px; }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.auth-brand img { width: 44px; height: 44px; border-radius: 6px; }
.auth-brand strong { color: #123f62; font-size: 1.22rem; display: block; line-height: 1.25; }
.auth-brand small { color: #5c6f80; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.auth-note { color: #5c6f80; font-size: .85rem; margin: 10px 0 20px; line-height: 1.55; }
.auth-tabs { display: flex; gap: 6px; margin-bottom: 20px; }
.auth-tabs button { flex: 1; border: 1px solid #cfd8e0; background: #f2f5f7; color: #33475b; padding: 10px 8px; border-radius: 6px; font-weight: 700; font-size: .88rem; cursor: pointer; }
.auth-tabs button.active { background: #123f62; border-color: #123f62; color: #fff; }
.auth-form { display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 6px; font-size: .82rem; font-weight: 700; color: #33475b; }
.auth-form input { border: 1px solid #c3ced8; border-radius: 5px; padding: 11px 12px; font: inherit; min-height: 44px; }
.auth-form input:focus { outline: 2px solid #f89518; outline-offset: 1px; border-color: #f89518; }
.auth-form .hint { font-size: .74rem; color: #73859a; font-weight: 400; margin-top: 2px; }
.auth-form button[type="submit"] { background: #f89518; border: 1px solid #d97d0e; color: #fff; font-weight: 700; padding: 12px; border-radius: 6px; cursor: pointer; font-size: .95rem; min-height: 46px; }
.auth-form button[type="submit"]:hover { background: #ffa033; }
.auth-error { background: #fdeceb; border: 1px solid #f2c1bd; color: #a7362e; border-radius: 6px; padding: 10px 13px; font-size: .84rem; margin: 0; }
.auth-error[hidden] { display: none; }
.auth-foot { margin-top: 18px; font-size: .76rem; color: #73859a; text-align: center; line-height: 1.6; }
.auth-foot a { color: #123f62; }
