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

.feedback-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 20px;
}

.feedback-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .78);
  backdrop-filter: blur(10px);
}

.feedback-modal__dialog {
  position: relative;
  width: min(100%, 440px);
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 14px;
  background:
    radial-gradient(circle at 20% 0%, rgba(59, 130, 246, .18), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .98));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .05);
  color: #e5e7eb;
}

.feedback-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 0;
}

.feedback-modal__title {
  margin: 0;
  color: #f8fafc;
  font: 800 18px/24px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.feedback-modal__close {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 8px;
  background: rgba(15, 23, 42, .72);
  color: #cbd5e1;
  cursor: pointer;
}

.feedback-modal__close:hover,
.feedback-modal__close:focus-visible {
  border-color: rgba(96, 165, 250, .55);
  color: #fff;
  outline: none;
}

.feedback-modal__form {
  display: grid;
  gap: 12px;
  padding: 16px 20px 20px;
}

.feedback-modal__label {
  display: grid;
  gap: 6px;
  color: #cbd5e1;
  font: 700 12px/16px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.feedback-modal__input,
.feedback-modal__select,
.feedback-modal__textarea {
  width: 100%;
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 10px;
  background: rgba(15, 23, 42, .82);
  color: #f8fafc;
  font: 500 14px/20px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  outline: none;
}

.feedback-modal__input,
.feedback-modal__select {
  height: 42px;
  padding: 0 12px;
}

.feedback-modal__textarea {
  min-height: 120px;
  resize: vertical;
  padding: 11px 12px;
}

.feedback-modal__input:focus,
.feedback-modal__select:focus,
.feedback-modal__textarea:focus {
  border-color: rgba(96, 165, 250, .7);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .15);
}

.feedback-modal__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 2px;
}

.feedback-modal__button {
  min-height: 40px;
  border: 1px solid rgba(96, 165, 250, .38);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(59, 130, 246, .9), rgba(37, 99, 235, .86));
  color: #fff;
  cursor: pointer;
  font: 800 13px/16px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  padding: 0 16px;
}

.feedback-modal__button:disabled {
  cursor: wait;
  opacity: .72;
}

.feedback-modal__secondary {
  min-height: 40px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 10px;
  background: rgba(15, 23, 42, .7);
  color: #cbd5e1;
  cursor: pointer;
  font: 800 13px/16px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  padding: 0 14px;
}

.feedback-modal__status {
  min-height: 18px;
  margin: 0;
  color: #93c5fd;
  font: 600 12px/18px Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.feedback-modal__status.is-error {
  color: #fca5a5;
}

.feedback-modal__status.is-success {
  color: #86efac;
}

@media (max-width: 767px) {
  .feedback-modal {
    place-items: start center;
    padding: 64px 12px 16px;
    overflow-y: auto;
  }

  .feedback-modal__dialog {
    border-radius: 12px;
  }
}
