/*
 * Editorial Operations Desk
 * A quiet, evidence-first control plane layered over the existing product
 * contracts. This file intentionally contains only presentation rules.
 */
:root {
  --v2-green-950:#062f23;
  --v2-green-900:#073f2e;
  --v2-green-800:#075f42;
  --v2-green-700:#008f4f;
  --v2-green-100:#d7f0e2;
  --v2-green-50:#f0f9f4;
  --v2-ink:#18201d;
  --v2-ink-2:#3f4945;
  --v2-muted:#5f6964;
  --v2-line:#dfe4df;
  --v2-line-strong:#cbd2cc;
  /* Form-control and card boundaries are non-text UI: WCAG 1.4.11 wants 3:1.
     --v2-line-strong is 1.54:1 on white and reads as decoration, not edge. */
  --v2-control-edge:#9aa5a0;
  --mobile-tabbar-height:60px;
  --v2-porcelain:#f5f6f2;
  --v2-paper:#ffffff;
  --v2-paper-soft:#fafbf8;
  --v2-warm:#f2efe8;
  --v2-danger:#a63d3d;
  --v2-warning:#996514;
  --v2-focus:#007b52;
  --v2-brand-red:#ef342f;
  --v2-brand-blue:#079bd3;
  --utility-rail-width:72px;
  --context-sidebar-width:232px;
  --shell-topbar-height:57px;

  /* Keep existing templates on the same palette without changing semantics. */
  --g:#24634f;
  --g-d:#1b4b3b;
  --g-soft:#eef6f1;
  --ink:var(--v2-ink);
  --ink-2:var(--v2-ink-2);
  --mut:var(--v2-muted);
  --soft:#f0f2ee;
  --line:var(--v2-line);
  --line-strong:var(--v2-line-strong);
  --bg:var(--v2-porcelain);
  --panel:var(--v2-paper);
  --panel-strong:var(--v2-paper-soft);
  --panel-tint:var(--v2-paper-soft);
  --focus:var(--v2-focus);
  --shadow:none;
  --shadow-tight:none;
}

html.editorial-shell body {
  min-width:320px;
  color:var(--v2-ink);
  background:var(--v2-porcelain);
  background-image:none;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;
  line-height:1.55;
}

.editorial-shell .skip-link {
  position:fixed;
  top:8px;
  z-index:80;
  transform:translateY(calc(-100% - 16px));
  transition:transform .12s ease;
}

.editorial-shell .skip-link:focus {
  top:8px;
  transform:translateY(0);
}

html.editorial-shell body.admin-body .skip-link {
  left:calc(var(--utility-rail-width) + 8px);
}

.editorial-shell :is(#main,#admin-menu) {
  scroll-margin-top:calc(var(--shell-topbar-height) + 8px);
}

.editorial-shell :is(
  .bar,
  .card,
  .panel,
  .table-panel,
  .stat,
  .summary-card,
  .status-summary-tile,
  .page-header,
  .hero.compact,
  .login-panel,
  .login-side,
  .code-panel,
  .code-head,
  .flow-step,
  .governance-link,
  .ops-bridge,
  .admin-personal-key-cta,
  .maintenance-shell .card,
  .empty-state,
  .summary-chip,
  .status-banner,
  .mobile-tabbar
) {
  background-image:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.editorial-shell .brand::before,
.editorial-shell .stat::before,
.editorial-shell .summary-card::before,
.editorial-shell .status-summary-tile::before,
.editorial-shell .page-header::before,
.editorial-shell .hero.compact::before,
.editorial-shell .login-panel::before {
  display:none;
}

.editorial-shell a {
  color:var(--v2-green-800);
}

.editorial-shell :is(a, button, summary, input, select, textarea):focus-visible {
  outline:2px solid var(--v2-focus);
  outline-offset:3px;
}

.editorial-shell .utility-rail a:focus-visible {
  outline-color:#dcebe4;
}

.editorial-shell h1,
.editorial-shell h2,
.editorial-shell h3,
.editorial-shell h4 {
  color:var(--v2-ink);
  font-weight:680;
}

.editorial-shell h1 {
  font-size:clamp(26px,3vw,36px);
  line-height:1.16;
}

.editorial-shell main:not(.admin-main) {
  width:min(1120px,100%);
  max-width:1120px;
  margin:34px auto;
  padding-right:24px;
  padding-left:24px;
}

.editorial-shell body > footer {
  width:min(1120px,100%);
  max-width:1120px;
  margin:44px auto 0;
  padding:20px 24px 30px;
  border-top:1px solid var(--v2-line);
  color:var(--v2-muted);
  font-size:12px;
}

/* Shared, flat product surfaces. */
.editorial-shell :is(.card,.panel,.table-panel,.summary-card,.status-summary-tile,.stat,.flow-step,.code-panel) {
  background:var(--v2-paper);
  border-color:var(--v2-line);
  border-radius:10px;
}

.editorial-shell :is(.card,.panel,.table-panel) {
  padding:20px;
}

.editorial-shell .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border:1px solid var(--v2-green-800);
  border-radius:7px;
  background:var(--v2-green-800);
  background-image:none;
  box-shadow:none;
  color:#fff;
  font-weight:650;
}

.editorial-shell .btn:hover {
  border-color:var(--v2-green-950);
  background:var(--v2-green-950);
}

.editorial-shell :is(.btn.ghost,.btn.secondary) {
  border-color:var(--v2-line-strong);
  background:var(--v2-paper);
  color:var(--v2-green-800);
}

.editorial-shell :is(.btn.ghost,.btn.secondary):hover {
  border-color:#9eaaa2;
  background:var(--v2-green-50);
}

.editorial-shell .btn.danger {
  border-color:#e7c8c8;
  background:var(--v2-paper);
  color:var(--v2-danger);
}

.editorial-shell :is(input:not([type="hidden"]),select,textarea) {
  border-color:var(--v2-control-edge);
  border-radius:7px;
  background:var(--v2-paper);
  color:var(--v2-ink);
}

.editorial-shell :is(input:not([type="hidden"]),select,textarea):focus {
  border-color:var(--v2-green-700);
}

.editorial-shell code {
  border-radius:4px;
  background:#eef1ed;
  color:#35403b;
}

.editorial-shell pre,
.editorial-shell .action-run-json {
  border-color:var(--v2-line);
  background:#17251f;
  color:#ecf3ef;
}

.editorial-shell :is(th,.keys th,.table-panel th,.panel th) {
  border-color:var(--v2-line);
  background:#f4f6f3;
  background-image:none;
  color:#626d68;
}

.editorial-shell :is(td,th) {
  border-bottom-color:var(--v2-line-strong);
}

.editorial-shell :is(.keys tbody tr,.table-panel tbody tr,.panel tbody tr):hover {
  background:#fafbf8;
}

.editorial-shell .badge,
.editorial-shell .state-badge,
.editorial-shell .role-context {
  border-radius:999px;
  box-shadow:none;
}

/* Slim scope bar. */
.editorial-shell body > .shell-topbar {
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:var(--shell-topbar-height);
  padding:0 24px;
  border:0;
  border-bottom:1px solid var(--v2-line);
  background:rgba(255,255,255,.98);
}

.editorial-shell .brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  gap:10px;
  color:var(--v2-green-900);
  font-size:15px;
  font-weight:720;
  text-decoration:none;
}

.editorial-shell .brand img {
  display:block;
  width:26px;
  height:26px;
  border-radius:0;
  object-fit:contain;
}

.scope-trail {
  display:flex;
  align-items:center;
  min-width:0;
  gap:9px;
  color:var(--v2-muted);
  font-size:13px;
  white-space:nowrap;
}

.scope-trail a {
  color:var(--v2-ink-2);
  font-weight:620;
  text-decoration:none;
}

.scope-owner {
  color:var(--v2-green-900);
  font-weight:760;
}

.scope-divider {
  color:#aeb6b0;
}

.environment-pill {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  gap:7px;
  padding:3px 9px;
  border:1px solid #cadacf;
  border-radius:999px;
  background:var(--v2-green-50);
  color:var(--v2-green-800);
  font-size:12px;
  font-weight:650;
}

.environment-pill > span {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#2f7a5f;
}

.environment-pill.is-local {
  border-color:#dfd3b6;
  background:#faf6eb;
  color:#7b5b1c;
}

.environment-pill.is-local > span {
  background:#b07c1d;
}

