.level-feedback-backdrop {
  --feedback-ink: #182942;
  --feedback-muted: #53647b;
  --feedback-surface: #fffdf8;
  --feedback-line: #c7d3dd;
  --feedback-accent: #0e716f;
  --feedback-accent-dark: #075958;
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  align-items: end;
  justify-items: center;
  background: rgb(14 27 48 / 72%);
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}

.level-feedback-backdrop[hidden] { display: none; }

.level-feedback-dialog {
  box-sizing: border-box;
  width: min(100%, 560px);
  max-height: min(880px, calc(100dvh - 24px));
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--feedback-ink);
  background: var(--feedback-surface);
  border: 1px solid rgb(255 255 255 / 50%);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgb(0 0 0 / 32%);
  -webkit-overflow-scrolling: touch;
}

.level-feedback-dialog:focus { outline: none; }
.level-feedback-header, .level-feedback-form { padding-inline: 20px; }
.level-feedback-header { padding-top: 22px; }
.level-feedback-eyebrow { margin: 0 0 4px; color: var(--feedback-accent); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.level-feedback-header h2 { margin: 0; font-size: clamp(1.35rem, 5vw, 1.75rem); line-height: 1.15; }
.level-feedback-header p:last-child { margin: 8px 0 0; color: var(--feedback-muted); line-height: 1.4; }

.level-feedback-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin: 18px 0 0; padding: 12px 20px; background: #e9f4f2; }
.level-feedback-summary div { min-width: 0; }
.level-feedback-summary div + div { border-left: 1px solid #b9d7d3; padding-left: 12px; }
.level-feedback-summary dt { color: var(--feedback-muted); font-size: .72rem; font-weight: 700; }
.level-feedback-summary dd { margin: 3px 0 0; font-size: .9rem; font-weight: 800; overflow-wrap: anywhere; }
.level-feedback-form { padding-top: 18px; padding-bottom: max(20px, env(safe-area-inset-bottom)); }
.level-feedback-ratings, .level-feedback-issues { border: 0; margin: 0; padding: 0; }
.level-feedback-ratings legend, .level-feedback-issues legend { font-weight: 800; font-size: 1rem; }
.level-feedback-issues { margin-top: 22px; }
.level-feedback-issues legend span { display: block; margin-top: 2px; color: var(--feedback-muted); font-size: .82rem; font-weight: 500; }
.level-feedback-anchors { display: flex; justify-content: space-between; margin: 5px 0 12px; color: var(--feedback-muted); font-size: .72rem; }
.level-feedback-rating + .level-feedback-rating { margin-top: 13px; }
.level-feedback-rating > span { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 700; }
.level-feedback-score-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.level-feedback-score, .level-feedback-tag span, .level-feedback-actions button {
  min-height: 44px;
  border-radius: 10px;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}
.level-feedback-score { padding: 0; color: var(--feedback-ink); background: #f1f4f5; border: 1px solid var(--feedback-line); }
.level-feedback-score.is-selected { color: #fff; background: var(--feedback-accent); border-color: var(--feedback-accent); }
.level-feedback-score:focus-visible, .level-feedback-tag input:focus-visible + span, .level-feedback-actions button:focus-visible, .level-feedback-notes textarea:focus-visible { outline: 3px solid #e68d24; outline-offset: 2px; }

.level-feedback-tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.level-feedback-tag { position: relative; display: inline-flex; }
.level-feedback-tag input { position: absolute; opacity: 0; pointer-events: none; }
.level-feedback-tag span { display: inline-flex; align-items: center; padding: 0 12px; min-height: 42px; color: var(--feedback-ink); background: #f1f4f5; border: 1px solid var(--feedback-line); line-height: 1.1; }
.level-feedback-tag input:checked + span { color: #084e4d; background: #cfeae5; border-color: #2f8582; }
.level-feedback-notes { display: grid; gap: 7px; margin-top: 22px; }
.level-feedback-notes label { margin-top: 6px; font-size: .9rem; font-weight: 800; }
.level-feedback-notes textarea { box-sizing: border-box; width: 100%; min-height: 78px; resize: vertical; padding: 11px; color: var(--feedback-ink); background: #fff; border: 1px solid #9eafc0; border-radius: 10px; font: inherit; line-height: 1.35; }
.level-feedback-notes textarea::placeholder { color: #738195; opacity: 1; }
.level-feedback-actions { display: grid; gap: 10px; margin-top: 22px; }
.level-feedback-actions button { width: 100%; padding: 10px 16px; border: 1px solid transparent; }
.level-feedback-primary { color: #fff; background: var(--feedback-accent); }
.level-feedback-primary:active { background: var(--feedback-accent-dark); }
.level-feedback-secondary { color: #085a59; background: #d7eeea; border-color: #71aaa4 !important; }
.level-feedback-later { color: #34455b; background: transparent; border-color: #9eafc0 !important; }

@media (min-width: 390px) {
  .level-feedback-dialog { border-radius: 26px; }
  .level-feedback-header, .level-feedback-form { padding-inline: 24px; }
  .level-feedback-summary { padding-inline: 24px; }
  .level-feedback-score-row { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; }
  .level-feedback-score { min-height: 42px; }
  .level-feedback-actions { grid-template-columns: 1fr 1fr; }
  .level-feedback-later { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .level-feedback-backdrop *, .level-feedback-backdrop { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.journey-feedback-button{min-height:44px}
.level-feedback-export .journey-panel{max-height:min(88dvh,760px);overflow:auto}
.level-feedback-export .journey-panel__inset{display:grid;gap:12px;text-align:left}
.level-feedback-export .journey-panel__inset p{margin:0;color:#183d49}
.level-feedback-export .rp-asset-button{width:100%;min-height:48px}
