/* Admin record pages: one document scroll and consistent linked-record navigation. */
#record-return-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 18px;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto 18px;
  padding: 12px 16px;
  border: 1px solid var(--stroke);
  border-radius: 12px;
  background: rgba(142, 240, 203, 0.035);
  color: var(--ink-soft);
  font-size: 0.86rem;
}

#record-return-bar p { margin: 0; }
#record-return-bar button { min-height: 38px; }

.module[data-workspace="orders"]:has(#order-detail-panel:not(.hidden)) > .module-head,
.module[data-workspace="orders"]:has(#order-detail-panel:not(.hidden)) #orders-directory,
.module[data-workspace="support"]:has(#support-detail-panel:not(.hidden)) > .module-head,
.module[data-workspace="support"]:has(#support-detail-panel:not(.hidden)) .support-directory,
.module:has(:is(.record-detail, .record-detail-panel):not(.hidden)) .record-directory {
  display: none !important;
}

.module[data-workspace="support"]:has(#support-detail-panel:not(.hidden)) ~ .module[data-workspace="support"].utility-card {
  display: none !important;
}

.module:has(:is(.record-detail, .record-detail-panel):not(.hidden)) > .workspace-shell-grid {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 0;
}

.module :is(.record-detail, .record-detail-panel) {
  position: static;
  top: auto;
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 1120px;
  min-width: 0;
  max-height: none;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  overscroll-behavior: auto;
  scrollbar-gutter: auto;
}

:is(.record-detail, .record-detail-panel) .record-detail-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.record-detail-navigation .eyebrow {
  margin: 0;
  color: var(--mint);
}

:is(.record-detail, .record-detail-panel) .record-back {
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 0.9rem;
}

:is(.record-detail, .record-detail-panel) .record-detail-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 24px;
  padding: 24px;
  border: 1px solid rgba(142, 240, 203, 0.17);
  border-radius: 18px;
  background: linear-gradient(115deg, rgba(142, 240, 203, 0.065), rgba(255, 255, 255, 0.015) 68%);
}

:is(.record-detail, .record-detail-panel) .record-detail-identity { min-width: 0; }

:is(.record-detail, .record-detail-panel) .record-detail-header h3 {
  max-width: none;
  margin: 0;
  font-size: clamp(1.6rem, 2.5vw, 2.1rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

:is(.record-detail, .record-detail-panel) .record-detail-header .sub {
  margin: 8px 0 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

:is(.record-detail, .record-detail-panel) .record-detail-header-side {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 12px;
  min-width: 0;
}

:is(.record-detail, .record-detail-panel) .order-detail-status-badge {
  min-height: 30px;
  max-width: 100%;
  padding: 6px 11px;
  border-radius: 8px;
  font-size: 0.78rem;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
  white-space: normal;
}

:is(.record-detail, .record-detail-panel) .record-order-total {
  margin: 0;
  color: var(--mint);
  font-size: 1.55rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

:is(.record-detail, .record-detail-panel) .record-detail-content,
:is(.record-detail, .record-detail-panel) .record-order-metadata {
  display: grid;
  gap: 20px;
  min-width: 0;
}

:is(.record-detail, .record-detail-panel) .record-detail-content { margin-top: 22px; }
:is(.record-detail, .record-detail-panel) > .message { margin: 14px 0 0; }
:is(.record-detail, .record-detail-panel) .message:empty { display: none; }

:is(.record-detail, .record-detail-panel) .record-section {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--stroke);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.018);
}

:is(.record-detail, .record-detail-panel) .record-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

:is(.record-detail, .record-detail-panel) .record-section-head > div { min-width: 0; }
:is(.record-detail, .record-detail-panel) .record-section-head .sub { margin: 7px 0 0; }

:is(.record-detail, .record-detail-panel) .record-section h4,
:is(.record-detail, .record-detail-panel) .record-section-head h4,
:is(.record-detail, .record-detail-panel) .record-section h5,
:is(.record-detail, .record-detail-panel) .record-disclosure h4 {
  margin: 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

:is(.record-detail, .record-detail-panel) .record-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

:is(.record-detail, .record-detail-panel) .record-grid > div { min-width: 0; }
:is(.record-detail, .record-detail-panel) .record-order-fulfillment { padding-top: 18px; border-top: 1px solid var(--stroke); }
:is(.record-detail, .record-detail-panel) .record-order-fulfillment h5 { color: var(--muted); font-size: 0.84rem; font-weight: 400; }
:is(.record-detail, .record-detail-panel) .record-order-fulfillment p { margin: 7px 0 0; color: var(--ink-soft); line-height: 1.55; overflow-wrap: anywhere; }

:is(.record-detail, .record-detail-panel) .record-links {
  display: grid;
  gap: 0;
  margin: 0;
}

:is(.record-detail, .record-detail-panel) .record-links .context-link {
  display: block;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid rgba(158, 187, 231, 0.1);
  border-radius: 0;
  color: var(--ink-soft);
  text-align: left;
  background: transparent;
  box-shadow: none;
}

:is(.record-detail, .record-detail-panel) .record-links .context-link:first-child { padding-top: 0; }
:is(.record-detail, .record-detail-panel) .record-links .context-link:last-child { padding-bottom: 0; border-bottom: 0; }
:is(.record-detail, .record-detail-panel) .record-links .context-link:hover:not(:disabled) { color: var(--mint); transform: none; }
:is(.record-detail, .record-detail-panel) .record-links .context-item { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
:is(.record-detail, .record-detail-panel) .record-links .context-item strong { color: inherit; font-size: 0.94rem; }
:is(.record-detail, .record-detail-panel) .record-links .context-meta { margin-top: 4px; font-size: 0.84rem; overflow-wrap: anywhere; }

:is(.record-detail, .record-detail-panel) .record-disclosure {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--stroke);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.012);
}

:is(.record-detail, .record-detail-panel) .record-disclosure > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 18px 20px;
  border-radius: inherit;
  cursor: pointer;
  list-style: none;
  font-size: 0.95rem;
  font-weight: 600;
}

:is(.record-detail, .record-detail-panel) .record-disclosure > summary::-webkit-details-marker { display: none; }
:is(.record-detail, .record-detail-panel) .record-disclosure > summary::after { content: "+"; margin-left: auto; color: var(--muted); font-size: 1.1rem; font-weight: 400; }
:is(.record-detail, .record-detail-panel) .record-disclosure[open] > summary::after { content: "−"; }
:is(.record-detail, .record-detail-panel) .record-disclosure > summary:hover { background: rgba(142, 240, 203, 0.035); }
:is(.record-detail, .record-detail-panel) .record-disclosure-body { min-width: 0; padding: 0 20px 20px; }
:is(.record-detail, .record-detail-panel) .record-disclosure-body > .sub:first-child { margin-top: 0; }

:is(.record-detail, .record-detail-panel) .record-facts,
:is(.record-detail, .record-detail-panel) .detail-fact-stack,
:is(.record-detail, .record-detail-panel) .order-detail-fact-list { display: grid; gap: 0; margin: 0; min-width: 0; }

:is(.record-detail, .record-detail-panel) .record-fact,
:is(.record-detail, .record-detail-panel) .detail-fact-row,
:is(.record-detail, .record-detail-panel) .order-detail-fact-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.65fr) minmax(0, 1.35fr);
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border-top: 0;
  border-bottom: 1px solid rgba(158, 187, 231, 0.1);
}

:is(.record-detail, .record-detail-panel) :is(.record-fact, .detail-fact-row, .order-detail-fact-row):first-child { padding-top: 0; }
:is(.record-detail, .record-detail-panel) :is(.record-fact, .detail-fact-row, .order-detail-fact-row):last-child { padding-bottom: 0; border-bottom: 0; }
:is(.record-detail, .record-detail-panel) :is(.record-fact dt, .detail-fact-label, .order-detail-fact-label) { margin: 0; color: var(--muted); font-size: 0.84rem; font-weight: 400; line-height: 1.45; text-transform: none; letter-spacing: 0; }
:is(.record-detail, .record-detail-panel) :is(.record-fact dd, .detail-fact-value, .order-detail-fact-value) { min-width: 0; margin: 0; color: var(--ink-soft); font-size: 0.92rem; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }

:is(.record-detail, .record-detail-panel) .record-form { display: grid; gap: 12px; margin: 18px 0 0; }
:is(.record-detail, .record-detail-panel) .record-form .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
:is(.record-detail, .record-detail-panel) .record-form :is(input, textarea, select) { min-width: 0; border-radius: 10px; }
:is(.record-detail, .record-detail-panel) .record-form textarea { resize: vertical; }
:is(.record-detail, .record-detail-panel) .record-form-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
:is(.record-detail, .record-detail-panel) .record-form-actions .module-actions { margin: 0 0 0 auto; }
:is(.record-detail, .record-detail-panel) .record-rating-section .rating-visual-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
:is(.record-detail, .record-detail-panel) #order-rating-audit { margin-bottom: 0; font-size: 0.8rem; }

/* Support conversation and composer share the same record hierarchy. */
#support-detail-panel .record-detail-header { margin-bottom: 20px; }
#support-detail-panel > .record-section,
#support-detail-panel > .record-disclosure { margin-top: 20px; }
#support-detail-panel #support-detail-links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 2px; }
#support-detail-panel #support-detail-links button { min-height: 40px; padding: 9px 13px; border-radius: 10px; }
#support-detail-panel .record-conversation { display: grid; gap: 0; margin-top: 18px; }
#support-detail-panel .record-message { min-width: 0; padding: 18px 0; border-bottom: 1px solid rgba(158, 187, 231, 0.1); }
#support-detail-panel .record-message:first-child { padding-top: 0; }
#support-detail-panel .record-message:last-child { border-bottom: 0; padding-bottom: 0; }
#support-detail-panel .record-message-header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 9px; }
#support-detail-panel .record-message-header strong { font-size: 0.92rem; color: var(--ink); }
#support-detail-panel .record-message-header :is(time, .sub, .record-message-meta) { font-size: 0.79rem; color: var(--muted); }
#support-detail-panel .record-message-body { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ink-soft); line-height: 1.65; font-size: 0.94rem; }
#support-detail-panel .record-message.is-internal { margin: 14px 0; padding: 16px; border: 1px solid rgba(247, 200, 115, 0.15); border-left: 2px solid var(--amber); border-radius: 9px; background: rgba(247, 200, 115, 0.035); }
#support-detail-panel .record-message.is-internal .record-message-header strong { color: var(--amber); }
#support-detail-panel .support-composer-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 3px; }
#support-detail-panel .support-composer-tabs button { min-height: 40px; padding: 8px 13px; border: 1px solid var(--stroke); border-radius: 9px; background: transparent; color: var(--muted); font-size: 0.86rem; box-shadow: none; }
#support-detail-panel .support-composer-tabs button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]) { border-color: rgba(142, 240, 203, 0.3); color: var(--mint); background: rgba(142, 240, 203, 0.065); }
#support-detail-panel #support-message-body { min-height: 140px; }
#support-detail-panel :is(#support-message-hint, #support-message-status) { margin: 0; font-size: 0.83rem; line-height: 1.5; }

:is(.record-detail, .record-detail-panel) :is(button, summary, a, input, textarea, select, [tabindex]):focus-visible,
#record-return-bar :is(button, a):focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
:is(.record-detail, .record-detail-panel) .record-disclosure > summary:focus-visible { outline-offset: -4px; }

@media (max-width: 780px) {
  :is(.record-detail, .record-detail-panel) .record-detail-header { gap: 18px; padding: 20px; }
  :is(.record-detail, .record-detail-panel) .record-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  :is(.record-detail, .record-detail-panel) .record-detail-header-side { max-width: 190px; }
}

@media (max-width: 520px) {
  #record-return-bar { padding: 12px; }
  :is(.record-detail, .record-detail-panel) .record-detail-navigation { gap: 10px; margin-bottom: 16px; }
  :is(.record-detail, .record-detail-panel) .record-detail-navigation .eyebrow { display: none; }
  :is(.record-detail, .record-detail-panel) .record-detail-header { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 16px; }
  :is(.record-detail, .record-detail-panel) .record-detail-header-side { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; width: 100%; max-width: none; gap: 10px; }
  :is(.record-detail, .record-detail-panel) .record-order-total { margin-left: auto; font-size: 1.4rem; }
  :is(.record-detail, .record-detail-panel) .record-section { padding: 16px; }
  :is(.record-detail, .record-detail-panel) .record-detail-content { gap: 16px; margin-top: 16px; }
  :is(.record-detail, .record-detail-panel) .record-disclosure > summary { padding: 16px; }
  :is(.record-detail, .record-detail-panel) .record-disclosure-body { padding: 0 16px 16px; }
  :is(.record-detail, .record-detail-panel) :is(.record-fact, .detail-fact-row, .order-detail-fact-row) { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  :is(.record-detail, .record-detail-panel) .record-form .field-row { grid-template-columns: minmax(0, 1fr); }
  :is(.record-detail, .record-detail-panel) .record-form :is(input, textarea, select) { font-size: 16px; }
  :is(.record-detail, .record-detail-panel) .record-form-actions { align-items: stretch; }
  :is(.record-detail, .record-detail-panel) .record-form-actions > .module-actions { flex-wrap: wrap; }
  #support-detail-panel .record-message-header { align-items: start; flex-direction: column; }
  #support-detail-panel #support-detail-links button { flex: 1 1 auto; }
}

/* Storefront records use the same focused document and preserve their directory. */
.module[data-workspace="providers"]:has(#storefront-detail-panel.record-detail-panel:not(.hidden)) > .module-head,
.module[data-workspace="providers"]:has(#storefront-detail-panel.record-detail-panel:not(.hidden)) > form,
.module[data-workspace="providers"]:has(#storefront-detail-panel.record-detail-panel:not(.hidden)) > #storefronts-status,
.module[data-workspace="providers"]:has(#storefront-detail-panel.record-detail-panel:not(.hidden)) > .workspace-shell-grid > .workspace-surface {
  display: none !important;
}

#storefront-detail-panel.record-detail-panel > .record-disclosure,
#storefront-detail-panel.record-detail-panel > .record-section,
#storefront-detail-panel.record-detail-panel > .workspace-note {
  margin-top: 20px;
}

#storefront-detail-panel.record-detail-panel > .detail-banner {
  margin-bottom: 20px;
}

#storefront-detail-panel.record-detail-panel .workspace-note {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--stroke);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

#storefront-detail-panel.record-detail-panel .record-disclosure > .workspace-note {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#storefront-detail-panel.record-detail-panel .workspace-detail-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

#storefront-detail-panel.record-detail-panel .user-detail-grid {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 520px) {
  #storefront-detail-panel.record-detail-panel .workspace-note { padding: 16px; }
  #storefront-detail-panel.record-detail-panel .workspace-detail-actions > button { min-height: 40px; }
}

/* Keep focused record headings and Back controls below the admin navigation. */
.module :is(.record-detail, .record-detail-panel),
#user-detail-panel {
  scroll-margin-top: 104px;
}

#order-detail-heading,
#support-detail-heading,
#storefront-detail-heading {
  font-family: inherit;
}

#order-detail-heading:focus-visible,
#support-detail-heading:focus-visible,
#storefront-detail-heading:focus-visible {
  outline: none;
}

