/* PanXpert auth theme (login / register / forgot / reset) */
:root{--panx-blue:#1a2b6b;--panx-orange:#f15a29;--panx-dark:#1e2a5a}
body.panx-auth{min-height:100vh;background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 50%,#f0f4ff 100%);font-family:'Segoe UI',system-ui,-apple-system,sans-serif;overflow-x:hidden}
.panx-auth .bg-wave{position:absolute;bottom:0;left:0;width:100%;height:45%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23e0e7ff' fill-opacity='0.6' d='M0,192L48,176C96,160,192,128,288,122.7C384,117,480,139,576,165.3C672,192,768,224,864,213.3C960,203,1056,149,1152,138.7C1248,128,1344,160,1392,176L1440,192L1440,320L0,320Z'/%3E%3C/svg%3E") no-repeat bottom/cover;pointer-events:none;z-index:0}
.panx-auth .main-wrapper{position:relative;z-index:1;min-height:100vh}
.panx-auth .brand-logo{font-size:2.4rem;font-weight:700;letter-spacing:-.5px}
.panx-auth .brand-logo .pan,.panx-auth .brand-logo .pert{color:var(--panx-blue)}
.panx-auth .brand-logo .x{color:var(--panx-orange)}
.panx-auth .brand-tagline{font-size:.85rem;color:#6b7280;letter-spacing:.5px}
.panx-auth .hero-title{font-size:2.6rem;font-weight:700;color:var(--panx-dark);line-height:1.2}
.panx-auth .hero-title .orange{color:var(--panx-orange)}
.panx-auth .hero-desc{color:#6b7280;font-size:1.05rem;max-width:420px}
.panx-auth .feature-box{background:#fff;border-radius:12px;padding:1.1rem .8rem;box-shadow:0 4px 15px rgba(0,0,0,.04);height:100%}
.panx-auth .feature-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto .6rem;font-size:1.25rem}
.panx-auth .icon-secure{background:#e0e7ff;color:#4f46e5}.panx-auth .icon-fast{background:#ffedd5;color:#ea580c}
.panx-auth .icon-support{background:#d1fae5;color:#059669}.panx-auth .icon-trusted{background:#ede9fe;color:#7c3aed}
.panx-auth .feature-title{font-size:.9rem;font-weight:600;color:var(--panx-dark);margin-bottom:.25rem}
.panx-auth .feature-text{font-size:.75rem;color:#9ca3af;line-height:1.35}
.panx-auth .login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(30,42,90,.1);padding:2.5rem 2.2rem;max-width:420px;width:100%}
.panx-auth .login-card.wide{max-width:640px}
.panx-auth .login-card h2{font-weight:700;color:var(--panx-dark);font-size:1.75rem}
.panx-auth .login-card .subtitle{color:#9ca3af;font-size:.95rem}
.panx-auth .form-label{font-weight:500;color:#374151;font-size:.9rem}
.panx-auth .input-group-text{background:#fff;border-right:0;color:#9ca3af}
.panx-auth .input-group>.form-control,.panx-auth .input-group>.form-select{border-left:0;padding:.7rem .9rem}
.panx-auth .form-control:focus,.panx-auth .form-select:focus{box-shadow:none;border-color:#ced4da}
.panx-auth .input-group:focus-within{box-shadow:0 0 0 .2rem rgba(26,43,107,.15);border-radius:.375rem}
.panx-auth .input-group:focus-within .form-control,.panx-auth .input-group:focus-within .input-group-text{border-color:#1a2b6b}
.panx-auth .btn-login{background:#1a2b6b;border:none;padding:.75rem;font-weight:600;font-size:1.05rem;border-radius:8px;color:#fff;position:relative}
.panx-auth .btn-login:hover{background:#15235a;color:#fff}
.panx-auth .btn-login .spinner-border{display:none;width:1.2rem;height:1.2rem}
.panx-auth .btn-login.loading .btn-text{visibility:hidden}
.panx-auth .btn-login.loading .spinner-border{display:inline-block;position:absolute;left:calc(50% - .6rem);top:calc(50% - .6rem)}
.panx-auth .forgot-link,.panx-auth .signup-link{color:#1a2b6b;text-decoration:none;font-weight:500;font-size:.9rem}
.panx-auth .forgot-link:hover,.panx-auth .signup-link:hover{text-decoration:underline}
.panx-auth .password-toggle{cursor:pointer;background:#fff;border-left:0;border:1px solid #ced4da;color:#9ca3af}
.panx-auth .captcha-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.panx-auth .captcha-image-wrap{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:2px;line-height:0}
.panx-auth .captcha-refresh{border:1px solid #e5e7eb;background:#fff;border-radius:8px;width:40px;height:40px;color:#1a2b6b}
.panx-auth .footer-text{font-size:.8rem;color:#9ca3af}
.panx-auth .footer-text a{color:#6b7280;text-decoration:none}
.panx-auth .mobile-logo{display:none}
@media (max-width:991.98px){
  .panx-auth .desktop-only{display:none!important}
  .panx-auth .mobile-logo{display:block!important;text-align:center;margin-bottom:1.5rem}
  .panx-auth .brand-logo{font-size:2rem}
  .panx-auth .login-card{margin:0 auto;padding:1.8rem 1.5rem}
}

/* logo has a white background: blend it into light pages; on dark themes keep it as a white plate */
[data-theme="dark"] .px-logo{mix-blend-mode:normal!important;background:#fff;padding:4px 10px;border-radius:10px}
