/* LOKTRAK · Cambiar / restablecer contraseña */
.lkp-wrap{max-width:980px;margin:0 auto;animation:lkpIn .45s ease both}
@keyframes lkpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lkp-card{background:#fff;border-radius:18px;box-shadow:0 14px 40px rgba(11,31,58,.14);overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr}
.lkp-side{position:relative;color:#fff;padding:2.2rem 2rem;background:radial-gradient(circle at 20% 20%,rgba(0,180,216,.38),transparent 45%),linear-gradient(160deg,#0b1f3a 0%,#123a66 55%,#0077b6 100%)}
.lkp-side::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;opacity:.4;pointer-events:none}
.lkp-side>*{position:relative}
.lkp-shield{width:74px;height:74px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 0 rgba(0,180,216,.6);animation:lkpPulse 2.4s infinite}
@keyframes lkpPulse{0%{box-shadow:0 0 0 0 rgba(0,180,216,.55)}70%{box-shadow:0 0 0 18px rgba(0,180,216,0)}100%{box-shadow:0 0 0 0 rgba(0,180,216,0)}}
.lkp-side h2{font-size:1.55rem;font-weight:700;margin:1.3rem 0 .6rem}
.lkp-side p{color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.55;margin:0 0 1rem}
.lkp-tips{list-style:none;padding:0;margin:1.2rem 0 0;font-size:.88rem}
.lkp-tips li{margin:.45rem 0;color:rgba(255,255,255,.88)}.lkp-tips i{color:#7de3f4;width:20px}
.lkp-form{padding:2rem 2.2rem}
.lkp-form h3{font-size:1.25rem;font-weight:700;color:#0b1f3a;margin:0 0 .25rem}
.lkp-sub{color:#6c7a89;font-size:.9rem;margin-bottom:1.3rem}
.lkp-field{margin-bottom:1rem}
.lkp-field label{font-weight:600;font-size:.86rem;color:#1d2b3a;margin-bottom:.35rem;display:block}
.lkp-input{position:relative;display:flex;align-items:center}
.lkp-input .lkp-ico{position:absolute;left:14px;color:#8a97a6;pointer-events:none}
.lkp-input input{width:100%;height:48px;border:1.5px solid #e3e8ef;border-radius:12px;padding:0 48px 0 42px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:#f9fbfd}
.lkp-input input:focus{outline:0;border-color:#00b4d8;box-shadow:0 0 0 4px rgba(0,180,216,.15);background:#fff}
.lkp-eye{position:absolute;right:6px;width:38px;height:38px;border:0;background:transparent;color:#6c7a89;border-radius:10px;cursor:pointer;transition:background .2s,color .2s}
.lkp-eye:hover{background:#eef4f9;color:#0077b6}
.lkp-meter{height:8px;border-radius:99px;background:#e9eef4;overflow:hidden;margin:.6rem 0 .35rem}
.lkp-meter>span{display:block;height:100%;width:0;border-radius:99px;transition:width .35s ease,background-color .35s ease}
.lkp-level{font-size:.8rem;font-weight:600;color:#6c7a89;min-height:1.1em}
.lkp-rules{list-style:none;padding:0;margin:.6rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.3rem .8rem;font-size:.82rem}
.lkp-rules li{color:#8a97a6;transition:color .25s}
.lkp-rules li i{width:16px;transition:transform .25s}
.lkp-rules li.ok{color:#16a34a}.lkp-rules li.ok i{transform:scale(1.15)}
.lkp-match{font-size:.8rem;margin-top:.35rem;min-height:1.1em}
.lkp-btn{width:100%;height:50px;border:0;border-radius:12px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(90deg,#0077b6,#00b4d8);box-shadow:0 10px 24px rgba(0,119,182,.28);transition:transform .15s,box-shadow .2s,opacity .2s;margin-top:.6rem}
.lkp-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(0,119,182,.35)}
.lkp-btn[disabled]{opacity:.55;transform:none;box-shadow:none;cursor:not-allowed}
.lkp-alert{display:flex;gap:.6rem;align-items:flex-start;border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem;animation:lkpIn .3s ease both}
.lkp-alert.err{background:#fdecee;color:#b42332;border:1px solid #f6c5cb}
.lkp-alert.ok{background:#e8f8ef;color:#126b37;border:1px solid #bfe9d0}
.lkp-link{display:inline-block;margin-top:1rem;font-size:.88rem;color:#0077b6}
@media (max-width:768px){.lkp-card{grid-template-columns:1fr}.lkp-side{padding:1.5rem}.lkp-side .lkp-tips{display:none}.lkp-form{padding:1.4rem}.lkp-rules{grid-template-columns:1fr}}
