:root{--avred:#d20019;--avred-deep:#a80014;--slate:#4b4b4b;--slate-deep:#2d2d2d;--slate-dark:#1a1a1a}
*{-webkit-font-smoothing:antialiased}html,body{font-family:'Montserrat',sans-serif;margin:0;min-height:100vh}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .7s cubic-bezier(.16,1,.3,1) both}
@keyframes shine{0%{transform:translateX(-100%)}100%{transform:translateX(220%)}}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.65}}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--avred);animation:pulse-dot 1.8s infinite}
.form-input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);font-family:'Montserrat',sans-serif;font-size:14px;color:#fff;transition:border-color .2s,box-shadow .2s;outline:none}
.form-input:focus{border-color:var(--avred);box-shadow:0 0 0 3px rgba(210,0,25,0.15)}.form-input::placeholder{color:rgba(255,255,255,0.35)}
select.form-input{color:rgba(255,255,255,0.35)}select.form-input option{background:#2d2d2d;color:#fff}
.btn-red{background:linear-gradient(180deg,#d20019,#a80014);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 8px 24px rgba(210,0,25,0.30);transition:transform .2s,box-shadow .25s;position:relative;overflow:hidden}
.btn-red:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 12px 32px rgba(210,0,25,0.42)}
.btn-red::after{content:'';position:absolute;top:0;left:0;width:36%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0.28) 50%,transparent 100%);animation:shine 4s ease-in-out infinite}
.scan{position:relative}.scan::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,0.01) 3px,rgba(255,255,255,0.01) 4px);pointer-events:none}
::selection{background:var(--avred);color:#fff}
.auth-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:64px 64px;pointer-events:none;mask-image:radial-gradient(ellipse at 50% 40%,black 20%,transparent 70%)}
.orb-1{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(210,0,25,0.12),transparent 65%);top:-10%;right:-8%;pointer-events:none}
.orb-2{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(75,75,75,0.15),transparent 65%);bottom:-5%;left:-5%;pointer-events:none}
.logo-upload{width:80px;height:80px;border-radius:20px;border:2px dashed rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden}
.logo-upload:hover{border-color:var(--avred);background:rgba(210,0,25,0.05)}
.logo-upload img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.3);cursor:pointer;font-size:14px;transition:color .2s}.pw-toggle:hover{color:rgba(255,255,255,0.6)}
/* Step indicator */
.step-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.12);transition:all .3s}
.step-dot.active{background:var(--avred);box-shadow:0 0 0 4px rgba(210,0,25,0.15)}
.step-dot.done{background:#10B981}
