*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f3f6fb;color:#172033}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:white;border:1px solid #e2e8f0;border-radius:22px;padding:34px;box-shadow:0 18px 55px rgba(15,23,42,.12)}.mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#1f365c;color:white;font-size:26px;font-weight:800;margin-bottom:20px}h1{margin:0;font-size:27px}.sub{margin:7px 0 25px;color:#64748b}label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}input{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;outline:none}input:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.12)}button{width:100%;margin-top:20px;border:0;border-radius:10px;padding:13px;background:#1f365c;color:white;font-weight:800;font-size:15px;cursor:pointer}.msg{min-height:22px;margin-top:14px;color:#b42318;font-size:13px}.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:18px}.hidden{display:none}.foot{margin:22px 0 0;text-align:center;color:#94a3b8;font-size:12px}
