:root{--ap-navy:#050B2F;--ap-blue:#0368F7;--ap-sky:#0D94FC;--ap-gold:#F6B648;--ap-muted:#5F6F8E;--ap-line:#D5E2F1}
*{box-sizing:border-box}
html,body{margin:0}
body.ap-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(160deg,#F4F9FD 0%,#e7f0fd 100%);color:var(--ap-navy);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;overflow-x:hidden}
.ap-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ap-card{position:relative;z-index:1;width:100%;max-width:460px;background:#fff;border-radius:24px;padding:40px 40px 30px;box-shadow:0 24px 60px rgba(3,104,247,.13),0 2px 6px rgba(11,27,63,.05);text-align:center}
.ap-logo{display:block;margin:0 auto 18px;height:52px;width:auto;max-width:250px;font-size:30px;font-weight:800;color:var(--ap-navy)}
.ap-icon{width:108px;height:108px;margin:2px auto 18px;border-radius:50%;background:radial-gradient(circle,#e3eeff 0%,#f3f8ff 62%,rgba(243,248,255,0) 72%);display:flex;align-items:center;justify-content:center}
.ap-eyebrow{font-size:12px;letter-spacing:3px;font-weight:600;color:var(--ap-blue);text-transform:uppercase;margin:0 0 8px}
.ap-title{font-size:30px;line-height:1.15;font-weight:800;margin:0 0 10px;letter-spacing:-.5px;color:var(--ap-navy)}
.ap-sub{font-size:15px;line-height:1.55;color:var(--ap-muted);margin:0 0 26px}
.ap-hint{font-size:13.5px;line-height:1.5;color:#8a97ad;margin:-12px 0 22px}
.ap-form{text-align:left}
.ap-label{display:block;font-size:14px;font-weight:600;margin:0 0 8px;color:var(--ap-navy)}
.ap-field{position:relative;margin-bottom:18px}
.ap-fi{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#7a8aa6;pointer-events:none}
.ap-input{width:100%;height:52px;padding:0 16px 0 46px;border:1px solid var(--ap-line);border-radius:12px;font:inherit;font-size:15px;color:var(--ap-navy);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.ap-input::placeholder{color:#9aa7bc}
.ap-input:focus{border-color:var(--ap-blue);box-shadow:0 0 0 4px rgba(3,104,247,.12)}
.ap-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;margin-top:4px;border:0;border-radius:12px;background:linear-gradient(90deg,var(--ap-sky) 0%,var(--ap-blue) 100%);color:#fff;font:inherit;font-size:17px;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 10px 24px rgba(3,104,247,.28);transition:box-shadow .15s,transform .1s}
.ap-btn:hover{box-shadow:0 12px 30px rgba(3,104,247,.38)}
.ap-btn:active{transform:translateY(1px)}
.ap-btn-ghost{background:#fff;color:var(--ap-blue);border:1.5px solid var(--ap-blue);box-shadow:none}
.ap-btn-ghost:hover{background:#f3f8ff;box-shadow:none}
.ap-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--ap-blue);font-weight:600;font-size:15px;text-decoration:none}
.ap-link:hover{text-decoration:underline}
.ap-alert{display:flex;gap:14px;align-items:center;text-align:left;padding:15px 18px;border-radius:14px;margin:0 0 22px;font-size:14.5px;line-height:1.45}
.ap-alert strong{display:block;font-size:16px;margin-bottom:2px}
.ap-ai{flex:0 0 38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px}
.ap-ok{background:#ecfbf3;border:1px solid #b9ebd1;color:#0f6a3c}.ap-ok .ap-ai{background:#16a34a}
.ap-err{background:#fff2f2;border:1px solid #fecaca;color:#b42318}.ap-err .ap-ai{background:#dc2626}
.ap-foot{margin-top:24px;padding-top:16px;border-top:1px solid #edf1f7;font-size:12.5px;color:#8a97ad}
@media (max-width:520px){.ap-card{padding:30px 22px 24px;border-radius:20px}.ap-title{font-size:25px}}

/* password show/hide */
.ap-field{position:relative}
.ap-field .ap-input.ap-has-toggle{padding-right:48px}
.ap-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#5e7079;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ap-toggle:hover{background:rgba(0,0,0,.05)}
.ap-toggle svg{width:19px;height:19px;display:block}
.ap-input::-ms-reveal{display:none}
