/* Client review layer for the Xtreme Studio concept pages.
   Deliberately neutral so it reads as a review tool, not part of any design. */
.xr, .xr *, .xr-bar, .xr-bar *, .xr-dlg, .xr-dlg *, .xr-hub, .xr-hub * { box-sizing: border-box; }

.xr, .xr-bar, .xr-dlg, .xr-hub {
  --xr-bg: #f4f6f9;
  --xr-line: #c5ceda;
  --xr-ink: #18212c;
  --xr-muted: #4a5563;
  --xr-accent: #1f4e79;
  --xr-ok: #1e6b43;
  --xr-chg: #8a4b08;
  --xr-focus: #1f4e79;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  font-style: normal;
  color: var(--xr-ink);
  text-align: left;
}
.xr :focus-visible, .xr-bar :focus-visible, .xr-dlg :focus-visible, .xr-hub :focus-visible {
  outline: 3px solid var(--xr-focus); outline-offset: 2px;
}

/* Per-section strip */
.xr { position: relative; z-index: 2; clear: both; padding: 20px 16px; background: #fff; }
.xr__in {
  width: min(56rem, 100%); margin: 0 auto; padding: 16px 18px 18px;
  background: var(--xr-bg); border: 1px solid var(--xr-line); border-left: 4px solid var(--xr-accent); border-radius: 10px;
}
.xr__eyebrow { margin: 0; font-size: 14px; font-weight: 600; color: var(--xr-accent); }
.xr__title { margin: 2px 0 12px; font-size: 18px; font-weight: 600; color: var(--xr-ink); }
.xr__choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.xr__btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 8px 16px;
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none;
  background: #fff; border: 2px solid currentColor; border-radius: 999px; cursor: pointer; box-shadow: none;
}
.xr__btn svg { width: 16px; height: 16px; flex: none; }
.xr__btn .xr__mark { display: none; }
.xr__btn[aria-pressed="true"] .xr__mark { display: inline; }
.xr__btn--ok { color: var(--xr-ok); }
.xr__btn--chg { color: var(--xr-chg); }
.xr__btn--ok[aria-pressed="true"] { background: var(--xr-ok); border-color: var(--xr-ok); color: #fff; }
.xr__btn--chg[aria-pressed="true"] { background: var(--xr-chg); border-color: var(--xr-chg); color: #fff; }
.xr__label { display: block; margin: 0 0 4px; font-size: 15px; font-weight: 600; color: var(--xr-ink); }
.xr__note {
  display: block; width: 100%; min-height: 88px; margin: 0; padding: 10px 12px; resize: vertical;
  font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--xr-ink);
  background: #fff; border: 1px solid #8b96a5; border-radius: 8px; box-shadow: none;
}
.xr__note::placeholder { color: #5f6b7a; opacity: 1; }
.xr__saved { min-height: 21px; margin: 6px 0 0; font-size: 14px; color: var(--xr-muted); }
.xr__intro { margin: 0 0 12px; font-size: 15px; color: var(--xr-muted); }

/* Sticky progress bar */
.xr-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  padding: 10px 16px; background: #fff; border-top: 1px solid var(--xr-line);
  box-shadow: 0 -6px 18px -12px rgba(24, 33, 44, .45);
}
.xr-bar__txt { margin: 0; font-size: 15px; }
.xr-bar__txt strong { font-weight: 600; }
.xr-bar__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.xr-bar__link { color: var(--xr-accent); font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.xr-send {
  display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 8px 18px;
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none;
  color: #fff; background: var(--xr-accent); border: 2px solid var(--xr-accent); border-radius: 999px; cursor: pointer;
}
.xr-send:hover { background: #163a5b; }

/* Send dialog */
.xr-dlg {
  width: min(40rem, calc(100% - 24px)); max-height: calc(100% - 24px); margin: auto; padding: 0;
  background: #fff; border: 1px solid var(--xr-line); border-radius: 12px; overflow: auto;
}
.xr-dlg::backdrop { background: rgba(24, 33, 44, .55); }
.xr-dlg__in { padding: 20px 20px 22px; }
.xr-dlg h2 { margin: 0 0 8px; font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: normal; text-transform: none; color: var(--xr-ink); }
.xr-dlg p { margin: 0 0 12px; font-size: 16px; color: var(--xr-ink); }
.xr-dlg .xr__label { margin-top: 4px; }
.xr-dlg textarea {
  display: block; width: 100%; height: 14rem; margin: 0 0 14px; padding: 10px 12px; resize: vertical;
  font: 400 14px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--xr-ink);
  background: var(--xr-bg); border: 1px solid #8b96a5; border-radius: 8px;
}
.xr-dlg__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.xr-dlg__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 8px 18px;
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; letter-spacing: normal; text-transform: none;
  color: var(--xr-accent); background: #fff; border: 2px solid var(--xr-accent); border-radius: 999px; cursor: pointer;
}
.xr-dlg__btn--primary { color: #fff; background: var(--xr-accent); }
.xr-dlg__help { font-size: 15px !important; color: var(--xr-muted) !important; }
.xr-dlg__warn { padding: 10px 12px; background: #fff6e8; border: 1px solid #e3c08d; border-radius: 8px; }
.xr-dlg__status { min-height: 24px; margin: 0 !important; font-weight: 600; color: var(--xr-ok) !important; }

/* Selection page additions */
.xr-hub .xr-send { max-width: 100%; white-space: normal; text-align: center; }
.xr-hub__progress { margin: 0; font-size: 15px; font-weight: 600; color: var(--xr-accent); }

@media (max-width: 480px) {
  .xr { padding: 16px 12px; }
  .xr__in { padding: 14px 14px 16px; }
  .xr-bar { flex-wrap: nowrap; padding: 8px 12px; }
  .xr-bar__txt { font-size: 14px; }
  .xr-bar__link, .xr-hide-sm { display: none; }
  .xr-send { padding: 8px 14px; white-space: nowrap; }
}
@media (max-width: 359px) {
  .xr-bar { flex-wrap: wrap; }
}
@media (forced-colors: active) {
  .xr__in, .xr-bar, .xr-dlg { border: 1px solid CanvasText; }
  .xr__btn[aria-pressed="true"] { outline: 3px solid Highlight; }
}
@media print { .xr-bar { display: none; } }
