/* Acceso público. Estos estilos no intervienen en las pantallas de las aplicaciones. */
body.login-page{background:#f6f7fa}
.login-page{--login-accent:#345f9c;--login-line:#e2e6ee;--login-muted:#657184;--login-ink:#192538}
.login-header,.login-main,.login-footer{width:min(1100px,90%);margin-right:auto;margin-left:auto}
.login-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0}
.login-header .platform-brand{font-size:26px}
.login-header-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;font-weight:550;color:#657184}
.login-header-label>span{height:6px;width:6px;border-radius:50%;background:#90a5c0;flex-shrink:0}
.login-main{flex:1;display:flex;align-items:center;padding:17px 0 33px}
.login-shell{display:grid;grid-template-columns:1fr 1fr;width:100%;border:1px solid var(--login-line);border-radius:20px;background:#fff;box-shadow:0 10px 40px #1b345007;overflow:hidden}
.login-access{grid-column:2;grid-row:1;min-width:0;padding:61px 60px 54px;display:flex;align-items:center}
.login-form-wrap{width:100%;max-width:374px;margin:auto}
.login-eyebrow{display:block;margin:0 0 15px;color:#5f7089;font-size:10px;line-height:1.6;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.login-access h1{margin:0;font-size:39px;line-height:1.18;letter-spacing:-1.6px;font-weight:650;color:var(--login-ink)}
.login-intro{margin:14px 0 31px;color:var(--login-muted);font-size:13px;line-height:1.7}
.login-form{display:grid;gap:20px;scroll-margin-top:22px}
.login-field{min-width:0}
.login-field>label{display:block;margin:0 0 8px;color:#41516a;font-size:12px;line-height:1.5;font-weight:600}
.login-field input{display:block;width:100%;height:50px;border:1px solid #d7dfeb;border-radius:8px;outline:0;background:#fff;padding:12px 15px;color:var(--login-ink);font-size:14px;line-height:1.6;box-shadow:0 2px 3px #152b4302;transition:border-color .15s,box-shadow .15s}
.login-field input::placeholder{color:#64758d;opacity:1}
.login-field input:hover{border-color:#b5c3d6}
.login-field input:focus{border-color:#779cc9;box-shadow:0 0 0 3px #edf3fc}
.login-password{position:relative}
.login-password input{padding-right:76px}
.login-password-toggle{position:absolute;right:5px;top:5px;min-width:54px;height:40px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:#57708f;font-size:11px;font-weight:600;line-height:1.5}
.login-password-toggle:hover{background:#f2f5fa;color:#25466f}
.login-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:50px;margin-top:6px;padding:13px 17px;border:1px solid #274772;border-radius:8px;background:#274772;color:#fff;font-size:13px;font-weight:600;line-height:1.6;box-shadow:0 3px 7px #233c5c12;transition:background .15s,box-shadow .15s}
.login-submit svg{height:19px;width:19px;flex-shrink:0}
.login-submit:hover{background:#1c375c;box-shadow:0 5px 12px #233c5c1c}
.login-submit:active{background:#172e4e}
.login-support{margin:28px 0 0;font-size:11px;color:#4f607a;line-height:1.9}
.login-support>span{color:#657184}
.login-validation.validation-summary-valid{display:none}
.login-validation{padding:12px 14px;border:1px solid #ecd0cd;border-radius:8px;background:#fff5f4;color:#9a4540;font-size:12px;line-height:1.7}
.login-validation ul{padding:0 0 0 16px;margin:0}
.login-validation p{margin:0}
.login-field .field-validation-error{display:block;margin-top:7px;color:#a1433d;font-size:11px;line-height:1.6}
.login-field .input-validation-error{border-color:#c98b84;background:#fffaf9}
.login-products{grid-column:1;grid-row:1;min-width:0;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:48px 45px 41px;background:#f1f5fa;border-right:1px solid #e7edf5;overflow:hidden}
.login-products::before{content:"";position:absolute;z-index:-1;width:430px;height:430px;border:1px solid #dde6f166;border-radius:50%;top:-300px;left:-140px;box-shadow:0 0 0 52px #e5ecf44d,0 0 0 103px #e9eff640;pointer-events:none}
.login-products-heading{margin-bottom:27px}
.login-products-heading .login-eyebrow{margin-bottom:12px;color:#5f7089}
.login-products h2{margin:0;font-size:26px;line-height:1.38;font-weight:600;letter-spacing:-.75px;color:#2c4160}
.login-product-list{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.login-product{--product-color:#2863b5;--product-soft:#edf4fe;display:flex;align-items:center;gap:16px;padding:19px 18px;min-width:0;background:#fff;border:1px solid #e2e8f1;border-radius:12px;box-shadow:0 2px 4px #18345402}
.login-product--horario{--product-color:#247c63;--product-soft:#ebf6f0}
.login-product--deca{--product-color:#ad622a;--product-soft:#fcf1e7}
.login-product-icon{display:grid;place-items:center;width:51px;height:51px;flex-shrink:0;border-radius:13px;background:var(--product-soft);color:var(--product-color)}
.login-product-icon svg{width:31px;height:31px}
.login-product-copy{min-width:0}
.login-product-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.login-product h3{margin:0;color:#293a53;font-size:17px;line-height:1.4;font-weight:650;letter-spacing:-.3px}
.login-product p{margin:5px 0 0;color:#64758d;font-size:11px;line-height:1.65;max-width:28ch}
.login-coming{font-size:8px;line-height:1.6;font-weight:600;padding:2px 6px;color:#875b35;background:#fcf2e9;border:1px solid #efddcd;border-radius:4px;white-space:nowrap}
.login-products-note{display:flex;align-items:center;gap:9px;margin:25px 0 0;color:#5f7089;font-size:10px;line-height:1.6}
.login-products-note svg{width:17px;height:17px;flex-shrink:0;color:#8195b0}
.login-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 26px;color:#657184;font-size:10px;line-height:1.6}
@media(min-width:1500px){.login-shell{min-height:610px}.login-header{padding-top:42px;padding-bottom:37px}.login-main{padding-bottom:42px}.login-footer{padding-bottom:32px}}
@media(max-width:1050px){.login-access{padding:48px 38px}.login-products{padding:43px 30px 37px}.login-product{gap:13px;padding:18px 15px}.login-products h2{font-size:24px}.login-product h3{font-size:16px}.login-product p{font-size:11px}.login-product-icon{width:46px;height:46px;border-radius:12px}.login-product-icon svg{width:29px;height:29px}.login-product-title{gap:4px 8px}}
@media(max-width:760px){.login-header,.login-main,.login-footer{width:min(520px,90%)}.login-header{padding:25px 0}.login-header .platform-brand{font-size:23px}.login-header-label{font-size:10px}.login-main{padding:7px 0 25px}.login-shell{grid-template-columns:1fr;border-radius:17px}.login-access{grid-column:1;grid-row:1;padding:35px 30px 32px}.login-form-wrap{max-width:none}.login-eyebrow{font-size:9px;letter-spacing:1.25px;margin-bottom:12px}.login-access h1{font-size:34px;letter-spacing:-1.2px}.login-intro{margin:12px 0 25px;font-size:12px}.login-form{gap:18px}.login-field input{font-size:16px}.login-support{margin-top:22px;font-size:10px}.login-products{grid-column:1;grid-row:2;border-right:0;border-top:1px solid #e5ebf3;padding:26px 30px 28px}.login-products-heading{margin-bottom:19px}.login-products-heading .login-eyebrow{font-size:9px;margin-bottom:0}.login-products h2{display:none}.login-product-list{gap:10px}.login-product{padding:14px 15px;gap:13px}.login-product-icon{width:43px;height:43px;border-radius:11px}.login-product-icon svg{width:27px;height:27px}.login-product h3{font-size:15px}.login-product p{font-size:10px;margin-top:3px;max-width:none}.login-coming{font-size:7px}.login-products-note{margin-top:18px;font-size:9px}.login-footer{padding-bottom:22px;font-size:9px}}
@media(max-width:370px){.login-header-label{font-size:9px;gap:6px}.login-header-label>span{height:4px;width:4px}.login-header .platform-brand{font-size:21px}.login-access{padding:30px 23px 27px}.login-products{padding-right:21px;padding-left:21px}.login-product{gap:11px;padding-right:12px;padding-left:12px}.login-product-icon{width:40px;height:40px}.login-product h3{font-size:14px}.login-product p{font-size:10px}.login-products-note{gap:7px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important;scroll-behavior:auto!important}}
