*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;font-family:'Plus Jakarta Sans',sans-serif;background:#080808;overflow:hidden}
#bg{position:fixed;inset:0;z-index:0}
.orb{position:fixed;border-radius:50%;pointer-events:none;z-index:1}
.orb-1{width:700px;height:700px;background:radial-gradient(circle,rgba(224,115,48,.13) 0%,transparent 65%);top:-220px;right:-180px;animation:breathe 8s ease-in-out infinite}
.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(224,115,48,.06) 0%,transparent 65%);bottom:-150px;left:-120px;animation:breathe 11s ease-in-out infinite reverse}
@keyframes breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.65}}
.stage{position:relative;z-index:2;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.card{width:100%;max-width:410px;background:rgba(255,255,255,.04);backdrop-filter:blur(48px) saturate(200%);-webkit-backdrop-filter:blur(48px) saturate(200%);border:1px solid rgba(255,255,255,.09);border-radius:28px;padding:44px 40px 34px;box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 .5px rgba(255,255,255,.04) inset,0 1px 0 rgba(255,255,255,.08) inset;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(224,115,48,.7) 30%,rgba(224,115,48,1) 50%,rgba(224,115,48,.7) 70%,transparent)}
.card::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:240px;height:120px;background:radial-gradient(ellipse at top,rgba(224,115,48,.14),transparent 70%);pointer-events:none}
.logo-wrap{display:flex;align-items:center;margin-bottom:30px}
.logo-wrap img{height:48px;width:auto}
.heading{margin-bottom:26px}
.heading h1{font-size:24px;font-weight:800;color:#F0F0F0;letter-spacing:-.6px;line-height:1.2}
.heading p{font-size:13px;color:rgba(255,255,255,.38);margin-top:6px}
.field-label{font-size:10.5px;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px}
.input-wrap{position:relative;margin-bottom:18px}
.input-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:rgba(255,255,255,.25);pointer-events:none}
input{width:100%;padding:13px 14px 13px 42px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:500;color:#F0F0F0;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
input:focus{border-color:rgba(224,115,48,.6);background:rgba(224,115,48,.05);box-shadow:0 0 0 3px rgba(224,115,48,.12)}
input::placeholder{color:rgba(255,255,255,.2)}
.error-msg{display:flex;align-items:center;gap:8px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:10px 14px;font-size:12.5px;color:#F87171;margin-bottom:16px}
.btn-signin{width:100%;margin-top:4px;padding:14px;background:linear-gradient(135deg,#E07330,#C84A0A);border:none;border-radius:12px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:#fff;cursor:pointer;letter-spacing:.2px;box-shadow:0 8px 28px rgba(224,115,48,.45),0 1px 0 rgba(255,255,255,.15) inset;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-signin:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(224,115,48,.6),0 1px 0 rgba(255,255,255,.15) inset}
.card-footer{margin-top:24px;text-align:center;font-size:11px;color:rgba(255,255,255,.28);letter-spacing:.5px}