.portal-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}

.editorial-shell .portal-nav > a {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:7px 10px;
  border-radius:6px;
  color:var(--v2-muted);
  font-size:13px;
  font-weight:580;
  text-decoration:none;
}

.editorial-shell .portal-nav > a:hover {
  background:#f1f3f0;
  color:var(--v2-ink);
}

.editorial-shell .bar nav a[aria-current="page"] {
  color:var(--v2-green-900);
  text-decoration:none;
}

.topbar-icon-link {
  justify-content:center;
  width:40px;
  padding:0 !important;
  font-size:19px !important;
}

/* Native account disclosure; no script is required for the core interaction. */
.account-menu {
  position:relative;
  margin-left:4px;
}

.account-menu > summary {
  display:flex;
  align-items:center;
  min-height:44px;
  gap:9px;
  padding:4px 6px;
  border-radius:7px;
  cursor:pointer;
  list-style:none;
}

.account-menu > summary::-webkit-details-marker {
  display:none;
}

.account-menu > summary:hover,
.account-menu[open] > summary {
  background:#f1f3f0;
}

.account-avatar {
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border:1px solid #9db3a7;
  border-radius:50%;
  background:var(--v2-green-50);
  color:var(--v2-green-900);
  font-size:13px;
  font-weight:760;
}

.account-copy {
  display:grid;
  min-width:0;
  gap:0;
  text-align:left;
}

.account-name {
  max-width:140px;
  overflow:hidden;
  color:var(--v2-ink);
  font-size:12px;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-role {
  color:var(--v2-muted);
  font-size:11px;
  white-space:nowrap;
}

.account-popover {
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:60;
  width:260px;
  overflow:hidden;
  border:1px solid var(--v2-line-strong);
  border-radius:9px;
  background:var(--v2-paper);
}

.account-popover-head {
  display:grid;
  gap:3px;
  padding:15px 16px;
  border-bottom:1px solid var(--v2-line);
}

.account-popover-head strong {
  font-size:14px;
}

.account-popover-head span {
  overflow:hidden;
  color:var(--v2-muted);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-popover-head small {
  color:var(--v2-green-800);
  font-size:11px;
  font-weight:650;
}

.account-popover-links {
  display:grid;
  padding:7px;
}

.account-popover-links a {
  display:flex;
  align-items:center;
  min-height:40px;
  gap:10px;
  padding:8px 9px;
  border-radius:6px;
  color:var(--v2-ink-2);
  font-size:13px;
  text-decoration:none;
}

.account-popover-links a:hover {
  background:#f1f3f0;
  color:var(--v2-ink);
}

.account-popover-links .ph {
  color:var(--v2-muted);
  font-size:17px;
}

.account-logout {
  display:block !important;
  margin:0;
  padding:7px;
  border-top:1px solid var(--v2-line);
}

.account-logout .navbtn {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border-radius:6px;
  color:var(--v2-danger);
  text-align:left;
}

.account-logout .navbtn:hover {
  background:#fbf2f2;
  text-decoration:none;
}

/* Dark utility rail: primary admin domains plus global destinations. */
.admin-body {
  padding-left:var(--utility-rail-width);
  background:var(--v2-porcelain);
  background-image:none;
}

.utility-rail {
  position:fixed;
  inset:0 auto 0 0;
  z-index:50;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:var(--utility-rail-width);
  min-height:100vh;
  min-height:100dvh;
  padding:10px 0 max(12px,env(safe-area-inset-bottom));
  border-right:1px solid #29483d;
  background:var(--v2-green-950);
}

.utility-rail a {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  border:1px solid transparent;
  border-radius:8px;
  color:#a9bdb5;
  font-size:20px;
  text-decoration:none;
}

.utility-rail a:hover {
  border-color:#3a5a4e;
  background:#1b3a2f;
  color:#fff;
}

.utility-rail a[aria-current="page"] {
  border-color:#4b6d60;
  background:#25483b;
  color:#fff;
}

.utility-rail a[data-label]::after {
  content:attr(data-label);
  position:absolute;
  left:calc(100% + 10px);
  z-index:90;
  width:max-content;
  max-width:180px;
  padding:6px 9px;
  border:1px solid #36574b;
  border-radius:6px;
  background:#0b2f25;
  color:#fff;
  font-size:12px;
  font-weight:650;
  line-height:1.25;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translateX(-4px);
  transition:opacity .1s ease,transform .1s ease;
}

.utility-rail a[data-label]:is(:hover,:focus-visible)::after {
  opacity:1;
  transform:translateX(0);
}

.utility-brand {
  margin-bottom:18px;
  border-color:#426257 !important;
  background:#1e4034;
  color:#fff !important;
  font-size:24px !important;
}

.utility-brand img {
  display:block;
  width:30px;
  height:30px;
  border-radius:0;
  object-fit:contain;
}

.utility-primary,
.utility-secondary {
  display:grid;
  justify-items:center;
  gap:7px;
}

.utility-secondary {
  margin-top:auto;
}

/* Context sidebar and content canvas. */
.admin-body .admin-shell {
  display:grid;
  grid-template-columns:var(--context-sidebar-width) minmax(0,1fr);
  align-items:stretch;
  width:100%;
  max-width:none;
  min-height:calc(100vh - var(--shell-topbar-height));
  margin:0;
  padding:0;
  gap:0;
}

/* The demo banner is a full-width strip in normal flow, but .admin-sidebar is
   position:fixed and so ignores flow entirely -- it painted straight over the
   banner's first 233px, hiding "当前为演示环境，数据与配额仅供演示" and leaving
   only the tail of the sentence visible. Everything positioned against the top
   bar moves down by the banner's height when the banner is present. Above
   980px the sentence is always one line; below it the sidebar is sticky and in
   flow, so no offset is needed. */
.admin-body { --env-banner-height:0px; }
.admin-body:has(> .env-banner) { --env-banner-height:40px; }
/* The variable *defines* the height rather than trying to track it: a measured
   number drifts the moment the font or padding changes, and a 2px drift puts
   the sidebar back over the banner. Only where the sidebar is fixed. */
@media (min-width:981px) {
  .admin-body > .env-banner {
    display:flex;
    align-items:center;
    height:var(--env-banner-height);
    padding-block:0;
  }
}

.admin-body .admin-sidebar {
  position:fixed;
  top:calc(var(--shell-topbar-height) + var(--env-banner-height));
  bottom:0;
  left:var(--utility-rail-width);
  z-index:20;
  width:var(--context-sidebar-width);
  height:calc(100vh - var(--shell-topbar-height) - var(--env-banner-height));
  height:calc(100dvh - var(--shell-topbar-height) - var(--env-banner-height));
  max-height:calc(100vh - var(--shell-topbar-height));
  margin:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:0;
  border-right:1px solid var(--v2-line);
  border-radius:0;
  background:#f8f9f5;
  box-shadow:none;
  scrollbar-color:#c6cdc7 transparent;
  scrollbar-width:thin;
}

.admin-sidebar-head {
  padding:23px 20px 17px;
  border:0;
  border-bottom:1px solid var(--v2-line);
  background:transparent;
  background-image:none;
  color:var(--v2-ink);
}

.admin-sidebar-head span {
  display:block;
  color:var(--v2-muted);
  font-size:11px;
  font-weight:650;
}

.admin-sidebar-head strong {
  display:block;
  margin-top:3px;
  color:var(--v2-ink);
  font-size:17px;
  line-height:1.25;
}

.admin-sidebar-head small {
  display:block;
  margin-top:7px;
  color:var(--v2-green-800);
  font-size:11px;
}

.admin-nav-details > summary {
  display:none;
}

.admin-nav-details:not([open]) > .admin-side-nav {
  display:grid;
}

.admin-side-nav {
  display:grid;
  align-items:start;
  gap:0;
  padding:10px 12px 24px;
}

.admin-nav-group {
  display:grid;
  gap:2px;
  padding:12px 0;
  border-top:1px solid var(--v2-line);
}

.admin-nav-group:first-child {
  border-top:0;
}

.admin-nav-group p {
  margin:0 9px 7px;
  color:#5f6964;
  font-size:11px;
  font-weight:680;
}

.admin-nav-group a {
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  gap:10px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:7px;
  color:#55605b;
  font-size:13px;
  text-decoration:none;
}

.admin-nav-group a .ph {
  flex:0 0 17px;
  width:17px;
  color:#5f6964;
  font-size:17px;
  text-align:center;
}

.admin-nav-group a > span:not(.nav-alert-count) {
  min-width:0;
}

.admin-nav-group a:hover {
  border-color:#e2e7e3;
  background:#f3f5f2;
  color:var(--v2-ink);
}

.admin-nav-group a.active,
.admin-nav-group a[aria-current="page"] {
  border-color:#cfddd5;
  background:#e6efe9;
  background-image:none;
  box-shadow:none;
  color:var(--v2-green-900);
  font-weight:680;
}

.admin-nav-group a.active::before,
.admin-nav-group a[aria-current="page"]::before {
  content:"";
  position:absolute;
  top:50%;
  left:3px;
  display:block;
  width:3px;
  height:18px;
  margin:0;
  border-radius:3px;
  background:var(--v2-green-700);
  transform:translateY(-50%);
}

.admin-nav-group a.active .ph,
.admin-nav-group a[aria-current="page"] .ph {
  color:var(--v2-green-800);
}

.admin-personal-tools a {
  border-color:#d7e4dc;
  background:#eef5f0;
  color:var(--v2-green-900);
}

.admin-nav-group a.alert-nav-link {
  display:grid;
  grid-template-columns:17px minmax(0,1fr) auto;
  justify-content:initial;
}

@media (min-width:981px) {
  .admin-nav-group[data-admin-section]:not(.is-current) {
    display:none;
  }
}

.nav-alert-count {
  flex:0 0 auto;
}

.admin-body .admin-main {
  grid-column:2;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:38px 42px 68px;
  overflow-x:hidden;
}

.admin-main > :first-child {
  margin-top:0;
}

.admin-main .page-header,
.admin-main .hero.compact {
  align-items:flex-end;
  margin:0 0 22px;
  padding:0 0 20px;
  overflow:visible;
  border:0;
  border-bottom:1px solid var(--v2-line);
  border-radius:0;
  background:transparent;
}

.admin-main .page-header h1,
.admin-main .hero.compact h1 {
  margin:3px 0 6px;
  font-size:32px;
}

.admin-main :is(.panel,.table-panel,.card) {
  border-color:var(--v2-line);
  border-radius:9px;
  background:var(--v2-paper);
}

.admin-main .governance-link {
  border-color:var(--v2-line);
  background:var(--v2-paper);
  box-shadow:none;
}

.admin-main .governance-link:hover {
  border-color:#aebfb5;
  background:#fafcf9;
}

.admin-body > footer {
  width:auto;
  max-width:none;
  margin:0 0 0 var(--context-sidebar-width);
  padding:18px 42px 28px;
  border-top:1px solid var(--v2-line);
}

/* --------------------------------------------------------------------------
   Admin dashboard: Editorial Operations Desk
   -------------------------------------------------------------------------- */
.ops-page-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 22px;
  padding:0 0 21px;
  border-bottom:1px solid var(--v2-line-strong);
}

.ops-page-heading h1 {
  margin:4px 0 7px;
  font-size:34px;
}

.ops-page-heading .eyebrow,
.ops-section-heading .eyebrow,
.ops-side-section .eyebrow,
.ops-brief-bar .eyebrow {
  margin:0 0 4px;
  color:#5f6964;
  font-size:11px;
  font-weight:760;
}

.ops-page-deck {
  max-width:660px;
  margin:0;
  color:var(--v2-muted);
  font-size:14px;
}

.ops-heading-meta {
  display:grid;
  justify-items:end;
  gap:2px;
  flex:0 0 auto;
  color:var(--v2-muted);
  font-size:11px;
}

.ops-heading-meta > strong {
  color:var(--v2-ink-2);
  font-size:12px;
  font-weight:620;
}

.ops-heading-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
  margin-top:9px;
}

