*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Be Vietnam Pro',sans-serif;min-height:100vh;display:flex;background:#f5f5f5}
.auth-page{display:flex;width:100%;min-height:100vh}
.auth-left{flex:1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 60px;border-right:1px solid #eee}
.left-logos{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.logo-ps{display:flex;align-items:center;gap:9px;background:none;padding:0}
.logo-ps .logo-mark{width:34px;height:34px;border-radius:9px;background:#f5233a;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 9px rgba(245,35,58,.3);transition:transform .2s}
.logo-ps:hover .logo-mark{transform:translateY(-1px) rotate(-4deg)}
.logo-ps .logo-mark svg{display:block}
.logo-ps .logo-word{font-size:21px;font-weight:500;color:#1a1a1a;letter-spacing:-.3px;line-height:1}
.logo-ps .logo-word b{font-weight:800;color:#f5233a}
.logo-sm{background:#1a1a1a;color:white;padding:8px 14px;border-radius:6px;font-size:14px;font-weight:700}
.left-title{font-size:22px;font-weight:700;color:#1a1a1a;text-align:center;margin-bottom:6px;line-height:1.4}
.left-title em{color:#f5233a;font-style:normal;font-weight:800}
.left-sub{font-size:14px;color:#666;text-align:center;margin-bottom:28px}
.benefit-box{width:100%;max-width:460px;padding:22px 26px;position:relative}
.benefit-box::before{content:'';position:absolute;top:0;left:0;width:22px;height:22px;border-top:3px solid #f5233a;border-left:3px solid #f5233a;border-radius:4px 0 0 0}
.benefit-box::after{content:'';position:absolute;top:0;right:0;width:22px;height:22px;border-top:3px solid #f5233a;border-right:3px solid #f5233a;border-radius:0 4px 0 0}
.benefit-box-bot{position:relative}
.benefit-box-bot::before{content:'';position:absolute;bottom:0;left:0;width:22px;height:22px;border-bottom:3px solid #f5233a;border-left:3px solid #f5233a;border-radius:0 0 0 4px}
.benefit-box-bot::after{content:'';position:absolute;bottom:0;right:0;width:22px;height:22px;border-bottom:3px solid #f5233a;border-right:3px solid #f5233a;border-radius:0 0 4px 0}
.benefit-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13.5px;color:#333;line-height:1.5;border-bottom:1px solid #f5f5f5}
.benefit-item:last-child{border-bottom:none;padding-bottom:4px}
.benefit-item .bi{font-size:17px;flex-shrink:0;margin-top:1px}
.benefit-item strong{color:#f5233a}
.benefit-more{text-align:center;margin-top:14px;font-size:13px;color:#f5233a;font-weight:600;cursor:pointer}
.benefit-more:hover{text-decoration:underline}
.left-mascot{font-size:80px;text-align:center;margin-top:16px;animation:bounce 2s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* RIGHT */
.auth-right{width:500px;flex-shrink:0;background:white;border-left:1px solid #eee;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 52px;overflow-y:auto}
.right-title{font-size:24px;font-weight:800;color:#f5233a;margin-bottom:24px;text-align:center}
.f-group{width:100%;margin-bottom:14px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:14px}
.f-label{font-size:13px;font-weight:700;color:#333;margin-bottom:6px;display:block}
.f-input{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;background:#fafafa;color:#1a1a1a;transition:border-color .2s,box-shadow .2s,background .2s}
.f-input:focus{border-color:#f5233a;box-shadow:0 0 0 3px rgba(245,35,58,.08);background:white}
.f-input::placeholder{color:#c0c0c0}
.err-box{width:100%;background:#fff0f1;border:1.5px solid #ffccd1;border-radius:8px;padding:11px 14px;font-size:13px;color:#c53030;margin-bottom:16px}
.btn-reg{width:100%;background:#f5233a;color:white;border:none;border-radius:8px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;font-family:inherit;margin-bottom:16px}
.btn-reg:hover{background:#cc1226}
.login-line{font-size:14px;color:#888;text-align:center}
.login-line a{color:#f5233a;font-weight:700}
.login-line a:hover{text-decoration:underline}
.back-btn{position:fixed;top:18px;left:18px;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.06);padding:8px 14px;border-radius:50px;font-size:13px;color:#555;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}
.back-btn:hover{background:#f5233a;color:white}
