*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --t5:#208080;--t4:#2a9d9d;--t3:#4db8b8;--t2:#85d0d0;--t1:#b8e8e8;--t0:#e6f5f5;
  --t6:#1e6b6b;--t7:#1a5454;
  --tp:#0d2626;--ts:#4a7070;--tm:#7a9e9e;
  --bp:#f0f4f4;--bc:#ffffff;--bs:#f7fafa;--bd:#d4e8e8;
  --dn:#c0392b;--db:#fdf0ee;
  --sc:#1a7a4a;--sb2:#edf7f2;
  --wn:#b07a00;--wb:#fdf8e6;
  --sbg:#071a1a;
}
html,body{height:100%;font-family:'DM Sans',system-ui,sans-serif;color:var(--tp);font-size:14px;overflow:hidden;}
@media(max-width:767px){html,body{overflow:auto;}}

/* ====== ROOT LAYOUT ====== */
.root{display:flex;height:100vh;width:100%;}
@media(max-width:767px){.root{flex-direction:column;height:auto;min-height:100vh;}}

/* ====== LEFT PANEL ====== */
.left{
  width:52%;flex-shrink:0;
  background:linear-gradient(160deg,#0d3535 0%,#0f4444 40%,#0d3a3a 100%);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding:48px 52px;
}
@media(max-width:1100px){.left{width:46%;padding:36px 36px;}}
@media(max-width:767px){.left{display:none;}}

/* Decorative mesh/blobs */
.blob{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px);}
.b1{width:400px;height:400px;background:radial-gradient(circle,rgba(42,157,157,.22),transparent 70%);top:-100px;right:-80px;}
.b2{width:300px;height:300px;background:radial-gradient(circle,rgba(30,107,107,.25),transparent 70%);bottom:-60px;left:-60px;}
.b3{width:180px;height:180px;background:radial-gradient(circle,rgba(77,184,184,.12),transparent 70%);bottom:20%;right:10%;}

/* Grid lines overlay */
.grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(42,157,157,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,157,157,.06) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}

/* Left content */
.left-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:0;}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand-mark{display:none;}
.brand-text{display:flex;flex-direction:column;}
.brand-name{font-size:17px;font-weight:700;color:#fff;letter-spacing:-.4px;}
.brand-sub{font-size:8.5px;color:rgba(255,255,255,.35);letter-spacing:.9px;text-transform:uppercase;margin-top:2px;}

/* Feature highlight section */
.feat-section{margin-top:32px;display:flex;flex-direction:column;justify-content:flex-start;flex:1;overflow:hidden;}
.feat-headline{font-size:clamp(20px,2.6vw,28px);font-weight:700;color:#fff;line-height:1.25;letter-spacing:-.5px;margin-bottom:7px;}
.feat-headline em{font-style:normal;color:var(--t3);}
.feat-tagline{font-size:12px;color:rgba(255,255,255,.42);margin-bottom:24px;line-height:1.7;max-width:360px;}

/* Feature list */
.feat-list{display:flex;flex-direction:column;gap:11px;overflow-y:auto;}
.feat-list::-webkit-scrollbar{width:0;}
.feat-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:11px 14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  transition:all .2s;
  cursor:default;
}
.feat-item:hover{background:rgba(255,255,255,.07);border-color:rgba(77,184,184,.25);transform:translateX(3px);}
.feat-icon{
  width:34px;height:34px;flex-shrink:0;
  border-radius:9px;
  display:flex;align-items:center;justify-content:center;
}
.fi-teal{background:rgba(42,157,157,.2);border:1px solid rgba(77,184,184,.25);}
.fi-green{background:rgba(26,122,74,.2);border:1px solid rgba(26,122,74,.25);}
.fi-gold{background:rgba(201,134,10,.15);border:1px solid rgba(201,134,10,.2);}
.fi-purple{background:rgba(107,74,183,.18);border:1px solid rgba(107,74,183,.22);}
.fi-blue{background:rgba(41,128,185,.18);border:1px solid rgba(41,128,185,.22);}
.feat-text{flex:1;min-width:0;}
.feat-title{font-size:13px;font-weight:600;color:#fff;margin-bottom:2px;line-height:1.3;}
.feat-desc{font-size:10.5px;color:rgba(255,255,255,.42);line-height:1.5;}

/* Bottom badge */
.left-footer{margin-top:20px;display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:4px;}
.lf-badge{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:7px 14px 7px 10px;}
.lf-dot{width:7px;height:7px;border-radius:50%;background:var(--t3);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(77,184,184,.4)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(77,184,184,0)}}
.lf-text{font-size:11px;color:rgba(255,255,255,.4);}

/* ====== RIGHT PANEL ====== */
.right{
  flex:1;background:var(--bp);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:32px 24px;
  overflow-y:auto;
  position:relative;
}
.right::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at top right,rgba(42,157,157,.06) 0%,transparent 60%),
    radial-gradient(ellipse at bottom left,rgba(42,157,157,.04) 0%,transparent 60%);
  pointer-events:none;
}