.ops-heading-actions .btn {
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
}

.ops-brief-bar {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) minmax(210px,32%);
  align-items:start;
  gap:18px;
  margin:0 0 30px;
  padding:17px 0;
  border-top:1px solid var(--v2-line);
  border-bottom:1px solid var(--v2-line);
}

.ops-brief-index,
.ops-row-index {
  color:#5f6964;
  font-family:var(--mono);
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.ops-brief-bar h2 {
  margin:0 0 5px;
  font-size:18px;
  line-height:1.3;
}

.ops-brief-bar > div > p:last-child {
  margin:0;
  color:var(--v2-ink-2);
}

.ops-brief-basis {
  margin:1px 0 0;
  padding-left:18px;
  border-left:1px solid var(--v2-line);
  color:var(--v2-muted);
  font-size:12px;
}

.ops-tone-critical {
  border-top-color:#d7adad;
}

.ops-tone-attention {
  border-top-color:#d6c59e;
}

.ops-tone-positive {
  border-top-color:#a9c5b5;
}

.ops-workspace {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(280px,.82fr);
  align-items:start;
  gap:38px;
}

.ops-workspace-main {
  display:grid;
  min-width:0;
  gap:32px;
}

.ops-ledger,
.ops-activity {
  min-width:0;
  border-top:1px solid var(--v2-line-strong);
}

.ops-section-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:17px 0 13px;
  border-bottom:1px solid var(--v2-line);
}

.ops-section-heading h2 {
  margin:0;
  font-size:19px;
}

.ops-section-heading > a {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:var(--v2-green-800);
  font-size:12px;
  font-weight:650;
  text-decoration:none;
}

.ops-count {
  flex:0 0 auto;
  color:var(--v2-muted);
  font-size:11px;
}

.ops-action-ledger,
.ops-activity-list {
  margin:0;
  padding:0;
  list-style:none;
}

.ops-action-ledger > li {
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 104px;
  align-items:start;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid var(--v2-line);
}

.ops-action-copy {
  display:grid;
  min-width:0;
  gap:6px;
}

.ops-action-title {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.ops-action-title strong {
  min-width:0;
  font-size:14px;
  font-weight:680;
}

.ops-priority {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 7px;
  border:1px solid var(--v2-line-strong);
  border-radius:999px;
  color:var(--v2-muted);
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}

.ops-priority-high {
  border-color:#dfb8b8;
  background:#fbf3f3;
  color:#8e3838;
}

.ops-priority-medium {
  border-color:#ded0ae;
  background:#faf7ef;
  color:#80611d;
}

.ops-priority-low {
  border-color:#cddad2;
  background:#f2f7f4;
  color:#416451;
}

.ops-action-copy > p {
  margin:0;
  color:var(--v2-muted);
  font-size:12px;
}

.ops-action-owner,
.ops-activity-meta {
  color:#5f6964;
  font-size:11px;
}

.ops-row-actions {
  display:grid;
  justify-items:end;
  gap:5px;
}

.ops-row-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-height:30px;
  color:var(--v2-green-800);
  font-size:11px;
  font-weight:650;
  text-decoration:none;
}

.ops-row-actions a:hover,
.ops-section-heading > a:hover {
  text-decoration:underline;
}

.ops-ledger-empty {
  display:block !important;
}

.ops-activity-list > li {
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid var(--v2-line);
}

.ops-activity-list .state-dot {
  width:7px;
  height:7px;
  margin-top:7px;
  border:0;
  background:currentColor !important;
}

.ops-activity-list li > div {
  display:grid;
  min-width:0;
  gap:3px;
}

.ops-activity-list strong {
  font-size:13px;
}

.ops-activity-list p {
  margin:0;
  color:var(--v2-muted);
  font-size:11px;
}

.ops-activity-list time {
  color:#5f6964;
  font-size:11px;
  white-space:nowrap;
}

.ops-sidecar {
  display:grid;
  min-width:0;
  border-top:1px solid var(--v2-line-strong);
  border-left:1px solid var(--v2-line);
}

.ops-side-section {
  min-width:0;
  padding:17px 0 20px 24px;
  border-bottom:1px solid var(--v2-line);
}

.ops-side-section > header h2 {
  margin:0;
  font-size:16px;
}

.ops-evidence-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:15px 0 12px;
  border-top:1px solid var(--v2-line);
  border-bottom:1px solid var(--v2-line);
}

.ops-evidence-summary span {
  display:grid;
  gap:2px;
  padding:10px 6px;
  border-left:1px solid var(--v2-line);
  color:var(--v2-muted);
  font-size:11px;
  text-align:center;
}

