/* swapti: forgot-password and reset-password pages */
*{box-sizing:border-box}
.ap-body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#211D1A;background:radial-gradient(60% 50% at 90% 0%,#FCE3AE 0%,transparent 70%),radial-gradient(45% 45% at 0% 100%,#FFEBC7 0%,transparent 70%),#FFF8EE}
.ap-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.ap-card{width:100%;max-width:440px;background:#fff;border-radius:28px;padding:34px 30px 30px;box-shadow:0 40px 90px -40px rgba(120,60,0,.45);position:relative}
.ap-logo{display:flex;justify-content:center;margin-bottom:20px}
.ap-logo img{height:48px;width:auto}
.ap-back{position:absolute;top:18px;left:20px;font-size:.85rem;font-weight:600;color:#C2410C;text-decoration:none}
.ap-back:hover{text-decoration:underline}
.ap-card h1{margin:0 0 8px;font-size:1.65rem;line-height:1.2;text-align:center;letter-spacing:-.01em}
.ap-card h1:focus{outline:none}
.ap-sub{margin:0 0 22px;text-align:center;color:rgba(33,29,26,.66);line-height:1.55;font-size:.96rem}
.ap-sub b{color:#211D1A;word-break:break-all}
.ap-field{margin-bottom:14px}
.ap-field label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:700;color:rgba(33,29,26,.75)}
.ap-input{position:relative}
.ap-input input{width:100%;padding:.95rem 1rem;border:1.5px solid rgba(33,29,26,.16);border-radius:14px;font:inherit;font-size:1rem;background:#fff;color:#211D1A;transition:border-color .2s,box-shadow .2s}
.ap-input input:focus{outline:none;border-color:#EA580C;box-shadow:0 0 0 4px rgba(234,88,12,.15)}
.ap-input input.bad{border-color:#DC2626;box-shadow:0 0 0 4px rgba(220,38,38,.1)}
.ap-input.has-eye input{padding-right:3.2rem}
.ap-eye{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.4rem;height:2.4rem;border:0;background:none;border-radius:50%;cursor:pointer;color:rgba(33,29,26,.55);display:grid;place-items:center}
.ap-eye:hover{background:#FFF1E0;color:#211D1A}
.ap-eye svg{width:20px;height:20px}
.ap-err{min-height:1.2rem;margin:0 0 12px;font-size:.85rem;font-weight:600;color:#DC2626;line-height:1.4}
.ap-hint{margin:10px 0 0;text-align:center;font-size:.8rem;color:rgba(33,29,26,.55);line-height:1.5}
.ap-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:1rem 1.2rem;border:0;border-radius:14px;font:inherit;font-weight:800;font-size:1rem;color:#fff;background:linear-gradient(135deg,#F59E0B,#EA580C);box-shadow:0 14px 28px -14px rgba(234,88,12,.8);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .2s}
.ap-btn:hover{transform:translateY(-1px)}
.ap-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}
.ap-btn.ghost{background:#fff;color:#211D1A;border:1.5px solid rgba(33,29,26,.2);box-shadow:none}
.ap-btn.ghost:hover:not(:disabled){background:#FFF1E0}
.ap-link{display:block;margin-top:16px;text-align:center;font-size:.9rem;font-weight:700;color:#C2410C;text-decoration:none;background:none;border:0;cursor:pointer;width:100%;font-family:inherit}
.ap-link:hover{text-decoration:underline}
.ap-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:ap-rot .8s linear infinite}
@keyframes ap-rot{to{transform:rotate(360deg)}}
.ap-ico{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#FFF1E0;color:#EA580C}
.ap-ico.ok{background:#DCFCE7;color:#16A34A}
.ap-ico.warn{background:#FEF3C7;color:#D97706}
.ap-ico svg{width:30px;height:30px}
.ap-meter{display:flex;align-items:center;gap:.7rem;margin:-4px 0 14px;font-size:.76rem;color:rgba(33,29,26,.55)}
.ap-bar{flex:1;height:5px;border-radius:99px;background:#EFE7DA;overflow:hidden}
.ap-bar i{display:block;height:100%;width:0;border-radius:99px;background:#EF4444;transition:width .3s,background .3s}
.ap-meter[data-s="2"] i{background:#F59E0B}.ap-meter[data-s="3"] i{background:#84CC16}.ap-meter[data-s="4"] i{background:#16A34A}
[hidden]{display:none!important}
@media(max-width:480px){.ap-card{padding:30px 20px 24px;border-radius:24px}.ap-card h1{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){.ap-spin{animation-duration:2s}}
