/* Hallmark · genre: modern-minimal · macrostructure: Index-First Console operational variant · design-system: design.md · designed-as-app
 * theme: custom · vibe: "clear, compact, operational, trustworthy" · nav: N3 task rail (user-directed) · footer: none
 * knob delta: independent admin rail, responsibility groups, runtime context, mobile drawer
 * pre-emit critique: P5 H5 E5 S5 R5 V4 · contrast: pass (40–41) · nav: N3 · footer: none
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49–57) · slop: pass (1–58)
 */
@import url("../shared/base.06b0b7a85678.css");

.admin-layout { min-height: 100dvh; }
.admin-rail {
  position: fixed;
  z-index: var(--z-modal);
  inset: 0 auto 0 0;
  display: flex;
  width: min(var(--admin-rail), calc(100% - 3rem));
  flex-direction: column;
  border-inline-end: var(--rule-thin) solid var(--color-rule);
  opacity: 0;
  overflow-y: auto;
  pointer-events: none;
  transform: translateX(-101%);
  background: var(--color-paper-2);
  box-shadow: var(--shadow-float);
  transition: transform var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out);
}
body.admin-nav-open .admin-rail { opacity: 1; pointer-events: auto; transform: translateX(0); }
.admin-brand { display: grid; min-height: calc(var(--control-height) + var(--space-lg)); align-content: center; gap: var(--space-2xs); padding: var(--space-md) var(--space-lg); color: var(--color-ink); font-family: var(--font-wordmark); text-decoration: none; }
.admin-brand strong { font-size: var(--text-lg); letter-spacing: -0.025em; }
.admin-brand span { color: var(--color-muted); font-family: var(--font-body); font-size: var(--text-xs); font-weight: 500; }
.admin-nav { display: grid; gap: var(--space-3xs); padding: 0 var(--space-sm) var(--space-md); }
.admin-nav__label { padding: var(--space-sm) var(--space-sm) var(--space-2xs); color: var(--color-muted); font-size: var(--text-xs); font-weight: 650; }
.admin-nav a { display: flex; min-height: var(--control-height); align-items: center; padding-inline: var(--space-md); border-radius: var(--radius-sm); color: var(--color-neutral); font-size: var(--text-sm); font-weight: 550; line-height: 1; text-decoration: none; white-space: nowrap; }
.admin-nav a[aria-current="page"] { background: var(--color-paper-raised); color: var(--color-ink); box-shadow: var(--shadow-card); font-weight: 650; }
.admin-nav a:active { background: var(--color-paper-3); }
.admin-rail__footer { display: grid; gap: var(--space-xs); margin-block-start: auto; padding: var(--space-md) var(--space-lg); border-block-start: var(--rule-thin) solid var(--color-rule); }
.admin-rail__footer strong, .admin-rail__footer small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-topbar { position: sticky; z-index: var(--z-sticky); inset-block-start: 0; display: flex; min-height: calc(var(--control-height) + var(--space-md)); align-items: center; justify-content: space-between; gap: var(--space-md); padding-inline: var(--space-md); border-block-end: var(--rule-thin) solid var(--color-rule); background: var(--color-frosted-header); backdrop-filter: saturate(180%) blur(24px); -webkit-backdrop-filter: saturate(180%) blur(24px); }
.admin-topbar__title { display: grid; min-width: 0; gap: var(--space-3xs); }
.admin-topbar__title strong { overflow: hidden; font-size: var(--text-md); text-overflow: ellipsis; white-space: nowrap; }
.admin-topbar__title-full { display: none; }
.admin-topbar__title-short { display: inline; }
.admin-topbar__title small { display: none; }
.admin-topbar__status { display: flex; align-items: center; gap: var(--space-xs); }
.admin-topbar__status .status:first-child { display: none; }
.admin-content { width: min(100% - 1.5rem, var(--content-max)); margin-inline: auto; }
.admin-content.page-main { gap: var(--space-md); padding-block: var(--space-md) var(--space-xl); }
.admin-content .page-head { gap: var(--space-md); padding-block: 0; }
.admin-content .page-head h1 { font-size: var(--text-2xl); }
.admin-content .page-head__copy { gap: var(--space-xs); }
.admin-content .page-head__copy p { font-size: var(--text-base); line-height: 1.45; }
.admin-content .surface__head { padding: var(--space-md); }
.admin-content .surface__head h2 { font-size: var(--text-lg); }
.admin-content .surface__body { padding: var(--space-md); }
.admin-content .metric { padding: var(--space-md); }
.admin-content .metric strong { margin-block-start: var(--space-xs); font-size: var(--text-lg); }
.admin-content .metric small { margin-block-start: var(--space-2xs); }
.admin-content .filter-bar { padding: var(--space-md); }
.admin-content .empty { min-height: auto; padding: var(--space-lg); }
.button.admin-menu-button { padding-inline: var(--space-md); }
.review-strip { display: grid; gap: var(--space-xs); }
.review-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-md); align-items: center; padding: var(--space-sm); border-radius: var(--radius-sm); background: var(--color-paper-2); }
.review-row > :nth-child(2), .review-row > :nth-child(3) { grid-column: 1; }
.admin-page-head { min-height: auto; }
.admin-filter-bar .field { gap: var(--space-2xs); }
.admin-metrics { gap: var(--space-sm); }
.admin-dashboard-grid { gap: var(--space-md); }
.admin-sales-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-md); padding-block-end: var(--space-sm); border-block-end: var(--rule-thin) solid var(--color-rule); }
.admin-sales-row:last-child { padding-block-end: 0; border-block-end: 0; }
.admin-sales-row small { grid-column: 1 / -1; }
.admin-inline-empty { display: grid; gap: var(--space-2xs); padding-block: var(--space-sm); }
.admin-empty .button { margin-block-start: var(--space-xs); }
.admin-account-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); align-items: start; }
.button--compact { padding-inline: var(--space-md); }
.recovery-code-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.mfa-qr svg { display: block; width: min(100%, 15rem); height: auto; }