.ops-evidence-summary span:first-child {
  border-left:0;
}

.ops-evidence-summary strong {
  color:var(--v2-ink);
  font-size:18px;
}

.ops-evidence-list {
  margin:0;
  padding:0;
  list-style:none;
}

.ops-evidence-list > li {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid var(--v2-line);
}

.ops-evidence-list > li:last-child {
  border-bottom:0;
}

.ops-evidence-list p {
  margin:5px 0 0;
  color:var(--v2-muted);
  font-size:11px;
  overflow-wrap:anywhere;
}

.ops-evidence-list a,
.ops-text-link {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  color:var(--v2-green-800);
  font-size:11px;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
}

.ops-evidence-legend {
  margin-top:8px;
}

.ops-evidence-legend > summary {
  display:flex;
  align-items:center;
  min-height:34px;
  color:var(--v2-muted);
  cursor:pointer;
  font-size:11px;
}

.ops-evidence-legend .evidence-legend {
  align-items:flex-start;
}

.ops-cost-value {
  display:block;
  margin-top:14px;
  color:var(--v2-ink);
  font-size:25px;
  line-height:1.2;
}

.ops-cost > p {
  margin:4px 0 12px;
  color:var(--v2-muted);
  font-size:11px;
}

.ops-cost dl {
  margin:0 0 8px;
}

.ops-cost dl > div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-top:1px solid var(--v2-line);
  font-size:11px;
}

.ops-cost dt {
  color:var(--v2-muted);
}

.ops-cost dd {
  margin:0;
  color:var(--v2-ink-2);
  font-weight:620;
}

.ops-sidecar .admin-personal-key-cta {
  display:block;
  margin:0;
  background:var(--v2-green-50);
  border:0;
  border-bottom:1px solid #cfddd5;
  border-radius:0;
}

.ops-sidecar .admin-personal-key-cta p {
  margin:10px 0 13px;
  color:#566a5f;
  font-size:11px;
}

.ops-sidecar .admin-personal-key-cta .btn {
  width:100%;
  min-height:36px;
  font-size:11px;
}

.ops-quick-links {
  display:grid;
}

.ops-quick-links > header {
  margin-bottom:8px;
}

.ops-quick-links > a {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:10px;
  min-height:51px;
  padding:10px 0;
  border-top:1px solid var(--v2-line);
  color:var(--v2-ink-2);
  text-decoration:none;
}

.ops-quick-links > a .ph {
  margin-top:2px;
  color:var(--v2-green-700);
  font-size:17px;
}

.ops-quick-links > a span {
  display:grid;
  gap:2px;
  font-size:11px;
  font-weight:680;
}

.ops-quick-links > a small {
  color:var(--v2-muted);
  font-size:11px;
  font-weight:500;
}

.ops-metric-band {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:0;
  margin:34px 0;
  border-top:1px solid var(--v2-line-strong);
  border-bottom:1px solid var(--v2-line-strong);
}

.ops-metric-band > div {
  display:grid;
  gap:4px;
  min-width:0;
  padding:14px 16px;
  border-left:1px solid var(--v2-line);
}

.ops-metric-band > div:first-child {
  border-left:0;
}

.ops-metric-band span {
  color:var(--v2-muted);
  font-size:11px;
}

.ops-metric-band strong {
  overflow-wrap:anywhere;
  color:var(--v2-ink);
  font-size:15px;
  font-weight:670;
}

.admin-main .ops-secondary-region {
  margin-top:0;
  border:0;
  border-top:1px solid var(--v2-line-strong);
  border-radius:0;
  background:transparent;
  padding-right:0;
  padding-left:0;
}

/* Fidelity pass: one primary running brief, with evidence and cost at right. */
.ops-page-heading {
  align-items:flex-start;
  margin-bottom:27px;
  padding-bottom:0;
  border-bottom:0;
}

.ops-page-heading h1 {
  margin:0 0 7px;
  font-size:33px;
}

.ops-page-deck {
  color:#5f6964;
  font-size:12px;
}

.ops-brief-panel {
  /* auto, not hidden: clipping a row silently removes its controls
     from the page with no affordance that anything is missing. */
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid var(--v2-line);
  border-top:3px solid var(--v2-green-700);
  border-radius:4px;
  background:var(--v2-paper);
}

.ops-brief-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:23px 22px 21px;
  border-bottom:1px solid var(--v2-line);
}

.ops-brief-panel-head h2 {
  margin:0 0 6px;
  font-size:20px;
}

.ops-brief-panel-head p {
  margin:0;
  color:var(--v2-muted);
  font-size:14px;
}

.ops-brief-panel-head .ops-count {
  margin-top:4px;
  font-size:12px;
}

.ops-ledger-columns,
.ops-run-row {
  display:grid;
/* Every track must be able to compress except the action column, which
   sizes to its own content so the links can never be clipped. Hard
   minimums here summed to 664px against a 572px panel at 1280. */
  grid-template-columns:minmax(0,64px) minmax(0,1.1fr) minmax(0,1.75fr) minmax(0,.78fr) min-content;
  gap:13px;
}

.ops-ledger-columns {
  align-items:center;
  padding:12px 22px;
  border-bottom:1px solid var(--v2-line);
  background:#fbfcfa;
  color:#5f6964;
  font-size:12px;
  font-weight:680;
}

.ops-run-ledger > li {
  padding:0;
}

.ops-run-row {
  align-items:center;
  min-height:94px;
  padding:16px 22px !important;
  border-bottom:1px solid var(--v2-line);
}

.ops-action-ledger > li.ops-run-row {
/* Every track must be able to compress except the action column, which
   sizes to its own content so the links can never be clipped. Hard
   minimums here summed to 664px against a 572px panel at 1280. */
  grid-template-columns:minmax(0,64px) minmax(0,1.1fr) minmax(0,1.75fr) minmax(0,.78fr) min-content;
  gap:13px;
}

.ops-priority-cell {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--v2-ink-2);
  font-size:14px;
}

.ops-priority-cell strong {
  font-weight:680;
}

.ops-priority-dot {
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#6d8c7c;
}

.ops-priority-dot-high {
  background:#c47632;
}

.ops-priority-dot-medium {
  background:#b98a31;
}

.ops-priority-dot-low {
  background:#37805e;
}

.ops-run-subject {
  display:grid;
  min-width:0;
  gap:4px;
}

.ops-run-subject strong {
  color:var(--v2-ink);
  font-size:15px;
  font-weight:680;
}

.ops-run-subject span,
.ops-run-owner {
  color:#5f6964;
  font-size:12px;
}

.ops-run-description {
  margin:0;
  color:var(--v2-ink-2);
  font-size:14px;
  line-height:1.55;
}

.ops-run-owner {
  font-size:12px;
}

.ops-run-actions {
  display:grid;
  justify-items:end;
  gap:4px;
}

.ops-run-actions a {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  color:var(--v2-green-800);
  font-size:12px;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
}

.ops-run-actions a:hover {
  text-decoration:underline;
}

.ops-evidence-row {
  background:#fff;
}

.ops-brief-panel-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:13px 22px;
  border-bottom:1px solid var(--v2-line);
}

.ops-brief-panel-foot a {
  color:var(--v2-green-800);
  font-size:12px;
  font-weight:650;
  text-decoration:none;
}

.ops-brief-panel-foot p {
  margin:0;
  color:#5f6964;
  font-size:11px;
  text-align:right;
}

.ops-inline-metrics {
  display:grid;
  grid-template-columns:minmax(120px,1.25fr) repeat(3,minmax(0,1fr));
  align-items:center;
  padding:18px 22px 20px;
}

.ops-inline-metrics > p {
  margin:0;
  color:var(--v2-ink-2);
  font-size:14px;
  font-weight:680;
}

.ops-inline-metrics > div {
  display:grid;
  gap:3px;
  padding-left:18px;
  border-left:1px solid var(--v2-line);
}

.ops-inline-metrics span {
  color:#5f6964;
  font-size:11px;
}

.ops-inline-metrics strong {
  color:var(--v2-ink);
  font-size:18px;
  font-weight:660;
}

.ops-sidecar {
  overflow:hidden;
  border:1px solid var(--v2-line);
  border-radius:4px;
  background:var(--v2-paper);
}

.ops-side-section {
  padding:22px 20px;
}

.ops-side-section > header h2 {
  font-size:18px;
}

