.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0d1b2a,#173d56)}
.login-screen[hidden]{display:none}
.login-card{width:min(100%,410px);background:#fff;border-radius:12px;padding:34px;box-shadow:0 22px 60px #06131f66}
.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.login-brand strong{display:block;font:700 20px Rajdhani,sans-serif;letter-spacing:1.4px}.login-brand span{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-top:-2px}
.login-heading{padding:28px 0 20px}.login-heading h1{font:700 30px Rajdhani,sans-serif;margin:4px 0}.login-heading p{color:var(--muted);margin:0}
.login-form{display:grid;gap:15px}.login-form .field{display:grid;gap:6px}.login-form .field label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.login-form .field input{border:1px solid var(--line);border-radius:6px;padding:12px;font:13px Inter}.login-form .field input:focus{outline:2px solid #45c6d455;border-color:var(--cyan)}
.login-button{width:100%;margin-top:3px;padding:12px}.forgot-password{border:0;background:none;color:var(--blue);font:600 11px Inter;cursor:pointer;margin-top:-4px}.login-error{min-height:17px;margin:0;text-align:center;color:var(--red);font-size:11px}
.app-shell{display:none}.app-shell.authenticated{display:flex}
