/* eScuadra live: sign-in screens and the "saving" strip. Uses the app's own colors from emulador.css. */
.gate { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: var(--bg, #f3f4f2); }
.gate-card { width: 100%; max-width: 400px; background: #fff; border: 1px solid var(--rule, #d9dcd6); border-radius: 12px; padding: 28px 24px; }
.gate-brand { font-weight: 800; letter-spacing: .01em; color: var(--blue, #1d4f91); font-size: 15px; margin-bottom: 14px; }
.gate h1 { font-size: 24px; margin: 0 0 16px; }
.gate-p { margin: 0 0 14px; line-height: 1.5; }
.gate-form { display: grid; gap: 12px; }
.gate-form label { display: grid; gap: 5px; font-size: 14px; font-weight: 600; }
.gate-form input { font: inherit; font-weight: 400; padding: 11px 12px; border: 1px solid var(--rule, #c9cdc5); border-radius: 8px; font-size: 16px; }
.gate-form input:focus-visible, .gate-btn:focus-visible, .gate-link:focus-visible { outline: 2px solid var(--blue-2, #2f6fd0); outline-offset: 2px; }
.gate-btn { font: inherit; font-weight: 700; padding: 12px; border-radius: 8px; border: 0; background: var(--blue, #1d4f91); color: #fff; cursor: pointer; width: 100%; margin-top: 4px; }
.gate-btn:disabled { opacity: .6; cursor: default; }
.gate-link { font: inherit; background: none; border: 0; color: var(--blue, #1d4f91); text-decoration: underline; padding: 10px 0 0; cursor: pointer; }
.gate-msg { min-height: 1.4em; margin: 12px 0 0; font-size: 14px; }
.gate-msg.bad { color: #b42318; font-weight: 600; }
#fos-sync { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 50; font-size: 13px; padding: 7px 14px; border-radius: 999px; display: none; max-width: calc(100% - 32px); text-align: center; }
#fos-sync.on { display: block; background: #fff; border: 1px solid var(--rule, #d9dcd6); color: #444; }
#fos-sync.off { display: block; background: #fff4e5; border: 1px solid #f0c27b; color: #7a4b00; font-weight: 600; }
body.fos-loading #app { visibility: hidden; }
body.fos-loading::after { content: 'Abriendo eScuadra…'; position: fixed; inset: 0; display: grid; place-items: center; font-size: 16px; color: #555; background: var(--bg, #f3f4f2); }