/* A linked provider opens a compact payout context within the Finance workspace. */
#finance-payouts-list .finance-provider-context {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--stroke);
}

#finance-payouts-list .finance-provider-context > div { min-width: 0; flex: 1 1 220px; }
#finance-payouts-list .finance-provider-context .sub { margin: 7px 0 0; line-height: 1.5; }
#finance-provider-payout-heading { margin: 0; font-family: inherit; font-size: 1.15rem; line-height: 1.35; overflow-wrap: anywhere; scroll-margin-top: 104px; }
#finance-provider-payout-heading:focus-visible { outline: none; }
#finance-payouts-list .finance-provider-context button { min-height: 40px; padding: 9px 13px; border-radius: 10px; }

#finance-payouts-list .finance-provider-payout-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 20px;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid rgba(158, 187, 231, 0.1);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#finance-payouts-list .finance-provider-payout-row:last-child { padding-bottom: 0; border-bottom: 0; }
#finance-payouts-list .finance-provider-payout-main { display: grid; gap: 6px; min-width: 0; }
#finance-payouts-list .finance-provider-payout-main > strong { color: var(--ink); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
#finance-payouts-list .finance-provider-payout-main .context-meta { color: var(--muted); font-size: 0.83rem; line-height: 1.45; overflow-wrap: anywhere; }
#finance-payouts-list .finance-provider-payout-empty { margin: 0; padding: 18px 0 0; color: var(--muted); line-height: 1.5; }

