/* Survey Plugin – Frontend entry and survey container */
#surve-app-root { max-width: 720px; margin: 0 auto; padding: 1rem; position: relative; }
#surve-app-root.surve-has-survey { padding-top: 0.5rem; }

#surve-app-root[data-view="mobile"] { max-width: 540px; }
#surve-app-root[data-view="desktop"] { max-width: 980px; }

#surve-app-root[data-colour="day"] {
  --surve-bg: #ffffff;
  --surve-text: #0b1220;
  --surve-muted: #516074;
  --surve-card: #f6f7f8;
  --surve-border: #d0d7de;
  --surve-accent: #2271b1;
  --surve-danger: #b32d2e;
}
#surve-app-root[data-colour="night"] {
  --surve-bg: #0b1220;
  --surve-text: #e6edf3;
  --surve-muted: #a7b3c1;
  --surve-card: #111a2d;
  --surve-border: #2b364a;
  --surve-accent: #66b3ff;
  --surve-danger: #ff7b72;
}

#surve-app-root { background: var(--surve-bg); color: var(--surve-text); border-radius: 12px; }
.surve-entry-form { margin-top: 1.75rem; }
.surve-entry-form label { display: block; margin-bottom: 0.25rem; font-weight: 600; }
.surve-entry-form input[type="text"] { width: 100%; max-width: 14rem; padding: 0.6rem; border: 1px solid var(--surve-border); border-radius: 8px; background: transparent; color: inherit; }
.surve-entry-form button { padding: 0.6rem 1rem; cursor: pointer; }
.surve-message { margin-top: 1rem; min-height: 1.5rem; color: var(--surve-muted); }
.surve-message.is-error { color: var(--surve-danger); font-weight: 600; }
.surve-message.is-warning { color: var(--surve-muted); font-weight: 600; }
.surve-message.is-success { color: var(--surve-accent); font-weight: 600; }
.surve-survey-container { margin-top: 1.5rem; }

.surve-card { position: relative; background: var(--surve-card); border: 1px solid var(--surve-border); border-radius: 12px; padding: 1rem; }
.surve-title { font-size: 1.25rem; font-weight: 700; margin-bottom: 0.25rem; }
.surve-progress { color: var(--surve-muted); margin-bottom: 0.75rem; }
.surve-block-label { font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; }
.surve-text { color: var(--surve-text); white-space: pre-wrap; line-height: 1.5; }
.surve-choice { display: block; margin: 0.5rem 0; }
.surve-nav { display: flex; gap: 0.5rem; margin-top: 1rem; }

.surve-matrix { width: 100%; border-collapse: collapse; }
.surve-matrix th, .surve-matrix td { border: 1px solid var(--surve-border); padding: 0.5rem; text-align: center; }
.surve-matrix td:first-child { text-align: left; }

.surve-gear { position: absolute; top: 4px; right: 10px; border: 1px solid var(--surve-border); background: var(--surve-card); color: inherit; border-radius: 10px; padding: 0.35rem 0.5rem; cursor: pointer; }
.surve-settings { position: absolute; top: 46px; right: 10px; display: none; z-index: 50; }
.surve-settings.is-open { display: block; }
.surve-settings-inner { background: var(--surve-card); border: 1px solid var(--surve-border); border-radius: 12px; padding: 0.75rem; min-width: 220px; }
.surve-settings-title { font-weight: 800; margin-bottom: 0.5rem; }
.surve-settings label { display: inline-flex; align-items: center; margin: 0.25rem 0.75rem 0.25rem 0; color: var(--surve-muted); }
.surve-settings label input[type="radio"] { margin-right: 0.35rem; }
.surve-settings select { width: 100%; padding: 0.4rem; border-radius: 8px; border: 1px solid var(--surve-border); background: transparent; color: inherit; }
.surve-settings-group { margin-bottom: 0.75rem; }
.surve-settings-label { font-weight: 600; margin-bottom: 0.25rem; }

.surve-select { width: 100%; max-width: 520px; padding: 0.5rem; border-radius: 10px; border: 1px solid var(--surve-border); background: transparent; color: inherit; }

.surve-modal { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: none; align-items: center; justify-content: center; z-index: 9999; }
.surve-modal.is-open { display: flex; }
.surve-modal-card { background: var(--surve-card); border: 1px solid var(--surve-border); border-radius: 14px; padding: 1rem; max-width: 520px; width: calc(100% - 2rem); }
.surve-modal-title { font-weight: 800; margin-bottom: .25rem; }
.surve-modal-body { color: var(--surve-muted); margin-bottom: .75rem; }
.surve-modal-actions { display: flex; gap: .5rem; justify-content: flex-end; }
