.auth-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#eef2ff);padding:24px;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='240' height='240' viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23004aad' fill-opacity='0.025'%3E%3Crect x='40' y='30' width='48' height='72' rx='6'/%3E%3Crect x='120' y='40' width='36' height='60' rx='6'/%3E%3Crect x='60' y='130' width='72' height='36' rx='6'/%3E%3C/g%3E%3C/svg%3E");background-size:260px 260px;pointer-events:none}.auth-box{width:100%;max-width:380px;background:#fff;padding:36px 34px;border-radius:18px;box-shadow:0 18px 48px rgba(15,23,42,.12);display:flex;flex-direction:column;position:relative;z-index:2}.auth-logo{display:flex;justify-content:center;margin-bottom:18px}.auth-logo img{height:64px;width:auto}.auth-box h2{font-size:22px;font-weight:700;text-align:center;color:#0f172a;margin-bottom:6px}.auth-subtitle{font-size:14px;text-align:center;color:#64748b;margin-bottom:26px}.auth-box input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #e5e7eb;font-size:14px;margin-bottom:14px;background:#fff}.auth-box input::placeholder{color:#94a3b8}.auth-box input:focus{outline:none;border-color:#004aad;box-shadow:0 0 0 3px rgba(0,74,173,.12)}.auth-box button{margin-top:10px;padding:12px;border-radius:12px;border:none;background:#004aad;color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px rgba(0,74,173,.35);transition:transform .12s ease,box-shadow .12s ease}.auth-box button:hover{box-shadow:0 8px 22px rgba(0,74,173,.45)}.auth-box button:active{transform:translateY(1px)}.auth-box button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-footer{margin-top:22px;font-size:12px;text-align:center;color:#94a3b8}.auth-footer a{color:#004aad;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width:480px){.auth-box{padding:30px 26px}.auth-logo img{height:48px}}@media (max-width:1024px){.auth-page{padding:20px}}@media (max-width:768px){.auth-page{padding:18px}.auth-box{max-width:360px}.auth-box h2{font-size:21px}}@media (max-width:360px){.auth-box{padding:26px 22px}.auth-box h2{font-size:20px}.auth-subtitle{font-size:13.5px}}