#ns-site-survey-overlay{
    position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 9998;
}
#ns-site-survey-modal{
    position: fixed; inset: 0; display:flex; align-items:center; justify-content:center; z-index: 9999;
    padding: 16px;
}
#ns-site-survey-modal .ns-survey-card{
    width: min(520px, 100%); background:#fff; border-radius: 14px; padding: 18px 18px 14px;
    box-shadow: 0 16px 40px rgba(0,0,0,.25);
    font-family: inherit;
}
#ns-site-survey-modal h3{ margin: 0 0 6px; font-size: 20px; }
#ns-site-survey-modal .ns-survey-sub{ margin: 0 0 14px; color:#555; font-size: 14px; }
#ns-site-survey-modal label{ display:block; font-weight: 600; margin: 10px 0 6px; }
#ns-site-survey-modal select,
#ns-site-survey-modal input,
#ns-site-survey-modal textarea{
    width:100%; border:1px solid #d9d9d9; border-radius: 10px; padding:10px 12px; font-size: 14px;
}
.ns-survey-actions{ display:flex; gap:10px; margin-top: 12px; }
.ns-survey-primary{
    background:#00ab71; border:0; color:#fff; padding:10px 14px; border-radius: 10px; cursor:pointer; flex:1;
}
.ns-survey-secondary{
    background:#f3f3f3; border:0; padding:10px 14px; border-radius: 10px; cursor:pointer;
}
.ns-survey-close{
    float:right; border:0; background:transparent; font-size: 22px; line-height: 1; cursor:pointer;
}
.ns-survey-msg{ margin-top: 10px; font-size: 14px; }
/* Submit button micro-animations */
#ns-site-survey-modal button.ns-loading,
#ns-site-survey-modal button.ns-success {
  transition: all .2s ease;
}

#ns-site-survey-modal button.ns-loading {
  opacity: .85;
  cursor: default;
}

#ns-site-survey-modal button.ns-success {
  background: #00ab71 !important;
  color: #fff !important;
}

/* Spinner */
#ns-site-survey-modal .ns-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
  animation: ns-spin .6s linear infinite;
}
@keyframes ns-spin { to { transform: rotate(360deg); } }

/* Checkmark */
#ns-site-survey-modal .ns-check {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 8px;
  position: relative;
  vertical-align: middle;
}
#ns-site-survey-modal .ns-check:after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  animation: ns-check .25s ease forwards;
}
@keyframes ns-check { to { transform: rotate(45deg) scale(1); } }