
  body { background: var(--bg-dark, #0d0d1a); font-family: 'Nunito', sans-serif; }
  .fp-wrap {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    padding: 24px 16px;
  }
  .fp-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 18px; width: 100%; max-width: 440px;
    padding: 36px 32px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.4);
  }
  .fp-logo { text-align: center; margin-bottom: 28px; }
  .fp-logo .icon-wrap {
    width: 64px; height: 64px; border-radius: 50%;
    background: linear-gradient(135deg,#00d2ff22,#7b2ff722);
    border: 1.5px solid rgba(0,210,255,0.25);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 12px; font-size: 28px; color: #00d2ff;
  }
  .fp-logo h2 { font-family:'Rajdhani',sans-serif; font-size:22px; font-weight:700; color:#f0f0f0; margin-bottom:4px; }
  .fp-logo p  { font-size:13px; color:#888; margin:0; }

  /* Stepper */
  .stepper { display:flex; align-items:center; justify-content:center; gap:0; margin-bottom:28px; }
  .stepper-item { display:flex; flex-direction:column; align-items:center; }
  .stepper-circle {
    width:32px; height:32px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:700;
    border:2px solid rgba(255,255,255,0.15);
    color:#888; background:rgba(255,255,255,0.04); transition:all .3s;
  }
  .stepper-item.active .stepper-circle { background:linear-gradient(135deg,#00d2ff,#7b2ff7); border-color:transparent; color:#fff; }
  .stepper-item.done   .stepper-circle { background:rgba(34,214,126,0.2); border-color:rgba(34,214,126,0.5); color:#22d67e; }
  .stepper-label { font-size:10px; color:#555; margin-top:4px; white-space:nowrap; }
  .stepper-item.active .stepper-label { color:#00d2ff; }
  .stepper-item.done   .stepper-label { color:#22d67e; }
  .stepper-line { width:48px; height:2px; background:rgba(255,255,255,0.08); margin-bottom:20px; }
  .stepper-line.done { background:rgba(34,214,126,0.4); }

  /* Form */
  .form-label { font-size:13px; color:#aaa; margin-bottom:6px; display:flex; align-items:center; gap:6px; }
  .form-control {
    background:rgba(255,255,255,0.05) !important;
    border:1px solid rgba(255,255,255,0.1) !important;
    color:#f0f0f0 !important; border-radius:10px;
    padding:10px 14px; font-size:14px; transition:border-color .2s;
  }
  .form-control:focus { box-shadow:0 0 0 3px rgba(0,210,255,0.15) !important; border-color:rgba(0,210,255,0.4) !important; outline:none; }
  .form-control::placeholder { color:#555; }
  .form-hint { font-size:11.5px; color:#666; margin-top:5px; }

  .btn-fp {
    width:100%; padding:12px;
    background:linear-gradient(90deg,#00d2ff,#7b2ff7);
    border:none; border-radius:10px; color:#fff; font-weight:700; font-size:15px;
    font-family:'Rajdhani',sans-serif; letter-spacing:.5px; cursor:pointer; transition:opacity .2s;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .btn-fp:hover { opacity:.88; }

  /* Alerts */
  .alert-error   { background:rgba(255,77,106,0.1);  border:1px solid rgba(255,77,106,0.25);  color:#ff4d6a; border-radius:10px; padding:11px 14px; font-size:13px; display:flex; align-items:flex-start; gap:8px; margin-bottom:18px; line-height:1.5; }
  .alert-success { background:rgba(34,214,126,0.1);  border:1px solid rgba(34,214,126,0.25);  color:#22d67e; border-radius:10px; padding:11px 14px; font-size:13px; display:flex; align-items:flex-start; gap:8px; margin-bottom:18px; }
  .alert-success a { color:#22d67e; text-decoration:underline; }
  .alert-warning { background:rgba(247,201,72,0.08); border:1px solid rgba(247,201,72,0.25);  color:#f7c948; border-radius:10px; padding:11px 14px; font-size:12.5px; display:flex; align-items:flex-start; gap:8px; margin-bottom:18px; line-height:1.5; }
  .alert-blocked { background:rgba(255,77,106,0.13); border:1px solid rgba(255,77,106,0.35);  color:#ff4d6a; border-radius:10px; padding:16px 14px; font-size:13.5px; display:flex; align-items:flex-start; gap:10px; margin-bottom:18px; line-height:1.6; }
  .alert-info    { background:rgba(0,210,255,0.07);  border:1px solid rgba(0,210,255,0.18);   color:#7dd3fc; border-radius:10px; padding:11px 14px; font-size:12.5px; display:flex; align-items:flex-start; gap:8px; margin-bottom:18px; line-height:1.5; }

  .otp-input { letter-spacing:8px; font-size:24px !important; font-family:'Rajdhani',sans-serif !important; text-align:center; font-weight:700; }

  .resend-row { text-align:center; margin-top:12px; font-size:12.5px; color:#666; }
  .resend-row a { color:#00d2ff; text-decoration:none; }
  .resend-row a:hover { text-decoration:underline; }
  .resend-row.disabled a { color:#444; pointer-events:none; cursor:not-allowed; }

  .back-link { display:block; text-align:center; margin-top:20px; font-size:13px; color:#666; text-decoration:none; transition:color .2s; }
  .back-link:hover { color:#00d2ff; }

  .success-icon { text-align:center; margin-bottom:18px; font-size:52px; color:#22d67e; }
  .change-email { font-size:12px; color:#555; text-align:center; margin-top:10px; }
  .change-email a { color:#888; text-decoration:none; }
  .change-email a:hover { color:#00d2ff; }
  .masked-email { color:#00d2ff; font-weight:600; }
