
:root{
  --red:#B11226;--gold:#C9A84C;--gold2:#E8C870;
  --dark:#08080F;--dark2:#0F0F1C;--dark3:#181828;
  --white:#FFFFFF;--off:#F8F7FF;
  --border:rgba(255,255,255,0.1);
  --sans:'Segoe UI',-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:auto;font-family:var(--sans);background:#08080F;color:#FFFFFF;-webkit-font-smoothing:antialiased}
body{display:flex;align-items:flex-start;min-height:100vh}

/* LEFT BRAND PANEL */
.brand-panel{flex:1;background:linear-gradient(145deg,var(--dark2) 0%,#12021A 100%);display:flex;flex-direction:column;justify-content:space-between;padding:52px 56px;position:sticky;top:0;height:100vh;overflow:hidden;min-width:420px}
.brand-panel::before{content:'';position:absolute;top:-180px;right:-180px;width:500px;height:500px;background:radial-gradient(circle,rgba(177,18,38,0.22) 0%,transparent 65%)}
.brand-panel::after{content:'';position:absolute;bottom:-120px;left:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(201,168,76,0.1) 0%,transparent 65%)}
.bp-logo{font-size:1.5rem;font-weight:900;background:linear-gradient(135deg,var(--red),#E84060);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;letter-spacing:-.5px;font-family:Georgia,serif}
.bp-content{position:relative;z-index:2}
.bp-tag{display:inline-block;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.3);color:var(--gold);font-size:.65rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:28px}
.bp-headline{font-size:2.4rem;font-weight:800;line-height:1.15;margin-bottom:20px;color:var(--white);font-family:Georgia,serif}
.bp-headline span{background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.bp-sub{font-size:.9rem;color:rgba(255,255,255,0.5);line-height:1.75;margin-bottom:40px}
.bp-stats{display:flex;gap:36px}
.bp-stat{text-align:center}
.bp-stat-n{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.bp-stat-l{font-size:.7rem;color:rgba(255,255,255,.4);letter-spacing:1px;text-transform:uppercase;margin-top:2px}
.bp-footer{font-size:.72rem;color:rgba(255,255,255,.25);position:relative;z-index:2}

/* RIGHT FORM PANEL */
.form-panel{width:480px;background:var(--dark);padding:60px 52px 80px;border-left:1px solid var(--border);min-height:100vh}
.fp-top{margin-bottom:36px}
.fp-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.fp-title{font-size:1.75rem;font-weight:800;color:var(--white);margin-bottom:8px}
.fp-sub{font-size:.85rem;color:rgba(255,255,255,.45)}
.fp-sub a{color:var(--gold);text-decoration:none}
.fp-sub a:hover{text-decoration:underline}

/* FORM ELEMENTS */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}
.form-input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:14px 18px;color:var(--white);font-size:.92rem;font-family:var(--sans);outline:none;transition:all .2s}
.form-input:focus{border-color:rgba(177,18,38,.6);background:rgba(177,18,38,.04);box-shadow:0 0 0 3px rgba(177,18,38,.12)}
.form-input::placeholder{color:rgba(255,255,255,.22)}
.form-input.shake{animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
.pw-wrap{position:relative}
.pw-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.35);cursor:pointer;font-size:.9rem;padding:4px}
.pw-toggle:hover{color:rgba(255,255,255,.7)}
.form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.remember{display:flex;align-items:center;gap:8px;font-size:.8rem;color:rgba(255,255,255,.45);cursor:pointer}
.remember input{width:15px;height:15px;accent-color:var(--red);cursor:pointer}
.forgot{font-size:.8rem;color:var(--gold);text-decoration:none;cursor:pointer;background:none;border:none;font-family:var(--sans)}
.forgot:hover{text-decoration:underline}
.btn-submit{width:100%;background:linear-gradient(135deg,var(--red),#D01530);color:#fff;border:none;border-radius:10px;padding:15px;font-size:.95rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:all .25s;margin-bottom:20px;font-family:var(--sans)}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(177,18,38,.45)}
.btn-submit:disabled{opacity:.6;transform:none;cursor:not-allowed}
.divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:rgba(255,255,255,.25);font-size:.78rem}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.1)}
.btn-google{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);border-radius:10px;padding:14px;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans)}
.btn-google:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.25)}
.g-icon{width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E") center/contain no-repeat;flex-shrink:0}
.msg-box{border-radius:8px;padding:12px 16px;font-size:.82rem;margin-bottom:18px;display:none}
.msg-error{background:rgba(177,18,38,.12);border:1px solid rgba(177,18,38,.3);color:#ff6b80}
.msg-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#4ade80}
.fp-signup{text-align:center;margin-top:28px;font-size:.83rem;color:rgba(255,255,255,.4)}
.fp-signup a{color:var(--gold);text-decoration:none;font-weight:600}
.attempts-left{font-size:.75rem;color:rgba(255,150,100,.7);margin-top:6px;display:none}

/* FORGOT PASSWORD OVERLAY */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.show{display:flex}
.modal{background:#0F0F1E;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:44px 40px;width:100%;max-width:440px;position:relative}
.modal-close{position:absolute;top:18px;right:18px;background:none;border:none;color:rgba(255,255,255,.4);font-size:1.2rem;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}
.modal-close:hover{color:#fff;background:rgba(255,255,255,.08)}
.modal-step{display:none}
.modal-step.active{display:block}
.modal-icon{font-size:2.2rem;margin-bottom:16px}
.modal-title{font-size:1.3rem;font-weight:800;color:var(--white);margin-bottom:8px}
.modal-sub{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.6;margin-bottom:28px}
.modal-sub strong{color:var(--gold)}
.modal-input{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:13px 18px;color:var(--white);font-size:.9rem;font-family:var(--sans);outline:none;transition:all .2s;margin-bottom:14px}
.modal-input:focus{border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.04);box-shadow:0 0 0 3px rgba(201,168,76,.1)}
.modal-input::placeholder{color:rgba(255,255,255,.22)}
.modal-pw-wrap{position:relative;margin-bottom:14px}
.modal-pw-wrap .modal-input{margin-bottom:0}
.modal-pw-wrap .pw-toggle{right:14px}
.modal-btn{width:100%;background:linear-gradient(135deg,var(--red),#D01530);color:#fff;border:none;border-radius:10px;padding:13px;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .25s;margin-top:8px;font-family:var(--sans)}
.modal-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(177,18,38,.4)}
.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.modal-btn-outline{width:100%;background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px;font-size:.88rem;cursor:pointer;transition:all .2s;margin-top:10px;font-family:var(--sans)}
.modal-btn-outline:hover{background:rgba(255,255,255,.06);color:#fff}
.modal-msg{border-radius:8px;padding:11px 14px;font-size:.8rem;margin-bottom:14px;display:none}
.pw-strength{height:3px;border-radius:2px;margin-bottom:10px;transition:all .3s;background:rgba(255,255,255,.1)}

@media(max-width:900px){.brand-panel{display:none}.form-panel{width:100%;padding:50px 32px}}
@media(max-width:480px){.form-panel{padding:40px 24px}.modal{padding:32px 24px}}
