/* Hallmark · genre: modern-minimal · macrostructure: Workbench operational variant · design-system: design.md · designed-as-app
 * theme: custom · vibe: "quiet, polished, precise, trustworthy" · nav: N3 refined operations rail · footer: none
 * pre-emit critique: P5 H5 E4 S5 R4 V4 · nav: N3 · footer: none · slop: pass (42–49) · mobile: pass (34, 49–57)
 */
@import url("../shared/base.b717ec45a9e8.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: 5rem; align-content: center; gap: var(--space-2xs); padding: 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-lg); }
.admin-nav__label { padding: var(--space-md) var(--space-sm) var(--space-xs); color: var(--color-muted); font-size: var(--text-xs); font-weight: 650; }
.admin-nav a { display: grid; min-height: 2.75rem; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: center; padding-inline: var(--space-sm); 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-nav__code { color: var(--color-muted); font-size: var(--text-xs); font-variant-numeric: tabular-nums; }
.admin-nav a[aria-current="page"] .admin-nav__code { color: var(--color-accent); }
.admin-rail__footer { display: grid; gap: var(--space-xs); margin-block-start: auto; padding: 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: 4.25rem; 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 small { display: none; }
.admin-content { width: min(100% - 1.5rem, var(--content-max)); margin-inline: auto; }
.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-xs) var(--space-md); align-items: center; padding: var(--space-md); border-radius: var(--radius-sm); background: var(--color-paper-2); }
.review-row > :nth-child(2), .review-row > :nth-child(3) { grid-column: 1; }

@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-content { width: min(100% - 3rem, var(--content-max)); }
}

@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; }
}
