/* Shared, accessible response cards for operator checks and consultation requests. */
body.feedback-open { overflow: hidden; }
.feedback-dialog {
  --feedback-color: #166951;
  --feedback-tint: #edf6ee;
  width: min(460px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin: auto;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 28px;
  background: #fffefa;
  color: #122d25;
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 32px 100px #041c2559;
  font-family: inherit;
}
.feedback-dialog::backdrop { background: #071e19b8; backdrop-filter: blur(8px); }
.feedback-dialog[open] { animation: feedback-enter .28s cubic-bezier(.2,.8,.2,1) both; }
.feedback-dialog[data-state="warning"] { --feedback-color: #96600f; --feedback-tint: #fff4dc; }
.feedback-dialog[data-state="error"] { --feedback-color: #ae4035; --feedback-tint: #fff0ed; }
.feedback-card { padding: 18px 28px 26px; background: radial-gradient(ellipse at 50% 20%, var(--feedback-tint), transparent 58%); }
.feedback-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.feedback-brand { font-size: 10px; font-weight: 800; letter-spacing: .16em; color: #60726a; }
.feedback-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #17362c12; border-radius: 50%; background: #ffffffb3; color: #436157; cursor: pointer; }
.feedback-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.feedback-emblem { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 22px; border-radius: 27px; background: var(--feedback-tint); color: var(--feedback-color); box-shadow: 0 0 0 7px #ffffffa6, 0 0 0 8px #142f2510; }
.feedback-emblem svg { width: 45px; height: 45px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.feedback-check { stroke-width: 2.6; }
.feedback-alert { display: none; stroke-width: 3; }
.feedback-dialog:not([data-state="success"]) .feedback-check { display: none; }
.feedback-dialog:not([data-state="success"]) .feedback-alert { display: block; }
.feedback-eyebrow { margin: 0 0 9px; text-align: center; font-size: 10px; line-height: 1.5; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: var(--feedback-color); }
.feedback-dialog h2 { margin: 0; text-align: center; font-size: clamp(23px, 5.5vw, 29px); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; }
.feedback-message { margin: 14px 0 22px; text-align: center; color: #52695e; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.feedback-details { margin: 0 0 22px; border: 1px solid #173a2514; border-radius: 18px; background: #ffffffbf; overflow: hidden; }
.feedback-details > div { display: grid; gap: 4px; padding: 12px 17px; }
.feedback-details > div + div { border-top: 1px solid #173a2510; }
.feedback-details dt { color: #62766c; font-size: 11px; line-height: 1.5; }
.feedback-details dd { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.feedback-details [data-detail="phone"] dd { font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.feedback-actions { display: grid; gap: 10px; }
.feedback-confirm { width: 100%; min-height: 50px; padding: 13px 20px; border: 0; border-radius: 14px; background: #173e31; color: #fff; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; transition: background .2s, transform .2s; }
.feedback-confirm:hover { background: #245541; }
.feedback-confirm:active { transform: scale(.985); }
.feedback-support { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 8px; color: #365e4e; font-size: 13px; font-weight: 700; text-decoration: none; }
.feedback-dialog [hidden] { display: none; }
.feedback-dialog :focus-visible { outline: 3px solid #87b74a; outline-offset: 3px; }
.request-spinner { display: none; width: 16px; height: 16px; flex: 0 0 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; }
.loading > .request-spinner { display: inline-block; animation: request-spin .8s linear infinite; }
.operator-form button, .lead-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.operator-form button:disabled, .lead-form button:disabled { cursor: wait; opacity: .8; }
.operator-form input[aria-invalid="true"] { outline: 2px solid #f2ba71; outline-offset: 2px; }
@keyframes request-spin { to { transform: rotate(360deg); } }
@keyframes feedback-enter { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 400px) {
  .feedback-dialog { width: calc(100% - 24px); border-radius: 24px; }
  .feedback-card { padding: 12px 20px 20px; }
  .feedback-emblem { width: 66px; height: 66px; border-radius: 22px; margin-bottom: 18px; }
  .feedback-message { font-size: 13px; }
}
@media (max-height: 640px) {
  .feedback-topline { margin-bottom: 0; }
  .feedback-emblem { width: 54px; height: 54px; border-radius: 18px; margin-bottom: 14px; }
  .feedback-emblem svg { width: 33px; height: 33px; }
  .feedback-message { margin: 10px 0 14px; }
  .feedback-details { margin-bottom: 14px; }
  .feedback-details > div { padding: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .feedback-dialog[open], .loading > .request-spinner { animation: none; }
  .feedback-confirm { transition: none; }
}