/* Tab switcher */
.tab-switcher{
  display:flex;background:var(--bc);border:1.5px solid var(--bd);
  border-radius:12px;padding:3px;gap:2px;margin-bottom:24px;
  position:relative;z-index:1;width:100%;max-width:380px;
}
.tab-btn{
  flex:1;padding:8px 12px;border:none;border-radius:9px;
  font-size:12px;font-weight:600;cursor:pointer;
  transition:all .2s;background:transparent;color:var(--tm);
  font-family:'DM Sans',sans-serif;letter-spacing:-.1px;
}
.tab-btn.active{background:var(--t4);color:#fff;box-shadow:0 4px 12px rgba(32,128,128,.25);}

/* Form card */
.form-card{
  background:var(--bc);border:1.5px solid var(--bd);
  border-radius:18px;width:100%;max-width:380px;
  box-shadow:0 4px 24px rgba(13,38,38,.07),0 1px 4px rgba(13,38,38,.05);
  overflow:hidden;position:relative;z-index:1;
}
.form-header{padding:22px 26px 18px;border-bottom:1px solid var(--bd);background:linear-gradient(135deg,var(--t0),var(--bc));}
.form-header h2{font-size:18px;font-weight:700;color:var(--tp);letter-spacing:-.4px;margin-bottom:3px;}
.form-header p{font-size:12px;color:var(--tm);line-height:1.6;}
.form-body{padding:22px 26px 26px;max-height:calc(100vh - 220px);overflow-y:auto;}
.form-body::-webkit-scrollbar{width:4px;}
.form-body::-webkit-scrollbar-thumb{background:var(--bd);border-radius:4px;}
@media(max-width:767px){.form-body{max-height:none;overflow-y:visible;}}

/* Screens */
.screen{display:none;}
.screen.active{display:block;}

/* ====== FORM ELEMENTS ====== */
.fg{margin-bottom:13px;}
.fg:last-child{margin-bottom:0;}
.fl{font-size:10px;font-weight:600;color:var(--ts);margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px;display:block;}
.fi{
  width:100%;background:var(--bs);
  border:1.5px solid var(--bd);border-radius:9px;
  color:var(--tp);padding:10px 13px;
  font-size:13px;font-family:'DM Sans',sans-serif;
  transition:all .15s;outline:none;
}
.fi:focus{border-color:var(--t4);background:var(--bc);box-shadow:0 0 0 3px rgba(42,157,157,.1);}
.fi::placeholder{color:var(--tm);}
.fi.err{border-color:var(--dn)!important;background:#fdf8f8;}
.fi-wrap{position:relative;}
.fi-wrap .fi{padding-right:50px;}
.fi-eye{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;color:var(--tm);
  display:flex;align-items:center;padding:2px;transition:color .15s;
}
.fi-eye:hover{color:var(--t5);}

/* Prefix input */
.fi-row{display:flex;}
.fi-prefix{
  background:var(--t0);border:1.5px solid var(--t2);
  border-right:none;border-radius:9px 0 0 9px;
  padding:10px 11px;font-size:13px;color:var(--t6);
  font-weight:600;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;
}
.fi-row .fi{border-radius:0 9px 9px 0;}
.fi-row .fi:focus{border-left-color:var(--t4);}

/* 2-column */
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:380px){.fr{grid-template-columns:1fr;}}

/* ====== OTP ====== */
.otp-wrap{display:flex;gap:7px;justify-content:center;margin:4px 0;}
.otp-inp{
  width:44px;height:52px;text-align:center;
  font-size:20px;font-weight:700;font-family:'DM Mono',monospace;
  background:var(--bs);border:1.5px solid var(--bd);border-radius:9px;
  color:var(--tp);outline:none;transition:all .15s;
}
.otp-inp:focus{border-color:var(--t4);background:var(--bc);box-shadow:0 0 0 3px rgba(42,157,157,.1);}
.otp-inp.filled{border-color:var(--t3);background:var(--t0);color:var(--t6);}

/* ====== BUTTONS ====== */
.btn-p{
  width:100%;padding:12px;
  background:linear-gradient(135deg,var(--t4),var(--t6));
  color:#fff;border:none;border-radius:10px;
  font-size:14px;font-weight:600;font-family:'DM Sans',sans-serif;
  cursor:pointer;transition:all .2s;letter-spacing:-.1px;
}
.btn-p:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(32,128,128,.28);}
.btn-p:active{transform:none;}
.btn-g{
  width:100%;padding:10px;
  background:var(--bs);color:var(--tp);
  border:1.5px solid var(--bd);border-radius:10px;
  font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;
  cursor:pointer;transition:all .15s;
}
.btn-g:hover{background:var(--t0);border-color:var(--t3);}
.btn-sm{
  padding:6px 13px;border:none;border-radius:7px;
  font-size:11px;font-weight:600;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .15s;
}
.btn-resend{background:var(--t0);color:var(--t5);}
.btn-resend:hover{background:var(--t1);}
.btn-resend:disabled{opacity:.4;cursor:not-allowed;}

