/* Login de Mi Carga. Todo va dentro de .login-shell para no chocar con los estilos de la app. */
.login-body{margin:0;min-width:320px;min-height:100vh;background:#131a19;font-family:'DM Sans',sans-serif;color:#17201f;font-synthesis:none}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.18fr) minmax(480px,.82fr);overflow:hidden;font-family:'DM Sans',sans-serif}
.login-shell *{box-sizing:border-box}
.login-shell button,.login-shell input{font:inherit}
.login-shell button{cursor:pointer}

/* ── Fotografía y mensaje ── */
.login-shell .story-panel{min-height:100vh;position:relative;overflow:hidden;color:#fff;background:#14201e}
.login-shell .story-photo{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1766785368863-f2188a8c8b32?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&q=85&w=1600') center/cover no-repeat;filter:saturate(.68) contrast(1.08);transform:scale(1.02)}
.login-shell .story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,17,.88) 0%,rgba(8,19,17,.54) 58%,rgba(8,19,17,.1) 100%),linear-gradient(0deg,rgba(5,12,11,.86) 0%,transparent 48%,rgba(6,13,12,.3) 100%)}

/* ── Logo ── */
.mc-brand{display:flex;align-items:center;gap:12px}
.login-shell .mc-brand{position:absolute;z-index:2;top:42px;left:50px}
.mc-brand-mark{width:48px;height:48px;display:block;flex-shrink:0}
.mc-brand-mark svg{width:100%;height:100%;display:block}
.mc-logo-accent{fill:#e8ff57}
.mc-logo-light{fill:#fff}
.mc-brand strong,.mc-brand small{display:block}
.mc-brand strong{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;line-height:1;letter-spacing:.08em}
.mc-brand strong em{margin-right:4px;color:#e8ff57;font-style:normal}
.mc-brand small{margin-top:5px;color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.035em}

.login-shell .story-copy{position:absolute;z-index:2;left:7.5%;top:45%;width:min(640px,76%);transform:translateY(-50%)}
.login-shell .story-copy h1{margin:0;max-width:680px;font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,4.35vw,72px);font-weight:600;line-height:.99;letter-spacing:-.055em;color:#fff}
.login-shell .story-description{max-width:510px;margin:27px 0 0;color:rgba(255,255,255,.73);font-size:16px;line-height:1.65}

.login-shell .route-line{position:absolute;z-index:1;height:1px;opacity:.2;background:repeating-linear-gradient(90deg,#e8ff57 0 5px,transparent 5px 13px);transform-origin:left}
.login-shell .route-line-one{width:220px;right:2%;top:27%;transform:rotate(-28deg)}
.login-shell .route-line-two{width:150px;right:9%;top:16%;transform:rotate(60deg)}
.login-shell .route-dot{position:absolute;z-index:1;width:8px;height:8px;border:2px solid #e8ff57;border-radius:50%;opacity:.6}
.login-shell .route-dot-one{right:4%;top:26%}
.login-shell .route-dot-two{right:12%;top:14%}

/* ── Formulario ── */
.login-shell .access-panel{min-height:100vh;position:relative;display:flex;flex-direction:column;background:#f2f1ec}
.login-shell .access-panel::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(#77807c .55px,transparent .55px);background-size:6px 6px}
.login-shell .access-inner{position:relative;width:min(440px,calc(100% - 72px));margin:auto;padding:50px 0}
.login-shell .form-heading h2{margin:0;color:#15201e;font-family:'Space Grotesk',sans-serif;font-size:clamp(37px,3.2vw,49px);font-weight:600;line-height:1;letter-spacing:-.05em}
.login-shell .form-heading>span{display:block;margin-top:17px;color:#747b78;font-size:13px}
.login-shell form{margin-top:38px}
.login-shell form>label,.login-shell .label-row label{color:#333c39;font-size:11px;font-weight:700;letter-spacing:.02em}
.login-shell .label-row{display:flex;justify-content:space-between;align-items:center;margin-top:21px}
.login-shell .text-button{padding:0;border:0;color:#68700d;background:transparent;font-size:10px;font-weight:700}
.login-shell .text-button:hover{text-decoration:underline}
.login-shell .field{height:53px;display:flex;align-items:center;gap:12px;margin-top:8px;padding:0 16px;border:1px solid #d4d7d1;background:rgba(255,255,255,.56);transition:border-color .2s,background .2s,box-shadow .2s}
.login-shell .field:focus-within{border-color:#9da71a;background:#fff;box-shadow:0 0 0 3px rgba(157,167,26,.12)}
.login-shell .field>svg{width:18px;flex:0 0 auto;fill:none;stroke:#8b928e;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
.login-shell .field input{min-width:0;flex:1;outline:none;border:0;color:#1b2422;background:transparent;font-size:13px;padding:0;height:100%}
.login-shell .field input::placeholder{color:#a3a8a5}
.login-shell .eye-button{width:28px;height:32px;display:grid;place-items:center;padding:0;border:0;color:#7b8380;background:transparent}
.login-shell .eye-button svg{width:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5}
.login-shell .eye-button.visible .eye-slash{display:none}
.login-shell .remember{display:flex;align-items:center;gap:9px;width:max-content;margin-top:17px;color:#6f7673;font-size:11px;font-weight:500;cursor:pointer;position:relative}
.login-shell .remember input{position:absolute;opacity:0;width:16px;height:16px;margin:0}
.login-shell .remember span{width:16px;height:16px;display:grid;place-items:center;border:1px solid #bdc1bc;background:rgba(255,255,255,.5)}
.login-shell .remember input:checked+span{border-color:#a4af17;background:#e8ff57}
.login-shell .remember input:checked+span::after{content:'';width:7px;height:4px;border-bottom:1.5px solid #15201e;border-left:1.5px solid #15201e;transform:translateY(-1px) rotate(-45deg)}
.login-shell .submit-button{width:100%;height:56px;display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding:0 10px 0 22px;border:0;color:#14201e;background:#e8ff57;font-size:12px;font-weight:700;box-shadow:0 9px 22px rgba(100,112,16,.15);transition:transform .2s,background .2s}
.login-shell .submit-button:hover:not(:disabled){transform:translateY(-2px);background:#f0ff86}
.login-shell .submit-button:disabled{cursor:wait;opacity:.72}
.login-shell .submit-button.cargando svg{display:none}
.login-shell .submit-button svg{width:36px;height:36px;padding:9px;border:1px solid rgba(20,32,30,.2);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
.login-shell .support{display:flex;justify-content:space-between;margin-top:25px;color:#838986;font-size:10px}
.login-shell .support button{display:flex;align-items:center;gap:7px;padding:0;border:0;color:#4c5451;background:transparent;font-weight:700;font-size:10px}
.login-shell .support button:hover{color:#7d8610}
.login-shell .support svg{width:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.login-shell .access-panel footer{position:relative;padding:0 38px 25px;color:#959b97;font-size:8px;font-weight:700;letter-spacing:.14em}

/* Mensajes del servidor y ayudas (solo aparecen cuando hacen falta) */
.login-shell .login-error,.login-shell .login-info{margin:0 0 18px;padding:11px 14px;border-left:3px solid #c2410c;background:#fff4ed;color:#9a3412;font-size:12px;font-weight:600}
.login-shell .login-info{border-left-color:#9da71a;background:#f7fbe0;color:#4b5308}
.login-shell .login-ayuda{margin:10px 0 0;padding:10px 12px;background:rgba(232,255,87,.22);color:#4b5308;font-size:11px;line-height:1.5}

/* Foco visible en todo lo que se puede usar con teclado */
.login-shell button:focus-visible,.login-shell .remember input:focus-visible+span{outline:2px solid #9da71a;outline-offset:3px}
.login-shell .submit-button:focus-visible{outline:2px solid #15201e;outline-offset:3px}

.login-shell .mobile-brand{display:none}

@media (max-width:980px){
  .login-shell{grid-template-columns:minmax(400px,.85fr) minmax(450px,1fr)}
  .login-shell .story-copy h1{font-size:46px}
}

@media (max-width:760px){
  .login-shell{display:block}
  .login-shell .story-panel{min-height:285px}
  .login-shell .story-panel>.mc-brand,.login-shell .route-line,.login-shell .route-dot{display:none}
  .login-shell .story-copy{top:auto;bottom:30px;left:28px;width:calc(100% - 56px);transform:none}
  .login-shell .story-copy h1{font-size:35px}
  .login-shell .story-description{display:none}
  .login-shell .access-panel{min-height:calc(100vh - 285px)}
  .login-shell .mobile-brand{position:relative;top:auto;left:auto;display:flex;margin:25px 28px 0;color:#17201f}
  .login-shell .mobile-brand small{color:#7f8682}
  .login-shell .mobile-brand strong{color:#17201f}
  .login-shell .mobile-brand strong em{color:#869100}
  .login-shell .mobile-brand .mc-logo-light{fill:#17201f}
  .login-shell .mobile-brand .mc-brand-mark{width:43px;height:43px}
  .login-shell .access-inner{width:calc(100% - 56px);padding:45px 0 55px}
  .login-shell .form-heading h2{font-size:39px}
  .login-shell .field input{font-size:16px}   /* evita el zoom automático del celular al escribir */
  .login-shell .text-button,.login-shell .support button{min-height:32px}
  .login-shell .access-panel footer{padding-inline:28px}
}

@media (max-width:430px){
  .login-shell .story-panel{min-height:245px}
  .login-shell .story-copy h1{font-size:31px}
  .login-shell .access-inner{padding-top:38px}
  .login-shell .support{align-items:flex-start;flex-direction:column;gap:10px}
  .login-shell .access-panel footer{font-size:7px}
}

@media (prefers-reduced-motion:reduce){
  .login-shell *{scroll-behavior:auto!important;transition:none!important}
}