.admin-account-table, .admin-invitation-table { min-width: 0; }
.admin-account-table thead, .admin-invitation-table thead { display: none; }
.admin-account-table, .admin-account-table tbody, .admin-account-table tr, .admin-account-table td,
.admin-invitation-table, .admin-invitation-table tbody, .admin-invitation-table tr, .admin-invitation-table td { display: block; width: 100%; }
.admin-account-table tr, .admin-invitation-table tr { padding: var(--space-xs) var(--space-md); border-block-end: var(--rule-thin) solid var(--color-rule); }
.admin-account-table tr:last-child, .admin-invitation-table tr:last-child { border-block-end: 0; }
.admin-account-table td, .admin-invitation-table td { display: grid; grid-template-columns: minmax(6rem, 0.45fr) minmax(0, 1fr); align-items: center; gap: var(--space-sm); padding: var(--space-xs) 0; border: 0; text-align: start !important; white-space: normal; }
.admin-account-table td::before, .admin-invitation-table td::before { content: attr(data-label); color: var(--color-muted); font-size: var(--text-xs); font-weight: 650; }

@media (hover: hover) and (pointer: fine) {
  .admin-nav a:hover { background: var(--color-paper-raised); color: var(--color-ink); }
}

@media (min-width: 40rem) {
  .admin-topbar { padding-inline: var(--space-lg); }
  .admin-topbar__title small { display: block; }
  .admin-topbar__title-full { display: inline; }
  .admin-topbar__title-short { display: none; }
  .admin-topbar__status .status:first-child { display: inline-flex; }
  .admin-content { width: min(100% - 3rem, var(--content-max)); }
  .admin-content.page-main { gap: var(--space-lg); padding-block-start: var(--space-lg); }
  .recovery-code-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 90rem) {
  .admin-account-table, .admin-invitation-table { display: table; }
  .admin-account-table thead, .admin-invitation-table thead { display: table-header-group; }
  .admin-account-table tbody, .admin-invitation-table tbody { display: table-row-group; }
  .admin-account-table tr, .admin-invitation-table tr { display: table-row; width: auto; padding: 0; border: 0; }
  .admin-account-table td, .admin-invitation-table td { display: table-cell; width: auto; padding: var(--space-sm) var(--space-md); border-block-end: var(--rule-thin) solid var(--color-rule); white-space: nowrap; }
  .admin-account-table td::before, .admin-invitation-table td::before { content: none; }
}

@media (min-width: 64rem) {
  .admin-layout { padding-inline-start: var(--admin-rail); }
  .admin-rail { z-index: var(--z-sticky); width: var(--admin-rail); opacity: 1; pointer-events: auto; transform: none; box-shadow: none; }
  .button.admin-menu-button { display: none; }
  .review-row { grid-template-columns: 11rem minmax(0, 1fr) 10rem 7rem; }
  .review-row > :nth-child(2), .review-row > :nth-child(3) { grid-column: auto; }
  .admin-account-layout { grid-template-columns: minmax(0, 1.8fr) minmax(18rem, 0.72fr); }
}

.product-form textarea { height: 7rem; min-height: 6rem; }

.agent-product { display: grid; gap: var(--space-sm); border: var(--rule-thin) solid var(--color-rule); border-radius: var(--radius-sm); padding: var(--space-md); }
.agent-product__head { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: start; justify-content: space-between; }
.agent-product__form { display: grid; gap: var(--space-md); align-items: start; }
.agent-product__form > .button { justify-self: start; }
@media (min-width: 60rem) { .agent-product__form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; } .agent-product__form > .button { margin-block-start: 1.6rem; } }
/* 详情页锚点需避开固定顶部栏，跳转后仍能看见配置区标题。 */
.admin-content section[id] { scroll-margin-top: calc(var(--control-height) + var(--space-xl)); }
