.nop-wrap{--nop-primary:#0f766e;--nop-accent:#d4af37;max-width:1180px;margin:24px auto;padding:0 16px;box-sizing:border-box;color:#17312f}.nop-wrap *{box-sizing:border-box}.nop-hero{background:linear-gradient(135deg,var(--nop-primary),#123f3b);color:#fff;border-radius:28px;padding:34px 28px;text-align:center;box-shadow:0 18px 45px rgba(15,118,110,.18);overflow:hidden;position:relative}.nop-hero:before{content:"";position:absolute;inset:auto -60px -90px auto;width:240px;height:240px;background:rgba(255,255,255,.08);border-radius:50%}.nop-hero-badge{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:7px 16px;border-radius:999px;margin-bottom:12px}.nop-hero h2{margin:0 0 10px;font-size:clamp(24px,4vw,42px);line-height:1.35;color:#fff}.nop-hero p{margin:0 auto;max-width:760px;font-size:17px;line-height:1.9;color:#eefdfb}.nop-alert{margin:18px 0;padding:14px 18px;border-radius:16px;font-weight:700}.nop-success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.nop-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.nop-teams{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.nop-team{background:#fff;border:1px solid #e5eee9;border-top:5px solid var(--nop-primary);border-radius:18px;padding:15px;box-shadow:0 8px 24px rgba(15,43,40,.06);min-height:82px}.nop-team strong{display:block;font-size:15px;color:#133d39}.nop-team p{font-size:13px;line-height:1.7;color:#60706d;margin:.5em 0 0}.nop-form,.nop-card{background:#fff;border:1px solid #e5eee9;border-radius:28px;padding:24px;margin-top:18px;box-shadow:0 16px 45px rgba(15,43,40,.08)}.nop-form-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px;border-bottom:1px dashed #dce7e3;padding-bottom:14px}.nop-form-head h3{margin:0;font-size:24px;color:var(--nop-primary)}.nop-form-head span{color:#64748b}.nop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nop-field{display:flex;flex-direction:column;gap:7px}.nop-field>label{font-weight:800;color:#17312f}.nop-field b{color:#dc2626}.nop-field input:not([type=checkbox]),.nop-field select,.nop-field textarea{width:100%;border:1px solid #dbe6e2;border-radius:14px;padding:13px 14px;font-size:15px;background:#fbfefd;outline:none;transition:.2s}.nop-field textarea{min-height:120px;resize:vertical}.nop-field input:focus,.nop-field select:focus,.nop-field textarea:focus{border-color:var(--nop-primary);box-shadow:0 0 0 4px rgba(15,118,110,.12)}.nop-wide{grid-column:1/-1}.nop-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f8fbfa;border:1px solid #e5eee9;border-radius:16px;padding:12px}.nop-checks label,.nop-consent{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid #e5eee9;border-radius:12px;padding:9px 10px;font-weight:600}.nop-btn{margin-top:18px;width:100%;border:0;border-radius:16px;background:var(--nop-primary);color:#fff;padding:15px 22px;font-size:17px;font-weight:900;cursor:pointer;transition:.2s;box-shadow:0 12px 24px rgba(15,118,110,.22)}.nop-btn:hover{transform:translateY(-1px);filter:brightness(.96)}@media(max-width:920px){.nop-teams{grid-template-columns:repeat(2,minmax(0,1fr))}.nop-grid{grid-template-columns:1fr}.nop-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.nop-form-head{display:block}.nop-form,.nop-hero{border-radius:22px;padding:20px}}@media(max-width:560px){.nop-wrap{padding:0 10px;margin:12px auto}.nop-teams,.nop-checks{grid-template-columns:1fr}.nop-hero{text-align:right}.nop-field input:not([type=checkbox]),.nop-field select,.nop-field textarea{font-size:16px}.nop-form{padding:16px}}

/* V1.1.0: refined join form layout + standalone success page */
.nop-field.nop-wide{grid-column:1/-1}.nop-form{max-width:980px;margin:20px auto}.nop-btn[disabled]{opacity:.65;cursor:not-allowed;transform:none!important}.nop-success-page{min-height:560px;display:flex;align-items:center;justify-content:center;padding:54px 14px;position:relative;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 20% 30%,rgba(212,175,55,.13),transparent 24%),radial-gradient(circle at 80% 20%,rgba(15,118,110,.16),transparent 28%),linear-gradient(180deg,#f7fffc 0%,#eefaf5 100%)}.nop-success-page:before,.nop-success-page:after{content:"";position:absolute;bottom:-70px;width:260px;height:260px;border-radius:50%;background:rgba(15,118,110,.08)}.nop-success-page:before{right:-90px}.nop-success-page:after{left:-90px}.nop-success-confetti{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#d4af37 2px,transparent 3px),radial-gradient(circle,#0f766e 2px,transparent 3px),radial-gradient(circle,#ef4444 1.5px,transparent 2.5px);background-size:95px 95px,130px 130px,170px 170px;background-position:10px 20px,60px 10px,20px 90px;opacity:.28}.nop-success-card{width:min(760px,100%);background:rgba(255,255,255,.92);border:1px solid rgba(15,118,110,.18);border-radius:30px;padding:34px 28px;text-align:center;box-shadow:0 25px 70px rgba(15,43,40,.13);position:relative;z-index:1;backdrop-filter:blur(8px)}.nop-success-icon{width:86px;height:86px;margin:-78px auto 16px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2bb7a4,var(--nop-primary));color:#fff;font-size:48px;font-weight:900;box-shadow:0 18px 35px rgba(15,118,110,.28);border:6px solid #fff}.nop-success-card h2{margin:0 0 12px;color:var(--nop-primary);font-size:clamp(26px,4vw,42px);line-height:1.35}.nop-success-card p{margin:0 auto 18px;max-width:610px;color:#334155;font-size:18px;line-height:1.9}.nop-success-quote{margin:18px auto 24px;padding:14px 18px;border-radius:18px;background:#f1fbf7;border:1px solid #bbead8;color:#075e54;font-weight:900;font-size:17px}.nop-success-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.nop-success-features div{background:#fff;border:1px solid #e2eee9;border-radius:18px;padding:14px 10px;box-shadow:0 8px 24px rgba(15,43,40,.05)}.nop-success-features span{display:block;color:var(--nop-primary);font-size:30px;line-height:1}.nop-success-features strong{display:block;margin-top:8px;color:#183b36}.nop-success-features small{display:block;margin-top:4px;color:#64748b;line-height:1.5}.nop-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.nop-success-actions .nop-btn{margin:0;text-decoration:none;display:flex;align-items:center;justify-content:center}.nop-btn-outline{background:#fff!important;color:var(--nop-primary)!important;border:1px solid rgba(15,118,110,.35)!important;box-shadow:none!important}@media(max-width:760px){.nop-success-features{grid-template-columns:repeat(2,minmax(0,1fr))}.nop-success-actions{grid-template-columns:1fr}.nop-success-card{padding:30px 18px}.nop-success-icon{margin-top:-70px}}@media(max-width:480px){.nop-success-page{padding-top:70px}.nop-success-features{grid-template-columns:1fr}.nop-success-card p{font-size:16px}.nop-success-quote{font-size:15px}}

/* V1.2.0: ensure green success button text remains white */
.nop-success-actions .nop-btn:not(.nop-btn-outline),.nop-success-actions .nop-btn:not(.nop-btn-outline):visited,.nop-success-actions .nop-btn:not(.nop-btn-outline):hover,.nop-success-actions .nop-btn:not(.nop-btn-outline):focus{color:#fff!important;}

/* V1.2.1: mobile success page width optimization */
@media (max-width: 768px){
  .nop-wrap{
    width:100%;
    max-width:100%;
    padding-left:6px;
    padding-right:6px;
    margin-top:10px;
    margin-bottom:10px;
  }
  .nop-success-page{
    width:100%;
    min-height:auto;
    padding:58px 6px 20px;
    border-radius:20px;
  }
  .nop-success-card{
    width:100%;
    max-width:100%;
    border-radius:22px;
    padding:30px 12px 18px;
  }
  .nop-success-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .nop-success-features div{
    padding:12px 7px;
    border-radius:15px;
  }
  .nop-success-actions{
    gap:10px;
  }
  .nop-success-actions .nop-btn{
    min-height:50px;
    padding:13px 12px;
    font-size:15px;
    border-radius:14px;
  }
}
@media (max-width: 480px){
  .nop-wrap{
    padding-left:4px;
    padding-right:4px;
  }
  .nop-success-page{
    padding-left:4px;
    padding-right:4px;
    border-radius:16px;
  }
  .nop-success-card{
    padding-left:10px;
    padding-right:10px;
    border-radius:20px;
  }
  .nop-success-card h2{
    font-size:28px;
  }
  .nop-success-card p{
    max-width:100%;
    font-size:15.5px;
  }
  .nop-success-quote{
    margin-left:0;
    margin-right:0;
    padding:12px 10px;
  }
  .nop-success-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nop-success-features span{
    font-size:25px;
  }
  .nop-success-features strong{
    font-size:14px;
  }
  .nop-success-features small{
    font-size:12px;
  }
}
