/* Composición editorial: expresiva en escritorio y contenida en móvil. */
.login-stage{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.05fr);width:100%;max-width:820px;overflow:hidden;border:1px solid rgba(218,225,235,.9);border-radius:26px;background:#fff;box-shadow:0 28px 75px rgba(23,43,77,.16)}
.login-visual,.device-login-visual{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#174ea6 0%,#286bd5 55%,#4285f4 100%);color:#fff}.login-visual:before,.device-login-visual:before{content:""px;position:absolute;z-index:-1;width:260px;height:260px;right:-135px;top:-120px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.02)}.login-visual:after,.device-login-visual:after{content:"";position:absolute;z-index:-1;width:190px;height:190px;left:-105px;bottom:-115px;border-radius:50%;background:rgba(10,50,125,.22)}.visual-colors{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);height:7px}.visual-colors i:nth-child(1){background:#4285f4}.visual-colors i:nth-child(2){background:#ea4335}.visual-colors i:nth-child(3){background:#fbbc04}.visual-colors i:nth-child(4){background:#34a853}.visual-copy{position:absolute;right:36px;bottom:38px;left:36px;display:flex;flex-direction:column}.visual-copy small{margin-bottom:8px;color:#c8dbfa;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.visual-copy strong{font-size:33px;line-height:1;letter-spacing:-.04em}.visual-copy span{margin-top:10px;color:rgba(255,255,255,.72);font-size:12px}.visual-orbit{position:absolute;top:62px;left:50%;width:122px;height:122px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.2);border-radius:29px;rotate:8deg}.visual-orbit:before,.visual-orbit:after,.visual-orbit i{content:"";position:absolute;border-radius:50%}.visual-orbit:before{width:35px;height:35px;top:17px;left:17px;background:#fbbc04;box-shadow:0 8px 22px rgba(20,48,97,.2)}.visual-orbit:after{width:24px;height:24px;right:18px;bottom:19px;background:#34a853}.visual-orbit i{width:18px;height:18px;right:22px;top:20px;background:#ea4335}
.login-stage .login-card{width:auto;margin:0;padding:48px 42px 42px;border:0;border-radius:0;box-shadow:none}.login-stage .login-card>.login-colors{display:none}.login-stage .login-heading{margin-bottom:29px}.login-stage .login-card h1{font-size:27px}
body[data-screen=login] .device-card{max-width:820px}.device-card #pantalla-login{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.05fr);padding:0;background:#fff}.device-login-visual{display:block;min-height:500px}.device-login-form{padding:48px 42px 42px}.device-login-form .device-login-head{margin-bottom:29px}.device-login-form .device-name{font-size:27px}.device-login-form .device-title{margin-bottom:7px}.device-login-form #btn-login{margin-top:5px}
@media(max-width:720px){.login-shell{padding:16px}.login-stage{grid-template-columns:1fr;max-width:410px;border-radius:20px}.login-visual{min-height:152px}.login-visual:before,.device-login-visual:before{width:190px;height:190px;right:-95px;top:-105px}.login-visual:after,.device-login-visual:after{display:none}.visual-orbit{top:28px;right:28px;left:auto;width:84px;height:84px;transform:none;border-radius:22px}.visual-orbit:before{width:25px;height:25px;top:12px;left:12px}.visual-orbit:after{width:18px;height:18px;right:12px;bottom:12px}.visual-orbit i{width:13px;height:13px;right:15px;top:14px}.visual-copy{right:145px;bottom:25px;left:25px}.visual-copy strong{font-size:27px}.visual-copy span{display:none}.login-stage .login-card{padding:31px 26px 27px}.login-stage .login-heading{margin-bottom:24px}.login-stage .login-card h1{font-size:23px}body[data-screen=login] .device-shell{padding:14px}body[data-screen=login] .device-card{max-width:410px;border-radius:20px}.device-card #pantalla-login{grid-template-columns:1fr;min-height:0;padding:0}.device-login-visual{display:block;min-height:152px}.device-login-visual .visual-copy{right:130px}.device-login-form{padding:30px 25px 27px}.device-login-form .device-login-head{margin-bottom:23px}.device-login-form .device-name{font-size:23px}}
@media(max-width:390px){.login-shell,body[data-screen=login] .device-shell{padding:10px}.login-visual,.device-login-visual{min-height:125px}.visual-orbit{top:21px;right:21px;width:70px;height:70px}.visual-copy{right:105px;bottom:20px;left:21px}.visual-copy small{margin-bottom:5px}.visual-copy strong{font-size:23px}.login-stage .login-card,.device-login-form{padding:26px 20px 22px}.login-stage .login-heading,.device-login-form .device-login-head{margin-bottom:19px}.login-card .form-group,.device-login-form .form-group{margin-bottom:14px}.login-card input[type=text],.login-card input[type=password],body[data-screen=login] #pantalla-login input{min-height:45px}.login-card .btn,body[data-screen=login] #btn-login{min-height:45px}}
@media(max-height:670px) and (max-width:720px){.login-visual,.device-login-visual{min-height:105px}.visual-orbit{display:none}.visual-copy{right:20px;bottom:17px}.login-stage .login-card,.device-login-form{padding-top:23px;padding-bottom:20px}.login-stage .login-heading,.device-login-form .device-login-head{margin-bottom:16px}}
