.client-login-page{min-height:100vh;background:#fff}.login-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;color:#fff}.login-header .brand strong{color:#fff}.login-header .brand strong span{color:#7ee0bd}.login-header>a:last-child{color:#d5e8e3;font-size:12px}.login-stage{display:grid;grid-template-columns:1.12fr .88fr;min-height:100vh}.login-banner{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:115px max(6vw,45px) 35px;background:linear-gradient(145deg,var(--dark),#0b5c54);color:#fff}.login-banner:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 42%,rgba(84,218,177,.18),transparent 35%);pointer-events:none}.banner-orbit{position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%}.banner-orbit.one{width:530px;height:530px;right:-260px;top:40px;box-shadow:0 0 0 75px rgba(255,255,255,.025)}.banner-orbit.two{width:250px;height:250px;left:-140px;bottom:-80px}.banner-copy{position:relative;z-index:2;max-width:610px}.banner-label{display:flex;align-items:center;gap:9px;color:#82dfbf;font-size:9px;font-weight:800;letter-spacing:.15em}.banner-label>i{width:20px;height:1px;background:#82dfbf}.banner-copy h1{font-size:clamp(43px,5vw,68px);line-height:1.04;margin:20px 0;letter-spacing:-.055em}.banner-copy h1 em{color:#74d6b5;font-style:normal}.banner-copy>p{max-width:560px;color:#c1d9d3;font-size:16px}.banner-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;list-style:none;padding:22px 0 0;margin:0}.banner-copy li{display:flex;gap:10px}.banner-copy li>i{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:50%;background:rgba(104,221,181,.14);color:#74d6b5;font-style:normal}.banner-copy li span>*{display:block}.banner-copy li b{font-size:12px}.banner-copy li small{color:#9fbdb6;font-size:9px}.banner-dashboard{position:relative;z-index:2;width:min(520px,90%);margin:32px 0 0 auto}.mini-window{background:#f9fcfb;color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.22);transform:perspective(900px) rotateY(-5deg)}.mini-top{height:32px;padding:0 12px;display:flex;align-items:center;gap:6px;background:#fff;border-bottom:1px solid var(--line);font-size:8px}.mini-top span{margin-right:auto;font-weight:700}.mini-top span i{display:inline-grid;place-items:center;width:17px;height:19px;border-radius:6px 2px 6px 2px;background:var(--green);color:#fff;font-style:normal}.mini-top>b{width:5px;height:5px;border-radius:50%;background:#cdd8d4}.mini-body{height:175px;display:flex}.mini-body>aside{width:42px;padding:18px 12px;background:#edf5f2}.mini-body>aside i{display:block;width:14px;height:14px;margin-bottom:13px;border:2px solid #9db1aa;border-radius:4px}.mini-body>div{flex:1;padding:18px}.mini-body small,.mini-cards span{font-size:6px;color:#81928e;letter-spacing:.1em}.mini-body h3{margin:0 0 12px;font-size:13px}.mini-cards{display:flex;gap:8px}.mini-cards article{width:115px;padding:8px;border:1px solid var(--line);border-radius:5px}.mini-cards article>*{display:block}.mini-cards b{font-size:12px}.mini-cards em{font-style:normal;color:var(--green);font-size:6px}.mini-chart{height:45px;display:flex;align-items:end;gap:8px;margin-top:12px;border-bottom:1px solid #dce7e2}.mini-chart i{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(var(--green),#cdeadd)}.mini-chart i:nth-child(1){height:30%}.mini-chart i:nth-child(2){height:46%}.mini-chart i:nth-child(3){height:39%}.mini-chart i:nth-child(4){height:68%}.mini-chart i:nth-child(5){height:58%}.mini-chart i:nth-child(6){height:78%}.mini-chart i:nth-child(7){height:90%}.banner-float{position:absolute;right:-15px;top:-20px;display:flex;align-items:center;gap:9px;padding:10px 13px;background:#fff;color:var(--ink);border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.15);font-size:8px}.banner-float>i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--mint);color:var(--green);font-style:normal}.banner-float span>*{display:block}.banner-float small{color:var(--muted)}.login-banner>footer{position:relative;z-index:2;display:flex;gap:25px;margin-top:auto;color:#8eafa7;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.login-panel{display:grid;place-items:center;padding:95px max(6vw,35px) 45px;background:#fff}.login-form-wrap{width:min(410px,100%)}.login-form-wrap h2{font:800 34px/1.2 Manrope;margin:10px 0}.login-form-wrap>p{color:var(--muted);margin-bottom:28px}.login-form label{display:block;margin:14px 0;font-size:10px;font-weight:700}.login-form input[type=email],.login-form input[type=password]{width:100%;margin-top:6px;padding:13px;border:1px solid var(--line);border-radius:6px;font:13px DM Sans;outline:none}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--mint)}.login-options{display:flex;justify-content:space-between;align-items:center;margin:7px 0 18px;font-size:10px}.login-options label{margin:0;color:var(--muted);font-weight:400}.login-options input{vertical-align:middle}.login-options a{color:var(--green);font-weight:700}.login-form .button{width:100%}.login-register{display:flex;justify-content:space-between;margin-top:25px;padding-top:22px;border-top:1px solid var(--line);font-size:10px}.login-register span{color:var(--muted)}.login-register a{color:var(--green);font-weight:700}.login-secure{display:block;text-align:center;margin-top:25px;color:#91a19c;font-size:8px}.login-secure:first-letter{color:var(--green)}
@media(max-width:930px){.login-stage{grid-template-columns:1fr}.login-banner{min-height:570px;padding:110px 35px 35px}.login-banner>footer{margin-top:30px}.login-panel{padding:65px 25px}.login-header{position:absolute}.banner-copy h1{font-size:48px}}
@media(max-width:580px){.login-header{padding:0 18px}.login-header>a:last-child{font-size:0}.login-header>a:last-child:after{content:'← Volver';font-size:11px}.login-banner{min-height:520px;padding:95px 20px 28px}.banner-copy h1{font-size:41px}.banner-copy ul{grid-template-columns:1fr}.banner-copy li:nth-child(3){display:none}.banner-dashboard{width:100%;margin-top:25px}.mini-window{transform:none}.login-banner>footer{display:none}.login-panel{padding:55px 20px}.login-register{display:block;text-align:center}.login-register a{display:block;margin-top:7px}}

/* Variante azul: conserva la composición y adopta la plantilla seleccionada. */
.login-banner{background:linear-gradient(145deg,var(--dark),color-mix(in srgb,var(--green) 72%,#071f34))}
.banner-label,.banner-copy h1 em{color:color-mix(in srgb,var(--green) 55%,#bfffea)}
.banner-label>i{background:currentColor}