.ops-evidence-summary {
  margin:13px 0 8px;
}

.ops-evidence-summary span {
  padding:10px 5px;
}

.ops-evidence-list > li {
  padding:11px 0;
}

.ops-evidence-list .state-badge {
  min-height:21px;
  gap:4px;
  padding:1px 7px 1px 5px;
  font-size:11px;
}

.ops-evidence-list .state-dot {
  width:6px;
  height:6px;
}

.ops-evidence-list p {
  margin-top:3px;
  font-size:11px;
}

.ops-evidence-legend > summary {
  min-height:29px;
}

.ops-cost-value {
  margin-top:11px;
  font-size:28px;
}

.ops-cost dl > div {
  padding:7px 0;
  font-size:12px;
}

.ops-sidecar .ops-quick-links.admin-personal-key-cta {
  display:grid;
  background:var(--v2-paper);
}

.ops-sidecar .ops-quick-links.admin-personal-key-cta > header {
  margin-bottom:8px;
}

.ops-quick-links > a {
  min-height:48px;
  padding:8px 0;
}

.ops-secondary-activity {
  margin-top:34px;
}

/* Member and sign-in surfaces use the same quiet visual language. */
.login-main {
  min-height:calc(100vh - 170px);
}

.editorial-shell .login-shell {
  gap:0;
  overflow:hidden;
  border:1px solid var(--v2-line);
  border-radius:12px;
  background:var(--v2-paper);
}

.editorial-shell .login-panel,
.editorial-shell .login-side {
  border:0;
  border-radius:0;
}

.editorial-shell .login-panel {
  padding:46px;
  background:var(--v2-paper);
}

.editorial-shell .login-side {
  border-left:1px solid #305044;
  background:var(--v2-green-950);
  color:#fff;
}

.editorial-shell .login-stat {
  border-bottom-color:#355246;
}

.editorial-shell .login-stat span {
  color:#9bc5b4;
}

.editorial-shell .login-stat strong {
  color:#fff;
}

.editorial-shell .login-stat p {
  color:#b9c9c2;
}

.editorial-shell .login-trust-rail span {
  border-color:#cedbd3;
  background:var(--v2-green-50);
  color:var(--v2-green-800);
}

/* Tablet: context navigation becomes a native disclosure. */
@media (min-width:981px) and (max-width:1050px) {
  .ops-ledger-columns,
  .ops-action-ledger > li.ops-run-row {
    grid-template-columns:minmax(0,56px) minmax(0,1fr) minmax(0,1.45fr) minmax(0,.7fr) min-content;
    gap:10px;
    padding-right:16px !important;
    padding-left:16px !important;
  }
}

@media (max-width:1180px) {
  :root {
    --context-sidebar-width:216px;
  }

  .admin-body .admin-main {
    padding-right:30px;
    padding-left:30px;
  }

  .ops-workspace {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }

  .ops-sidecar {
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-left:0;
  }

  .ops-side-section {
    padding:18px;
    border-left:1px solid var(--v2-line);
  }

  .ops-side-section:first-child {
    border-left:0;
  }
}

@media (max-width:980px) {
  html.editorial-shell body.admin-body .skip-link {
    left:8px;
  }

  .admin-body {
    padding-left:0;
  }

  .utility-rail {
    display:none;
  }

  .admin-body .admin-shell {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
    padding:0;
  }

  .admin-body .admin-sidebar {
    position:sticky;
    top:var(--shell-topbar-height);
    bottom:auto;
    left:auto;
    z-index:25;
    width:100%;
    height:auto;
    max-height:calc(100vh - var(--shell-topbar-height) - 16px);
    margin:0;
    border-right:0;
    border-bottom:1px solid var(--v2-line);
    background:#f8f9f5;
  }

  .admin-sidebar-head {
    display:none;
  }

  .admin-nav-details > summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    gap:9px;
    padding:8px 20px;
    background:#f8f9f5;
    color:var(--v2-ink);
    cursor:pointer;
    font-size:13px;
    font-weight:680;
    list-style:none;
  }

  .admin-nav-details > summary > span {
    margin-right:auto;
  }

  .admin-nav-details > summary::-webkit-details-marker {
    display:none;
  }

  .admin-nav-details > summary::after {
    content:"展开";
    color:var(--v2-muted);
    font-size:11px;
    font-weight:580;
  }

  .admin-nav-details[open] > summary::after {
    content:"收起";
  }

  .admin-nav-details:not([open]) > .admin-side-nav {
    display:none;
  }

  .admin-nav-details[open] > .admin-side-nav {
    display:grid;
  }

  .admin-side-nav {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 16px;
    padding:0 20px 18px;
  }

  .admin-nav-group {
    align-content:start;
  }

  .admin-body .admin-main {
    grid-column:1;
    margin:0;
    padding:30px 24px 54px;
  }

  .admin-body > footer {
    margin-left:0;
    padding-right:24px;
    padding-left:24px;
  }

  .ops-page-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }

  .ops-heading-meta {
    width:100%;
    justify-items:start;
  }

  .ops-heading-actions {
    justify-content:flex-start;
  }
}

