    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      font:800 22px/1 "Manrope",sans-serif;
      letter-spacing:-.5px;
    }
    .brand-logo{
      height:28px;
      width:auto;
      display:block;
    }
    .brand-logo-sm{
      height:22px;
    }

    .nav-links{display:flex;gap:28px;align-items:center;font-size:14px;color:#4f4b58}
    .nav-links a:hover{color:var(--purple)}
    .nav-actions{display:flex;gap:10px}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      gap:8px;border-radius:14px;padding:13px 18px;
      font-weight:700;font-size:14px;border:1px solid transparent;
      transition:.2s ease;cursor:pointer;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-purple{background:var(--purple);color:#fff;box-shadow:0 9px 20px rgba(111,70,217,.23)}
    .btn-purple:hover{background:var(--purple-dark)}
    .btn-orange{background:var(--orange);color:#21140c;box-shadow:0 9px 20px rgba(255,139,61,.2)}
    .btn-orange:hover{background:var(--orange-dark);color:white}
    .btn-ghost{background:#fff;border-color:var(--line)}
    .btn-ghost:hover{border-color:#d7cee5}
    .btn:disabled{
      opacity:.55;cursor:not-allowed;transform:none;box-shadow:none
    }

    .avatar{
      width:38px;height:38px;border-radius:50%;
      display:grid;place-items:center;
      background:var(--purple-soft);color:var(--purple-dark);font-weight:800;font-size:12px;
    }

    /* Participant onboarding modal */
    .modal-backdrop{
      position:fixed;inset:0;background:rgba(24,22,36,.58);
      display:none;align-items:center;justify-content:center;
      padding:20px;z-index:1000;backdrop-filter:blur(8px)
    }
    .modal-backdrop.open{display:flex}
    .onboarding-modal{
      width:min(100%,760px);max-height:92vh;overflow:auto;
      background:#fff;border-radius:28px;box-shadow:0 28px 90px rgba(20,12,33,.28);
      border:1px solid rgba(255,255,255,.4)
    }
    .modal-head{
      display:flex;justify-content:space-between;align-items:flex-start;
      padding:24px 26px 16px;border-bottom:1px solid var(--line)
    }
    .modal-kicker{
      color:var(--purple);font-size:11px;font-weight:800;
      text-transform:uppercase;letter-spacing:.11em;margin-bottom:5px
    }
    .modal-head h3{font-size:24px}
    .modal-close{
      width:38px;height:38px;border-radius:12px;border:1px solid var(--line);
      background:#fff;font-size:21px;cursor:pointer;color:#625c68;
      display:grid;place-items:center;text-decoration:none
    }
    .modal-body{padding:24px 26px 28px}
    .progress-wrap{margin-bottom:24px}
    .progress-meta{display:flex;justify-content:space-between;font-size:11px;color:#8d8792;margin-bottom:8px}
    .progress-track{height:7px;background:#f0edf4;border-radius:999px;overflow:hidden}
    .progress-bar{height:100%;width:20%;background:linear-gradient(90deg,var(--purple),var(--orange));border-radius:999px;transition:.25s ease}
    .form-step{display:none}
    .form-step.active{display:block}
    .step-title{font:800 28px "Manrope";margin-bottom:8px}
    .step-copy{color:var(--muted);font-size:14px;margin:0 0 22px}
    .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .field{display:flex;flex-direction:column;gap:7px}
    .field.full{grid-column:1/-1}
    .field label{font-size:12px;font-weight:700;color:#4d4853}
    .field input,.field select,.field textarea{
      width:100%;padding:13px 14px;border:1px solid var(--line);
      border-radius:13px;background:#fff;font:500 14px "DM Sans";
      color:var(--ink);outline:none
    }
    .field textarea{min-height:96px;resize:vertical}
    .field input:focus,.field select:focus,.field textarea:focus{
      border-color:#bba9ef;box-shadow:0 0 0 3px rgba(111,70,217,.08)
    }
    .choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
    .choice{
      border:1px solid var(--line);border-radius:14px;padding:13px;
      display:flex;gap:10px;align-items:flex-start;background:#fff
    }
    .choice input{margin-top:3px;accent-color:var(--purple)}
    .choice strong{display:block;font-size:13px}
    .choice span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
    .verify-box{
      border:1px dashed #cfc3eb;background:#faf8ff;border-radius:16px;
      padding:18px;margin-top:12px
    }
    .verify-box strong{font-size:13px}
    .verify-box p{font-size:12px;color:var(--muted);margin:5px 0 0}
    .mini-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .mini-badge{
      padding:7px 9px;border-radius:999px;font-size:10px;font-weight:800;
      background:var(--purple-soft);color:var(--purple-dark)
    }
    .mini-badge.orange{background:var(--orange-soft);color:var(--orange-dark)}
    .form-actions{
      display:flex;justify-content:space-between;gap:12px;margin-top:26px;
      padding-top:18px;border-top:1px solid var(--line)
    }
    .success-panel{text-align:center;padding:18px 8px 6px}
    .success-mark{
      width:72px;height:72px;border-radius:24px;margin:0 auto 20px;
      display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--orange));
      color:#fff;font-size:34px;font-weight:900
    }
    .success-panel h3{font-size:30px;margin-bottom:8px}
    .success-panel p{color:var(--muted);max-width:540px;margin:0 auto 20px}
    .success-card{
      text-align:left;background:#fbfafc;border:1px solid var(--line);
      border-radius:18px;padding:16px;margin-top:18px
    }
    .success-row{display:flex;justify-content:space-between;gap:18px;padding:8px 0;font-size:13px}
    .success-row + .success-row{border-top:1px solid #ece7ef}
    .success-row span{color:var(--muted)}
    @media(max-width:650px){
      .field-grid,.choice-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}
      .onboarding-modal{border-radius:22px}
      .modal-head,.modal-body{padding-left:18px;padding-right:18px}
      .step-title{font-size:24px}
    }

    /* Login */
    .login-modal{
      width:min(100%,470px);background:#fff;border-radius:26px;
      box-shadow:0 30px 90px rgba(20,12,33,.3);border:1px solid rgba(255,255,255,.4)
    }
    .login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
    .login-tab{
      border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;
      font:700 12px "DM Sans";cursor:pointer;color:#6a6470
    }
    .login-tab.active{background:var(--purple-soft);color:var(--purple-dark);border-color:#cdbff0}
    .login-helper{text-align:center;color:var(--muted);font-size:11px;margin-top:14px}
    .login-helper a{color:var(--purple);font-weight:700}
    .auth-error{font-size:12px;color:#c43d4b;margin:12px 0 0;line-height:1.4}
    html[data-afritesting-live] [data-demo],
    html[data-afritesting-live] [data-demo-study],
    html[data-afritesting-live] [data-demo-review],
    html[data-afritesting-live] [data-quality-demo],
    html[data-afritesting-live] [data-demo-note]{display:none !important}

/* Notifications */
.notification-bell{
  position:relative;
  width:36px;height:36px;border-radius:11px;
  border:1px solid var(--line);background:#fff;
  display:grid;place-items:center;cursor:pointer;
  font-size:15px;color:#625c68
}
.notification-count{
  position:absolute;top:-5px;right:-5px;
  min-width:17px;height:17px;padding:0 4px;border-radius:999px;
  display:grid;place-items:center;background:var(--orange);
  color:#21140c;font-size:8px;font-weight:900;
  border:2px solid #fff
}
.notification-panel{
  position:fixed;
  top:78px;right:28px;
  width:min(390px,calc(100vw - 32px));
  max-height:72vh;overflow:auto;
  background:#fff;border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 24px 70px rgba(20,12,33,.22);
  z-index:2500;
  display:none
}
.notification-panel.open{display:block}
.notification-panel-head{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:16px 17px;border-bottom:1px solid var(--line)
}
.notification-panel-head h3{font-size:15px}
.notification-panel-head button{
  border:0;background:transparent;color:var(--purple);
  font:800 9px "DM Sans";cursor:pointer
}
.notification-list{display:flex;flex-direction:column}
.notification-item{
  display:grid;grid-template-columns:auto 1fr auto;
  gap:10px;padding:13px 16px;border-bottom:1px solid #f1edf3;
  cursor:pointer;background:#fff
}
.notification-item.unread{background:#fcfaff}
.notification-item:hover{background:#faf8fc}
.notification-icon{
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;font-size:12px;font-weight:900;
  background:var(--purple-soft);color:var(--purple)
}
.notification-icon.orange{background:var(--orange-soft);color:var(--orange-dark)}
.notification-icon.green{background:#e9f8f1;color:var(--success)}
.notification-icon.red{background:#fdebed;color:#b9414d}
.notification-copy strong{display:block;font-size:10px;line-height:1.35}
.notification-copy span{display:block;font-size:9px;color:var(--muted);margin-top:3px;line-height:1.4}
.notification-time{font-size:8px;color:#aaa3af;white-space:nowrap}
.notification-panel-foot{
  padding:11px 16px;text-align:center;
  font-size:9px;color:var(--purple);font-weight:800
}
.notification-toast{
  position:fixed;right:24px;bottom:24px;z-index:2600;
  width:min(360px,calc(100vw - 32px));
  background:#171321;color:#fff;
  border-radius:16px;padding:13px 14px;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  display:none
}
.notification-toast.show{display:block}
.notification-toast strong{display:block;font-size:10px}
.notification-toast span{display:block;font-size:9px;color:#c9c1d2;margin-top:3px}
.admin-side .notification-bell{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fff
}
.admin-side .notification-count{border-color:#171321}
@media(max-width:700px){
  .notification-panel{top:70px;right:16px}
}
.email-preview-modal{width:min(100%,560px)}
.email-preview-meta{
  border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:14px
}
.email-preview-row{
  display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px
}
.email-preview-row span{color:var(--muted);flex:0 0 64px}
.email-preview-row strong{text-align:right}
.email-preview-body{
  background:#fbfafc;border:1px solid var(--line);border-radius:16px;
  padding:16px;font-size:13px;line-height:1.55;white-space:pre-wrap;color:var(--ink)
}
.email-preview-note{font-size:11px;color:var(--muted);margin:12px 0 0}
