*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0B1220;
  --card:#131C2E;
  --gold:#C9A227;
  --gold-light:#E6BF4C;
  --white:#FFFFFF;
  --text-muted:rgba(255,255,255,0.55);
  --border:rgba(201,162,39,0.15);
  --glass:rgba(13,20,38,0.75);
  --input-bg:rgba(255,255,255,0.05);
  --input-border:rgba(255,255,255,0.1);
  --input-focus:rgba(201,162,39,0.4);
}
html,body{width:100%;height:100%;font-family:'Inter',sans-serif;background:var(--bg);color:var(--white)}

.page{display:flex;width:100%;height:100vh;overflow:hidden}

.left{flex:1 1 0%;min-width:0;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;padding:3rem;overflow:hidden}
.left-canvas{position:absolute;inset:0;z-index:0}
.left-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,13,26,.85) 0%,rgba(11,18,32,.6) 60%,rgba(7,13,26,.9) 100%);z-index:1}
.left-content{position:relative;z-index:2;max-width:420px}
.left-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:auto;position:absolute;top:3rem;left:3rem}
.logo-icon{width:45px;height:56px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(201,162,39,.45);box-shadow:0 0 18px rgba(201,162,39,.3)}
.logo-icon img{width:100%;height:100%;object-fit:cover}
.logo-text{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;color:var(--white);line-height:1.2}
.logo-text span{display:block;font-size:.65rem;color:var(--gold);letter-spacing:.18em;text-transform:uppercase}
.left-bottom{margin-top:auto}
.left-quote{font-family:'Cinzel',serif;font-size:1.6rem;font-weight:600;line-height:1.4;color:var(--white);margin-bottom:1rem}
.left-quote em{color:var(--gold);font-style:normal}
.left-sub{color:var(--text-muted);font-size:.88rem;line-height:1.6}
.left-ornament{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.left-ornament-line{flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.left-ornament-star{color:var(--gold);font-size:1rem}

.right{flex:0 0 480px;width:480px;min-width:420px;display:flex;align-items:center;justify-content:center;padding:2rem;background:rgba(8,13,24,.6);border-left:1px solid var(--border);overflow-y:auto;position:relative}
.right::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(201,162,39,.03) 0%,transparent 30%);pointer-events:none}

.form-box{width:100%;max-width:380px;position:relative}
.form-header{text-align:center;margin-bottom:2rem}
.form-header h1{font-family:'Cinzel',serif;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}
.form-header p{color:var(--text-muted);font-size:.88rem}
.form-gold-line{width:40px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));margin:.75rem auto}

.form-tabs{display:flex;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:2rem;gap:4px}
.tab-btn{flex:1;padding:.6rem;border:none;border-radius:7px;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s;background:transparent;color:var(--text-muted)}
.tab-btn.active{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#0B1220;font-weight:600}

.form-panel{display:none;animation:fadeIn .4s ease}
.form-panel.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.form-group{margin-bottom:1.1rem;position:relative}
.form-group label{display:block;font-size:.78rem;font-weight:500;color:rgba(255,255,255,.7);margin-bottom:.45rem;letter-spacing:.03em}
.form-input{width:100%;padding:.8rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;font-family:'Inter',sans-serif;font-size:.9rem;color:var(--white);outline:none;transition:all .3s;-webkit-appearance:none}
.form-input:focus{border-color:var(--gold);background:rgba(201,162,39,.05);box-shadow:0 0 0 3px rgba(201,162,39,.1)}
.form-input::placeholder{color:rgba(255,255,255,.25)}
.form-input option{background:#131C2E;color:var(--white)}
.input-icon{position:relative}
.input-icon .form-input{padding-left:2.5rem}
.input-icon .icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.3);font-size:.95rem;pointer-events:none}

.form-check{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}
.form-check input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer}
.form-check label{font-size:.83rem;color:var(--text-muted);cursor:pointer}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}

.form-forgot{text-align:right;margin-top:-.5rem;margin-bottom:1.25rem}
.form-forgot a{font-size:.78rem;color:var(--gold);text-decoration:none;cursor:pointer;transition:opacity .3s}
.form-forgot a:hover{opacity:.7}

.btn-submit{width:100%;padding:.95rem;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#0B1220;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s;letter-spacing:.05em;margin-bottom:1.25rem;position:relative;overflow:hidden}
.btn-submit::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(transparent,rgba(255,255,255,.15),transparent);transform:rotate(45deg) translateY(-100%);transition:transform .5s}
.btn-submit:hover::before{transform:rotate(45deg) translateY(100%)}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(201,162,39,.4)}
.btn-submit:active{transform:translateY(0)}

.form-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.form-divider span{font-size:.75rem;color:rgba(255,255,255,.25);white-space:nowrap}
.form-divider::before,.form-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.07)}

.form-switch{text-align:center;font-size:.82rem;color:var(--text-muted)}
.form-switch a{color:var(--gold);text-decoration:none;cursor:pointer;font-weight:600;transition:opacity .3s}
.form-switch a:hover{opacity:.7}

.toast{position:fixed;top:2rem;right:2rem;padding:1rem 1.5rem;border-radius:10px;font-size:.88rem;font-weight:500;z-index:9999;display:flex;align-items:center;gap:.75rem;transform:translateX(200%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:320px;border:1px solid}
.toast.show{transform:none}
.toast.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#4ade80}
.toast.error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#f87171}
.toast.info{background:rgba(201,162,39,.1);border-color:var(--border);color:var(--gold)}
.toast-icon{font-size:1.1rem;flex-shrink:0}

.strength{margin-top:.4rem;height:3px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.strength-fill{height:100%;border-radius:2px;transition:all .3s;width:0}
.strength-label{font-size:.7rem;color:var(--text-muted);margin-top:.3rem}

.back-link{position:absolute;top:2rem;left:2rem;color:var(--text-muted);text-decoration:none;font-size:.82rem;display:flex;align-items:center;gap:.4rem;transition:color .3s}
.back-link:hover{color:var(--gold)}

@media(max-width:768px){
  .page{overflow-x:hidden}
  .left{display:none}
  .right{flex:1 1 100%;width:100%;min-width:0;max-width:100%;padding:2rem 1.5rem}
}
