/* Acceso y acompañamiento · Vantus · Ing. Víctor Marín · 08/10/2026. */
body.vantus-portal #loginView .login-side{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 5%,#f9e8bc8c,transparent 50%),linear-gradient(150deg,#fcfaf5,#f0eee8)}
body.vantus-portal #loginView .login-side::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('contacto-trazo.svg') center/cover no-repeat;opacity:.08}
body.vantus-portal #loginView .auth-card{width:min(100%,550px);border-radius:22px;border:1px solid #d9c69a;border-top:3px solid #e7b54b;box-shadow:0 24px 75px #001f4d10,0 2px 7px #001f4d06;background:#fffefa}
body.vantus-portal #loginView .access-heading{gap:14px}
body.vantus-portal #loginView .access-heading>span{background:#00264c;color:#ffd16b;border-color:#00264c;border-radius:13px;width:46px;height:46px}
body.vantus-portal #loginView .auth-kicker{font-size:11px;line-height:1.8;color:#866627}
body.vantus-portal #loginView .auth-card h2{font-size:clamp(37px,3.1vw,49px);line-height:1.1}
body.vantus-portal #loginView .auth-intro{color:#536578;max-width:410px}
body.vantus-portal #loginView .access-input{position:relative}
body.vantus-portal #loginView .access-input>svg{position:absolute;left:16px;top:19px;width:21px;height:21px;fill:none;stroke:#738598;stroke-width:1.5;stroke-linecap:round;pointer-events:none}
body.vantus-portal #loginView .access-input>input{padding-left:49px}
body.vantus-portal #loginView .access-field-hint{margin:7px 0 0;color:#738091;font-size:12px;line-height:1.5}
body.vantus-portal #loginView .field input{transition:border-color .18s,box-shadow .18s,background .18s}
body.vantus-portal #loginView .field input[readonly]{background:#f6f5f1;color:#647183}
body.vantus-portal #loginView .field input[aria-invalid=true]{border-color:#b44439;background:#fffafa;box-shadow:0 0 0 3px #b4443910}
body.vantus-portal #loginView .primary-button{background:linear-gradient(115deg,#ffd16b,#ffbc2c 75%);box-shadow:0 8px 22px #dfa73226;border:1px solid #efb844}
body.vantus-portal #loginView .primary-button:hover{background:linear-gradient(115deg,#ffdc8d,#ffc647);box-shadow:0 10px 25px #dfa73235}
body.vantus-portal #loginView .primary-button.access-waiting{opacity:.85;cursor:progress}
body.vantus-portal #loginView .primary-button.access-waiting::before{content:'';width:18px;height:18px;flex:none;border:2px solid #001f4d30;border-top-color:#001f4d;border-radius:50%;animation:access-spin .9s linear infinite}
body.vantus-portal #loginView .auth-note:not(:empty){padding:13px 15px;border:1px solid #cbd8e3;border-radius:9px;background:#eff4f8;color:#38536c;font-size:13px;line-height:1.6}
body.vantus-portal #loginView .auth-note.error{border-color:#e9c7c0;background:#fff4f1;color:#9d3328}
body.vantus-portal #loginView .auth-note.success{border-color:#b9d8ca;background:#edf8f2;color:#246548}
body.vantus-portal #loginView .access-help{padding-top:20px;gap:12px}
body.vantus-portal #loginView .access-help a{background:#f3f8f5;border-color:#bfd4c8;color:#245e49}
body.vantus-portal #loginView .access-demo{padding:19px 17px;border-radius:12px;border-color:#cad6e0;background:linear-gradient(120deg,#edf3f8,#f6f8fa)}
body.vantus-portal #loginView .access-demo>svg{width:30px;height:30px;color:#9d7b36}
body.vantus-portal #loginView .access-demo>span:last-child{color:#9d7b36;font-size:22px}
body.vantus-portal #loginView .access-feature{padding:18px 14px;background:#00192c4d;border:1px solid #ffffff23;border-radius:10px;backdrop-filter:blur(8px)}
body.vantus-portal #loginView .access-features{border:0;padding-top:0;gap:13px}
body.vantus-portal #loginView .access-feature small{color:#d3dfeb}
.access-help-dialog{width:min(650px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 38px);padding:30px;margin:auto;background:#fffefa;color:#25394f;border:1px solid #d7bd82;border-radius:19px;box-shadow:0 25px 110px #00162c66;overflow:auto;overscroll-behavior:contain;font-family:Inter,'Segoe UI',Arial,sans-serif}
.access-help-dialog:not([open]){display:none}
.access-help-dialog::backdrop{background:#00162bcc;backdrop-filter:blur(8px)}
.access-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.access-dialog-head p{margin:0 0 10px;color:#90702d;font-size:10px;letter-spacing:.18em;font-weight:700}
.access-dialog-head h2{margin:0;color:#00254b;font:400 36px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.035em}
.access-dialog-head button{width:44px;height:44px;flex:none;border:1px solid #d6dddF;border-radius:10px;background:#f5f5f1;color:#344e65;font-size:26px;cursor:pointer}
.access-dialog-intro{margin:15px 0 22px;color:#647386;font-size:15px;line-height:1.6}
.access-help-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:6px;border:1px solid #e0e3e4;border-radius:11px;background:#f0f3f4}
.access-help-tabs button{min-width:0;min-height:48px;padding:10px;border:1px solid transparent;border-radius:7px;background:none;color:#56687a;font-family:inherit;font-weight:600;font-size:12px;line-height:1.4;cursor:pointer}
.access-help-tabs button[aria-selected=true]{background:#00264c;color:#fff;border-color:#00264c;box-shadow:0 2px 8px #00264c16}
.access-help-panel{padding:26px 0 0}
.access-help-panel h3{margin:0 0 12px;font:400 28px/1.2 Georgia,'Times New Roman',serif;color:#00264c}
.access-help-panel p{margin:0 0 20px;color:#5d6c7e;font-size:15px;line-height:1.75}
.access-help-panel :is(ol,ul){padding-left:23px;margin:18px 0 24px;color:#526478;font-size:14px;line-height:1.75}
.access-help-panel li+li{margin-top:9px}
.access-help-panel li::marker{color:#9c7828}
.access-support-action{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 18px;border:1px solid #edb63b;border-radius:9px;background:#ffcc61;color:#00264c;font-size:14px;font-weight:700;text-decoration:none}
.access-support-action:hover{background:#ffda88}
.access-email-recovery{margin-top:24px;border-top:1px solid #e3e0d7}
.access-email-recovery summary{padding:19px 0;color:#355d7d;font-size:13px;font-weight:600;cursor:pointer;min-height:48px}
.access-email-recovery>p{font-size:14px;margin:5px 0 18px}
#accessRecoveryForm label{display:block;font-size:13px;font-weight:600;color:#294760;margin-bottom:8px}
#accessRecoveryForm input{width:100%;min-height:54px;padding:13px 15px;border:1px solid #cbd4dd;border-radius:8px;background:#fff;color:#18334d;font-size:16px;box-sizing:border-box}
#accessRecoveryForm button{min-height:48px;padding:13px 17px;border:1px solid #9cb1c3;border-radius:8px;background:#eef3f7;color:#244d70;font-family:inherit;font-size:13px;font-weight:600;margin-top:14px;cursor:pointer;width:100%}
#accessRecoveryForm button:disabled{opacity:.6;cursor:progress}
#accessRecoveryNote:not(:empty){margin:15px 0 0;padding:12px 14px;border:1px solid #d8dfe4;border-radius:8px;background:#f2f5f8;font-size:13px;line-height:1.6;color:#476075}
.access-help-dialog :is(a,button,input,summary):focus-visible{outline:2px solid #a77d26;outline-offset:3px}
body.vantus-portal #resetDialog .reset-card{width:min(100%,480px);padding:32px;border-radius:18px;background:#fffefa;border-color:#d9c69a}
body.vantus-portal #resetDialog .reset-card h2{font-size:34px;line-height:1.15}
body.vantus-portal #resetDialog .reset-card p{font-size:15px;line-height:1.65}
body.vantus-portal #resetDialog .field label{font-size:14px}
body.vantus-portal #resetDialog .field input{min-height:56px;font-size:16px;background:#fff}
body.vantus-portal #resetDialog .primary-button{min-height:55px;background:#ffca59;color:#00264c;box-shadow:none}
body.vantus-portal #resetDialog .reset-close{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#f0f2f2}
@keyframes access-spin{to{transform:rotate(360deg)}}
@media(max-width:850px){body.vantus-portal #loginView .auth-card{padding:29px 25px}body.vantus-portal #loginView .access-feature{padding:15px 12px}}
@media(max-width:800px){
  body.vantus-portal #loginView .login-side{padding-top:18px}
  body.vantus-portal #loginView .auth-card{padding:26px 23px;border-radius:17px}
  body.vantus-portal #loginView .auth-card h2{font-size:35px}
  body.vantus-portal #loginView .access-heading>span{width:40px;height:40px}
  body.vantus-portal #loginView .auth-actions{gap:8px}
  body.vantus-portal #loginView .remember{font-size:13px}
  body.vantus-portal #loginView .access-help{align-items:flex-start}
  body.vantus-portal #loginView .access-demo{padding:17px 14px;gap:12px}
  .access-help-dialog{padding:24px 21px;max-height:calc(100dvh - 26px);border-radius:16px}
  .access-dialog-head{gap:12px}
  .access-dialog-head h2{font-size:31px}
  .access-help-tabs{grid-template-columns:1fr;padding:6px;gap:5px}
  .access-help-tabs button{min-height:44px;text-align:left;padding:12px 15px;font-size:13px}
  .access-help-panel{padding-top:24px}
  .access-help-panel h3{font-size:27px}
  body.vantus-portal #resetDialog .reset-card{padding:26px 22px}
}
@media(max-width:380px){body.vantus-portal #loginView .auth-card{padding:24px 18px}body.vantus-portal #loginView .auth-actions{display:grid;grid-template-columns:1fr}.access-dialog-head h2{font-size:28px}.access-help-dialog{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){body.vantus-portal #loginView .primary-button.access-waiting::before{animation:none}}
