body.auth-pending .app,body.auth-required .app{visibility:hidden}.auth-shell{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(360px,520px) 1fr;background:#f4f7f8}.auth-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,72px);background:#fff;box-shadow:18px 0 60px rgba(8,42,61,.12)}.auth-card img{width:92px;height:92px;object-fit:contain;margin-bottom:24px}.auth-kicker{color:#078397;font-size:10px;letter-spacing:1.5px;font-weight:800}.auth-card h1{color:#123e55;font-size:30px;margin:8px 0}.auth-card>p{color:#6d808a;line-height:1.6;font-size:12px;margin:0 0 24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf3f4;border-radius:9px;padding:4px;margin-bottom:20px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:7px;color:#66808a;font-weight:700}.auth-tabs button[aria-pressed=true]{background:#fff;color:#0a6174;box-shadow:0 2px 8px rgba(12,64,89,.1)}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:6px;font-size:10px;color:#5f7680;font-weight:700}.auth-form input{border:1px solid #d3dfe3;border-radius:8px;padding:11px 12px;font:inherit}.auth-form button{border:0;border-radius:8px;padding:12px;background:#087f93;color:#fff;font-weight:800;cursor:pointer}.auth-form button:disabled{opacity:.55}.auth-error{min-height:18px;color:#b23b45;font-size:10px}.auth-visual{display:flex;align-items:flex-end;padding:70px;background:linear-gradient(145deg,#062f4b,#087f93);color:#fff}.auth-visual div{max-width:650px}.auth-visual span{font-size:10px;letter-spacing:1.5px;opacity:.7}.auth-visual h2{font-size:38px;line-height:1.1;margin:12px 0}.auth-visual p{font-size:13px;line-height:1.8;opacity:.8}.db-save-state{font-size:9px;color:#66808a}.db-save-state.saved{color:#11806d}.logout-button{border:1px solid #d6e1e4;background:#fff;color:#345c6b;border-radius:7px;padding:6px 9px;font-size:9px;cursor:pointer}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-card{padding:30px}.auth-visual{display:none}}
