
/* Login / Sign up pages — 1:1 with php-site/assets/css/auth-new.css */
.au{position:relative;min-height:100vh;min-height:100dvh;background:#000;color:#fff;overflow:hidden;font-family:inherit}
.au::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(139,92,246,.14) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.au::after{content:"";position:absolute;left:-20%;right:-20%;bottom:-60px;height:140px;background:radial-gradient(ellipse at center,rgba(124,58,237,.35),transparent 70%);pointer-events:none}
.au-wrap{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:0 22px 28px;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.au-hero{position:relative;margin:0 -22px;aspect-ratio:1080/255;min-height:120px;background:#000 center top/cover no-repeat}
.au-back{position:absolute;top:14px;left:14px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid #2e2a5c;background:rgba(20,17,43,.8);color:#fff;text-decoration:none;backdrop-filter:blur(6px)}
.au-back svg{width:20px;height:20px}
.au-title{margin:6px 0 0;text-align:center;font-size:34px;font-weight:800;letter-spacing:-.5px;line-height:1.15}
.au-title .g{background:linear-gradient(90deg,#c4b5fd,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}
.au-sub{margin:8px 0 22px;text-align:center;font-size:15px;color:#b3aed6}
.au-form{display:flex;flex-direction:column;gap:16px}
.au-login .au-form{margin-top:auto;margin-bottom:auto;padding-top:28px}
.au-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#fff}
.au-row{display:flex;gap:6px}
.au-box{display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;border-radius:12px;border:1px solid #2e2a5c;background:#12112b;transition:border-color .2s,box-shadow .2s}
.au-box:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.18)}
.au-box.err{border-color:#ef4444}
.au-box svg{flex:none;width:20px;height:20px;color:#a78bfa}
.au-box input{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:0;color:#fff;font-size:15px;font-family:inherit}
.au-box input::placeholder{color:#8a84b8}
.au-box input[readonly]{color:#b3aed6}
.au-cc{flex:none;width:112px;gap:8px;padding:0 12px;font-size:15px;font-weight:600}
.au-cc img{width:24px;height:16px;border-radius:2px;object-fit:cover}
.au-cc svg{width:14px;height:14px;color:#b3aed6;margin-left:auto}
.au-row .au-box:last-child{flex:1;min-width:0}
.au-wrap{overflow-x:hidden}
.au-eye{flex:none;display:grid;place-items:center;background:none;border:0;padding:0;color:#a78bfa;cursor:pointer}
.au-err{margin:6px 2px 0;font-size:12px;color:#f87171}
.au-alert{padding:10px 12px;border-radius:10px;border:1px solid rgba(239,68,68,.5);background:rgba(239,68,68,.1);color:#fca5a5;font-size:13px}
.au-forgot{margin-top:-4px;text-align:right;font-size:14px;color:#b3aed6}
.au-forgot a,.au-foot a{color:#a78bfa;text-decoration:none;font-weight:500}
.au-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;margin-top:10px;border:0;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#7c3aed);color:#fff;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 8px 28px -6px rgba(124,58,237,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.au-btn:disabled{opacity:.6}
.au-foot{margin:18px 0 0;text-align:center;font-size:15px;color:#b3aed6}
.au-hint{margin:6px 2px 0;font-size:12px;color:#8a84b8}