@media (max-width:768px) {
  .editorial-shell body > .shell-topbar {
    flex-wrap:nowrap;
    gap:10px;
    padding-right:max(16px,env(safe-area-inset-right));
    padding-left:max(16px,env(safe-area-inset-left));
  }

  .editorial-shell .bar .portal-nav {
    width:auto;
    min-width:0;
    flex-wrap:nowrap;
    gap:2px;
  }

  .scope-trail {
    overflow:hidden;
  }

  .scope-trail > * {
    flex:0 0 auto;
  }

  .account-copy {
    display:none;
  }

  .account-menu {
    margin-left:0;
  }

  .account-menu > summary {
    padding:4px;
  }

  .admin-side-nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ops-brief-bar {
    grid-template-columns:28px minmax(0,1fr);
  }

  .ops-brief-basis {
    grid-column:2;
    padding-top:10px;
    padding-left:0;
    border-top:1px solid var(--v2-line);
    border-left:0;
  }

  .ops-action-ledger > li {
    grid-template-columns:26px minmax(0,1fr);
  }

  .ops-row-actions {
    grid-column:2;
    grid-auto-flow:column;
    justify-content:start;
    justify-items:start;
    gap:16px;
  }

  .ops-sidecar {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ops-side-section:nth-child(odd) {
    border-left:0;
  }

  .ops-metric-band {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ops-metric-band > div:nth-child(odd) {
    border-left:0;
  }

  .ops-metric-band > div:nth-child(n+3) {
    border-top:1px solid var(--v2-line);
  }

  .admin-main .page-header,
  .admin-main .hero.compact {
    align-items:flex-start;
  }

  .editorial-shell :is(button,summary,.btn,.navbtn,.admin-nav-group a) {
    min-height:44px;
  }

  .editorial-shell :is(.ops-run-actions a,.ops-row-actions a,.ops-brief-panel-foot a,.ops-evidence-list a,.ops-text-link) {
    min-height:44px;
  }

  .editorial-shell :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {
    min-height:44px;
    font-size:16px;
  }

  .editorial-shell .login-shell {
    grid-template-columns:minmax(0,1fr);
  }

  .editorial-shell .login-side {
    border-top:1px solid #305044;
    border-left:0;
  }
}

@media (max-width:620px) {
  :root {
    --shell-topbar-height:55px;
  }

  .editorial-shell body > .shell-topbar {
    align-items:center;
    min-height:var(--shell-topbar-height);
    padding-top:max(5px,env(safe-area-inset-top));
    padding-bottom:5px;
  }

  .editorial-shell .brand {
    max-width:calc(100vw - 88px);
    overflow:hidden;
  }

  .editorial-shell .portal-nav > a {
    display:none;
  }

  .editorial-shell .brand > span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .admin-top-actions > .topbar-icon-link {
    display:none !important;
  }

  .scope-trail {
    gap:6px;
    font-size:12px;
  }

  .environment-pill {
    padding-right:7px;
    padding-left:7px;
  }

  .admin-body .admin-sidebar {
    position:relative;
    top:auto;
    max-height:none;
  }

  .admin-nav-details > summary {
    padding-right:max(14px,env(safe-area-inset-right));
    padding-left:max(14px,env(safe-area-inset-left));
  }

  .admin-side-nav {
    grid-template-columns:minmax(0,1fr);
    padding-right:max(14px,env(safe-area-inset-right));
    padding-left:max(14px,env(safe-area-inset-left));
  }

  .admin-body .admin-main {
    padding:24px max(14px,env(safe-area-inset-right)) 40px max(14px,env(safe-area-inset-left));
  }

  .admin-main .page-header h1,
  .admin-main .hero.compact h1 {
    font-size:27px;
  }

  .ops-page-heading h1 {
    font-size:29px;
  }

  .ops-heading-actions,
  .ops-heading-actions .btn {
    width:100%;
  }

  .ops-heading-actions .btn {
    justify-content:center;
  }

  .ops-brief-bar {
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    margin-bottom:24px;
  }

  .ops-brief-index {
    display:none;
  }

  .ops-brief-basis {
    grid-column:auto;
  }

  .ops-workspace-main {
    gap:26px;
  }

  .ops-section-heading {
    align-items:flex-start;
  }

  .ops-action-ledger > li {
    grid-template-columns:24px minmax(0,1fr);
    gap:9px;
  }

  .ops-action-title {
    align-items:flex-start;
    flex-direction:column;
  }

  .ops-activity-list > li {
    grid-template-columns:8px minmax(0,1fr);
  }

  .ops-activity-list time {
    grid-column:2;
  }

  .ops-sidecar {
    grid-template-columns:minmax(0,1fr);
  }

  .ops-side-section,
  .ops-side-section:nth-child(odd) {
    padding:17px 15px 20px;
    border-left:0;
  }

  .ops-metric-band {
    grid-template-columns:minmax(0,1fr);
  }

  .ops-metric-band > div,
  .ops-metric-band > div:nth-child(odd) {
    border-top:1px solid var(--v2-line);
    border-left:0;
  }

  .ops-metric-band > div:first-child {
    border-top:0;
  }

  .editorial-shell main:not(.admin-main) {
    margin:22px auto;
    padding-right:max(14px,env(safe-area-inset-right));
    padding-left:max(14px,env(safe-area-inset-left));
  }

  .editorial-shell :is(.card,.panel,.table-panel) {
    padding:15px;
    border-radius:8px;
  }

  .account-popover {
    position:fixed;
    top:calc(var(--shell-topbar-height) + max(7px,env(safe-area-inset-top)));
    right:max(10px,env(safe-area-inset-right));
    left:max(10px,env(safe-area-inset-left));
    width:auto;
  }

  .editorial-shell .mobile-tabbar {
    z-index:45;
    gap:1px;
    padding:5px max(7px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));
    border-top-color:var(--v2-line-strong);
    background:#fff;
  }

  .editorial-shell .mobile-tabbar a {
    flex-direction:column;
    min-height:49px;
    gap:3px;
    padding:5px 3px;
    border-radius:6px;
    color:#6c7772;
    font-size:10px;
    font-weight:650;
  }

  .editorial-shell .mobile-tabbar a .ph {
    font-size:19px;
  }

  .editorial-shell .mobile-tabbar a[aria-current="page"] {
    background:var(--v2-green-50);
    color:var(--v2-green-900);
  }

  .editorial-shell .alert-tab-link .nav-alert-count {
    top:1px;
    right:calc(50% - 23px);
  }

  .admin-body > footer {
    padding-right:max(14px,env(safe-area-inset-right));
    padding-left:max(14px,env(safe-area-inset-left));
  }

  .editorial-shell .login-panel {
    padding:28px 22px;
  }
}

@media (max-width:430px) {
  .scope-owner,
  .scope-owner + .scope-divider {
    display:none;
  }

  .environment-pill > span {
    display:none;
  }

  .admin-main .page-header,
  .admin-main .hero.compact {
    padding-right:0;
    padding-left:0;
  }
}

@media (max-width:360px) {
  .scope-trail a {
    max-width:108px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .environment-pill {
    font-size:11px;
  }
}

/* The production shell keeps its rail through 980px, leaving the model
   operations header narrower than other admin pages.  Give its three handoff
   actions a stable full-width row in that transitional desktop range. */
@media (min-width:981px) and (max-width:1180px) {
  .admin-main .model-monitor-header-native {
    align-items:flex-start;
    flex-direction:column;
  }

  .admin-main .model-monitor-header-native .model-monitor-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-self:stretch;
    width:100%;
    max-width:none;
  }
}

@media (max-width:768px) {
  .ops-ledger-columns {
    display:none;
  }

  .ops-action-ledger > li.ops-run-row {
    grid-template-columns:62px minmax(0,1fr);
    align-items:start;
    gap:7px 12px;
    padding:14px 16px !important;
  }

  .ops-priority-cell {
    grid-row:1 / span 3;
    padding-top:2px;
  }

  .ops-run-subject,
  .ops-run-description,
  .ops-run-owner,
  .ops-run-actions {
    grid-column:2;
  }

  .ops-run-actions {
    grid-auto-flow:column;
    justify-content:start;
    justify-items:start;
    gap:16px;
  }

  .ops-brief-panel-foot {
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .ops-brief-panel-foot p {
    text-align:left;
  }

  .ops-inline-metrics {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
  }

  .ops-inline-metrics > p {
    grid-column:1 / -1;
    margin-bottom:12px;
  }

  .ops-inline-metrics > div:first-of-type {
    padding-left:0;
    border-left:0;
  }

  .ops-quick-links {
    grid-column:1 / -1;
  }
}

@media (max-width:430px) {
  .ops-brief-panel-head {
    align-items:flex-start;
    flex-direction:column;
    padding:17px 15px 14px;
  }

  .ops-action-ledger > li.ops-run-row {
    grid-template-columns:52px minmax(0,1fr);
    padding-right:15px !important;
    padding-left:15px !important;
  }

  .ops-inline-metrics {
    grid-template-columns:minmax(0,1fr);
    padding-right:15px;
    padding-left:15px;
  }

  .ops-inline-metrics > div,
  .ops-inline-metrics > div:first-of-type {
    padding:9px 0;
    border-top:1px solid var(--v2-line);
    border-left:0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .editorial-shell *,
  .editorial-shell *::before,
  .editorial-shell *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}

@media (forced-colors:active) {
  .utility-rail,
  .login-side {
    border:1px solid CanvasText;
  }

  .utility-rail a[aria-current="page"],
  .admin-nav-group a[aria-current="page"] {
    outline:2px solid Highlight;
  }
}
/* Compact time-range control used by live governance reports. */
.segmented-control {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 18px;
  padding: 4px;
  border: 1px solid var(--line, #dbe3ec);
  border-radius: 12px;
  background: var(--surface, #fff);
}

.segmented-control a {
  padding: 8px 13px;
  border-radius: 8px;
  color: var(--muted, #64748b);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.segmented-control a:hover,
.segmented-control a:focus-visible {
  color: var(--ink, #0f172a);
  background: #f1f5f9;
}

.segmented-control a.active {
  color: #fff;
  background: var(--ink, #0f172a);
}

/* Public enterprise-governance landing page. */
html.editorial-shell .public-portal-main.public-portal-main {
  display:block;
  width:min(1180px,100%);
  max-width:1180px;
  min-height:auto;
  margin:24px auto 0;
  padding:0 24px;
  overflow:visible;
}

.public-portal {
  --public-green:#00aa50;
  --public-green-dark:#006f42;
  --public-green-deep:#073f2e;
  --public-blue:#079bd3;
  --public-red:#ef342f;
  display:grid;
  gap:72px;
}

.public-portal :is(section,article,div) {
  min-width:0;
}

.public-hero {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  align-items:center;
  min-height:586px;
  padding:64px 54px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:
    radial-gradient(circle at 14% 10%,rgba(0,170,80,.22),transparent 30%),
    radial-gradient(circle at 85% 90%,rgba(7,155,211,.17),transparent 34%),
    linear-gradient(132deg,#061f19 0%,#073f2e 50%,#0b2931 100%);
  color:#fff;
  box-shadow:0 28px 80px rgba(6,47,35,.17);
}

.public-hero::before,
.public-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  border:1px solid rgba(164,229,200,.12);
  border-radius:50%;
}

.public-hero::before {
  width:420px;
  height:420px;
  top:-250px;
  left:-150px;
}

.public-hero::after {
  width:520px;
  height:520px;
  right:-260px;
  bottom:-330px;
}

.public-hero-copy {
  position:relative;
  z-index:2;
  padding-right:38px;
}

.public-brand-lockup {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 34px;
  padding:9px 13px;
  border-radius:9px;
  background:#fff;
  color:#008f4f;
  font-size:24px;
  font-weight:760;
  letter-spacing:.03em;
  line-height:1;
}

.public-brand-lockup img {
  width:34px;
  height:34px;
  object-fit:contain;
}

.public-kicker,
.public-section-index {
  margin:0 0 13px;
  color:#a7e7c6;
  font-size:13px;
  font-weight:720;
  letter-spacing:.12em;
}

.public-kicker {
  display:flex;
  align-items:center;
  gap:9px;
}

/* Balance headings across their lines instead of filling line one and leaving
   a single character on line two -- measured 608px + 41px on the 02 section
   heading, which is a one-character widow at display size. `pretty` does the
   same job for body copy, where it specifically targets the last line. */
.editorial-shell :is(h1, h2, h3),
.public-hero h1,
.public-section h2 { text-wrap: balance; }
.editorial-shell :is(p, li, dd, figcaption) { text-wrap: pretty; }

.public-kicker > span {
  width:28px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--public-green),var(--public-blue));
}

.editorial-shell .public-hero h1 {
  margin:0;
  color:#fff;
  font-size:clamp(40px,4.2vw,52px);
  font-weight:720;
  letter-spacing:-.045em;
  line-height:1.12;
}

.editorial-shell .public-hero h1 em {
  color:#7fe5b0;
  font-style:normal;
}

.public-hero-lead {
  max-width:610px;
  margin:24px 0 0;
  color:#d3e2db;
  font-size:17px;
  line-height:1.82;
}

.public-hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  margin-top:30px;
}

.editorial-shell .public-primary {
  min-width:170px;
  border-color:#00843f;
  background:#00843f;
  color:#fff;
}

.editorial-shell .public-primary:hover {
  border-color:#006f42;
  background:#006f42;
}

.editorial-shell .public-text-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  color:#c8ded4;
  font-weight:650;
  text-decoration:none;
}

.public-text-link:hover {
  color:#fff;
}

.public-trust-line {
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin-top:30px;
  color:#bdd0c8;
  font-size:12px;
}

.public-trust-line span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.public-trust-line .ph {
  color:#62d99a;
  font-size:15px;
}

.public-hero-stage {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  min-height:450px;
}

.public-network {
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:50%;
  opacity:.8;
}

.public-network::before {
  content:"";
  position:absolute;
  inset:46px 18px;
  border:1px solid rgba(142,225,181,.18);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(0,170,80,.16) 0 2px,transparent 3px),
    radial-gradient(circle at 35% 30%,rgba(7,155,211,.5) 0 3px,transparent 4px),
    radial-gradient(circle at 71% 62%,rgba(0,170,80,.55) 0 3px,transparent 4px);
}

.network-orbit,
.network-axis,
.network-node {
  position:absolute;
  display:block;
}

.network-orbit {
  border:1px solid rgba(155,221,188,.17);
  border-radius:50%;
}

.orbit-one { inset:88px 12px; }
.orbit-two { inset:26px 105px; }

.network-axis {
  top:50%;
  left:8%;
  width:84%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(151,222,186,.22),transparent);
  transform-origin:center;
}

.axis-one { transform:rotate(31deg); }
.axis-two { transform:rotate(-28deg); }

.network-node {
  width:9px;
  height:9px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:var(--public-green);
  box-shadow:0 0 0 6px rgba(0,170,80,.11);
}

.node-one { top:20%; left:20%; }
.node-two { top:16%; right:19%; background:var(--public-blue); }
.node-three { bottom:15%; left:28%; background:var(--public-blue); }
.node-four { right:12%; bottom:28%; }

.public-login-card {
  position:relative;
  z-index:2;
  width:100%;
  max-width:410px;
  padding:30px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  /* Opaque, not 97%. There is no backdrop-filter here, so the 3% was not a
     frosted-glass effect -- it let the hero's decorative network print through
     the form. One of its 9px nodes landed inside the card and rendered as a
     stray grey dot beside the intro text, which is the kind of thing that
     reads as a broken build rather than as depth. */
  background:var(--v2-paper,#fff);
  color:var(--v2-ink);
  box-shadow:0 24px 70px rgba(1,25,19,.28);
}

.public-login-head {
  display:flex;
  align-items:center;
  gap:14px;
}

.public-login-head img {
  flex:0 0 auto;
  border-radius:12px;
}

.public-login-head p,
.public-partner-top p {
  margin:0 0 2px;
  color:var(--public-green-dark);
  font-size:12px;
  font-weight:720;
}

.editorial-shell .public-login-head h2 {
  margin:0;
  color:var(--v2-ink);
  font-size:20px;
  line-height:1.3;
}

.public-login-lead {
  margin:20px 0 0;
  color:var(--v2-muted);
  font-size:14px;
  line-height:1.7;
}

.public-login-card .err {
  margin:15px 0 0;
  padding:10px 12px;
  border:1px solid #f1c4c4;
  border-radius:8px;
  background:#fff7f7;
  font-size:13px;
}

.public-login-form {
  max-width:none;
  margin:20px 0 0;
}

.public-login-form input {
  min-height:44px;
  background:#fff;
}

.editorial-shell .public-login-button {
  width:100%;
  min-height:48px;
  margin:0;
  border-color:#007b45;
  background:#007b45;
  color:#fff;
  font-size:15px;
}

.editorial-shell .public-login-button:hover {
  border-color:#006f42;
  background:#006f42;
}

.public-login-actions {
  display:grid;
  gap:10px;
  margin-top:20px;
}

.public-login-actions .login-auth-note {
  max-width:none;
  text-align:center;
  line-height:1.55;
}

.public-dev-note { margin:14px 0 0; }

.public-login-meta {
  display:grid;
  gap:9px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--v2-line);
}

.public-login-meta > div {
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--v2-muted);
  font-size:12px;
}

.public-login-meta .ph {
  flex:0 0 auto;
  margin-top:2px;
  color:var(--public-green-dark);
  font-size:16px;
}

.public-login-meta span {
  min-width:0;
  overflow-wrap:anywhere;
}

/* Spans the whole strip as its own row; padding matches the cells below so the
   text lines up with the first figure rather than sitting flush to the card. */
.public-proof-scope {
  grid-column:1 / -1;
  margin:0;
  padding:14px 24px 0;
  color:var(--v2-muted);
  font-size:12px;
  line-height:1.5;
}
/* The divider rules key off :first-child, which is now the scope line. */
.public-proof-strip > div:first-of-type { border-left:0; }

.public-proof-strip {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:-104px 32px 0;
  overflow:hidden;
  border:1px solid var(--v2-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 45px rgba(12,53,40,.11);
}

.public-proof-strip > div {
  padding:23px 24px;
  border-left:1px solid var(--v2-line);
}

.public-proof-strip > div:first-child { border-left:0; }

.public-proof-strip strong,
.public-proof-strip span { display:block; }

.public-proof-strip strong {
  color:var(--public-green-dark);
  font-size:25px;
  font-variant-numeric:tabular-nums;
  line-height:1.2;
}

.public-proof-strip span {
  margin-top:6px;
  color:var(--v2-muted);
  font-size:12px;
}

.public-section { scroll-margin-top:82px; }

.public-section-head {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  align-items:end;
  gap:38px;
  margin-bottom:30px;
}

.public-section-index { color:var(--public-green-dark); }

.editorial-shell .public-section-head h2,
.editorial-shell .public-foundation h2,
.editorial-shell .public-final-cta h2 {
  margin:0;
  color:var(--v2-ink);
  font-size:clamp(28px,3.2vw,42px);
  letter-spacing:-.035em;
  line-height:1.2;
}

.public-section-head > p {
  margin:0;
  color:var(--v2-muted);
  line-height:1.8;
}

.public-capability-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.public-capability-grid article {
  position:relative;
  min-height:250px;
  padding:26px;
  overflow:hidden;
  border:1px solid var(--v2-line);
  border-radius:14px;
  background:#fff;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.public-capability-grid article::after {
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:104px;
  height:104px;
  border:18px solid var(--v2-green-50);
  border-radius:50%;
}

.public-capability-grid article:hover {
  transform:translateY(-3px);
  border-color:#b7d5c5;
  box-shadow:0 16px 34px rgba(12,63,45,.08);
}

.public-card-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:22px;
  border-radius:12px;
  background:var(--v2-green-50);
  color:var(--public-green-dark);
  font-size:23px;
}

.public-capability-grid article > p {
  margin:0 0 6px;
  color:var(--public-green-dark);
  font-size:12px;
  font-weight:720;
}

.editorial-shell .public-capability-grid h3 {
  margin:0;
  color:var(--v2-ink);
  font-size:20px;
}

.public-capability-grid article > span:not(.public-card-icon) {
  position:relative;
  z-index:1;
  display:block;
  margin-top:13px;
  color:var(--v2-muted);
  line-height:1.72;
}

.public-capability-grid small {
  position:relative;
  z-index:1;
  display:block;
  margin-top:19px;
  color:var(--v2-muted);
  font-size:11px;
}

.public-control-loop {
  padding:48px 46px;
  border-radius:20px;
  background:linear-gradient(135deg,#072d22,#0a4635 70%,#0a3c47);
  color:#fff;
}

.public-section-head-light .public-section-index { color:#9adbb9; }
.editorial-shell .public-section-head-light h2 { color:#fff; }
.public-section-head-light > p { color:#bed2c9; }

.public-loop-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:38px 0 0;
  padding:0;
  list-style:none;
}

.public-loop-steps li {
  position:relative;
  padding:0 22px;
  border-left:1px solid rgba(255,255,255,.16);
}

.public-loop-steps li:first-child {
  padding-left:0;
  border-left:0;
}

.public-loop-steps li:last-child { padding-right:0; }

.public-loop-steps li > span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:24px;
  border:1px solid rgba(166,229,197,.36);
  border-radius:50%;
  color:#8ee1b5;
  font-size:12px;
  font-weight:760;
}

.public-loop-steps strong {
  display:block;
  color:#fff;
  font-size:17px;
}

.public-loop-steps p {
  margin:9px 0 0;
  color:#b9cec5;
  font-size:13px;
  line-height:1.7;
}

.public-partner-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.public-partner-grid > article {
  padding:32px;
  border:1px solid var(--v2-line);
  border-radius:16px;
  background:linear-gradient(145deg,#fff 0%,#f8fbf9 100%);
}

.public-partner-top {
  display:flex;
  align-items:center;
  gap:17px;
}

.public-partner-top > span {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--public-green-deep);
  color:#fff;
  font-size:27px;
}

.editorial-shell .public-partner-top h3 {
  margin:0;
  color:var(--v2-ink);
  font-size:22px;
}

.public-partner-grid ul {
  display:grid;
  gap:11px;
  margin:26px 0 0;
  padding:22px 0 0;
  border-top:1px solid var(--v2-line);
  list-style:none;
}

.public-partner-grid li {
  position:relative;
  padding-left:18px;
  color:var(--v2-muted);
  line-height:1.65;
}

.public-partner-grid li::before {
  content:"";
  position:absolute;
  top:.68em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--public-green);
}

.public-foundation {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);
  align-items:stretch;
  gap:42px;
  padding:46px;
  border:1px solid #d8e8de;
  border-radius:20px;
  background:
    radial-gradient(circle at 0 100%,rgba(0,170,80,.08),transparent 34%),
    #f7fbf8;
}

.public-foundation-copy > p:not(.public-section-index) {
  margin:20px 0 0;
  color:var(--v2-muted);
  line-height:1.8;
}

.public-timeline {
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #d3e3d9;
}

.public-timeline span {
  color:var(--v2-muted);
  font-size:12px;
  white-space:nowrap;
}

.public-timeline strong {
  margin-right:5px;
  color:var(--public-green-dark);
}

.public-credential-panel {
  padding:28px;
  border-radius:15px;
  background:var(--public-green-deep);
  color:#fff;
}

.public-credential-panel > p {
  margin:0 0 18px;
  color:#fff;
  font-size:16px;
  font-weight:720;
}

.public-credential-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.public-credential-grid span {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:45px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:9px;
  background:rgba(255,255,255,.07);
  color:#e8f4ee;
  font-size:12px;
}

.public-credential-grid .ph {
  flex:0 0 auto;
  color:#8ee1b5;
  font-size:18px;
}

.public-credential-panel small {
  display:block;
  margin-top:18px;
  color:#b4c9c0;
  font-size:10px;
  line-height:1.65;
}

.public-final-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:-10px;
  padding:40px 44px;
  border:1px solid var(--v2-line);
  border-radius:18px;
  background:#fff;
}

.public-final-cta p {
  margin:0 0 7px;
  color:var(--public-green-dark);
  font-size:12px;
  font-weight:720;
}

.editorial-shell .public-final-cta h2 {
  max-width:720px;
  font-size:30px;
}

.editorial-shell .public-final-cta .btn {
  flex:0 0 auto;
  gap:8px;
  margin:0;
}

@media (max-width:980px) {
  .public-portal { gap:60px; }

  .public-hero {
    grid-template-columns:minmax(0,1fr);
    gap:42px;
    padding:52px 44px 112px;
  }

  .public-hero-copy { padding-right:0; }
  .public-hero-stage { min-height:390px; }
  .public-login-card { max-width:560px; }
  .public-proof-strip { margin-top:-102px; }

  .public-capability-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .public-loop-steps {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 0;
  }

  .public-loop-steps li:nth-child(3) {
    padding-left:0;
    border-left:0;
  }

  .public-foundation {
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:720px) {
  html.editorial-shell .public-portal-main.public-portal-main {
    margin-top:14px;
    padding:0 14px;
  }

  .public-portal { gap:48px; }

  .public-hero {
    gap:32px;
    min-height:auto;
    padding:38px 24px 92px;
    border-radius:18px;
  }

  .public-brand-lockup {
    margin-bottom:28px;
    font-size:21px;
  }

  .editorial-shell .public-hero h1 {
    font-size:clamp(36px,8.5vw,42px);
  }

  .public-hero-lead { font-size:15px; }

  .public-hero-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
  }

  .public-hero-actions .btn,
  .public-hero-actions .public-text-link {
    width:100%;
    justify-content:center;
  }

  .public-trust-line {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .public-hero-stage { min-height:0; }

  .public-network { inset:-50px -30px; }

  .public-login-card {
    padding:24px 22px;
    border-radius:14px;
  }

  .public-proof-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:-82px 12px 0;
    border-radius:13px;
  }

  .public-proof-strip > div { padding:18px; }
  .public-proof-strip > div:nth-child(3) { border-left:0; }

  .public-proof-strip > div:nth-child(n+3) {
    border-top:1px solid var(--v2-line);
  }

  .public-section-head {
    grid-template-columns:minmax(0,1fr);
    gap:13px;
    margin-bottom:22px;
  }

  .editorial-shell .public-section-head h2,
  .editorial-shell .public-foundation h2 {
    font-size:30px;
  }

  .public-capability-grid,
  .public-partner-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .public-capability-grid article {
    min-height:auto;
    padding:23px;
  }

  .public-control-loop,
  .public-foundation {
    padding:32px 24px;
    border-radius:17px;
  }

  .public-loop-steps {
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }

  .public-loop-steps li,
  .public-loop-steps li:first-child,
  .public-loop-steps li:nth-child(3) {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    padding:20px 0;
    border-top:1px solid rgba(255,255,255,.14);
    border-left:0;
  }

  .public-loop-steps li:first-child { border-top:0; }
  .public-loop-steps li > span { margin:0; }
  .public-partner-grid > article { padding:25px; }

  .public-foundation {
    gap:28px;
  }

  .public-credential-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .public-final-cta {
    display:grid;
    padding:30px 24px;
  }

  .editorial-shell .public-final-cta h2 { font-size:26px; }
  .editorial-shell .public-final-cta .btn { width:100%; }
}

@media (max-width:390px) {
  .public-hero {
    padding-right:19px;
    padding-left:19px;
  }

  .public-login-head { align-items:flex-start; }
  .editorial-shell .public-hero h1 { font-size:clamp(28px,8.4vw,33px); }
  .editorial-shell .public-login-head h2 { font-size:18px; }
  .public-proof-strip strong { font-size:21px; }
  .public-proof-strip span { font-size:11px; }
}

@media (forced-colors:active) {
  .public-hero,
  .public-control-loop,
  .public-credential-panel {
    border:1px solid CanvasText;
    background:Canvas;
    color:CanvasText;
  }
}
