/* Mejoras de acceso: íconos, celular, recuperación de contraseña */
.login-field>span{display:flex;align-items:center;gap:7px}
.login-field>span svg{flex:none;color:#b07b23}
.password-wrap button{color:#8a7c68}
.password-wrap button:hover{color:#9a6b1e}
.password-wrap button svg{display:block}
.message.show{font-size:13px;line-height:1.45}

/* Pantalla de acceso */
.login{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.login-brand.lb2{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:48px 64px!important;color:#fff;background:radial-gradient(90% 70% at 90% 0%,rgba(255,240,205,.45),transparent 60%),linear-gradient(155deg,#e0b862 0%,#c9973f 50%,#b37f28 100%)!important}
.lb2::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.lb2>*{position:relative;z-index:1}
.lb2 span{letter-spacing:normal!important;font-size:inherit!important;color:inherit!important}
.lb2 .lb-mark{width:56px;height:56px;border-radius:14px;padding:6px;box-sizing:border-box}
.lb-mark img{width:100%;height:100%;object-fit:contain;display:block}
.lb-points span,.lb2 .login-visual>p,.lb-foot{text-shadow:0 1px 2px rgba(110,70,10,.25)}
.lb-top{display:flex;align-items:center;gap:14px}
.lb-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#a8741f!important;font:600 28px/1 "Cormorant Garamond",Georgia,serif!important;box-shadow:0 8px 24px rgba(120,80,20,.22)}
.lb-name{display:flex;flex-direction:column;line-height:1.2}
.lb-name b{font-size:12px;letter-spacing:.22em;font-weight:700;color:#fff}
.lb-name b,.lb-name small{display:block}
.lb-name small{font-size:12px;color:rgba(255,255,255,.85);margin-top:3px}
.lb-route{position:absolute!important;z-index:0!important;right:-30px;top:10px;width:55%;max-width:460px;color:#fff;opacity:.55}
.lb2 .login-visual{margin-top:auto;max-width:520px}
.lb2 .lb-kicker{display:inline-block;font-size:11px!important;letter-spacing:.24em!important;color:#fff!important;opacity:.92;font-weight:700;margin-bottom:18px}
.lb2 h1{font:500 54px/1.05 "Cormorant Garamond",Georgia,serif!important;color:#fff!important;margin:0 0 18px!important;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(110,70,10,.18)}
.lb2 h1 em{display:block;font-style:italic;color:#fff8e8}
.lb2 .login-visual>p{font-size:16px;line-height:1.6;color:#fff!important;opacity:.92;margin:0 0 30px;max-width:440px}
.lb-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;border-top:1px solid rgba(255,255,255,.32);padding-top:26px}
.lb-points li{display:flex;align-items:flex-start;gap:14px}
.lb-points i{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);color:#fff}
.lb-points span{display:flex;flex-direction:column;font-size:13.5px!important;color:rgba(255,255,255,.92)!important;line-height:1.45}
.lb-points b{font-size:14.5px;font-weight:600;color:#fff}
.lb-foot{font-size:12px;color:rgba(255,255,255,.85)}

.login-form{background:#fff;padding:48px}
.login-form form{width:min(420px,100%);background:#fff;border:1px solid #efe4cf;border-radius:20px;padding:40px 38px 30px;box-shadow:0 1px 2px rgba(120,80,20,.04),0 24px 60px -28px rgba(150,100,30,.28)}
.login-copy small{font-size:11px!important;letter-spacing:.22em!important;font-weight:700;color:#a87726!important}
.login-copy h2{font:600 30px/1.15 Inter,-apple-system,"Segoe UI",Arial,sans-serif!important;color:#1d1812;margin:10px 0 8px!important;letter-spacing:-.02em}
.login-copy p{font-size:14.5px!important;color:#7a6f61!important;margin:0 0 26px!important}
.login-form label.login-field{margin:0 0 18px}
.login-field>span{font-size:13px!important;font-weight:600!important;color:#3a3127}
.login-form input[type=email],.login-form .password-wrap input{height:50px!important;border:1px solid #e3d7c3!important;border-radius:11px!important;background:#fdfcfa!important;font-size:15px!important;transition:border-color .15s,box-shadow .15s}
.login-form input[type=email]:focus,.login-form .password-wrap input:focus{outline:none;border-color:#c48f35!important;background:#fff!important;box-shadow:0 0 0 4px rgba(196,143,53,.12)!important}
.login-options{margin:4px 0 22px}
.remember{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:14px!important;color:#6f6556!important;cursor:pointer}
.remember input{width:16px;height:16px;accent-color:#b78228;margin:0}
.text-btn{font-size:14px;font-weight:600;cursor:pointer;padding:0}
.text-btn:hover{text-decoration:underline}
#loginBtn.primary{height:52px;border-radius:11px;font-size:15.5px;letter-spacing:.01em;cursor:pointer;transition:transform .12s,box-shadow .15s,filter .15s}
#loginBtn.primary:hover{filter:brightness(1.04);box-shadow:0 12px 26px rgba(181,132,44,.28)}
#loginBtn.primary:active{transform:translateY(1px)}
#loginBtn.primary:disabled{opacity:.7;cursor:default}
.lf-help{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:24px;padding-top:20px;border-top:1px solid #f0e8db;font-size:13.5px;color:#7a6f61}
.lf-help a{color:#9a6b1e;font-weight:600;text-decoration:none}
.lf-help a:hover{text-decoration:underline}
.lf-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 0 0;font-size:12px;color:#9c917f}
.lf-secure svg{color:#b08a4a}

@media (max-width:1100px){
  .login-brand.lb2{padding:40px 44px!important}
  .lb2 h1{font-size:44px!important}
}
@media (max-width:820px){
  .login{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:100vh;min-height:100svh}
  .login-brand.lb2{padding:22px 20px 26px!important;gap:22px;justify-content:flex-start}
  .lb-route,.lb-points,.lb-foot,.lb2 .login-visual>p{display:none!important}
  .lb2 .login-visual{margin-top:0}
  .lb-kicker{margin-bottom:8px}
  .lb2 h1{font-size:30px!important;margin:0!important}
  .lb2 h1 em{display:inline}
  .login-form{place-items:start center;padding:0 14px 36px}
  .login-form form{margin-top:-14px;padding:28px 22px 22px;border-radius:18px}
  .login-copy h2{font-size:26px!important}
  .login-copy p{margin-bottom:20px!important}
  .login-options{flex-wrap:wrap;gap:10px}
}

.vym-modal{position:fixed;inset:0;z-index:10000;background:rgba(32,24,12,.5);display:flex;align-items:center;justify-content:center;padding:16px}
.vym-modal .box{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:14px;max-height:92vh;overflow:auto}
.vym-modal h3{margin:0;font-size:22px;color:#1f1a14}
.vym-modal p{margin:0;font-size:14px;line-height:1.5;color:#6b6155}
.vym-modal label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#2b241b}
.vym-modal input{height:50px;border:1px solid #dfd0b4;border-radius:10px;padding:0 15px;font:inherit;font-size:15px;outline:none;width:100%;box-sizing:border-box}
.vym-modal input:focus{border-color:#c9912f;box-shadow:0 0 0 2px rgba(201,145,47,.12)}
.vym-modal .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vym-modal .acts button{height:46px;padding:0 18px;border-radius:10px;font-weight:700;cursor:pointer;font:inherit;font-weight:700}
.vym-modal .ghost{background:#fff;border:1px solid #dfd0b4;color:#6b5a3e}
.vym-modal .go{border:0;color:#fff;background:linear-gradient(135deg,#b78228,#d1a24d)}
.vym-modal .go:disabled{opacity:.6;cursor:default}
.vym-modal .note{font-size:13px;border-radius:9px;padding:10px 12px;display:none}
.vym-modal .note.err{display:block;background:#fff3f0;color:#9b4b3d;border:1px solid #ecd4ce}
.vym-modal .note.ok{display:block;background:#eef8ef;color:#3f6a3d;border:1px solid #d6e8d5}
.vym-modal .help{font-size:13px;color:#6b6155}
.vym-modal .help a{color:#9a6b1e;font-weight:700}

.help-popover .help-docs{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(154,107,30,.18)}
.help-popover .help-docs small{font-size:11px;letter-spacing:.12em;color:#9a6b1e;font-weight:700;margin-bottom:2px}

/* Logotipo */
.lf-logo{display:block;width:150px;height:auto;margin:-8px auto 18px}
.login-copy{text-align:center}
.login-copy p{margin-left:auto!important;margin-right:auto!important}
.menu-brand:before{background:url("/assets/vym-emblema.webp?v=2") center/contain no-repeat!important;width:96px!important;height:96px!important}
@media (max-width:820px){.lf-logo{width:110px;margin:-4px auto 12px}}

/* Restablecer contraseña */
.vym-modal .box{padding:32px 30px 26px;border-radius:20px;text-align:center;gap:12px}
.vym-modal h3{font:600 22px/1.2 Inter,-apple-system,"Segoe UI",Arial,sans-serif;letter-spacing:-.01em}
.vym-modal p{font-size:14.5px}
.vym-modal p b{color:#2b241b}
.vm-icon{width:56px;height:56px;margin:0 auto 4px;border-radius:16px;display:grid;place-items:center;background:#fbf3e3;color:#b07a22;border:1px solid #f0e0c0}
.vm-icon.ok{background:#eef8ef;color:#3f8a4a;border-color:#d6e8d5}
.vm-form{display:flex;flex-direction:column;gap:12px;margin-top:6px;text-align:left}
.vym-modal .go.vm-full{width:100%;height:50px;font-size:15px;margin-top:4px}
.vm-link{background:none;border:0;color:#9a6b1e;font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:8px;margin:0 auto}
.vm-link:hover:not(:disabled){text-decoration:underline}
.vm-link:disabled{color:#a99c88;cursor:default;font-weight:500}
.vm-steps{list-style:none;margin:4px 0 0;padding:14px 16px;background:#fcf9f3;border:1px solid #f0e6d4;border-radius:12px;text-align:left;display:flex;flex-direction:column;gap:8px;counter-reset:s}
.vm-steps li{position:relative;padding-left:28px;font-size:13.5px;color:#5d5346;line-height:1.45;counter-increment:s}
.vm-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:#c4913a;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.vm-checks{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.vm-checks li{display:flex;align-items:center;gap:8px;font-size:13px;color:#9c917f}
.vm-checks li::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid #d8ccb8;flex:none;box-sizing:border-box}
.vm-checks li.on{color:#3f6a3d}
.vm-checks li.on::before{border-color:#3f8a4a;background:#3f8a4a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/9px no-repeat}
.vym-modal .help{font-size:13px}
.lf-help .text-btn{font-size:13.5px}

/* Ajuste para que el acceso quepa completo en pantalla */
.login{height:100vh;height:100svh;min-height:600px;overflow:hidden}
.login-brand.lb2{padding:clamp(28px,5vh,52px) clamp(40px,5vw,72px)!important;gap:0}
.lb2 .login-visual{margin-top:auto;margin-bottom:auto;max-width:620px}
.lb2 .lb-kicker{margin-bottom:clamp(10px,2vh,18px)}
.lb2 h1{font-size:clamp(40px,3.4vw + 1vh,60px)!important;line-height:1.04!important;margin:0 0 clamp(12px,2vh,20px)!important}
.lb2 h1 em{display:inline}
.lb2 .login-visual>p{margin:0 0 clamp(18px,3.2vh,30px)!important}
.lb-points{padding-top:clamp(16px,2.8vh,26px);gap:clamp(10px,1.8vh,16px)}
.lb-points i{width:36px;height:36px}
.lb-foot{margin-top:clamp(14px,2.5vh,24px)}
.lb-route{top:0;width:48%}
.login-form{padding:clamp(20px,4vh,48px) 40px;overflow-y:auto}
.login-form form{padding:clamp(24px,4vh,36px) 36px clamp(20px,3vh,28px)}
.lf-logo{width:clamp(96px,14vh,132px);margin:0 auto clamp(8px,1.6vh,14px)}
.login-copy h2{font-size:clamp(24px,3.4vh,30px)!important;margin:6px 0!important}
.login-copy p{margin:0 0 clamp(14px,2.6vh,24px)!important}
.login-form label.login-field{margin:0 0 clamp(12px,2vh,18px)}
.login-form input[type=email],.login-form .password-wrap input{height:clamp(44px,6.2vh,50px)!important}
.login-options{margin:2px 0 clamp(14px,2.4vh,20px)}
#loginBtn.primary{height:clamp(46px,6.4vh,52px)}
.lf-secure{margin-top:clamp(12px,2vh,18px);padding-top:clamp(12px,2vh,16px);border-top:1px solid #f0e8db}
@media (max-height:760px) and (min-width:821px){
  .lb-points span{font-size:13px!important}
  .lb-points b{font-size:14px}
  .lb2 .login-visual>p{font-size:15px}
}
@media (max-height:660px) and (min-width:821px){
  .lb-foot{display:none}
  .lb-points li:nth-child(3){display:none}
}
@media (max-width:820px){
  .login{height:auto;min-height:100vh;min-height:100svh;overflow:visible}
  .login-form{overflow:visible;padding:0 14px 32px}
  .lb2 .login-visual{margin:0}
  .lb2 h1{font-size:30px!important}
}
.lb-route{top:-24px;width:42%;opacity:.45}
@media (max-width:820px){
  .login-brand.lb2{gap:18px!important;padding:20px 20px 30px!important}
  .login-options{flex-wrap:nowrap;gap:8px}
  .login-options .remember,.login-options .text-btn{font-size:13.5px!important;white-space:nowrap}
}
@media (max-width:820px){.lb2 h1 em{display:block}}

.lb2 .lb-mark{padding:4px}

/* Diseño limpio v3: un solo logotipo, formulario sin tarjeta */
.login-form{background:#fff}
.login-form form{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;width:min(380px,100%)}
.lf-logo{width:clamp(150px,22vh,200px)!important;margin:0 auto clamp(18px,3vh,28px)!important}
.login-copy small{display:none}
.login-copy h2{font-size:clamp(26px,3.6vh,32px)!important;margin:0 0 6px!important}
.login-copy p{font-size:15px!important}
.login-form input[type=email],.login-form .password-wrap input{background:#fff!important;border-color:#e6dccb!important}
.lf-secure{border-top:0;padding-top:0}
.lb2 .lb-kicker{margin-bottom:18px}
.lb2 .login-visual{margin-top:auto;margin-bottom:auto}
.lb2 h1{font-size:clamp(44px,3.6vw + 1vh,64px)!important}
@media (max-width:820px){
  .login{display:block;background:#fff}
  .login-brand.lb2{display:none!important}
  .login-form{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;min-height:100svh;padding:44px 24px 28px!important;background:#fff}
  .login-form form{margin:0!important;width:100%;max-width:400px}
  .lf-logo{width:170px!important;margin:0 auto 26px!important}
  .login-copy h2{font-size:28px!important}
  .login-copy p{margin-bottom:24px!important}
  .login-form label.login-field{margin-bottom:16px}
  .login-form input[type=email],.login-form .password-wrap input{height:52px!important}
  #loginBtn.primary{height:54px}
  .lf-secure{margin-top:22px}
  .login-form::after{content:"© 2026 Viaje y Memoria";margin-top:auto;padding-top:28px;font-size:12px;color:#a99c88}
}
.lb2 h1{font-size:clamp(40px,2.5vw + 1.4vh,60px)!important}
.lb2 h1 em{display:block!important}
.lb2 .login-visual>p{max-width:430px}
/* Dorado liso, sin puntos ni línea punteada */
.lb2::after{display:none!important}
.lb-route{display:none!important}
