:root{--azure:#38bdf8;--azure-pale:#e0f2fe;--azure-light:#bae6fd;--azure-glow:#38bdf840;--dark:#0f172a;--blue:#1d4ed8;--blue-mid:#3b82f6;--blue-glow:#1d4ed838;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-800:#1e293b;--green:#16a34a;--green-bg:#f0fdf4;--green-border:#bbf7d0;--red:#dc2626;--red-bg:#fef2f2;--red-border:#fecaca;--amber:#d97706;--amber-bg:#fffbeb;--amber-border:#fde68a;--t1:#0f1824;--t2:#4a5568;--t3:#718096;--t4:#a0aec0;--font-h:"Sora",sans-serif;--font-b:"Inter",sans-serif;--font-m:"JetBrains Mono",monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;--r-full:999px;--shadow-sm:0 2px 8px #0f172a14;--shadow-md:0 6px 20px #0f172a1a;--shadow-lg:0 12px 40px #0f172a24}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-b);background:var(--dark);color:var(--t1);min-height:100vh;font-size:15px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.auth-wrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-left{background:var(--dark);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-left:before{content:"";pointer-events:none;background:radial-gradient(circle,#38bdf82e,#0000 65%);border-radius:50%;width:400px;height:400px;position:absolute;top:-80px;left:-80px}.auth-left:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f124,#0000 65%);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-60px;right:-40px}.auth-right{background:#fff;justify-content:center;align-items:center;padding:48px 56px;display:flex;position:relative}.logo{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.logo-icon{background:var(--azure);width:38px;height:38px;box-shadow:0 3px 14px var(--azure-glow);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-text{font-family:var(--font-h);color:#fff;letter-spacing:-.5px;font-size:22px;font-weight:800}.logo-text span{color:var(--azure)}.auth-brand{z-index:1;flex-direction:column;flex:1;justify-content:center;padding:40px 0;display:flex;position:relative}.auth-brand-badge{border-radius:var(--r-full);font-family:var(--font-m);color:var(--azure);letter-spacing:.08em;text-transform:uppercase;background:#38bdf81f;border:1px solid #38bdf833;align-items:center;gap:8px;margin-bottom:28px;padding:5px 14px;font-size:11px;display:inline-flex}.auth-brand-badge:before{content:"";background:var(--azure);width:6px;height:6px;box-shadow:0 0 6px var(--azure);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.auth-brand h1{font-family:var(--font-h);color:#fff;letter-spacing:-1.5px;margin-bottom:16px;font-size:clamp(32px,3.5vw,44px);font-weight:800;line-height:1.05}.auth-brand h1 span{background:linear-gradient(135deg,var(--azure),var(--blue-mid));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-brand p{color:#ffffff8c;max-width:380px;margin-bottom:36px;font-size:15px;line-height:1.65}.auth-feats{flex-direction:column;gap:14px;display:flex}.auth-feat{align-items:center;gap:12px;display:flex}.auth-feat-icon{border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.auth-feat-icon.blue{color:var(--blue-mid);background:#1d4ed833}.auth-feat-icon.azure{color:var(--azure);background:#38bdf826}.auth-feat-icon.green{color:#4ade80;background:#16a34a26}.auth-feat span{color:#ffffffb3;font-size:13px;font-weight:500}.auth-stats{z-index:1;border-top:1px solid #ffffff14;gap:28px;padding-top:28px;display:flex;position:relative}.auth-stat-val{font-family:var(--font-h);color:#fff;letter-spacing:-.5px;font-size:22px;font-weight:800;line-height:1}.auth-stat-lbl{color:#fff6;margin-top:3px;font-size:11px}.auth-card{width:100%;max-width:420px}.auth-card-header{margin-bottom:32px}.auth-card-title{font-family:var(--font-h);color:var(--dark);letter-spacing:-.8px;margin-bottom:6px;font-size:26px;font-weight:800}.auth-card-sub{color:var(--gray-500);font-size:14px}.auth-card-sub a{color:var(--blue);font-weight:600}.auth-tabs{background:var(--gray-100);border-radius:var(--r-lg);gap:2px;margin-bottom:28px;padding:4px;display:flex}.auth-tab{text-align:center;border-radius:var(--r-md);font-family:var(--font-h);color:var(--gray-500);cursor:pointer;flex:1;padding:9px;font-size:13px;font-weight:600;transition:all .18s}.auth-tab.active{color:var(--dark);box-shadow:var(--shadow-sm);background:#fff}.form-group{margin-bottom:18px}.form-label{color:var(--gray-600);font-size:12px;font-weight:700;font-family:var(--font-h);margin-bottom:6px;display:block}.form-label .req{color:var(--red);margin-left:2px}.form-input{width:100%;font-family:var(--font-b);color:var(--dark);border:1.5px solid var(--gray-200);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;outline:none;padding:11px 16px;font-size:14px;transition:all .18s}.form-input::placeholder{color:var(--gray-400)}.form-input:focus{border-color:var(--azure);box-shadow:0 0 0 3px #38bdf82e,var(--shadow-sm)}.form-input.error{border-color:var(--red)}.form-error{color:var(--red);align-items:center;gap:5px;margin-top:5px;font-size:12px;display:flex}.pw-wrap{position:relative}.pw-wrap .form-input{padding-right:44px}.pw-toggle{cursor:pointer;color:var(--gray-400);background:0 0;border:none;align-items:center;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--gray-600)}.strength-bar{background:var(--gray-100);border-radius:3px;height:3px;margin-top:8px;overflow:hidden}.strength-fill{border-radius:3px;height:100%;transition:width .3s,background .3s}.strength-hint{color:var(--gray-400);margin-top:4px;font-size:11px}.form-divider{align-items:center;gap:12px;margin:18px 0;display:flex}.form-divider:before,.form-divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.form-divider span{color:var(--gray-400);white-space:nowrap;font-size:12px}.btn-submit{border-radius:var(--r-xl);background:var(--dark);color:#fff;width:100%;font-family:var(--font-h);letter-spacing:-.2px;cursor:pointer;box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:15px;font-weight:700;transition:all .2s;display:flex;position:relative;overflow:hidden}.btn-submit:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff14,#0000 60%);transition:opacity .18s;position:absolute;inset:0}.btn-submit:hover{background:var(--gray-800);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-submit:hover:before{opacity:1}.btn-social{border:1.5px solid var(--gray-200);border-radius:var(--r-lg);width:100%;color:var(--gray-700);font-family:var(--font-h);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;gap:9px;padding:11px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.btn-social:hover{background:var(--gray-50);border-color:var(--gray-300)}.checkbox-wrap{align-items:flex-start;gap:9px;margin-bottom:18px;display:flex}.checkbox-wrap input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;margin-top:2px}.checkbox-wrap label{color:var(--gray-600);cursor:pointer;font-size:13px;line-height:1.4}.checkbox-wrap label a{color:var(--blue);font-weight:600}.form-forgot{text-align:right;margin-top:-10px;margin-bottom:18px}.form-forgot a{color:var(--gray-500);font-size:12px;font-weight:600;transition:color .15s}.form-forgot a:hover{color:var(--blue)}.auth-view{display:none}.auth-view.active{display:block}.portal-nav{z-index:9999;background:#060e1f;border-bottom:1px solid #1e2235;align-items:center;gap:14px;height:38px;padding:0 20px;font-family:system-ui,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.portal-nav a{color:#64748b;font-size:11px;transition:color .15s}.portal-nav a:hover{color:#fff}.portal-nav .pn-title{color:#fff;font-size:13px;font-weight:700}.portal-nav .pn-badge{color:#22c55e;background:#1e3a1e;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:10px}.portal-spacer{background:#060e1f;flex-shrink:0;height:38px}@media (max-width:860px){.auth-left{display:none}.auth-wrap{grid-template-columns:1fr}.auth-right{padding:40px 24px}}
