.field-login-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 8%,rgba(47,107,255,.12),transparent 30rem),radial-gradient(circle at 88% 92%,rgba(124,215,196,.14),transparent 28rem),var(--surface-canvas)}
.field-login-theme{position:absolute;z-index:2;top:20px;right:20px}
.field-login-card{position:relative;width:min(100%,440px);overflow:hidden;padding:30px;border:1px solid var(--border-default);border-radius:22px;background:var(--surface-default);box-shadow:var(--shadow-lg);text-align:left}.field-login-card:before{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2f6bff,#7cd7c4,#f15a43);content:""}
.field-login-brand{margin-bottom:18px}
.field-login-brand img{width:44px;height:44px;object-fit:contain}.field-login-card h1{margin:15px 0 7px;color:var(--text-primary);font-size:1.55rem;letter-spacing:-.04em}.field-login-card p{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.6}
.field-login-form{display:grid;gap:12px;margin-top:22px}.field-login-form label{display:grid;gap:6px}.field-login-form label span{color:var(--text-secondary);font-size:.7rem;font-weight:850}
.field-login-form input,.field-login-form select{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--border-strong);border-radius:11px;outline:0;background:var(--surface-default);color:var(--text-primary);font:700 .82rem inherit}
.field-login-form input:focus,.field-login-form select:focus{border-color:#2f6bff;box-shadow:0 0 0 3px rgba(47,107,255,.13)}
.field-login-form button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #204fbf;border-radius:12px;background:#2f6bff;box-shadow:0 9px 22px rgba(47,107,255,.2);color:#fff;font-size:.76rem;font-weight:900;cursor:pointer}.field-login-form button:disabled{cursor:wait;opacity:.7}
.field-login-form button i{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:field-spin .75s linear infinite}
.field-login-error{padding:10px 12px;border:1px solid #efc7bf;border-radius:10px;background:#fff2ef;color:#9a3f32;font-size:.68rem;font-weight:750;line-height:1.45}
.field-login-pwa{display:flex;justify-content:center;margin-top:16px}.field-admin-link{display:flex;width:max-content;min-height:34px;align-items:center;margin:12px auto 0;padding:0 10px;color:#61756b;font-size:.65rem;font-weight:800;text-decoration:none}
.field-pwa-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px}.field-pwa-controls>span{display:inline-flex;min-height:28px;align-items:center;gap:6px;padding:0 9px;border-radius:999px;font-size:.61rem;font-weight:850}
.field-pwa-controls .is-online{background:#e8f6ed;color:#176f4a}.field-pwa-controls .is-offline{background:#fff2df;color:#8c5b18}.field-pwa-controls :is(.is-online,.is-offline) i{width:7px;height:7px;border-radius:50%;background:currentColor}
.field-pwa-controls .is-queued{background:#edf2f8;color:#456178}.field-pwa-controls .is-installed{background:#eef5f1;color:#61756b}
.field-pwa-controls button{min-height:32px;padding:0 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-default);color:var(--brand-accent);font-size:.64rem;font-weight:900;cursor:pointer}.field-pwa-controls.is-compact{flex-wrap:nowrap}.field-pwa-controls.is-compact .is-queued{display:none}
@keyframes field-spin{to{transform:rotate(360deg)}}@media(max-width:820px){.field-pwa-controls.is-compact>span{min-height:25px;padding:0 7px;font-size:.56rem}.field-pwa-controls.is-compact button{max-width:82px;min-height:29px;padding:0 7px;font-size:.56rem}}
