/* NYSA Volunteer Engage — Public Styles */
.nysa-eng { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }

/* Notices */
.nysa-eng-notice { padding:.65rem .9rem; border-radius:6px; font-size:.9rem; margin:.75rem 0; }
.nysa-eng-notice--success { background:#d4edda; color:#1a7a3c; }
.nysa-eng-notice--error   { background:#fee2e2; color:#991b1b; }
.nysa-eng-notice--info    { background:#e8f0f8; color:#005a9c; }

/* Survey form */
.nysa-eng-survey-wrap { max-width:560px; }
.nysa-eng-survey-wrap h3 { font-size:1.1rem; font-weight:700; color:#111827; margin:0 0 1rem; }
.nysa-eng-question  { margin-bottom:1.25rem; }
.nysa-eng-question label.nysa-q-label { display:block; font-weight:600; margin-bottom:.4rem; font-size:.95rem; color:#111827; }
.nysa-eng-question .nysa-required { color:#dc2626; margin-left:2px; }
.nysa-eng-question textarea { width:100%; padding:.5rem .7rem; border:1px solid #d1d5db; border-radius:6px; resize:vertical; }

/* Star rating */
.nysa-star-group { display:flex; gap:.4rem; }
.nysa-star-group input[type="radio"] { display:none; }
.nysa-star-group label { font-size:1.8rem; cursor:pointer; color:#d1d5db; transition:color .1s; }
.nysa-star-group label:hover,
.nysa-star-group label:hover ~ label,
.nysa-star-group input:checked ~ label { color:#f59e0b; }
.nysa-star-group { flex-direction:row-reverse; justify-content:flex-end; }

/* Submit */
.nysa-eng-submit-btn { background:#005a9c; color:#fff; border:none; padding:.6rem 1.4rem; border-radius:6px; font-size:.95rem; font-weight:700; cursor:pointer; margin-top:.5rem; }
.nysa-eng-submit-btn:hover { background:#003d6b; }
.nysa-eng-submit-btn:disabled { opacity:.6; cursor:default; }

/* Badges */
.nysa-my-badges { }
.nysa-badges-grid { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.75rem; }
.nysa-badge-card {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100px; padding:.75rem .5rem;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 1px 3px rgba(0,0,0,.06); text-align:center;
}
.nysa-badge-card__icon  { font-size:2rem; line-height:1; margin-bottom:.25rem; }
.nysa-badge-card__label { font-size:.75rem; font-weight:700; color:#111827; }
.nysa-badge-card__date  { font-size:.65rem; color:#9ca3af; margin-top:.15rem; }
.nysa-badges-empty      { color:#6b7280; font-style:italic; }

/* PWA install banner */
.nysa-pwa-banner {
  position:fixed; bottom:0; left:0; right:0;
  background:#005a9c; color:#fff;
  display:flex; align-items:center; gap:1rem;
  padding:14px 20px;
  box-shadow:0 -2px 12px rgba(0,0,0,.15);
  z-index:9999;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:.92rem;
}
.nysa-pwa-banner__text  { flex:1; }
.nysa-pwa-banner__title { font-weight:700; display:block; }
.nysa-pwa-banner__body  { opacity:.85; font-size:.85rem; }
.nysa-pwa-banner__install { background:#fff; color:#005a9c; border:none; border-radius:6px; padding:.45rem 1rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.nysa-pwa-banner__dismiss { background:none; border:1px solid rgba(255,255,255,.4); color:#fff; border-radius:6px; padding:.4rem .75rem; cursor:pointer; font-size:.85rem; white-space:nowrap; }
