:root{--purple:#5B2BF5;--purple-2:#4A1FE0;--purple-deep:#1B0B4F;--purple-soft:#8F6EF9;--purple-tint:#EFEAFE;--amber:#E8A33A;--amber-bright:#F4B84A;--mist:#F5F3FA;--ivory:#FAFAFC;--white:#FFFFFF;--ink:#0A0A14;--ink-2:#2A2A38;--ink-3:#5C5C6E;--ink-4:#8A8A98;--green:#0A5C3E;--green-bright:#10B981;--red:#E03A2E;--red-soft:#FEE7E5;--line:rgba(10,10,20,.08);--line-2:rgba(10,10,20,.12);}
  *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;}
  body{font-family:'Instrument Sans',sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.5;}
  a{color:var(--purple);text-decoration:none;font-weight:600;}
  a:hover{text-decoration:underline;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;}

  .auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;}
  @media(max-width:980px){.auth-shell{grid-template-columns:1fr;}}

  /* ============ LEFT BRAND PANEL ============ */
  .brand-pane{background:linear-gradient(155deg,#1B0B4F 0%,#3B1AAE 60%,#5B2BF5 100%);color:#fff;padding:40px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
  .brand-pane::before,.brand-pane::after{content:'';position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none;}
  .brand-pane::before{width:480px;height:480px;background:#7B4FFF;top:-160px;right:-160px;}
  .brand-pane::after{width:380px;height:380px;background:#E8A33A;bottom:-180px;left:-120px;opacity:.18;}
  .brand-pane > *{position:relative;z-index:1;}
  .brand-pane .brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:24px;color:#fff;}
  .brand-pane .brand-mark{width:38px;height:38px;border-radius:11px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20 7 L33 18 L33 33 L7 33 L7 18 Z' fill='none' stroke='%235B2BF5' stroke-width='2.8' stroke-linejoin='round'/><path d='M13 19 L20 26 L27 19' fill='none' stroke='%23E8A33A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/30px 30px no-repeat;color:transparent;font-size:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(10,10,20,.18);}
  .brand-pane .pitch{margin-top:auto;padding-top:60px;}
  .brand-pane .pitch h2{font-size:36px;font-weight:600;line-height:1.15;letter-spacing:-.02em;margin-bottom:18px;max-width:480px;}
  .brand-pane .pitch h2 .amber{color:var(--amber-bright);}
  .brand-pane .pitch p{color:rgba(255,255,255,.78);font-size:16px;max-width:460px;margin-bottom:28px;}

  .proof{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:480px;margin-bottom:28px;}
  .proof .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;backdrop-filter:blur(6px);}
  .proof .stat .num{font-size:24px;font-weight:600;letter-spacing:-.01em;}
  .proof .stat .lbl{font-size:12px;color:rgba(255,255,255,.7);margin-top:4px;}

  .testimonial{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px;max-width:480px;backdrop-filter:blur(6px);}
  .testimonial .quote{font-size:15px;line-height:1.55;color:rgba(255,255,255,.92);margin-bottom:14px;}
  .testimonial .who{display:flex;align-items:center;gap:12px;}
  .testimonial .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#E8A33A,#F4B84A);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--purple-deep);font-size:14px;}
  .testimonial .who .name{font-weight:600;font-size:14px;}
  .testimonial .who .meta{font-size:12px;color:rgba(255,255,255,.65);}

  .trust-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:28px;align-items:center;font-size:11px;color:rgba(255,255,255,.65);font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
  .trust-row .badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;}
  .trust-row .badge .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright);}

  @media(max-width:980px){.brand-pane{padding:24px 24px 32px;min-height:auto;}.brand-pane .pitch{padding-top:24px;}.brand-pane .pitch h2{font-size:24px;}.proof,.testimonial{max-width:100%;}.testimonial,.trust-row{display:none;}}

  /* ============ RIGHT FORM PANEL ============ */
  .form-pane{display:flex;flex-direction:column;padding:32px 40px;overflow-y:auto;}
  .form-pane .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto;}
  .form-pane .top .home{font-size:14px;color:var(--ink-3);font-weight:500;display:flex;align-items:center;gap:6px;}
  .form-pane .top .switch{font-size:14px;color:var(--ink-3);}
  .form-pane .top .switch a{color:var(--purple);}

  .form-card{max-width:440px;width:100%;margin:48px auto auto;}
  .form-card .eyebrow{font-size:12px;font-weight:700;color:var(--purple);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
  .form-card h1{font-size:32px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px;}
  .form-card .sub{color:var(--ink-3);font-size:15px;margin-bottom:28px;}

  .social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
  .social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--line-2);border-radius:12px;background:var(--white);font-size:14px;font-weight:600;color:var(--ink-2);transition:all .15s;}
  .social-btn:hover{background:var(--mist);border-color:var(--ink-4);}
  .social-btn svg{width:18px;height:18px;}

  .divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-4);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
  .divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--line);}

  .field{margin-bottom:14px;position:relative;}
  .field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2);}
  .field .input-wrap{position:relative;}
  .field input{width:100%;padding:13px 16px;border:1px solid var(--line-2);border-radius:12px;font-size:15px;font-family:inherit;background:var(--white);color:var(--ink);transition:all .15s;}
  .field input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(91,43,245,.1);}
  .field input.has-toggle{padding-right:46px;}
  .field .toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink-3);font-size:12px;font-weight:600;padding:6px 8px;border-radius:8px;cursor:pointer;}
  .field .toggle-pw:hover{background:var(--mist);color:var(--purple);}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

  .pw-strength{margin-top:8px;display:flex;gap:4px;align-items:center;}
  .pw-bar{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .2s;}
  .pw-bar.lvl-1{background:var(--red);}
  .pw-bar.lvl-2{background:var(--amber);}
  .pw-bar.lvl-3{background:var(--green-bright);}
  .pw-strength .lbl{font-size:11px;color:var(--ink-3);font-weight:600;margin-left:8px;min-width:60px;text-align:right;}

  .field-row-aux{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px;font-size:13px;}
  .field-row-aux .check{display:flex;align-items:center;gap:8px;color:var(--ink-2);cursor:pointer;}
  .field-row-aux .check input{width:16px;height:16px;accent-color:var(--purple);cursor:pointer;}

  .btn{width:100%;padding:14px 22px;background:var(--purple);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;}
  .btn:hover{background:var(--purple-2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(91,43,245,.25);}
  .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}

  .err{color:var(--red);font-size:13px;margin:8px 0;display:none;padding:10px 12px;background:var(--red-soft);border-radius:10px;font-weight:500;}
  .err.show{display:block;}

  .consent{font-size:12px;color:var(--ink-3);line-height:1.5;margin-top:14px;}
  .consent a{font-weight:600;}

  .form-pane .bottom{margin-top:auto;padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-4);flex-wrap:wrap;gap:10px;}
  .form-pane .bottom .links{display:flex;gap:14px;}
  .form-pane .bottom .links a{color:var(--ink-3);font-weight:500;}

  @media(max-width:980px){.form-pane{padding:24px 20px;}.form-card{margin-top:24px;}}
  @media(max-width:520px){.social-row,.field-row{grid-template-columns:1fr;}.form-pane .top .home span{display:none;}}
  