body{margin:0;font-family:Inter,system-ui;background:#f5f8fd;color:#0b1b40}.umo-login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.umo-art{padding:10vh 8vw;color:white;background:radial-gradient(circle at 30% 20%,#356fff,transparent 30%),linear-gradient(145deg,#071632,#16103e)}.umo-art img{width:230px;filter:brightness(0) invert(1)}.umo-art h1{font-size:60px;line-height:1;margin-top:20vh}.umo-login form{align-self:center;width:min(420px,80%);margin:auto;background:white;padding:40px;border-radius:18px;box-shadow:0 25px 70px #102b5a22}.umo-login h2{font-size:32px;margin:0}.umo-login label{display:block;font-weight:700;font-size:13px;margin:20px 0 7px}.umo-login input{width:100%;padding:14px;border:1px solid #ccd7e8;border-radius:8px}.umo-login button{width:100%;margin-top:24px;padding:15px;border:0;border-radius:8px;background:linear-gradient(90deg,#0b69ff,#9b36e9);color:white;font-weight:800}.umo-error{padding:12px;background:#fff1f2;color:#b42336;border-radius:8px;margin-top:16px}.umo-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.umo-shell aside{background:#06172c;color:white;padding:28px 20px}.umo-shell aside img{width:190px;filter:brightness(0) invert(1);margin-bottom:25px}.umo-shell aside>b{display:block;color:#7891af;font-size:10px;letter-spacing:2px;margin:10px}.umo-shell aside a{display:block;padding:11px 12px;color:#b8c6d9;text-decoration:none;border-radius:7px}.umo-shell aside a:hover{background:#122943;color:white}.umo-shell main{padding:30px}.umo-shell header{display:flex;justify-content:space-between;align-items:center}.umo-shell header h1{margin:4px 0 20px}.umo-shell header a{text-decoration:none}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article,.panel{background:white;border:1px solid #e1e8f2;border-radius:12px;padding:22px}.cards b{display:block;font-size:30px;margin-top:8px}.panel{margin-top:18px}@media(max-width:800px){.umo-login{grid-template-columns:1fr}.umo-art{display:none}.umo-shell{grid-template-columns:1fr}.umo-shell aside{display:none}.cards{grid-template-columns:1fr 1fr}}