/* Scoped to the login page. No external fonts or dependencies. */
body.isp-login-page{margin:0!important;padding:0!important;display:block!important;text-align:left;background:#f3f6fa!important;color:#142440;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;min-height:100vh}
#isp-login,#isp-login *{box-sizing:border-box;font-family:inherit}
#isp-login{--navy:#102e59;--blue:#244cb7;--muted:#65758a;max-width:1240px;margin:auto;padding:28px 38px 22px;font-size:15px;line-height:1.5}
#isp-login .isp-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}
#isp-login .isp-brand{display:flex;align-items:center;gap:19px}
#isp-login .isp-logo{display:block;width:156px;height:88px;object-fit:contain}
#isp-login .isp-brand-label{color:#52647c;font-size:13px;letter-spacing:.02em}
#isp-login .isp-form-logo{display:block;width:232px;max-width:100%;height:130px;object-fit:contain;object-position:left center;margin:0 0 20px -8px}
#isp-login .isp-secure{display:flex;align-items:center;gap:8px;color:#617087;font-size:12px}
#isp-login svg{display:block;flex-shrink:0}
#isp-login .isp-shell{display:grid;grid-template-columns:47% 53%;min-height:650px;background:#fff;border:1px solid #e1e8f1;border-radius:25px;overflow:hidden;box-shadow:0 22px 65px #1730520c}
#isp-login .isp-story{position:relative;isolation:isolate;overflow:hidden;background:#102c54;color:#fff;padding:44px 42px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
#isp-login .isp-story:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 40%,#17529180,transparent 63%),linear-gradient(140deg,#102b52,#0a2345)}
#isp-login .isp-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;margin:0 0 18px;color:#aec8ed}
#isp-login .isp-story h2{font-size:38px;line-height:1.16;letter-spacing:-1.3px;font-weight:650;margin:0;max-width:360px;color:#fff}
#isp-login .isp-story h2 em{font-style:normal;color:#91baff}
#isp-login .isp-story-intro{font-size:14px;line-height:1.8;color:#becde2;max-width:325px;margin:18px 0 0}
#isp-login .isp-network{height:176px;position:relative;display:grid;place-items:center;margin:0 -25px}
#isp-login .isp-ring{position:absolute;width:152px;height:152px;border:1px solid #739bd635;border-radius:50%}
#isp-login .isp-ring.r2{width:238px;height:238px;border-color:#739bd622}
#isp-login .isp-ring.r3{width:330px;height:330px;border-color:#739bd613}
#isp-login .isp-core{position:relative;width:74px;height:74px;background:linear-gradient(145deg,#487ff0,#204ea7);border:1px solid #91b8ff80;box-shadow:0 0 0 9px #80adff09,0 18px 45px #030e2d55;border-radius:23px;display:grid;place-items:center;transform:rotate(-7deg)}
#isp-login .isp-core svg{transform:rotate(7deg)}
#isp-login .isp-node{position:absolute;width:35px;height:35px;display:grid;place-items:center;background:#163a67;border:1px solid #7199cd55;border-radius:11px;color:#c5dcff}
#isp-login .isp-node.n1{left:20%;top:32%}#isp-login .isp-node.n2{right:18%;top:16%}#isp-login .isp-node.n3{right:25%;bottom:9%}
#isp-login .isp-orbit-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#8ab4ff;top:15%;left:46%;box-shadow:0 0 15px #78a9ff}
#isp-login .isp-features{display:grid;gap:18px;position:relative}
#isp-login .isp-feature{display:flex;gap:13px;align-items:center}
#isp-login .isp-feature-icon{width:37px;height:37px;border-radius:11px;background:#ffffff09;border:1px solid #cde1ff16;display:grid;place-items:center;color:#a8caff;flex-shrink:0}
#isp-login .isp-feature strong{font-size:13px;font-weight:600;color:#f2f7ff;display:block}
#isp-login .isp-feature p{font-size:12px;line-height:1.6;margin:2px 0 0;color:#a7bbd6}
#isp-login .isp-form-panel{padding:43px 62px 35px;display:flex;flex-direction:column;justify-content:center;min-width:0;width:auto}
#isp-login .isp-form-eyebrow{color:#4265aa;font-size:10px;letter-spacing:.15em;font-weight:700;margin:0 0 13px;text-transform:uppercase}
#isp-login h1{font-size:29px;line-height:1.22;letter-spacing:-.8px;font-weight:650;color:#142440;margin:0 0 12px}
#isp-login .isp-form-intro{font-size:13px;color:#78869a;margin:0 0 27px;line-height:1.7}
#isp-login .isp-custom-message{margin-bottom:18px;color:#52647c;font-size:13px;overflow-wrap:anywhere}
#isp-login form{margin:0;padding:0}
#isp-login .isp-field{margin:0 0 18px}
#isp-login .isp-field label{display:block;font-size:12px;font-weight:600;color:#354760;margin:0 0 8px}
#isp-login .isp-input-wrap{position:relative}
#isp-login .isp-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8a98ac;pointer-events:none}
#isp-login input[type=text],#isp-login input[type=password]{display:block;width:100%;height:51px;border:1px solid #dce3ed;background:#fbfcfe;border-radius:9px;box-shadow:none;padding:0 45px;color:#162a46;font-family:inherit;font-size:14px;margin:0;outline:none;transition:border-color .15s,box-shadow .15s}
#isp-login input::placeholder{color:#9aa6b7;font-size:13px}
#isp-login input:focus{border-color:#4c78d3;background:#fff;box-shadow:0 0 0 3px #325fc612}
#isp-login .isp-eye{position:absolute;right:7px;top:7px;width:37px;height:37px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#7d8ca1;cursor:pointer;padding:0}
#isp-login .isp-eye:hover{background:#eaf0fa;color:#244cb7}
#isp-login .isp-submit{width:100%;height:50px;display:flex;gap:12px;align-items:center;justify-content:center;background:#244cb7;border:1px solid #244cb7;border-radius:9px;color:#fff;font-size:14px;font-family:inherit;font-weight:600;cursor:pointer;padding:0 18px;box-shadow:0 4px 10px #244cb718;transition:background .15s,transform .15s}
#isp-login .isp-submit:hover{background:#193d9e;transform:translateY(-1px)}
#isp-login button:focus-visible,#isp-login a:focus-visible,#isp-login select:focus-visible{outline:3px solid #7ea4f1;outline-offset:3px}
#isp-login a{color:#3159b1;text-decoration:none}#isp-login a:hover{text-decoration:underline}
#isp-login .isp-recover{text-align:center;margin:18px 0 23px;font-size:12px}
#isp-login .isp-register{border-top:1px solid #edf0f5;padding-top:22px;text-align:center;font-size:12px;line-height:1.7;margin-bottom:24px}
#isp-login .isp-language-row{display:flex;align-items:center;justify-content:center;gap:8px;color:#8693a5}
#isp-login select.languageSelector{appearance:auto;width:auto!important;min-width:100px;height:32px;border:0;background:#fff;color:#617087;font-family:inherit;font-size:12px;padding:0 4px;box-shadow:none;cursor:pointer}
#isp-login button{margin:0}
#isp-login .isp-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8a96a6;font-size:11px;margin:19px 3px 0}
#isp-login .field-validation-error,#isp-login .invalid-feedback{color:#bb2940;font-size:12px;margin-top:5px}
body.isp-login-page>.alert{max-width:1120px;margin:16px auto}
@media(min-width:1500px){#isp-login{padding-top:50px}}
@media(max-width:1000px){#isp-login{padding:20px 24px}.isp-shell{min-height:620px!important}#isp-login .isp-story{padding:34px 28px}#isp-login .isp-story h2{font-size:33px}#isp-login .isp-form-panel{padding:35px}#isp-login h1{font-size:26px}}
@media(max-width:720px){#isp-login{max-width:530px;padding:14px 18px 24px}#isp-login .isp-topbar{margin-bottom:15px}#isp-login .isp-logo{width:132px;height:75px}#isp-login .isp-brand-label{display:none}#isp-login .isp-secure{font-size:10px}#isp-login .isp-shell{display:block;min-height:0!important;border-radius:18px}#isp-login .isp-story{display:none}#isp-login .isp-form-panel{padding:32px 25px}#isp-login h1{font-size:27px}#isp-login .isp-bottom{justify-content:center;text-align:center}#isp-login .isp-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){#isp-login *{transition:none!important}}

/* Logo centrado sobre el título */
#isp-login .isp-form-logo {
    object-position: center;
    margin: 0 auto 20px;
}

#isp-login .isp-form-panel {
    container-type: inline-size;
}

#isp-login h1 {
    text-align: center;
}

/* Una línea en escritorio */
@media (min-width: 1001px) {
    #isp-login h1 {
        font-size: 18px;
        font-size: clamp(15px, 3.6cqi, 23px);
        white-space: nowrap;
        letter-spacing: -.45px;
    }
}

/* Texto legible en móvil y tablet */
@media (max-width: 1000px) {
    #isp-login h1 {
        white-space: normal;
    }
}