/* Provider context temporarily focuses Finance on its linked payout records. */
.module[data-workspace="finance"]:has(.finance-provider-context) {
  width: 100%;
  max-width: 1120px;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}

.module[data-workspace="finance"]:has(.finance-provider-context) > .finance-kpi-grid,
.module[data-workspace="finance"]:has(.finance-provider-context) > .finance-summary-grid,
.module[data-workspace="finance"]:has(.finance-provider-context) .finance-tab-bar {
  display: none !important;
}

.module[data-workspace="finance"]:has(.finance-provider-context) .finance-console-shell,
.module[data-workspace="finance"]:has(.finance-provider-context) .finance-payout-shell {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.module[data-workspace="finance"]:has(.finance-provider-context) .finance-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.module[data-workspace="finance"]:has(.finance-provider-context) > .module-head {
  margin-bottom: 20px;
}

.module[data-workspace="finance"]:has(.finance-provider-context) .module-head .eyebrow {
  display: none;
}

.module[data-workspace="finance"]:has(.finance-provider-context) .module-head h3 {
  margin: 0;
  font-family: inherit;
  font-size: 1.1rem;
  line-height: 1.4;
}

.module[data-workspace="finance"]:has(.finance-provider-context) #finance-payouts-list {
  margin-top: 16px;
}

.module[data-workspace="finance"]:has(.finance-provider-context) #finance-provider-payout-heading {
  scroll-margin-top: 280px;
}

#dashboard-panel:has(> .module[data-workspace="finance"]:not(.hidden) .finance-provider-context) > #record-return-bar {
  position: sticky;
  top: 104px;
  z-index: 17;
  background: #102139;
}

#storefront-detail-panel.record-detail-panel > .detail-banner {
  margin-bottom: 0;
}

@media (max-width: 520px) {
  #storefront-detail-panel.record-detail-panel .workspace-detail-actions {
    flex-direction: column;
    align-items: stretch;
  }
  #storefront-detail-panel.record-detail-panel .workspace-detail-actions > button {
    width: 100%;
    flex: 1 1 auto;
  }
  :is(.record-detail, .record-detail-panel) .record-detail-navigation {
    flex-wrap: wrap;
  }
  :is(.record-detail, .record-detail-panel) .record-detail-navigation button {
    max-width: 100%;
    white-space: normal;
    text-align: left;
  }
  :is(.record-detail, .record-detail-panel) .record-detail-navigation .eyebrow {
    margin-left: auto;
  }
}