/* ====== STEPS ====== */
.steps{display:flex;align-items:center;margin-bottom:18px;}
.step-dot{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;transition:all .25s;
}
.step-dot.active{background:var(--sbg);color:#fff;}
.step-dot.done{background:var(--t4);color:#fff;}
.step-dot.idle{background:var(--bs);color:var(--tm);border:1.5px solid var(--bd);}
.step-lbl{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:5px;transition:color .25s;}
.step-lbl.active{color:var(--tp);}
.step-lbl.done{color:var(--t5);}
.step-lbl.idle{color:var(--tm);}
.step-line{height:2px;flex:1;border-radius:2px;margin:0 8px;transition:background .25s;}
.step-line.done{background:var(--t4);}
.step-line.idle{background:var(--bd);}

/* ====== SECTION LABEL ====== */
.sec-lbl{
  font-size:9.5px;font-weight:700;color:var(--t5);
  text-transform:uppercase;letter-spacing:.7px;
  margin:16px 0 10px;display:flex;align-items:center;gap:7px;
}
.sec-lbl::before{content:'';width:3px;height:11px;background:var(--t4);border-radius:2px;flex-shrink:0;}

/* ====== NOTICE ====== */
.notice{
  display:flex;align-items:flex-start;gap:8px;
  background:var(--t0);border:1px solid var(--t2);
  border-radius:9px;padding:10px 12px;
  font-size:11px;color:var(--t6);line-height:1.6;
}
.notice svg{flex-shrink:0;margin-top:1px;}
.notice.ok{background:var(--sb2);border-color:#b8e0cc;color:var(--sc);}
.notice.warn{background:var(--wb);border-color:#e8d890;color:var(--wn);}

/* ====== SOCIAL LINKS ====== */
.social-row{display:flex;gap:7px;margin-bottom:7px;}
.social-row .fi{flex:1;font-size:12px;}
.remove-link{
  width:34px;height:34px;background:var(--db);
  border:1px solid #f0c0bb;border-radius:8px;
  color:var(--dn);cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:17px;transition:all .15s;
}
.remove-link:hover{background:#fae0dc;}
.add-link-btn{
  display:flex;align-items:center;gap:6px;
  font-size:11px;font-weight:600;color:var(--t5);
  background:none;border:1.5px dashed var(--t2);
  border-radius:9px;padding:8px 13px;cursor:pointer;
  width:100%;justify-content:center;transition:all .15s;
  font-family:'DM Sans',sans-serif;margin-bottom:2px;
}
.add-link-btn:hover{background:var(--t0);}

/* ====== PASSWORD STRENGTH ====== */
.pw-bars{display:flex;gap:3px;margin-top:6px;}
.pw-bar{height:3px;flex:1;border-radius:2px;background:var(--bd);transition:background .3s;}
.pw-bar.w{background:#e74c3c;}.pw-bar.f{background:var(--wn);}
.pw-bar.g{background:var(--t4);}.pw-bar.s{background:var(--sc);}
.pw-lbl{font-size:10px;color:var(--tm);margin-top:3px;}

/* ====== MISC ====== */
.divider{display:flex;align-items:center;gap:9px;margin:14px 0;color:var(--tm);font-size:11px;}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--bd);}
a.lnk{color:var(--t5);text-decoration:none;font-weight:500;font-size:12px;}
a.lnk:hover{color:var(--t6);text-decoration:underline;}
.row-link{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:var(--ts);}
.terms-txt{font-size:11px;color:var(--tm);line-height:1.7;margin-top:12px;padding:10px 12px;background:var(--bs);border-radius:8px;border:1px solid var(--bd);}
.terms-txt a{color:var(--t5);text-decoration:underline;}
.mt-4{margin-top:4px;}.mt-8{margin-top:8px;}.mt-12{margin-top:12px;}.mt-16{margin-top:16px;}
.text-c{text-align:center;}

/* ====== SUCCESS SCREEN ====== */
.success-wrap{text-align:center;padding:16px 0 8px;}
.success-ring{
  width:66px;height:66px;border-radius:50%;
  background:linear-gradient(135deg,var(--t4),var(--sc));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;animation:pop .4s ease;
}
@keyframes pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}

/* ====== TOAST ====== */
.toast{position:fixed;bottom:20px;right:16px;background:var(--sbg);color:#fff;padding:10px 16px;border-radius:10px;font-size:12px;font-weight:500;z-index:999;animation:sin .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.25);max-width:calc(100vw - 32px);display:none;}
@keyframes sin{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.toast.ok{border-left:3px solid var(--t4);}
.toast.er{border-left:3px solid var(--dn);}

/* ====== RESPONSIVE ====== */
@media(max-width:767px){
  .left{order:1;}
  .right{order:2;padding:28px 16px 40px;}
  .feat-section{margin-top:28px;}
  .feat-headline{font-size:22px;}
  .feat-tagline{margin-bottom:24px;}
  .feat-list{gap:10px;}
  .feat-item{padding:12px 14px;}
  .left-footer{margin-top:24px;}
  .form-card{max-width:100%;}
  .tab-switcher{max-width:100%;}
  .otp-inp{width:40px;height:48px;font-size:18px;}
}
@media(min-width:768px) and (max-width:900px){.left{padding:36px 32px;}}