/* Final product theme layer. Loaded after page-specific z20-z50 styles. */

:root {
  --bg: #fffdf8;
  --bg-deep: #f6f0e6;
  --card: #fffdf8;
  --card-strong: #fffaf1;
  --ink: #24201a;
  --muted: #8a8276;
  --line: color-mix(in srgb, #a88958 28%, #e7ddcf 72%);
  --accent: #7a6842;
  --accent-soft: #f1e8d7;
  --accent-ink: #6d5a35;
  --surface-soft: #f7f1e8;
  --surface-low: #efe8dc;
  --page-bg: #f5efe6;
  --sidebar-surface: #fffaf1;
  --surface-card: #fffdf8;
  --ghost-line: rgba(122, 104, 66, 0.16);
  --btn: #514829;
  --btn-hover: #6a5a35;
  --shadow: 0 22px 55px rgba(54, 41, 23, 0.08);
  --shadow-soft: 0 10px 28px rgba(54, 41, 23, 0.05);
  --vesper-gold: #ad8a42;
  --vesper-olive: #505139;
}

html {
  background: var(--page-bg);
}

body {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.82) 0%, rgba(245, 239, 230, 0.96) 48%, #f2eadf 100%),
    var(--page-bg);
  color: var(--ink);
  letter-spacing: 0;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(122, 104, 66, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(122, 104, 66, 0.026) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 72%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 72%, transparent 100%);
}

h1,
h2,
h3 {
  letter-spacing: 0;
}

.app-shell > main,
.app-shell:not(.signed-out) > main,
.signed-out > main,
.home-dash,
.home-guest {
  background: transparent;
}

.container--app,
.container--home-dashboard {
  max-width: min(100%, 58rem);
}

.container--home-dashboard {
  padding-inline: clamp(1rem, 4vw, 2rem);
}

.mobile-topbar {
  color: var(--ink);
}

.mobile-topbar__brand,
.sidebar-brand__link {
  position: relative;
}

.mobile-topbar__brand {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, auto);
  grid-template-rows: auto auto;
  column-gap: 0.5rem;
  align-items: center;
}

.mobile-topbar__brand::before,
.sidebar-brand__link::before {
  content: "\2726";
  display: inline-grid;
  place-items: center;
  color: var(--vesper-gold);
  font-family: var(--font-serif);
  line-height: 1;
}

.mobile-topbar__brand::before {
  grid-row: 1 / 3;
  width: 1.35rem;
  height: 1.35rem;
  font-size: 1.2rem;
}

.mobile-topbar__eyebrow {
  grid-column: 2;
  color: color-mix(in srgb, var(--muted) 86%, var(--accent) 14%);
  font-size: 0.48rem;
  font-weight: 700;
  letter-spacing: 0.22em;
}

.mobile-topbar__wordmark {
  grid-column: 2;
  font-size: 1.58rem;
  font-weight: 500;
  letter-spacing: 0;
}

.mobile-topbar__action,
.sidebar-meta-action,
.btn-ghost {
  border-color: color-mix(in srgb, var(--line) 72%, white 28%);
  background: color-mix(in srgb, white 72%, var(--card-strong) 28%);
  color: var(--ink);
  box-shadow: none;
}

.btn,
input[type="submit"] {
  border-color: var(--btn);
  background: var(--btn);
  border-radius: 6px;
  color: #fffaf1;
  box-shadow: none;
}

.btn:hover,
input[type="submit"]:hover {
  background: var(--btn-hover);
  border-color: var(--btn-hover);
  transform: none;
}

.panel,
.hero {
  border-color: color-mix(in srgb, var(--line) 84%, white 16%);
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 250, 241, 0.98) 100%),
    var(--card);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.sidebar-shell {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(250, 244, 235, 0.98)),
    var(--sidebar-surface);
  border-right: 1px solid var(--ghost-line);
  box-shadow: none;
}

.sidebar-brand {
  padding: 1.3rem 1.35rem 1.05rem;
  border-bottom-color: var(--ghost-line);
}

.sidebar-brand__link {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  column-gap: 0.52rem;
  align-items: center;
}

.sidebar-brand__link::before {
  grid-row: 1 / 3;
  font-size: 1.18rem;
}

.sidebar-brand .eyebrow,
.eyebrow {
  color: color-mix(in srgb, var(--muted) 84%, var(--accent) 16%);
  letter-spacing: 0.2em;
}

.sidebar-brand h1,
.brand {
  font-weight: 500;
  letter-spacing: 0;
}

.sidebar-link,
.bottom-nav-link {
  border-radius: 8px;
  color: color-mix(in srgb, var(--muted) 84%, var(--ink) 16%);
}

.sidebar-link:hover,
.bottom-nav-link:hover {
  background: color-mix(in srgb, var(--accent-soft) 72%, white 28%);
  color: var(--ink);
}

.sidebar-link.active,
.sidebar-link.active:hover,
.bottom-nav-link.active,
.bottom-nav-link.active:hover {
  background: transparent;
  color: var(--accent-ink);
}

.bottom-nav-link.active .nav-icon {
  color: var(--vesper-gold);
}

.home-dashboard-v2 {
  --home-dashboard-container-pad: 0;
  --home-dashboard-inline-pad: clamp(1rem, 4vw, 1.35rem);
  --home-dashboard-card-line: color-mix(in srgb, var(--line) 80%, white 20%);
  --home-dashboard-card-line-strong: color-mix(in srgb, var(--accent) 48%, var(--line) 52%);
  max-width: 54rem;
  gap: 1.15rem;
  margin-inline: 0;
  padding: clamp(0.85rem, 2vw, 1.25rem) 0 1.6rem;
}

.home-dashboard-v2__header {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--home-dashboard-card-line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.home-dashboard-v2__header--paper {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 250, 241, 0.98) 100%),
    var(--card);
}

.home-dashboard-v2__header::after {
  content: "\25D0";
  position: absolute;
  right: 1.05rem;
  top: 1.04rem;
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid color-mix(in srgb, var(--line) 72%, white 28%);
  border-radius: 999px;
  color: var(--vesper-olive);
  font-family: var(--font-serif);
  font-size: 1.28rem;
  background: color-mix(in srgb, #fffaf1 78%, var(--accent-soft) 22%);
}

.home-dashboard-v2__kicker,
.sky-state-label,
.dashboard-event-item__eyebrow,
.home-dashboard-v2__nav-eyebrow,
.settings-hub-card__eyebrow,
.settings-stat__label {
  color: color-mix(in srgb, var(--muted) 84%, var(--accent) 16%);
  letter-spacing: 0.14em;
}

.home-dashboard-v2__title {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0;
}

.home-dashboard-v2__sky-state {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  column-gap: 0;
  margin-top: 1.2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--home-dashboard-card-line);
}

.sky-state-item {
  min-height: 4.3rem;
  padding-inline: 0.86rem;
  border-right: 1px solid color-mix(in srgb, var(--line) 74%, white 26%);
}

.sky-state-item:first-child {
  padding-left: 0;
}

.sky-state-item:last-child {
  border-right: 0;
}

.sky-state-value {
  color: var(--ink);
  font-size: 1.04rem;
  line-height: 1.32;
}

.home-dashboard-v2__body {
  gap: 1.7rem;
  padding-inline: 0;
}

.dashboard-feed-columns {
  gap: 1.45rem;
}

.dashboard-feed-header {
  margin-bottom: 0;
  padding-bottom: 0.58rem;
  border-bottom-color: var(--home-dashboard-card-line);
}

.dashboard-feed-title {
  font-size: 1.24rem;
  font-weight: 600;
  letter-spacing: 0;
}

.dashboard-feed-more {
  color: color-mix(in srgb, var(--muted) 82%, var(--ink) 18%);
  letter-spacing: 0.12em;
}

.dashboard-event-list {
  gap: 0;
}

.dashboard-event-item {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.54rem 0.72rem;
  min-height: 4.68rem;
  padding: 0.86rem 0.28rem 0.86rem 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 64%, white 36%);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-event-item::before {
  content: "\2726";
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 1.56rem;
  height: 1.56rem;
  margin-top: 0.1rem;
  border: 1px solid color-mix(in srgb, var(--line) 82%, white 18%);
  border-radius: 999px;
  color: var(--vesper-olive);
  font-family: var(--font-serif);
  font-size: 0.84rem;
}

.dashboard-event-item:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line) 62%);
  background: color-mix(in srgb, var(--accent-soft) 34%, transparent);
  box-shadow: none;
}

.dashboard-event-item__header,
.dashboard-event-item__title {
  grid-column: 2;
}

.dashboard-event-item__header {
  align-items: baseline;
}

.dashboard-event-item__eyebrow {
  max-width: 70%;
  padding: 0;
  background: transparent;
  font-size: 0.61rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-event-item__time {
  color: color-mix(in srgb, var(--muted) 86%, var(--ink) 14%);
  font-size: 0.68rem;
}

.dashboard-event-item__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: 0;
}

.home-dashboard-v2__nav-dock {
  padding-top: 1.15rem;
  border-top-color: var(--home-dashboard-card-line);
}

.home-dashboard-v2__nav-eyebrow {
  margin-bottom: 0.7rem;
}

.home-dashboard-v2__nav-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.62rem;
}

.home-dashboard-v2__nav-item {
  min-height: 4.75rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.44rem;
  padding: 0.82rem 0.52rem;
  border-color: var(--home-dashboard-card-line);
  background: var(--card);
  border-radius: 7px;
  text-align: center;
}

.home-dashboard-v2__nav-item::before {
  content: "\2609";
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--vesper-olive);
  font-family: var(--font-serif);
  font-size: 1rem;
}

.home-dashboard-v2__nav-item:hover {
  background: var(--btn);
  border-color: var(--btn);
  color: #fffaf1;
  transform: none;
}

.home-dashboard-v2__nav-label {
  font-size: 0.88rem;
  line-height: 1.24;
}

.home-dashboard-v2__nav-desc {
  display: none;
}

.home-dashboard-v2__nav-arrow {
  display: none;
}

.dashboard-monthly-preview,
.dashboard-feed-empty,
.settings-hub-card,
.settings-stat,
.inline-plus-gate {
  border-color: color-mix(in srgb, var(--line) 84%, white 16%);
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.97) 0%, rgba(255, 250, 241, 0.97) 100%),
    var(--card);
  box-shadow: none;
}

.settings-page {
  gap: 0.72rem;
}

.settings-overview {
  gap: 0.82rem;
}

.settings-overview__headline {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 74%, white 26%);
}

.settings-overview__copy h1 {
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0;
}

.settings-overview__desc,
.settings-section__desc,
.settings-hub-card__copy p {
  color: color-mix(in srgb, var(--muted) 88%, var(--ink) 12%);
}

.settings-overview__stats {
  gap: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 84%, white 16%);
  border-radius: 7px;
}

.settings-stat {
  padding: 0.9rem 0.86rem;
  border-top: 0;
  border-right: 1px solid color-mix(in srgb, var(--line) 64%, white 36%);
}

.settings-stat:last-child {
  border-right: 0;
}

.settings-hub-grid {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 78%, white 22%);
}

.settings-hub-card {
  min-height: 0;
  padding: 1.04rem 0.28rem;
  border-top: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 68%, white 32%);
  background: transparent;
  box-shadow: none;
}

.settings-hub-card:hover {
  background: color-mix(in srgb, var(--accent-soft) 34%, transparent);
}

.settings-hub-card__body {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
}

.settings-hub-card__copy h2 {
  font-size: 1.04rem;
  font-weight: 500;
  letter-spacing: 0;
}

.settings-hub-card__meta {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.settings-hub-card__meta strong {
  color: color-mix(in srgb, var(--muted) 82%, var(--ink) 18%);
}

.vesper-business-footer {
  background: color-mix(in srgb, var(--card) 84%, var(--page-bg) 16%);
  border-top-color: color-mix(in srgb, var(--line) 70%, white 30%);
}

.vesper-business-footer__link,
.vesper-business-footer__summary,
.vesper-business-footer__separator {
  color: color-mix(in srgb, var(--muted) 86%, var(--ink) 14%);
}

@media (max-width: 1040px) {
  .mobile-topbar {
    padding: 0.78rem 0.92rem;
    border-bottom-color: color-mix(in srgb, var(--line) 76%, white 24%);
    background: rgba(255, 250, 241, 0.94);
    box-shadow: 0 12px 30px rgba(54, 41, 23, 0.055);
    -webkit-backdrop-filter: blur(16px) saturate(116%);
    backdrop-filter: blur(16px) saturate(116%);
  }

  .container {
    padding-inline: 0.72rem;
  }

  .page-shell,
  .panel {
    border-radius: 0;
  }

  .bottom-nav {
    padding: 0.4rem 0.38rem calc(0.42rem + env(safe-area-inset-bottom));
    border-top-color: color-mix(in srgb, var(--line) 76%, white 24%);
    background: rgba(255, 250, 241, 0.94);
    box-shadow: 0 -14px 28px rgba(54, 41, 23, 0.055);
    -webkit-backdrop-filter: blur(16px) saturate(116%);
    backdrop-filter: blur(16px) saturate(116%);
  }

  .vesper-business-footer {
    background: rgba(255, 250, 241, 0.92);
  }
}

@media (max-width: 768px) {
  .dashboard-feed-columns {
    gap: 1.35rem;
  }

  .home-dashboard-v2__header {
    gap: 0.8rem;
  }

  .home-dashboard-v2__nav-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.46rem;
  }

  .home-dashboard-v2__nav-item {
    min-height: 4.5rem;
    padding: 0.66rem 0.36rem;
  }

  .home-dashboard-v2__nav-label {
    font-size: 0.76rem;
  }

}

@media (max-width: 560px) {
  .mobile-topbar__side--right {
    gap: 0.28rem;
  }

  .mobile-topbar__user {
    max-width: 3.8rem;
  }

  .mobile-topbar__action {
    min-height: 1.82rem;
    padding-inline: 0.52rem;
    font-size: 0.7rem;
  }

  .mobile-topbar__action--icon {
    width: 1.82rem;
    min-width: 1.82rem;
  }

  .home-dashboard-v2__title {
    font-size: 1.78rem;
  }

  .sky-state-item {
    padding-inline: 0.52rem;
  }

  .sky-state-value {
    font-size: 0.94rem;
  }

  .dashboard-event-item {
    min-height: 4.36rem;
    grid-template-columns: 1.78rem minmax(0, 1fr);
  }

  .dashboard-event-item__title {
    font-size: 0.94rem;
  }

  .settings-overview__stats {
    grid-template-columns: 1fr;
  }

  .settings-stat {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 64%, white 36%);
  }

  .settings-stat:last-child {
    border-bottom: 0;
  }
}

/* Mockup color and icon correction pass. Keep this last in the theme layer. */
:root {
  --bg: #fffef9;
  --bg-deep: #faf6ed;
  --card: #fffef9;
  --card-strong: #fffdf6;
  --ink: #28241d;
  --muted: #969085;
  --line: #e4d8c4;
  --accent: #9b8350;
  --accent-soft: #f8f1e6;
  --accent-ink: #74633d;
  --surface-soft: #fcf9f3;
  --surface-low: #f5efe5;
  --page-bg: #fbf8f2;
  --sidebar-surface: #fffef9;
  --surface-card: #fffef9;
  --ghost-line: rgba(126, 105, 61, 0.14);
  --btn: #5d5637;
  --btn-hover: #716640;
  --shadow: 0 24px 64px rgba(45, 35, 20, 0.055);
  --shadow-soft: 0 12px 34px rgba(45, 35, 20, 0.04);
  --vesper-gold: #ad8e4b;
  --vesper-olive: #555239;
}

html,
body {
  background: var(--page-bg);
}

body {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 252, 1) 0%, rgba(254, 252, 247, 0.98) 42%, rgba(251, 248, 242, 1) 100%),
    var(--page-bg);
  color: var(--ink);
}

body::before {
  background:
    radial-gradient(circle at 50% 14%, rgba(173, 142, 75, 0.03), transparent 38%),
    linear-gradient(90deg, rgba(126, 105, 61, 0.01) 1px, transparent 1px),
    linear-gradient(180deg, rgba(126, 105, 61, 0.009) 1px, transparent 1px);
  background-size: auto, 96px 96px, 96px 96px;
  opacity: 0.48;
}

.mobile-topbar,
.bottom-nav {
  background: rgba(255, 254, 249, 0.98);
  border-color: rgba(126, 105, 61, 0.14);
  box-shadow: none;
}

.mobile-topbar__brand::before,
.sidebar-brand__link::before {
  content: "";
  width: 1.42rem;
  height: 1.42rem;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23ad8e4b%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M16%202.5l2.15%2011.35L29.5%2016l-11.35%202.15L16%2029.5l-2.15-11.35L2.5%2016l11.35-2.15L16%202.5Z%27%20stroke-width%3D%271.05%27%2F%3E%3Cpath%20d%3D%27M16%206v20M6%2016h20M9.6%209.6l12.8%2012.8M22.4%209.6L9.6%2022.4%27%20stroke-width%3D%27.55%27%20opacity%3D%27.58%27%2F%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2716%27%20r%3D%271.35%27%20fill%3D%27%23ad8e4b%27%20stroke%3D%27none%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
  color: transparent;
  filter: none;
}

.mobile-topbar__eyebrow,
.sidebar-brand .eyebrow,
.eyebrow,
.home-dashboard-v2__kicker,
.sky-state-label,
.dashboard-event-item__eyebrow,
.home-dashboard-v2__nav-eyebrow,
.settings-hub-card__eyebrow,
.settings-stat__label {
  color: #8c867c;
  letter-spacing: 0.18em;
}

.mobile-topbar__wordmark,
.sidebar-brand h1,
.brand {
  color: var(--ink);
  font-weight: 500;
}

.mobile-topbar__action,
.sidebar-meta-action,
.btn-ghost {
  background: rgba(255, 253, 247, 0.76);
  border-color: rgba(126, 105, 61, 0.16);
  color: var(--ink);
}

.container--home-dashboard {
  padding-inline: clamp(1.05rem, 4.6vw, 1.65rem);
}

.home-dashboard-v2 {
  --home-dashboard-card-line: rgba(126, 105, 61, 0.18);
  --home-dashboard-card-line-strong: rgba(126, 105, 61, 0.32);
  gap: 1.22rem;
  max-width: 28rem;
  margin-inline: auto;
}

.home-dashboard-v2__header {
  border-color: rgba(126, 105, 61, 0.18);
  background:
    radial-gradient(circle at 50% -20%, rgba(255, 255, 253, 1), transparent 64%),
    linear-gradient(180deg, rgba(255, 254, 249, 0.99) 0%, rgba(255, 252, 246, 0.99) 100%);
  box-shadow: 0 14px 40px rgba(45, 35, 20, 0.045);
}

.home-dashboard-v2__header {
  border-radius: 14px;
  padding: 1.35rem 1.12rem 1.18rem;
}

.home-dashboard-v2__header::after {
  content: "";
  right: 0.92rem;
  top: 0.98rem;
  width: 3.58rem;
  height: 3.58rem;
  border: 0;
  background: url("/assets/home/home-moon-medallion-a9e63631.png") center / contain no-repeat;
  color: transparent;
  box-shadow: none;
}

.home-dashboard-v2__header::before {
  content: none;
}

.home-dashboard-v2__kicker {
  margin-bottom: 0.36rem;
  color: #4d493d;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
}

.home-dashboard-v2__title {
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: clamp(1.85rem, 1.48rem + 1.6vw, 2.5rem);
  font-weight: 400;
  line-height: 1.08;
}

.home-dashboard-v2__weekday {
  margin-left: 0.44rem;
  color: #9a9387;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 500;
  vertical-align: middle;
}

.home-dashboard-v2__sky-state {
  margin-top: 1.18rem;
  padding-top: 0.95rem;
  border-top-color: rgba(126, 105, 61, 0.16);
}

.sky-state-label {
  display: flex;
  align-items: center;
  gap: 0.24rem;
  font-size: 0.6rem;
  font-weight: 700;
}

.sky-state-label::before {
  content: "";
  display: inline-block;
  width: 0.58rem;
  height: 0.58rem;
  flex: 0 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.sky-state-label--sun::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2012%2012%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%276%27%20r%3D%273.2%27%20fill%3D%27none%27%20stroke%3D%27%238b846f%27%20stroke-width%3D%271.2%27%2F%3E%3Ccircle%20cx%3D%276%27%20cy%3D%276%27%20r%3D%271.05%27%20fill%3D%27%238b846f%27%2F%3E%3C%2Fsvg%3E");
}

.sky-state-label--moon::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2012%2012%27%3E%3Cpath%20d%3D%27M7.25%202.2A4%204%200%201%200%207.25%209.8A4.85%204.85%200%201%201%207.25%202.2Z%27%20fill%3D%27none%27%20stroke%3D%27%238b846f%27%20stroke-width%3D%271.25%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.sky-state-label--phase::before {
  display: none;
}

.sky-state-value {
  margin-top: 0.44rem;
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: 0.96rem;
}

.sky-state-zodiac,
.sky-state-phase-glyph {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 2.1rem;
  height: 2.1rem;
  margin-top: 0.45rem;
  color: #625d48;
}

.sky-state-zodiac .astro-icon {
  width: 2rem;
  height: 2rem;
  color: inherit;
}

.sky-state-phase-glyph {
  position: relative;
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: url("/assets/home/home-phase-first-quarter-220f33d9.png") center / contain no-repeat;
}

.sky-state-phase-glyph--new-moon {
  background-image: url("/assets/home/home-phase-new-moon-ef796c80.png");
}

.sky-state-phase-glyph--waxing-crescent {
  background-image: url("/assets/home/home-phase-waxing-crescent-615791c7.png");
}

.sky-state-phase-glyph--first-quarter {
  background-image: url("/assets/home/home-phase-first-quarter-220f33d9.png");
}

.sky-state-phase-glyph--waxing-gibbous {
  background-image: url("/assets/home/home-phase-waxing-gibbous-0dd9531b.png");
}

.sky-state-phase-glyph--full-moon {
  background-image: url("/assets/home/home-phase-full-moon-c90d5a22.png");
}

.sky-state-phase-glyph--waning-gibbous {
  background-image: url("/assets/home/home-phase-waning-gibbous-ce036bee.png");
}

.sky-state-phase-glyph--last-quarter,
.sky-state-phase-glyph--third-quarter {
  background-image: url("/assets/home/home-phase-last-quarter-f95fbf8a.png");
}

.sky-state-phase-glyph--waning-crescent {
  background-image: url("/assets/home/home-phase-waning-crescent-e4481dd4.png");
}

.sky-state-phase-glyph--unknown {
  opacity: 0.58;
}

.sky-state-phase-glyph::after {
  content: none;
}

.dashboard-feed-header {
  border-bottom-color: rgba(126, 105, 61, 0.16);
}

.dashboard-feed-title {
  color: var(--ink);
  font-size: 1.26rem;
  font-weight: 500;
}

.dashboard-feed-more {
  color: #8c867c;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}

.dashboard-feed-more::after {
  content: " \203A";
  color: #9e8c65;
  font-size: 0.9em;
}

.dashboard-event-item {
  min-height: 4.35rem;
  border-bottom-color: rgba(126, 105, 61, 0.14);
}

.dashboard-event-item::before {
  content: "\2609";
  border-color: rgba(126, 105, 61, 0.2);
  color: var(--vesper-olive);
  background: rgba(255, 253, 247, 0.7);
}

.dashboard-event-list > li:nth-child(2) .dashboard-event-item::before {
  content: "\263F";
}

.dashboard-event-list > li:nth-child(3) .dashboard-event-item::before {
  content: "\2643";
}

.dashboard-event-item__eyebrow {
  color: #8e887d;
  font-size: 0.62rem;
}

.dashboard-event-item__time {
  color: #928b80;
}

.dashboard-event-item__title {
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 500;
}

.home-dashboard-v2__nav-dock {
  border-top-color: rgba(126, 105, 61, 0.14);
}

.home-dashboard-v2__nav-eyebrow {
  color: #8e887d;
  font-size: 0.74rem;
  text-transform: none;
}

.home-dashboard-v2__nav-item {
  border-color: rgba(126, 105, 61, 0.16);
  background: rgba(255, 253, 247, 0.86);
  box-shadow: 0 10px 26px rgba(45, 35, 20, 0.04);
}

.home-dashboard-v2__nav-item::before {
  content: "\2637";
  color: #74653e;
}

.home-dashboard-v2__nav-grid > a:nth-child(2)::before {
  content: "\25A3";
}

.home-dashboard-v2__nav-grid > a:nth-child(3)::before {
  content: "\263B";
}

.home-dashboard-v2__nav-grid > a:nth-child(4)::before {
  content: "\263C";
}

.home-dashboard-v2__nav-label {
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 500;
}

.bottom-nav {
  background: rgba(255, 254, 249, 0.98);
}

.bottom-nav-link {
  gap: 0.18rem;
  color: #6f6b63;
  font-size: 0.64rem;
}

.bottom-nav-link.active,
.bottom-nav-link.active:hover {
  color: var(--vesper-gold);
}

.settings-overview__stats {
  border-radius: 8px;
}

@media (max-width: 1040px) {
  .mobile-topbar {
    background: rgba(255, 254, 249, 0.98);
    border-bottom-color: rgba(126, 105, 61, 0.14);
    box-shadow: none;
  }

  .container--app,
  .container--home-dashboard {
    max-width: 28rem;
  }

  .bottom-nav {
    border-top-color: rgba(126, 105, 61, 0.14);
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .home-dashboard-v2 {
    max-width: none;
  }

  .home-dashboard-v2__header {
    padding: 1.25rem 1rem 1.08rem;
  }

  .home-dashboard-v2__title {
    font-size: 1.82rem;
  }

  .home-dashboard-v2__weekday {
    display: inline-block;
    margin-left: 0.32rem;
  }
}

/* Home mockup parity: narrower paper column, lighter canvas, tighter feed typography. */
:root {
  --page-bg: #fffdf8;
  --bg: #fffdf8;
  --bg-deep: #fbf7ef;
  --card: #fffef9;
  --surface-soft: #fffdf8;
  --line: #e1d6c5;
  --muted: #9a9489;
  --ink: #26221b;
  --vesper-gold: #b0924e;
  --vesper-olive: #55543b;
}

html,
body,
.app-shell > main,
.app-shell:not(.signed-out) > main {
  background: #fffdf8;
}

body {
  background:
    radial-gradient(circle at 50% 0%, #fffffb 0%, #fffefa 38%, #fffdf8 100%),
    #fffdf8;
}

.container--home-dashboard {
  max-width: 25.25rem;
  padding-inline: 1.42rem;
}

.home-dashboard-v2 {
  gap: 1.05rem;
  max-width: none;
  padding-top: 0.82rem;
}

.home-dashboard-v2__header {
  border-color: rgba(134, 112, 68, 0.18);
  background:
    radial-gradient(circle at 50% -18%, #ffffff 0%, rgba(255, 255, 252, 0.98) 44%, rgba(255, 253, 248, 0.98) 100%);
  box-shadow: 0 12px 34px rgba(45, 35, 20, 0.032);
}

.home-dashboard-v2__body {
  gap: 1.05rem;
}

.dashboard-feed-columns {
  gap: 1.08rem;
}

.dashboard-feed-header {
  min-height: 2.25rem;
  padding-bottom: 0.42rem;
  border-bottom: 1px solid rgba(134, 112, 68, 0.2);
}

.dashboard-feed-title {
  font-size: 1.34rem;
  font-weight: 500;
  line-height: 1.1;
}

.dashboard-feed-more {
  font-size: 0.7rem;
  font-weight: 500;
  color: #a29a8e;
  letter-spacing: 0.01em;
}

.dashboard-event-list {
  gap: 0;
}

.dashboard-event-item {
  grid-template-columns: 1.68rem minmax(0, 1fr);
  gap: 0.18rem 0.66rem;
  min-height: 3.62rem;
  padding: 0.62rem 0.1rem 0.58rem 0;
  border-bottom: 1px solid rgba(134, 112, 68, 0.17);
}

.dashboard-event-item::before {
  width: 1.36rem;
  height: 1.36rem;
  margin-top: 0.03rem;
  border-color: rgba(107, 101, 76, 0.32);
  color: #5e6047;
  font-size: 0.74rem;
  background: transparent;
}

.dashboard-event-item__header {
  min-width: 0;
}

.dashboard-event-item__eyebrow {
  max-width: min(12.5rem, 72%);
  color: #9a9489;
  font-family: var(--font-sans);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.dashboard-event-item__time {
  color: #a39b90;
  font-size: 0.62rem;
  font-weight: 600;
}

.dashboard-event-item__title {
  color: #28241d;
  font-family: var(--font-serif);
  font-size: 0.91rem;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: 0;
}

.home-dashboard-v2__nav-dock {
  padding-top: 0.92rem;
  border-top: 1px solid rgba(134, 112, 68, 0.16);
}

.home-dashboard-v2__nav-eyebrow {
  margin-bottom: 0.58rem;
  font-family: var(--font-serif);
  color: #8f887d;
}

.home-dashboard-v2__nav-grid {
  gap: 0.52rem;
}

.home-dashboard-v2__nav-item {
  min-height: 4.2rem;
  padding: 0.65rem 0.32rem;
  border-color: rgba(134, 112, 68, 0.22);
  background: rgba(255, 254, 249, 0.94);
  box-shadow: 0 8px 22px rgba(45, 35, 20, 0.028);
}

.home-dashboard-v2__nav-label {
  font-size: 0.72rem;
  line-height: 1.25;
}

@media (max-width: 560px) {
  .container--home-dashboard {
    max-width: 25.25rem;
    padding-inline: 1.42rem;
  }

  .home-dashboard-v2__title {
    font-size: 1.85rem;
  }

  .dashboard-event-item__title {
    font-size: 0.9rem;
  }
}

/* Final paper/ink pass: match the mockup's off-white texture and lighter serif tone. */
:root {
  --page-bg: #fbf8f1;
  --bg: #fbf8f1;
  --surface-soft: #fbf8f1;
  --card: #fffdf7;
  --ink: #342f27;
  --muted: #a0998d;
  --line: #ded3c1;
}

html {
  background: #fbf8f1;
}

body {
  background-color: #fbf8f1;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27120%27%20height%3D%27120%27%20viewBox%3D%270%200%20120%20120%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.72%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.56%200%200%200%200%200.50%200%200%200%200%200.42%200%200%200%200.105%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27120%27%20height%3D%27120%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% 0%, #fffef9 0%, #fcf9f2 46%, #fbf8f1 100%);
  background-blend-mode: multiply, normal;
  color: #342f27;
}

body::before {
  background:
    radial-gradient(circle at 48% 9%, rgba(176, 146, 78, 0.018), transparent 34%),
    linear-gradient(90deg, rgba(118, 98, 57, 0.006) 1px, transparent 1px),
    linear-gradient(180deg, rgba(118, 98, 57, 0.006) 1px, transparent 1px);
  background-size: auto, 84px 84px, 84px 84px;
  opacity: 0.55;
}

.app-shell > main,
.app-shell:not(.signed-out) > main,
.container--home-dashboard,
.home-dash,
.home-dashboard-v2 {
  background: transparent;
}

.mobile-topbar,
.bottom-nav {
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2796%27%20height%3D%2796%27%20viewBox%3D%270%200%2096%2096%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.8%27%20numOctaves%3D%271%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.58%200%200%200%200%200.52%200%200%200%200%200.44%200%200%200%200.055%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%2796%27%20height%3D%2796%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),
    rgba(255, 253, 247, 0.965);
  background-blend-mode: multiply, normal;
}

.home-dashboard-v2__header,
.home-dashboard-v2__nav-item {
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27120%27%20height%3D%27120%27%20viewBox%3D%270%200%20120%20120%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.68%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.56%200%200%200%200%200.50%200%200%200%200%200.42%200%200%200%200.07%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27120%27%20height%3D%27120%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 52% -18%, #ffffff 0%, rgba(255, 254, 250, 0.985) 46%, rgba(255, 252, 246, 0.98) 100%);
  background-blend-mode: multiply, normal;
}

.dashboard-feed-title,
.dashboard-event-item__title,
.home-dashboard-v2__title,
.home-dashboard-v2__kicker,
.home-dashboard-v2__nav-eyebrow,
.home-dashboard-v2__nav-label {
  color: #342f27;
}

.dashboard-feed-title {
  font-family: var(--font-serif);
  font-size: 1.31rem;
  font-weight: 400;
  line-height: 1.12;
}

.dashboard-event-item__title {
  color: #3a342b;
  font-family: var(--font-serif);
  font-size: 0.89rem;
  font-weight: 500;
  line-height: 1.44;
}

.dashboard-event-item__eyebrow {
  color: #a29a8d;
  font-size: 0.54rem;
  font-weight: 600;
}

.dashboard-event-item__time {
  color: #aaa296;
  font-size: 0.6rem;
  font-weight: 500;
}

.dashboard-feed-more {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  color: #9f978b;
  font-family: var(--font-serif);
  font-size: 0.66rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.dashboard-feed-more::after {
  content: "\203A";
  margin-left: 0;
  color: #a59b8d;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 0.9;
  transform: translateY(-0.01rem);
}

.dashboard-feed-header {
  border-bottom-color: rgba(128, 105, 61, 0.145);
}

.dashboard-event-item {
  border-bottom-color: rgba(128, 105, 61, 0.13);
}

/* Mockup parity pass: paper texture, softened ink, and the narrow "view all" rhythm. */
:root {
  --page-bg: #fbf9f2;
  --bg: #fbf9f2;
  --surface-soft: #fbf9f2;
  --card: #fffdf8;
  --ink: #3d352c;
  --muted: #9d958a;
  --line: rgba(128, 105, 61, 0.18);
}

html,
body {
  background-color: #fbf9f2;
}

body {
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27144%27%20height%3D%27144%27%20viewBox%3D%270%200%20144%20144%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.56%200%200%200%200%200.50%200%200%200%200%200.42%200%200%200%200.13%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27144%27%20height%3D%27144%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% -8%, #fffefa 0%, #fcfaf4 42%, #fbf9f2 100%);
  background-blend-mode: soft-light, normal;
  color: #3d352c;
}

body::before {
  background:
    radial-gradient(circle at 52% 9%, rgba(172, 145, 85, 0.018), transparent 36%),
    linear-gradient(90deg, rgba(118, 98, 57, 0.005) 1px, transparent 1px),
    linear-gradient(180deg, rgba(118, 98, 57, 0.005) 1px, transparent 1px);
  background-size: auto, 96px 96px, 96px 96px;
  opacity: 0.46;
}

.container--home-dashboard {
  max-width: 25.6rem;
  padding-inline: 1.55rem;
}

.home-dashboard-v2 {
  gap: 1.08rem;
  color: #3d352c;
}

.home-dashboard-v2__header,
.home-dashboard-v2__nav-item {
  background-color: #fffdf8;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27128%27%20height%3D%27128%27%20viewBox%3D%270%200%20128%20128%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.62%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.55%200%200%200%200%200.50%200%200%200%200%200.43%200%200%200%200.075%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27128%27%20height%3D%27128%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% -15%, rgba(255, 255, 253, 0.98) 0%, rgba(255, 254, 250, 0.965) 52%, rgba(255, 252, 246, 0.94) 100%);
  background-blend-mode: soft-light, normal;
}

.home-dashboard-v2__header {
  padding: 1.1rem 1.04rem 0.94rem;
  border-color: rgba(128, 105, 61, 0.22);
  border-radius: 0.45rem;
  box-shadow: 0 14px 36px rgba(60, 48, 30, 0.035);
}

.home-dashboard-v2__kicker,
.home-dashboard-v2__nav-eyebrow {
  color: #756d61;
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: 0;
}

.home-dashboard-v2__kicker {
  margin-bottom: 0.32rem;
  font-size: 0.84rem;
}

.home-dashboard-v2__title {
  color: #3d352c;
  font-size: 1.96rem;
  font-weight: 400;
  line-height: 1.05;
}

.home-dashboard-v2__weekday {
  color: #9d9589;
  font-family: var(--font-serif);
  font-size: 0.62rem;
  font-weight: 400;
  margin-left: 0.45rem;
  transform: translateY(-0.05rem);
}

.home-dashboard-v2__sky-state {
  margin-top: 1.18rem;
  padding-top: 1rem;
  border-top-color: rgba(128, 105, 61, 0.24);
}

.sky-state-item {
  min-height: 4.25rem;
}

.sky-state-label {
  color: #777066;
  font-family: var(--font-sans);
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.13em;
}

.sky-state-value {
  color: #3d352c;
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.28;
}

.home-dashboard-v2__moon-note {
  display: grid;
  gap: 0.4rem;
  margin-top: 1rem;
  padding: 0.04rem 0 0.02rem 0.72rem;
  border-left: 1px solid rgba(128, 105, 61, 0.48);
}

.home-dashboard-v2__moon-note-label {
  color: #8a8174;
  font-family: var(--font-sans);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}

.home-dashboard-v2__moon-note-text {
  max-width: 25rem;
  margin: 0;
  color: #50483f;
  font-family: var(--font-sans);
  font-size: 0.73rem;
  font-weight: 400;
  line-height: 1.58;
  word-break: keep-all;
}

.sky-state-zodiac .astro-sign-icon {
  color: #554c3f;
  opacity: 0.92;
}

.dashboard-feed-header {
  min-height: 2.06rem;
  padding-bottom: 0.44rem;
  border-bottom-color: rgba(128, 105, 61, 0.18);
}

.dashboard-feed-title {
  color: #3d352c;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.12;
}

.dashboard-feed-more {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  color: #9a9388;
  font-family: var(--font-sans);
  font-size: 0.615rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(0.02rem);
}

.dashboard-feed-more::after {
  content: "\203A";
  color: #aaa196;
  font-family: var(--font-serif);
  font-size: 0.83rem;
  font-weight: 400;
  line-height: 0.8;
  margin-left: 0;
  transform: translateY(-0.015rem);
}

.dashboard-event-item {
  min-height: 3.55rem;
  padding: 0.58rem 0.1rem 0.58rem 0;
  border-bottom-color: rgba(128, 105, 61, 0.15);
}

.dashboard-event-item::before {
  border-color: rgba(97, 91, 70, 0.32);
  color: #5d5d46;
  background: rgba(255, 253, 248, 0.34);
}

.dashboard-event-item__eyebrow {
  color: #9c958a;
  font-size: 0.54rem;
  font-weight: 600;
  letter-spacing: 0.015em;
}

.dashboard-event-item__time {
  color: #a59e93;
  font-size: 0.6rem;
  font-weight: 500;
}

.dashboard-event-item__title {
  color: #3d352c;
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.45;
}

.home-dashboard-v2__nav-dock {
  border-top-color: rgba(128, 105, 61, 0.16);
}

.home-dashboard-v2__nav-eyebrow {
  font-size: 0.76rem;
}

/* User supplied palette lock. Do not tune these by eye. */
:root {
  --page-bg: #FDFBF8;
  --bg: #FDFBF8;
  --bg-deep: #F9F5F0;
  --surface-soft: #F9F5F0;
  --surface-low: #F9F5F0;
  --card: #FDFBF8;
  --card-strong: #FDFBF8;
  --surface-card: #FDFBF8;
  --ink: #4A4540;
  --muted: #9A938C;
  --line: #EBE4DB;
}

html,
body {
  background-color: #FDFBF8;
}

body {
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27144%27%20height%3D%27144%27%20viewBox%3D%270%200%20144%20144%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.10%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27144%27%20height%3D%27144%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% -8%, #FDFBF8 0%, #FDFBF8 38%, #F9F5F0 100%);
  background-blend-mode: soft-light, normal;
  color: #4A4540;
}

body::before {
  background:
    radial-gradient(circle at 52% 9%, rgba(154, 147, 140, 0.024), transparent 36%),
    linear-gradient(90deg, rgba(154, 147, 140, 0.008) 1px, transparent 1px),
    linear-gradient(180deg, rgba(154, 147, 140, 0.008) 1px, transparent 1px);
  background-size: auto, 96px 96px, 96px 96px;
  opacity: 0.44;
}

.app-shell > main,
.app-shell:not(.signed-out) > main,
.container--home-dashboard,
.home-dash,
.home-dashboard-v2 {
  background: transparent;
}

.mobile-topbar,
.bottom-nav {
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2796%27%20height%3D%2796%27%20viewBox%3D%270%200%2096%2096%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.8%27%20numOctaves%3D%271%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.055%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%2796%27%20height%3D%2796%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    #FDFBF8;
  background-blend-mode: soft-light, normal;
  border-color: #EBE4DB;
  color: #4A4540;
}

.home-dashboard-v2 {
  color: #4A4540;
}

.home-dashboard-v2__header,
.home-dashboard-v2__nav-item {
  background-color: #FDFBF8;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27128%27%20height%3D%27128%27%20viewBox%3D%270%200%20128%20128%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.62%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.07%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27128%27%20height%3D%27128%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    linear-gradient(180deg, #FDFBF8 0%, #FDFBF8 58%, #F9F5F0 100%);
  background-blend-mode: soft-light, normal;
  border-color: #EBE4DB;
}

.home-dashboard-v2__header {
  box-shadow: 0 14px 36px rgba(74, 69, 64, 0.045);
}

.home-dashboard-v2__kicker,
.home-dashboard-v2__nav-eyebrow,
.sky-state-label,
.dashboard-event-item__eyebrow,
.dashboard-event-item__time,
.home-dashboard-v2__weekday,
.home-dashboard-v2__nav-desc,
.mobile-topbar__eyebrow,
.sidebar-brand__eyebrow {
  color: #9A938C;
}

.mobile-topbar__brand,
.sidebar-brand__link,
.home-dashboard-v2__title,
.sky-state-value,
.dashboard-feed-title,
.dashboard-event-item__title,
.home-dashboard-v2__nav-label,
.bottom-nav-link,
.topbar-action {
  color: #4A4540;
}

.home-dashboard-v2__sky-state,
.dashboard-feed-header,
.dashboard-event-item,
.home-dashboard-v2__nav-dock {
  border-color: #EBE4DB;
}

.dashboard-feed-more {
  color: #9A938C;
}

.dashboard-feed-more::after {
  color: #9A938C;
}

.dashboard-event-item::before {
  border-color: #EBE4DB;
  color: #4A4540;
  background: #FDFBF8;
}

.sky-state-zodiac .astro-sign-icon,
.sky-state-phase-glyph {
  color: #4A4540;
}

.sky-state-phase-glyph {
  border-color: #EBE4DB;
}

.sky-state-phase-glyph::after {
  background: #FDFBF8;
}

.home-dashboard-v2__nav-item:hover,
.dashboard-event-item:hover {
  background-color: #F9F5F0;
}

/* App-only responsive pass: desktop keeps only the left navigator as a wider-screen affordance. */
:root {
  --vesper-app-width: 26.875rem;
  --vesper-app-inline-pad: clamp(0.72rem, 3.8vw, 1rem);
  --vesper-app-page-block-start: 0rem;
  --vesper-app-page-block-end: 1.6rem;
  --vesper-app-page-gutter: 0rem;
}

.app-shell:not(.signed-out) > main {
  min-width: 0;
  overflow-x: clip;
}

.container--app,
.container--home-dashboard {
  width: min(100%, var(--vesper-app-width));
  max-width: var(--vesper-app-width);
  margin-inline: auto;
  padding-inline: var(--vesper-app-inline-pad);
  box-sizing: border-box;
}

.home-dashboard-v2 {
  --home-dashboard-container-pad: var(--vesper-app-inline-pad);
  --home-dashboard-inline-pad: clamp(0.94rem, 4vw, 1.32rem);
  max-width: none;
  margin-inline: 0;
}

.dashboard-feed-columns,
.dashboard-feed-columns--single,
.settings-overview__headline,
.settings-overview__stats,
.settings-summary-grid,
.settings-plan-grid,
.settings-help-grid,
.settings-hub-grid,
.admin-v2__hero,
.admin-v2__hero--narrow,
.admin-v2__hero--support,
.admin-v2__grid,
.admin-v2__grid--balanced,
.admin-metric-grid,
.admin-metric-grid--compact,
.admin-action-grid {
  grid-template-columns: minmax(0, 1fr);
}

.settings-overview__actions,
.admin-v2__actions,
.admin-section__actions {
  justify-content: stretch;
}

.settings-overview__actions .btn,
.admin-v2__actions .btn,
.admin-section__actions .btn {
  justify-content: center;
  width: 100%;
}

.settings-overview__headline,
.settings-chart-card,
.settings-savebar,
.settings-library-item__summary-head,
.settings-notice-item__head,
.admin-feed-row,
.admin-section__head,
.admin-subsection__head,
.admin-identity-item {
  flex-direction: column;
  align-items: flex-start;
}

.settings-anchor-nav,
.settings-inline-links,
.settings-legal-links,
.settings-footer-actions,
.settings-subpage-header__top,
.admin-inline-form,
.admin-hero-actions,
.admin-support-search {
  width: 100%;
}

.settings-anchor-link,
.settings-inline-links .btn,
.settings-footer-actions .btn,
.admin-inline-form .btn,
.admin-hero-actions .btn,
.admin-support-search .btn {
  justify-content: center;
  width: 100%;
}


.home-dashboard-v2__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.home-dashboard-v2__sky-state {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-dashboard-v2__upgrade-pill,
.home-dashboard-v2__upgrade-pill a {
  width: 100%;
}

.home-dashboard-v2__upgrade-pill a {
  justify-content: center;
}

.home-dashboard-v2__nav-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-dashboard-v2__nav-item {
  min-width: 0;
}

.home-dashboard-v2__nav-label,
.bottom-nav-link__label {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}


.settings-stat {
  border-right: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 64%, white 36%);
}

.settings-stat:last-child {
  border-bottom: 0;
}

/* Home feed mockup alignment: compact paper list with transit-now glyphs. */
.home-dashboard-v2 .dashboard-feed-columns,
.home-dashboard-v2 .dashboard-feed-columns--single {
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1.36rem;
  column-gap: 0.72rem;
  max-width: none;
}

.home-dashboard-v2 .dashboard-feed-header {
  min-height: 2.45rem;
  margin: 0;
  padding: 0 0 0.52rem;
  border-bottom: 1px solid #ded4c7;
}

.home-dashboard-v2 .dashboard-feed-title {
  color: #3d3935;
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.08;
}

.home-dashboard-v2 .dashboard-feed-more {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  color: #a19a90;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.home-dashboard-v2 .dashboard-feed-more::after {
  content: "\203A";
  color: #a19a90;
  font-size: 0.9rem;
  line-height: 1;
}

.home-dashboard-v2 .dashboard-event-list {
  gap: 0;
}

.home-dashboard-v2 .dashboard-event-item {
  display: grid;
  grid-template-columns: 1.58rem minmax(0, 1fr);
  gap: 0.12rem 0.6rem;
  min-height: 3.72rem;
  padding: 0.62rem 0 0.66rem;
  border: 0;
  border-bottom: 1px solid #e4dbcf;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-dashboard-v2 .dashboard-event-item::before {
  content: none;
  display: none;
}

.home-dashboard-v2 .dashboard-event-list > li .dashboard-event-item::before,
.home-dashboard-v2 .dashboard-event-list > li:nth-child(2) .dashboard-event-item::before,
.home-dashboard-v2 .dashboard-event-list > li:nth-child(3) .dashboard-event-item::before {
  content: none;
  display: none;
}

.home-dashboard-v2 .dashboard-event-item:hover {
  transform: none;
  background: rgba(249, 245, 240, 0.72);
  border-bottom-color: #d8cbbb;
  box-shadow: none;
}

.home-dashboard-v2 .dashboard-event-item__glyph {
  grid-column: 1;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 1.42rem;
  height: 1.42rem;
  margin-top: 0.06rem;
  border: 1px solid #cfc5b6;
  border-radius: 999px;
  color: #5d5a47;
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 0.84rem;
  line-height: 1;
}

.home-dashboard-v2 .dashboard-event-item__glyph img.astro-icon {
  width: 0.9rem;
  height: 0.9rem;
}

.home-dashboard-v2 .dashboard-event-item__header,
.home-dashboard-v2 .dashboard-event-item__title {
  grid-column: 2;
}

.home-dashboard-v2 .dashboard-event-item__header {
  min-width: 0;
  align-items: baseline;
  gap: 0.5rem;
}

.home-dashboard-v2 .dashboard-event-item__eyebrow {
  min-width: 0;
  max-width: calc(100% - 4.95rem);
  padding: 0;
  overflow: hidden;
  color: #9b948a;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.home-dashboard-v2 .dashboard-event-item__time {
  flex: 0 0 auto;
  margin-left: auto;
  color: #a19a90;
  font-size: 0.62rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.home-dashboard-v2 .dashboard-event-item__title {
  display: block;
  margin: 0.02rem 0 0;
  overflow: visible;
  color: #312c25;
  font-family: var(--font-serif);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.38;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
}

.home-dashboard-v2 .home-dashboard-v2__nav-dock {
  margin-top: 0.12rem;
  padding-top: 0.78rem;
  border-top: 1px solid #ded4c7;
}

.home-dashboard-v2 .home-dashboard-v2__nav-eyebrow {
  margin-bottom: 0.52rem;
  color: #918a80;
  font-family: var(--font-serif);
  font-size: 0.78rem;
}

.home-dashboard-v2 .home-dashboard-v2__nav-grid {
  gap: 0.5rem;
}

.home-dashboard-v2 .home-dashboard-v2__nav-item {
  min-height: 4.28rem;
  gap: 0.38rem;
  padding: 0.58rem 0.22rem 0.62rem;
  border-color: #e4dbcf;
  border-radius: 5px;
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 8px 20px rgba(45, 35, 20, 0.025);
}

.home-dashboard-v2 .home-dashboard-v2__nav-item::before {
  content: none;
  display: none;
}

.home-dashboard-v2 .home-dashboard-v2__nav-grid > a::before,
.home-dashboard-v2 .home-dashboard-v2__nav-grid > a:nth-child(2)::before,
.home-dashboard-v2 .home-dashboard-v2__nav-grid > a:nth-child(3)::before,
.home-dashboard-v2 .home-dashboard-v2__nav-grid > a:nth-child(4)::before {
  content: none;
  display: none;
}

.home-dashboard-v2 .home-dashboard-v2__nav-icon {
  display: grid;
  place-items: center;
  width: 1.36rem;
  height: 1.36rem;
  color: #71643f;
}

.home-dashboard-v2 .home-dashboard-v2__nav-icon svg {
  display: block;
  width: 1.36rem;
  height: 1.36rem;
}

.home-dashboard-v2 .home-dashboard-v2__nav-label {
  color: #3d3935;
  font-family: var(--font-serif);
  font-size: 0.73rem;
  font-weight: 500;
  line-height: 1.22;
}

.home-dashboard-v2 .home-dashboard-v2__nav-item:hover {
  color: #3d3935;
}

.home-dashboard-v2 .home-dashboard-v2__nav-item:hover .home-dashboard-v2__nav-label {
  color: #3d3935;
}

.home-dashboard-v2 .home-dashboard-v2__nav-item:hover .home-dashboard-v2__nav-desc {
  color: #9A938C;
}

@media (min-width: 1041px) {
  .app-shell:not(.signed-out) {
    grid-template-columns: var(--sidebar-shell-width) minmax(0, 1fr);
  }

  .app-shell:not(.signed-out) > .sidebar-shell {
    position: sticky;
    top: 0;
    left: auto;
    width: var(--sidebar-shell-width);
    height: 100vh;
    z-index: 20;
    display: flex !important;
    transform: none;
  }

  .app-shell:not(.signed-out) .container--app,
  .app-shell:not(.signed-out) .container--home-dashboard {
    max-width: var(--vesper-app-width);
  }

  .app-shell:not(.signed-out) .page-shell,
  .app-shell:not(.signed-out) .panel {
    border-radius: 0;
  }
}

@media (max-width: 1040px) {
  .app-shell,
  .signed-out {
    grid-template-columns: minmax(0, 1fr);
  }

  .mobile-topbar {
    width: min(100%, var(--vesper-app-width));
    max-width: var(--vesper-app-width);
    margin-inline: auto;
  }

  .bottom-nav {
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    transform: translateY(0);
  }

  .bottom-nav.is-hidden {
    transform: translateY(calc(100% + env(safe-area-inset-bottom) + 0.5rem));
  }
}

@media (max-width: 460px) {
  .container--app,
  .container--home-dashboard,
  .mobile-topbar,
  .bottom-nav {
    width: min(100%, var(--vesper-app-width));
    max-width: var(--vesper-app-width);
  }

  .bottom-nav {
    margin-inline: auto;
  }

  .container--home-dashboard {
    padding-inline: 1rem;
    overflow-x: hidden;
  }

  .home-dashboard-v2,
  .home-dashboard-v2__header,
  .dashboard-feed-container,
  .home-dashboard-v2__nav-dock {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Tablet app chrome: keep compact 7-inch portrait on mobile chrome, then use
   the left navigator once the viewport has enough content width.
   frontend-chrome-approved: user-approved shared chrome breakpoint behavior. */
@media (min-width: 1024px) and (max-width: 1040px) {
  .app-shell:not(.signed-out) {
    --sidebar-shell-width: clamp(184px, 26vw, 208px);
    grid-template-columns: var(--sidebar-shell-width) minmax(0, 1fr);
  }

  .app-shell:not(.signed-out) > .sidebar-shell { /* frontend-chrome-approved */
    position: sticky;
    top: 0;
    left: auto;
    z-index: 20;
    display: flex !important;
    width: var(--sidebar-shell-width);
    height: 100vh;
    transform: none !important;
    box-shadow: inset -1px 0 0 var(--ghost-line);
  }

  .app-shell:not(.signed-out) > .sidebar-shell .sidebar-brand { /* frontend-chrome-approved */
    padding: 1.24rem 1.05rem 1.08rem;
  }

  .app-shell:not(.signed-out) > .sidebar-shell .sidebar-brand .eyebrow { /* frontend-chrome-approved */
    display: none;
  }

  .app-shell:not(.signed-out) > .sidebar-shell .sidebar-brand h1 { /* frontend-chrome-approved */
    margin-top: 0;
    font-size: 1.46rem;
  }

  body[data-app-client="android_app"] .app-shell:not(.signed-out) > .sidebar-shell .sidebar-meta { /* frontend-chrome-approved */
    display: none !important;
  }

  body:not(.signed-out) header.mobile-topbar, /* frontend-chrome-approved */
  body:not(.signed-out) nav.bottom-nav, /* frontend-chrome-approved */
  body:not(.signed-out) .sidebar-backdrop {
    display: none !important;
  }

  .app-shell:not(.signed-out) .container--app, /* frontend-chrome-approved */
  .app-shell:not(.signed-out) .container--home-dashboard {
    max-width: var(--vesper-app-width);
    padding-block: 0 var(--vesper-app-page-block-end);
  }

  .app-shell:not(.signed-out) .vesper-business-footer, /* frontend-chrome-approved */
  .app-shell:not(.signed-out) .vesper-business-footer--with-bottom-nav {
    padding-bottom: 1rem;
  }
}

@media (max-width: 1023px) {
  body[data-app-client="android_app"] .app-shell:not(.signed-out) > .sidebar-shell, /* frontend-chrome-approved */
  body[data-app-client="android_app"] .sidebar-backdrop {
    display: none !important;
  }
}

/* Home-aligned app spacing: page shells should use the same outer canvas as Home. */
.app-shell:not(.signed-out) .container--app > .page-shell,
.app-shell:not(.signed-out) .container--app > .panel.page-shell {
  --transit-gutter: var(--vesper-app-page-gutter);
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-top: var(--vesper-app-page-block-start);
  padding-bottom: var(--vesper-app-page-block-end);
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  .app-shell:not(.signed-out) .container--app > .page-shell, /* frontend-chrome-approved */
  .app-shell:not(.signed-out) .container--app > .panel.page-shell {
    padding-top: 1.6rem;
  }

  body .app-shell:not(.signed-out) .container--app > .page-shell .page-shell__top-surface { /* frontend-chrome-approved */
    padding-top: 2.8rem;
  }

  body .app-shell:not(.signed-out) .container--app > .page-shell .page-shell__tabs { /* frontend-chrome-approved */
    margin-top: 0;
  }
}

/* Keep the legal footer on the same paper canvas as the page content. */
.app-shell:not(.signed-out) .vesper-business-footer {
  background: transparent;
}

body[data-app-client="android_app"] .vesper-business-footer {
  display: none !important;
}

/* Logged-out landing footer should stay on the hero canvas and match the tagline tone. */
.landing-screen > .vesper-business-footer--overlay {
  background: transparent;
  color: rgba(255, 255, 255, 0.66);
}

.landing-screen > .vesper-business-footer--overlay .vesper-business-footer__link,
.landing-screen > .vesper-business-footer--overlay .vesper-business-footer__summary,
.landing-screen > .vesper-business-footer--overlay .vesper-business-footer__separator,
.landing-screen > .vesper-business-footer--overlay .vesper-business-footer__panel,
.landing-screen > .vesper-business-footer--overlay strong {
  color: rgba(255, 255, 255, 0.66);
}

/* Ops redesign: compact editorial command surface. */
.admin-v2--ops-redesign {
  --ops-paper: #FDFBF8;
  --ops-paper-soft: #F8F3EA;
  --ops-line: #E1D6C8;
  --ops-line-strong: #C7B79F;
  --ops-ink: #3D3935;
  --ops-muted: #8B847D;
  --ops-gold: #A88958;
  --ops-olive: #55513A;
  --ops-warn: #8A5C18;
  width: min(100%, 58rem);
  max-width: 58rem;
  margin-inline: auto;
  gap: 0.78rem;
  padding-block: 0.28rem 1.5rem;
  color: var(--ops-ink);
}

.admin-v2--ops-redesign .panel {
  border-color: rgba(199, 183, 159, 0.68);
  border-radius: 8px;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27144%27%20height%3D%27144%27%20viewBox%3D%270%200%20144%20144%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.075%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27144%27%20height%3D%27144%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(249, 245, 239, 0.98));
  background-blend-mode: soft-light, normal;
  box-shadow: 0 10px 28px rgba(62, 49, 32, 0.06);
}

.admin-ops-command,
.admin-ops-lane {
  display: grid;
  gap: 0.78rem;
  padding: 0.94rem;
}

.admin-ops-command__top,
.admin-ops-lane__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-ops-brandline {
  display: flex;
  align-items: center;
  gap: 0.54rem;
  min-width: 0;
}

.admin-ops-brandmark {
  display: inline-grid;
  place-items: center;
  width: 1.42rem;
  height: 1.42rem;
  flex: 0 0 auto;
  color: var(--ops-gold);
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1;
}

.admin-v2--ops-redesign .admin-v2__title,
.admin-v2--ops-redesign .admin-section__title,
.admin-v2--ops-redesign .admin-subsection__head h3 {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: 0;
}

.admin-v2--ops-redesign .admin-v2__title {
  font-size: 1.72rem;
  line-height: 1;
}

.admin-v2--ops-redesign .admin-section__title {
  font-size: 1.18rem;
  line-height: 1.2;
}

.admin-v2--ops-redesign .admin-section__eyebrow,
.admin-v2--ops-redesign .admin-v2__kicker {
  color: var(--ops-muted);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.admin-ops-stamp {
  display: grid;
  gap: 0.16rem;
  margin: 0;
  color: var(--ops-muted);
  font-size: 0.68rem;
  line-height: 1.25;
  text-align: right;
}

.admin-ops-stamp strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 500;
}

.admin-v2--ops-redesign .admin-tabs--v2 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
}

.admin-v2--ops-redesign .admin-tab {
  position: relative;
  min-width: 0;
  padding: 0.56rem 0.2rem 0.72rem;
  border-radius: 0;
  color: var(--ops-muted);
  font-family: var(--font-serif);
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}

.admin-v2--ops-redesign .admin-tab:hover,
.admin-v2--ops-redesign .admin-tab.active {
  background: transparent;
  color: var(--ops-ink);
  transform: none;
}

.admin-v2--ops-redesign .admin-tab.active::after {
  content: "◆";
  position: absolute;
  left: 50%;
  bottom: -0.47rem;
  color: var(--ops-olive);
  font-size: 0.52rem;
  line-height: 1;
  transform: translateX(-50%);
}

.admin-ops-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  border-bottom: 1px solid var(--ops-line);
}

.admin-ops-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 2.34rem;
  margin-bottom: -1px;
  padding: 0.54rem 0.32rem 0.62rem;
  color: var(--ops-muted);
  font-family: var(--font-serif);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.12;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.admin-ops-tab:hover,
.admin-ops-tab--active {
  color: var(--ops-ink);
  text-decoration: none;
}

.admin-ops-tab--active::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--ops-olive);
}

.admin-ops-tab--active::after {
  content: "";
  position: absolute;
  bottom: -0.2rem;
  left: 50%;
  width: 0.36rem;
  height: 0.36rem;
  border: 1px solid var(--ops-paper);
  background: var(--ops-olive);
  transform: translateX(-50%) rotate(45deg);
}

.admin-v2--ops-redesign .admin-section-tabs {
  --page-shell-tab-color: var(--ops-muted);
  --page-shell-tab-active-color: var(--ops-ink);
  --page-shell-tab-rule: var(--ops-line);
  --page-shell-tab-accent: var(--ops-olive);
  --transit-page-bg: var(--ops-paper);
}

.admin-v2--ops-redesign .admin-primary-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin: 0;
  border-bottom: 1px solid var(--ops-line);
}

.admin-v2--ops-redesign .admin-primary-tabs .page-shell__tab {
  flex: none;
  min-height: 2.38rem;
  padding: 0.48rem 0.24rem 0.66rem;
  color: var(--ops-muted);
  font-size: 0.88rem;
  line-height: 1.1;
}

.admin-v2--ops-redesign .admin-primary-tabs .page-shell__tab--active {
  color: var(--ops-ink);
}

.admin-ops-command__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(14rem, 0.75fr);
  gap: 1rem;
  align-items: stretch;
}

.admin-ops-status-panel,
.admin-ops-run-panel {
  display: grid;
  align-content: start;
  gap: 0.86rem;
  min-width: 0;
}

.admin-ops-run-panel {
  padding-left: 1rem;
  border-left: 1px solid var(--ops-line);
}

.admin-ops-status-panel__head {
  display: grid;
  gap: 0.3rem;
}

.admin-ops-status-panel__head strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 1.42rem;
  font-weight: 500;
  line-height: 1.12;
}

.admin-ops-status-panel__head span,
.admin-ops-run-panel__note,
.admin-ops-lane__head p {
  margin: 0;
  color: var(--ops-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.admin-ops-status-panel--warn .admin-ops-status-panel__head strong {
  color: var(--ops-warn);
}

.admin-ops-watch-list {
  display: grid;
  border-top: 1px solid var(--ops-line);
}

.admin-ops-watch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 0.78rem 0;
  border-bottom: 1px solid var(--ops-line);
}

.admin-ops-watch-row span {
  display: block;
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.3;
}

.admin-ops-watch-row p {
  margin: 0.18rem 0 0;
  color: var(--ops-muted);
  font-size: 0.72rem;
  line-height: 1.5;
}

.admin-ops-watch-row strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 1.18rem;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
}

.admin-ops-watch-row--warn strong,
.admin-ops-watch-row--warn span {
  color: var(--ops-warn);
}

.admin-ops-run-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.62rem;
  align-items: end;
}

.admin-ops-run-form .settings-input {
  height: 2.36rem;
}

.admin-ops-run-form .btn {
  min-height: 2.36rem;
  padding-inline: 1rem;
}

.admin-ops-board {
  display: grid;
  gap: 0.78rem;
}

.admin-ops-lane__head {
  padding-bottom: 0.62rem;
  border-bottom: 1px solid var(--ops-line);
}

.admin-ops-lane__head > div {
  display: grid;
  gap: 0.28rem;
}

.admin-ops-lane__head p {
  max-width: 22rem;
  text-align: right;
}

.admin-v2--ops-redesign .admin-ops-metric-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.2rem, 1fr));
  gap: 0;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.52);
  overflow: hidden;
}

.admin-v2--ops-redesign .admin-ops-metric-strip--business {
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
}

.admin-v2--ops-redesign .admin-ops-metric-strip .admin-metric {
  min-height: 4.1rem;
  padding: 0.58rem 0.62rem;
  border: 0;
  border-right: 1px solid var(--ops-line);
  border-bottom: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.admin-v2--ops-redesign .admin-ops-metric-strip .admin-metric--warn {
  background: rgba(246, 235, 214, 0.58);
}

.admin-v2--ops-redesign .admin-ops-metric-strip .admin-metric--ink {
  background: rgba(61, 57, 53, 0.045);
}

.admin-v2--ops-redesign .admin-metric__label,
.admin-v2--ops-redesign .admin-metric__hint {
  color: var(--ops-muted);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
}

.admin-v2--ops-redesign .admin-metric__value {
  color: var(--ops-ink);
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0;
}

.admin-ops-inline-ledger {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  color: var(--ops-muted);
  font-size: 0.74rem;
  line-height: 1.5;
}

.admin-ops-fold {
  border-top: 1px solid var(--ops-line);
}

.admin-ops-fold summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  min-height: 2.72rem;
  cursor: pointer;
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.94rem;
  font-weight: 500;
  list-style: none;
}

.admin-ops-fold summary::-webkit-details-marker {
  display: none;
}

.admin-ops-fold summary::before {
  content: "＋";
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  color: var(--ops-muted);
  font-family: var(--font-sans);
  font-size: 0.78rem;
}

.admin-ops-fold[open] summary::before {
  content: "－";
}

.admin-ops-fold summary strong {
  grid-column: 2;
  grid-row: 1;
  padding-right: 1.2rem;
  color: var(--ops-muted);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-ops-fold__body {
  display: grid;
  gap: 0.82rem;
  padding-top: 0.72rem;
}

.admin-v2--ops-redesign .admin-v2__grid--balanced {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-v2--ops-redesign .admin-subsection {
  gap: 0.72rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.admin-v2--ops-redesign .admin-subsection__head {
  align-items: baseline;
  gap: 0.6rem;
  padding-bottom: 0.48rem;
  border-bottom: 1px solid var(--ops-line);
}

.admin-v2--ops-redesign .admin-subsection__head h3 {
  font-size: 0.98rem;
}

.admin-v2--ops-redesign .admin-subsection__head p,
.admin-v2--ops-redesign .admin-feed-row__meta,
.admin-v2--ops-redesign .admin-feed-row__text {
  color: var(--ops-muted);
  font-size: 0.73rem;
  line-height: 1.5;
}

.admin-v2--ops-redesign .admin-feed,
.admin-v2--ops-redesign .admin-mix-list {
  gap: 0;
}

.admin-v2--ops-redesign .admin-feed-row {
  gap: 0.72rem;
  padding: 0.72rem 0;
  border: 0;
  border-bottom: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
}

.admin-v2--ops-redesign .admin-feed-row--warn {
  background: transparent;
}

.admin-v2--ops-redesign .admin-feed-row__topline strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0;
}

.admin-v2--ops-redesign .admin-pill {
  padding: 0.22rem 0.42rem;
  border-color: var(--ops-line);
  border-radius: 0.24rem;
  background: rgba(255, 253, 248, 0.66);
  color: var(--ops-muted);
  font-size: 0.62rem;
  letter-spacing: 0.04em;
}

.admin-v2--ops-redesign .admin-pill--warn {
  border-color: rgba(138, 92, 24, 0.34);
  background: rgba(246, 235, 214, 0.7);
  color: var(--ops-warn);
}

.admin-v2--ops-redesign .admin-empty-state {
  border-color: var(--ops-line);
  border-radius: 0.36rem;
  background: rgba(255, 253, 248, 0.42);
}

.admin-v2--ops-redesign .admin-empty-state--warn {
  border-color: rgba(180, 76, 53, 0.24);
  background: rgba(250, 225, 219, 0.44);
}

.admin-v2--ops-redesign .admin-mix-row {
  gap: 0.36rem;
  padding: 0.64rem 0;
  border-bottom: 1px solid var(--ops-line);
}

.admin-v2--ops-redesign .admin-mix-row__head {
  font-size: 0.74rem;
}

.admin-v2--ops-redesign .admin-mix-row__bar {
  height: 0.28rem;
  background: rgba(225, 214, 200, 0.56);
}

.admin-v2--ops-redesign .admin-mix-row__bar span {
  background: var(--ops-olive);
}

.admin-v2--ops-redesign .table-wrap {
  border-color: var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.5);
}

.admin-v2--ops-redesign .admin-data-table th,
.admin-v2--ops-redesign .admin-data-table td {
  border-color: var(--ops-line);
  font-size: 0.72rem;
}

.admin-v2--support-redesign {
  width: min(100%, 60rem);
  max-width: 60rem;
}

.admin-v2--support-redesign .admin-v2__hero {
  align-items: stretch;
  gap: 0.82rem;
  padding: 0.94rem;
}

.admin-v2--support-redesign .admin-v2__hero-copy {
  display: grid;
  gap: 0.74rem;
}

.admin-v2--support-redesign .admin-v2__lede {
  max-width: 44rem;
  margin: 0;
  color: var(--ops-muted);
  font-size: 0.78rem;
  line-height: 1.55;
}

.admin-v2--support-redesign .admin-support-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.54rem;
  align-items: end;
  width: 100%;
  margin: 0;
  padding: 0.58rem;
  border: 1px solid var(--ops-line);
  border-radius: 0.56rem;
  background: rgba(255, 253, 248, 0.62);
}

.admin-v2--support-redesign .admin-support-search .settings-input {
  min-height: 2.34rem;
  border-color: rgba(199, 183, 159, 0.72);
  background: rgba(255, 253, 248, 0.78);
}

.admin-v2--support-redesign .admin-support-search .admin-field__label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.admin-v2--support-redesign .admin-support-search .btn {
  min-height: 2.34rem;
  padding-inline: 1.05rem;
  border-color: rgba(126, 96, 45, 0.18);
  background: var(--ops-gold);
  color: #FFFDF8;
}

.admin-ops-lane__head--inline {
  align-items: center;
}

.admin-ops-lane__tools {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42rem;
  color: var(--ops-muted);
  font-size: 0.74rem;
  line-height: 1.2;
  white-space: nowrap;
}

.admin-ops-lane__tools strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 500;
}

.admin-ops-refresh {
  display: inline-grid;
  place-items: center;
  width: 1.82rem;
  height: 1.82rem;
  border: 1px solid transparent;
  border-radius: 50%;
  color: var(--ops-muted);
  text-decoration: none;
}

.admin-ops-refresh:hover {
  border-color: var(--ops-line);
  background: rgba(255, 253, 248, 0.72);
  color: var(--ops-ink);
  text-decoration: none;
}

.admin-ops-health-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.58);
  overflow: hidden;
}

.admin-ops-health-cell {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
  padding: 0.68rem 0.62rem;
  border-right: 1px solid var(--ops-line);
  text-align: center;
}

.admin-ops-health-cell:last-child {
  border-right: 0;
}

.admin-ops-health-label,
.admin-ops-health-cell small {
  color: var(--ops-muted);
  font-size: 0.68rem;
  line-height: 1.35;
}

.admin-ops-health-cell strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.36rem;
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 1.36rem;
  font-weight: 500;
  line-height: 1;
}

.admin-ops-health-cell--ok strong {
  color: #3F7A4A;
}

.admin-ops-health-cell--warn {
  background: rgba(246, 235, 214, 0.52);
}

.admin-ops-health-cell--warn strong {
  color: var(--ops-warn);
}

.admin-ops-health-dot {
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 50%;
  background: currentColor;
}

.admin-v2--ops-redesign .admin-ops-metric-strip--cards {
  gap: 0.56rem;
  border: 0;
  background: transparent;
  overflow: visible;
}

.admin-v2--ops-redesign .admin-ops-metric-strip--cards .admin-metric {
  min-height: 5.25rem;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.58);
}

.admin-v2--ops-redesign .admin-ops-billing-metrics {
  grid-template-columns: repeat(auto-fit, minmax(7.8rem, 1fr));
}

.admin-ops-list-section,
.admin-ops-segment-card {
  display: grid;
  gap: 0.62rem;
}

.admin-ops-list-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.42rem;
  border-bottom: 1px solid var(--ops-line);
}

.admin-ops-list-section__head h3 {
  margin: 0;
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.2;
}

.admin-ops-list-section__head span {
  color: var(--ops-muted);
  font-size: 0.72rem;
  line-height: 1.3;
  white-space: nowrap;
}

.admin-ops-priority-list,
.admin-ops-row-list {
  display: grid;
  gap: 0;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.48);
  overflow: hidden;
}

.admin-ops-priority-row,
.admin-ops-row {
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr) auto auto;
  gap: 0.58rem;
  align-items: center;
  min-width: 0;
  padding: 0.58rem 0.64rem;
  border-bottom: 1px solid var(--ops-line);
}

.admin-ops-priority-row--link {
  grid-template-columns: 2.1rem minmax(0, 1fr) auto auto auto;
  color: inherit;
  text-decoration: none;
}

.admin-ops-priority-row--link:hover {
  background: rgba(255, 253, 248, 0.72);
  color: inherit;
  text-decoration: none;
}

.admin-ops-priority-row:last-child,
.admin-ops-row:last-child {
  border-bottom: 0;
}

.admin-ops-priority-icon,
.admin-ops-row-icon {
  display: inline-grid;
  place-items: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 0.36rem;
  background: rgba(245, 239, 228, 0.9);
  color: var(--ops-gold);
}

.admin-ops-priority-icon::before,
.admin-ops-row-icon::before {
  content: "";
  width: 0.86rem;
  height: 0.86rem;
  border: 2px solid currentColor;
  border-radius: 0.18rem;
}

.admin-ops-priority-row--warn .admin-ops-priority-icon,
.admin-ops-row--warn .admin-ops-row-icon {
  background: rgba(246, 226, 219, 0.78);
  color: #B44C35;
}

.admin-ops-row-icon--source::before {
  border-radius: 50%;
  box-shadow: 0 0.32rem 0 -0.1rem currentColor;
}

.admin-ops-row-icon--webhook::before {
  border-radius: 50%;
  border-style: dotted;
}

.admin-ops-row__main {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-ops-row__main strong {
  color: var(--ops-ink);
  font-family: var(--font-serif);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.25;
}

.admin-ops-row__main p {
  margin: 0;
  color: var(--ops-muted);
  font-size: 0.68rem;
  line-height: 1.45;
}

.admin-ops-row__main small {
  color: var(--ops-warn);
  font-size: 0.64rem;
  font-weight: 600;
  line-height: 1.42;
}

.admin-ops-row__value,
.admin-ops-row__trail {
  color: var(--ops-ink);
  font-size: 0.78rem;
  line-height: 1.2;
  white-space: nowrap;
}

.admin-ops-row__value {
  font-family: var(--font-serif);
  font-size: 0.84rem;
  font-weight: 500;
}

.admin-ops-row__value small {
  display: block;
  margin-top: 0.14rem;
  color: var(--ops-muted);
  font-family: var(--font-sans);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-ops-row__trail {
  color: var(--ops-muted);
}

.admin-ops-row-cta {
  justify-self: end;
  min-width: max-content;
  padding: 0.28rem 0.48rem;
  border: 1px solid rgba(138, 92, 24, 0.24);
  border-radius: 0.26rem;
  background: rgba(255, 253, 248, 0.7);
  color: var(--ops-warn);
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.1;
}

.admin-ops-row-badge {
  justify-self: end;
  padding: 0.18rem 0.42rem;
  border: 1px solid var(--ops-line);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.78);
  color: var(--ops-muted);
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.admin-ops-row-badge--ok {
  border-color: rgba(63, 122, 74, 0.22);
  background: rgba(219, 236, 219, 0.72);
  color: #3F7A4A;
}

.admin-ops-row-badge--warn {
  border-color: rgba(180, 76, 53, 0.24);
  background: rgba(250, 225, 219, 0.76);
  color: #A93825;
}

.admin-ops-segment-card {
  padding: 0.64rem;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(255, 253, 248, 0.48);
}

.admin-ops-segment-bar {
  display: flex;
  height: 1.72rem;
  border-radius: 0.34rem;
  background: rgba(225, 214, 200, 0.56);
  overflow: hidden;
}

.admin-ops-segment {
  display: inline-flex;
  flex: 1 1 var(--segment-width);
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  border-right: 1px solid rgba(255, 253, 248, 0.76);
  color: rgba(34, 30, 26, 0.82);
  font-size: 0.74rem;
  font-weight: 700;
}

.admin-ops-segment:last-child {
  border-right: 0;
}

.admin-ops-segment:nth-child(1) {
  background: #8A8A68;
}

.admin-ops-segment:nth-child(2) {
  background: #C9B06E;
}

.admin-ops-segment:nth-child(3) {
  background: #B7A993;
}

.admin-ops-segment:nth-child(4) {
  background: #D5CEC1;
}

.admin-ops-segment-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.48rem 0.9rem;
  color: var(--ops-muted);
  font-size: 0.74rem;
}

.admin-ops-segment-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
}

.admin-ops-segment-legend i {
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: var(--ops-line-strong);
}

.admin-ops-footnote {
  margin: 0;
  color: var(--ops-muted);
  font-size: 0.7rem;
  line-height: 1.4;
  text-align: center;
}

.admin-ops-runbook-fold {
  margin-top: -0.2rem;
}

.admin-ops-run-panel--inline {
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
  align-items: end;
  padding: 0;
  border: 0;
}

@media (max-width: 1040px) {
  .admin-v2--ops-redesign {
    width: min(430px, 100%);
    max-width: min(430px, 100%);
    padding: 0.78rem 0.72rem calc(5.6rem + env(safe-area-inset-bottom));
  }

  .admin-ops-command,
  .admin-ops-lane {
    padding: 0.86rem 0.82rem;
  }

  .admin-ops-command__grid,
  .admin-v2--ops-redesign .admin-v2__grid--balanced {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-ops-run-panel {
    padding: 0.86rem 0 0;
    border-top: 1px solid var(--ops-line);
    border-left: 0;
  }

  .admin-ops-lane__head p {
    max-width: none;
    text-align: left;
  }

  .admin-ops-run-panel--inline {
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    border: 0;
  }

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

  .admin-ops-health-cell {
    border-bottom: 1px solid var(--ops-line);
  }

  .admin-ops-health-cell:nth-child(2n) {
    border-right: 0;
  }

  .admin-ops-health-cell:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .admin-ops-priority-row,
  .admin-ops-row {
    grid-template-columns: 2.34rem minmax(0, 1fr) auto;
  }

  .admin-ops-row__value,
  .admin-ops-row__trail {
    grid-column: 2;
    justify-self: start;
  }

  .admin-ops-priority-row .admin-ops-row__value {
    grid-column: 3;
    grid-row: 1;
  }

  .admin-ops-priority-row .admin-ops-row-badge {
    grid-column: 3;
    grid-row: 2;
  }

  .admin-ops-priority-row--link .admin-ops-row-cta {
    grid-column: 2 / -1;
    grid-row: 3;
    justify-self: start;
  }
}

@media (max-width: 639px) {
  .admin-ops-command__top,
  .admin-ops-lane__head {
    flex-direction: column;
  }

  .admin-ops-lane__head--inline {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .admin-ops-stamp {
    text-align: left;
  }

  .admin-v2--ops-redesign .admin-tab,
  .admin-ops-tab,
  .admin-v2--ops-redesign .admin-section-tabs .page-shell__tab {
    font-size: 0.78rem;
  }

  .admin-v2--ops-redesign .admin-ops-metric-strip,
  .admin-v2--ops-redesign .admin-ops-metric-strip--business {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-ops-run-form {
    grid-template-columns: minmax(0, 1fr) 5rem;
  }

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

  .admin-ops-fold summary strong,
  .admin-ops-fold summary::before {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .admin-ops-fold summary::before {
    display: none;
  }

  .admin-v2--support-redesign .admin-support-search {
    grid-template-columns: minmax(0, 1fr) 5.5rem;
  }

  .admin-v2--support-redesign .admin-support-search .btn {
    width: 100%;
  }

  .admin-ops-billing-panel .admin-ops-lane__head--inline {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-ops-lane__tools {
    justify-content: flex-end;
    white-space: nowrap;
  }

  .admin-ops-health-cell {
    padding: 0.62rem 0.54rem;
  }

  .admin-ops-health-cell strong {
    font-size: 1.24rem;
  }

  .admin-ops-priority-row,
  .admin-ops-row {
    gap: 0.5rem;
    padding: 0.56rem;
  }

  .admin-ops-row-badge {
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .admin-ops-row-cta {
    max-width: 100%;
    white-space: normal;
  }
}

/* Auth mockup parity: Home palette and fonts, generated mockup layout. */
.vesper-body--auth {
  background-color: #FDFBF8;
  color: #4A4540;
}

.vesper-body--auth .vesper-public-main {
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27144%27%20height%3D%27144%27%20viewBox%3D%270%200%20144%20144%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.10%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27144%27%20height%3D%27144%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% -8%, #FDFBF8 0%, #FDFBF8 38%, #F9F5F0 100%);
  background-blend-mode: soft-light, normal;
}

.vesper-body--auth .vesper-public-container:has(.auth-screen--mockup) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100dvh;
  padding: 0;
}

.vesper-body--auth .vesper-business-footer {
  display: none;
}

.auth-screen--mockup {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  width: min(100%, 390px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: calc(1.34rem + env(safe-area-inset-top)) 1.32rem calc(1.2rem + env(safe-area-inset-bottom));
  overflow: hidden;
  background-color: #FDFBF8;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27144%27%20height%3D%27144%27%20viewBox%3D%270%200%20144%20144%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.10%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27144%27%20height%3D%27144%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    radial-gradient(circle at 50% -6%, #FDFBF8 0%, #FDFBF8 42%, #F9F5F0 100%);
  background-blend-mode: soft-light, normal;
  color: #4A4540;
}

.auth-screen--mockup::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 18%, rgba(154, 147, 140, 0.055), transparent 34%),
    linear-gradient(90deg, rgba(154, 147, 140, 0.008) 1px, transparent 1px),
    linear-gradient(180deg, rgba(154, 147, 140, 0.008) 1px, transparent 1px);
  background-size: auto, 96px 96px, 96px 96px;
  opacity: 0.44;
}

.auth-screen--mockup .auth-screen__topbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.6rem;
}

.auth-screen--mockup .auth-screen__topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.58rem;
  min-width: 0;
  color: #4A4540;
  text-decoration: none;
}

.auth-screen--mockup .auth-screen__topbar-brand:hover,
.auth-screen--mockup .auth-screen__topbar-brand:focus-visible {
  color: #4A4540;
  text-decoration: none;
}

.auth-screen--mockup .auth-screen__brand-mark {
  display: block;
  width: 2.04rem;
  height: 2.04rem;
  flex: 0 0 auto;
  opacity: 0.94;
}

.auth-screen--mockup .auth-screen__brand-wordmark {
  color: #3D3935;
  font-family: var(--font-serif);
  font-size: 1.72rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.auth-screen--mockup .auth-screen__topbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.86rem;
  color: #8B847D;
}

.auth-screen--mockup .auth-screen__topbar-action {
  display: inline-grid;
  place-items: center;
  width: 1.62rem;
  height: 1.62rem;
}

.auth-screen--mockup .auth-screen__text-action {
  color: #4A4540;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}

.auth-screen--mockup .auth-screen__text-action:hover,
.auth-screen--mockup .auth-screen__text-action:focus-visible {
  color: #3D3935;
  text-decoration: none;
}

.auth-screen--mockup .auth-screen__main {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: start;
  flex: 1;
  padding-top: clamp(4.2rem, 10dvh, 5.35rem);
}

.auth-screen--mockup .auth-card--mockup {
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.auth-screen--mockup .auth-card__intro--centered {
  display: grid;
  justify-items: center;
  gap: 0.72rem;
  margin: 0 0 2.72rem;
  text-align: center;
}

.auth-screen--mockup .auth-card__title--compact {
  margin: 0;
  color: #3D3935;
  font-family: var(--font-serif);
  font-size: 1.72rem;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: 0;
}

.auth-screen--mockup .auth-card__copy {
  margin: 0;
  color: #8B847D;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.55;
}

.auth-screen--mockup .auth-card__eyebrow {
  margin: 0 0 -0.28rem;
  color: #9A938C;
  font-family: var(--font-sans);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
}

.auth-screen--mockup .auth-form--login {
  display: grid;
  gap: 1.26rem;
}

.auth-screen--mockup .auth-form--signup {
  display: grid;
  gap: 0.78rem;
}

.auth-screen--mockup .auth-field {
  display: grid;
  gap: 0.45rem;
}

.auth-screen--mockup .auth-field__label {
  display: block;
  color: #4A4540;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
}

.auth-screen--mockup .auth-field__input-wrap {
  position: relative;
}

.auth-screen--mockup .auth-field__select-wrap {
  position: relative;
}

.auth-screen--mockup .auth-field__select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.8rem;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.5px solid #4A4540;
  border-bottom: 1.5px solid #4A4540;
  transform: translateY(-64%) rotate(45deg);
  pointer-events: none;
}

.auth-screen--mockup .auth-field__control {
  width: 100%;
  height: 2.72rem;
  padding: 0.58rem 0.78rem;
  border: 1px solid #EBE4DB;
  border-radius: 0.28rem;
  background: rgba(253, 251, 248, 0.74);
  color: #4A4540;
  font-family: var(--font-sans);
  font-size: 0.91rem;
  font-weight: 400;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(253, 251, 248, 0.52);
}

.auth-screen--mockup .auth-field__control::placeholder {
  color: #9A938C;
}

.auth-screen--mockup .auth-field__control:focus {
  border-color: #9A938C;
  background: #FDFBF8;
  box-shadow: 0 0 0 2px rgba(154, 147, 140, 0.08);
}

.auth-screen--mockup .auth-field__control--password {
  padding-right: 2.58rem;
}

.auth-screen--mockup .auth-field__control--with-hint {
  padding-right: 5.2rem;
}

.auth-screen--mockup .auth-field__control--readonly {
  color: #8B847D;
  cursor: default;
}

.auth-screen--mockup .auth-field__control-hint {
  position: absolute;
  top: 50%;
  right: 0.78rem;
  color: #8B847D;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.auth-screen--mockup .auth-field__select {
  appearance: none;
  padding-right: 2.35rem;
}

.auth-screen--mockup .auth-field__icon {
  position: absolute;
  top: 50%;
  right: 0.78rem;
  display: inline-grid;
  place-items: center;
  width: 1.12rem;
  height: 1.12rem;
  color: #9A938C;
  transform: translateY(-50%);
  pointer-events: none;
}

.auth-screen--mockup .auth-field__icon svg {
  display: block;
  width: 1.12rem;
  height: 1.12rem;
}

.auth-screen--mockup .auth-submit {
  width: 100%;
  height: 3.05rem;
  margin-top: 0.18rem;
  border-color: var(--btn);
  border-radius: 0.34rem;
  background: var(--btn);
  color: #FDFBF8;
  font-family: var(--font-sans);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 10px 24px rgba(74, 69, 64, 0.08);
}

.auth-screen--mockup .auth-submit:hover,
.auth-screen--mockup .auth-submit:focus-visible {
  border-color: var(--btn-hover);
  background: var(--btn-hover);
  transform: none;
}

.auth-screen--mockup .auth-card__switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.78rem;
  margin-top: 1.62rem;
  color: #8B847D;
  font-family: var(--font-serif);
  text-align: center;
}

.auth-screen--mockup .auth-card__switch-rule {
  height: 1px;
  background: #EBE4DB;
}

.auth-screen--mockup .auth-card__switch-star {
  color: #9A938C;
  font-size: 0.94rem;
  line-height: 1;
}

.auth-screen--mockup .auth-card__switch p {
  grid-column: 1 / -1;
  margin: 0.02rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.auth-screen--mockup .auth-card__switch a {
  color: #4A4540;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

.auth-screen--mockup .auth-card__switch a:hover,
.auth-screen--mockup .auth-card__switch a:focus-visible {
  text-decoration: underline;
}

.auth-screen--mockup .auth-card__social-wrap {
  margin-top: 0;
}

.auth-screen--mockup .social-provider-block,
.auth-screen--mockup .auth-card__social-consent-form {
  display: grid;
  gap: 0.82rem;
}

.auth-screen--mockup .social-provider-block__heading {
  color: #8B847D;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
}

.auth-screen--mockup .auth-card__empty {
  border: 1px solid #EBE4DB;
  border-radius: 0.34rem;
  background: rgba(253, 251, 248, 0.72);
  color: #8B847D;
}

.auth-screen--signup {
  overflow-y: auto;
}

.auth-screen--signup .auth-screen__main--signup {
  padding-top: clamp(2.2rem, 5dvh, 2.88rem);
}

.auth-screen--signup .auth-card__intro--signup {
  gap: 0.72rem;
  margin-bottom: 1.62rem;
}

.auth-screen--signup .auth-card__intro--signup .auth-card__copy {
  max-width: 18rem;
  font-family: var(--font-sans);
  font-size: 0.84rem;
  line-height: 1.65;
  word-break: keep-all;
}

.auth-screen--signup .auth-field {
  gap: 0.36rem;
}

.auth-screen--signup .auth-field__label {
  font-size: 0.83rem;
}

.auth-screen--signup .auth-field__control {
  height: 2.36rem;
  border-radius: 0.24rem;
  font-size: 0.86rem;
}

.auth-screen--signup .consent-group--auth {
  display: grid;
  gap: 0.56rem;
  margin: 0.14rem 0 0;
}

.auth-screen--signup .consent-item--auth {
  display: flex !important;
  align-items: flex-start;
  gap: 0.58rem;
  color: #4A4540;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.5;
}

.auth-screen--signup .consent-checkbox--auth {
  width: 0.92rem;
  min-width: 0.92rem;
  max-width: 0.92rem;
  height: 0.92rem;
  margin-top: 0.14rem;
  border: 1px solid #9A938C;
  border-radius: 0.12rem;
  accent-color: var(--btn);
}

.auth-screen--signup .consent-copy a {
  color: #4A4540;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.auth-screen--signup .auth-submit--signup {
  height: 3.08rem;
  margin-top: 0.46rem;
}

@media (min-width: 700px) {
  .auth-screen--mockup {
    min-height: min(844px, calc(100dvh - 2rem));
    margin-block: 1rem;
    border: 1px solid #EBE4DB;
    border-radius: 2rem;
    box-shadow: 0 26px 70px rgba(74, 69, 64, 0.1);
  }
}

@media (max-width: 380px) {
  .auth-screen--mockup {
    padding-inline: 1.04rem;
  }

  .auth-screen--mockup .auth-screen__brand-wordmark {
    font-size: 1.58rem;
  }

  .auth-screen--mockup .auth-card__title--compact {
    font-size: 1.58rem;
  }
}

/* Chart edit: match the current app mockup language without changing form behavior. */
.app-shell:not(.signed-out) .container--app > .page-shell--chart-edit {
  width: min(100%, 390px);
  max-width: 390px;
  margin-inline: auto;
  padding: 0.74rem 0 1.16rem;
}

.page-shell--chart-edit {
  color: #4A4540;
}

.page-shell--chart-edit .chart-edit-card {
  display: grid;
  gap: 1.58rem;
  width: 100%;
  padding: 1.16rem 1.16rem 1.02rem;
  border: 1px solid #EBE4DB;
  border-radius: 0;
  background-color: #FDFBF8;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27128%27%20height%3D%27128%27%20viewBox%3D%270%200%20128%20128%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.62%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.07%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27128%27%20height%3D%27128%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    linear-gradient(180deg, #FDFBF8 0%, #FDFBF8 58%, #F9F5F0 100%);
  background-blend-mode: soft-light, normal;
  box-shadow: none;
}

.page-shell--chart-edit .chart-edit-header {
  display: grid;
  gap: 0.28rem;
}

.page-shell--chart-edit .chart-edit-eyebrow,
.page-shell--chart-edit .chart-edit-section-title,
.page-shell--chart-edit .chart-edit-label {
  color: #9A938C;
}

.page-shell--chart-edit .chart-edit-eyebrow {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.15;
}

.page-shell--chart-edit .chart-edit-title {
  margin: 0;
  color: #3D3935;
  font-family: var(--font-serif);
  font-size: 1.24rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.22;
}

.page-shell--chart-edit .chart-edit-form,
.page-shell--chart-edit .chart-edit-section {
  display: grid;
  gap: 1.08rem;
}

.page-shell--chart-edit .chart-edit-section--location {
  margin-top: 0.1rem;
  padding-top: 1.34rem;
  border-top: 1px solid #EBE4DB;
}

.page-shell--chart-edit .chart-edit-section-title {
  margin: 0 0 0.1rem;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.2;
}

.page-shell--chart-edit .chart-edit-field {
  display: grid;
  gap: 0.46rem;
  min-width: 0;
}

.page-shell--chart-edit .chart-edit-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.72rem;
}

.page-shell--chart-edit .chart-edit-label {
  font-family: var(--font-sans);
  font-size: 0.83rem;
  font-weight: 700;
  line-height: 1.25;
}

.page-shell--chart-edit .chart-edit-control {
  width: 100%;
  height: 2.72rem;
  padding: 0.58rem 0.78rem;
  border: 1px solid #EBE4DB;
  border-radius: 0.26rem;
  background: rgba(253, 251, 248, 0.76);
  color: #4A4540;
  font-family: var(--font-sans);
  font-size: 0.93rem;
  font-weight: 400;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(253, 251, 248, 0.5);
}

.page-shell--chart-edit .chart-edit-control:focus {
  border-color: #9A938C;
  background: #FDFBF8;
  box-shadow: 0 0 0 2px rgba(154, 147, 140, 0.08);
}

.page-shell--chart-edit .chart-edit-control::placeholder {
  color: #9A938C;
}

.page-shell--chart-edit .chart-edit-grid {
  display: grid;
  min-width: 0;
}

.page-shell--chart-edit .chart-edit-grid--date {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr) minmax(0, 0.72fr);
  gap: 0.5rem;
}

.page-shell--chart-edit .chart-edit-grid--time {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.64rem;
  margin: 0;
}

.page-shell--chart-edit .chart-edit-select-wrap {
  position: relative;
  display: block;
  min-width: 0;
}

.page-shell--chart-edit .chart-edit-select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.78rem;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.5px solid #4A4540;
  border-bottom: 1.5px solid #4A4540;
  pointer-events: none;
  transform: translateY(-64%) rotate(45deg);
}

.page-shell--chart-edit .chart-edit-select {
  appearance: none;
  padding-right: 2.24rem;
}

.page-shell--chart-edit .chart-edit-time-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42rem;
  color: #9A938C;
}

.page-shell--chart-edit .chart-edit-time-toggle input[type="checkbox"] {
  width: 0.9rem;
  height: 0.9rem;
  margin: 0;
  accent-color: var(--btn);
}

.page-shell--chart-edit .time-unknown-label {
  margin: 0;
  color: #9A938C;
  font-family: var(--font-sans);
  font-size: 0.83rem;
  font-weight: 600;
  line-height: 1;
}

.page-shell--chart-edit .birth-time-info-btn {
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid #9A938C;
  color: #9A938C;
  font-size: 0.7rem;
}

.page-shell--chart-edit .birth-time-tooltip {
  background: #4A4540;
  color: #FDFBF8;
}

.page-shell--chart-edit .birth-time-tooltip::after {
  background: #4A4540;
}

.page-shell--chart-edit .birth-time-tooltip strong {
  color: #FDFBF8;
}

.page-shell--chart-edit .time-unknown-notice,
.page-shell--chart-edit .muted-sm {
  color: #9A938C;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  line-height: 1.55;
}

.page-shell--chart-edit .muted-sm {
  display: block;
  margin-top: -0.1rem;
}

.page-shell--chart-edit .place-ac-dropdown {
  border-color: #EBE4DB;
  border-radius: 0.28rem;
  background: #FDFBF8;
  box-shadow: 0 12px 28px rgba(74, 69, 64, 0.08);
}

.page-shell--chart-edit .place-ac-item {
  color: #4A4540;
}

.page-shell--chart-edit .place-ac-item:hover {
  background: #F9F5F0;
}

.page-shell--chart-edit .chart-edit-actions {
  display: grid;
  gap: 0.72rem;
  margin-top: 0.18rem;
  padding-top: 1.28rem;
  border-top: 1px solid #EBE4DB;
}

.page-shell--chart-edit .chart-edit-submit {
  display: inline-grid;
  place-items: center;
  width: 100%;
  min-height: 3.08rem;
  border-color: var(--btn);
  border-radius: 0.34rem;
  background: var(--btn);
  color: #FDFBF8;
  font-family: var(--font-sans);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  transform: none;
}

.page-shell--chart-edit .chart-edit-submit:hover,
.page-shell--chart-edit .chart-edit-submit:focus-visible {
  border-color: var(--btn-hover);
  background: var(--btn-hover);
  transform: none;
}

.page-shell--chart-edit .chart-edit-cancel {
  display: inline-grid;
  place-items: center;
  justify-self: start;
  min-width: 4.18rem;
  min-height: 2.82rem;
  padding: 0 1.1rem;
  border: 1px solid #EBE4DB;
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.72);
  color: #4A4540;
  font-family: var(--font-sans);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.page-shell--chart-edit .chart-edit-cancel:hover,
.page-shell--chart-edit .chart-edit-cancel:focus-visible {
  border-color: #9A938C;
  background: #FDFBF8;
  color: #3D3935;
  text-decoration: none;
  transform: none;
}

@media (max-width: 460px) {
  .app-shell:not(.signed-out) .container--app > .page-shell--chart-edit {
    width: 100%;
    max-width: none;
    padding: 0.68rem 0.72rem calc(5.05rem + env(safe-area-inset-bottom));
  }

  .page-shell--chart-edit .chart-edit-card {
    padding-inline: 0.94rem;
  }
}

@media (max-width: 360px) {
  .page-shell--chart-edit .chart-edit-grid--date {
    gap: 0.38rem;
  }

  .page-shell--chart-edit .chart-edit-control {
    padding-inline: 0.62rem;
    font-size: 0.86rem;
  }
}

/* Settings and Ops detail parity: shared paper-reader treatment. */
.settings-page--detail {
  --detail-paper: #FDFBF8;
  --detail-paper-soft: #F9F5F0;
  --detail-ink: #3D3935;
  --detail-text: #4A4540;
  --detail-muted: #8B847D;
  --detail-faint: #9A938C;
  --detail-line: #EBE4DB;
  --detail-bronze: #B0987A;
  width: min(100%, 390px);
  max-width: 390px;
  margin-inline: auto;
  gap: 0.72rem;
  color: var(--detail-text);
}

.settings-page--detail .settings-subpage-header {
  gap: 0.72rem;
  padding: 0.08rem 0 0.18rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.settings-page--detail .settings-subpage-header__top {
  min-height: 1.75rem;
}

.settings-page--detail .settings-subpage-back {
  color: var(--detail-muted);
  font-size: 0.78rem;
  font-weight: 500;
}

.settings-page--detail .settings-subpage-back::before {
  content: "<";
  color: var(--detail-ink);
  font-size: 1rem;
  line-height: 1;
}

.settings-page--detail .settings-subpage-header__copy {
  gap: 0.34rem;
}

.settings-page--detail .settings-subpage-header__copy .eyebrow {
  margin: 0;
  color: var(--detail-faint);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.settings-page--detail .settings-subpage-header__copy h1 {
  color: var(--detail-ink);
  font-size: 1.26rem;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: 0;
}

.settings-page--detail .settings-overview__desc {
  max-width: 100%;
  color: var(--detail-muted);
  font-size: 0.82rem;
  line-height: 1.62;
}

.settings-page--detail .settings-section__header {
  gap: 0.24rem;
}

.settings-page--detail .settings-section__header h2 {
  color: var(--detail-ink);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: 0;
}

.settings-page--detail .settings-section__header .settings-section__desc {
  max-width: 100%;
  color: var(--detail-muted);
  font-size: 0.78rem;
  line-height: 1.58;
}

.settings-page--detail .settings-anchor-nav--sections {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  margin-top: 0.18rem;
  border-bottom: 1px solid #DCD1C2;
  overflow-x: auto;
  scrollbar-width: none;
}

.settings-page--detail .settings-anchor-nav--sections::-webkit-scrollbar {
  display: none;
}

.settings-page--detail .settings-anchor-link {
  position: relative;
  justify-content: center;
  width: auto;
  min-width: max-content;
  min-height: 2.22rem;
  padding: 0.28rem 0.76rem 0.66rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--detail-faint);
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 500;
}

.settings-page--detail .settings-anchor-link:hover,
.settings-page--detail .settings-anchor-link--active,
.settings-page--detail .settings-anchor-link--active:hover {
  background: transparent;
  color: var(--detail-ink);
}

.settings-page--detail .settings-anchor-link--active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.24rem;
  width: 0.38rem;
  height: 0.38rem;
  background: var(--btn);
  transform: translateX(-50%) rotate(45deg);
}

.settings-page--detail > .settings-section,
.settings-page--detail .settings-edit-stack > .settings-section {
  gap: 0.88rem;
  padding: 0.94rem;
  border: 1px solid var(--detail-line);
  border-radius: 0.42rem;
  background-color: var(--detail-paper);
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27128%27%20height%3D%27128%27%20viewBox%3D%270%200%20128%20128%27%3E%3Cfilter%20id%3D%27paper%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.62%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.60%200%200%200%200%200.57%200%200%200%200%200.54%200%200%200%200.055%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27128%27%20height%3D%27128%27%20filter%3D%27url%28%23paper%29%27%2F%3E%3C%2Fsvg%3E"),
    linear-gradient(180deg, var(--detail-paper) 0%, var(--detail-paper) 54%, var(--detail-paper-soft) 100%);
  background-blend-mode: soft-light, normal;
  box-shadow: 0 18px 44px rgba(74, 69, 64, 0.06);
}

.settings-page--detail .settings-edit-stack {
  gap: 0.78rem;
}

.settings-page--detail .settings-summary-grid,
.settings-page--detail .settings-plan-grid,
.settings-page--detail .settings-help-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
  overflow: hidden;
}

.settings-page--detail .settings-summary-card,
.settings-page--detail .settings-help-card {
  display: grid;
  gap: 0.22rem;
  padding: 0.76rem 0.84rem;
  border: 0;
  border-top: 1px solid var(--detail-line);
  background: transparent;
}

.settings-page--detail .settings-summary-card:first-child,
.settings-page--detail .settings-help-card:first-child {
  border-top: 0;
}

.settings-page--detail .settings-summary-card__label,
.settings-page--detail .settings-stat__label,
.settings-page--detail .settings-badge {
  color: var(--detail-faint);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.settings-page--detail .settings-summary-card__value {
  color: var(--detail-ink);
  font-family: var(--font-serif);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: 0;
}

.settings-page--detail .settings-summary-card__meta,
.settings-page--detail .settings-chart-card__meta,
.settings-page--detail .settings-library-note,
.settings-page--detail .settings-library-item__meta,
.settings-page--detail .settings-library-item__preview,
.settings-page--detail .settings-notice-item__date,
.settings-page--detail .settings-legal-email,
.settings-page--detail .muted {
  color: var(--detail-muted);
  font-size: 0.78rem;
  line-height: 1.58;
}

.settings-page--detail .settings-field-group,
.settings-page--detail .settings-row-3.settings-subgroup {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0.2rem 0 0;
  padding: 0;
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
  overflow: hidden;
}

.settings-page--detail .settings-field-group .settings-label,
.settings-page--detail .settings-row-3.settings-subgroup .settings-label {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.72fr) minmax(0, 1fr);
  gap: 0.72rem;
  align-items: center;
  padding: 0.72rem 0.82rem;
  border-top: 1px solid var(--detail-line);
}

.settings-page--detail .settings-field-group .settings-label:first-child,
.settings-page--detail .settings-row-3.settings-subgroup .settings-label:first-child {
  border-top: 0;
}

.settings-page--detail .settings-label-text {
  color: var(--detail-faint);
  font-size: 0.78rem;
  font-weight: 700;
}

.settings-page--detail .settings-input,
.settings-page--detail .settings-select {
  min-height: 2.2rem;
  border-color: var(--detail-line);
  border-radius: 0.22rem;
  background: rgba(253, 251, 248, 0.82);
  color: var(--detail-text);
  font-size: 0.83rem;
}

.settings-page--detail .settings-input:focus,
.settings-page--detail .settings-select:focus {
  border-color: var(--detail-faint);
  box-shadow: 0 0 0 2px rgba(154, 147, 140, 0.08);
}

.settings-page--detail .settings-chart-card,
.settings-page--detail .settings-library-empty {
  position: relative;
  display: grid;
  gap: 0.72rem;
  padding: 0.86rem;
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
  overflow: hidden;
}

.settings-page--detail .settings-chart-card::after {
  content: "";
  position: absolute;
  right: -1.8rem;
  bottom: -2.2rem;
  width: 8.2rem;
  height: 8.2rem;
  border: 1px solid rgba(176, 152, 122, 0.28);
  border-radius: 999px;
  background:
    repeating-conic-gradient(from -8deg, rgba(176, 152, 122, 0.13) 0deg 1deg, transparent 1deg 18deg),
    radial-gradient(circle, transparent 0 36%, rgba(176, 152, 122, 0.18) 36% 37%, transparent 37% 100%);
  opacity: 0.48;
  pointer-events: none;
}

.settings-page--detail .settings-chart-card > * {
  position: relative;
  z-index: 1;
}

.settings-page--detail .settings-chart-card h3,
.settings-page--detail .settings-help-card h3,
.settings-page--detail .settings-notice-item h3,
.settings-page--detail .settings-library-empty h3,
.settings-page--detail .settings-library-item__summary h3 {
  color: var(--detail-ink);
  font-family: var(--font-serif);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
}

.settings-page--detail .settings-inline-links,
.settings-page--detail .settings-footer-actions {
  gap: 0.5rem;
}

.settings-page--detail .settings-inline-links .btn,
.settings-page--detail .settings-footer-actions .btn,
.settings-page--detail .settings-savebar .btn {
  justify-content: center;
  min-height: 2.42rem;
  border-radius: 0.3rem;
}

.settings-page--detail .settings-inline-links .btn:not(.btn-ghost),
.settings-page--detail .settings-savebar .btn {
  border-color: var(--btn);
  background: var(--btn);
  color: var(--detail-paper);
}

.settings-page--detail .settings-membership-cancel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.78rem;
  align-items: center;
  margin-top: 0.82rem;
  padding: 0.82rem 0.86rem;
  border: 1px solid rgba(138, 92, 24, 0.24);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.72);
}

.settings-page--detail .settings-membership-cancel__copy {
  display: grid;
  gap: 0.22rem;
}

.settings-page--detail .settings-membership-cancel__title {
  color: var(--detail-ink);
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: 0;
}

.settings-page--detail .settings-membership-cancel__button {
  justify-self: end;
  white-space: nowrap;
  border-color: rgba(138, 92, 24, 0.38);
  color: #7b553b;
}

.settings-page--detail .settings-membership-cancel__button:hover {
  border-color: rgba(138, 92, 24, 0.52);
  background: rgba(138, 92, 24, 0.08);
}

@media (max-width: 420px) {
  .settings-page--detail .settings-membership-cancel {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .settings-page--detail .settings-membership-cancel__button {
    justify-self: stretch;
    justify-content: center;
    white-space: normal;
  }
}

.settings-page--detail .settings-savebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.68rem;
  padding: 0;
}

.settings-page--detail .settings-savebar .muted {
  margin: 0;
}

.settings-page--detail .toggle-list {
  gap: 0;
  margin: 0;
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
  overflow: hidden;
}

.settings-page--detail .toggle-row {
  min-height: 3.02rem;
  padding: 0.72rem 0.82rem;
  border-top: 1px solid var(--detail-line);
  border-bottom: 0;
}

.settings-page--detail .toggle-row:first-child {
  border-top: 0;
}

.settings-page--detail .toggle-row-label {
  color: var(--detail-text);
  font-size: 0.84rem;
  font-weight: 600;
}

.settings-page--detail .toggle-switch {
  background: #D8D0C4;
}

.settings-page--detail .toggle-switch-input:checked + .toggle-switch {
  background: var(--btn);
}

.settings-page--detail .settings-library-list,
.settings-page--detail .settings-notice-list {
  gap: 0.58rem;
}

.settings-page--detail .settings-library-item,
.settings-page--detail .settings-notice-item {
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
}

.settings-page--detail .settings-library-item__summary {
  gap: 0.38rem;
  padding: 0.82rem;
}

.settings-page--detail .settings-library-item__summary-head,
.settings-page--detail .settings-notice-item__head {
  align-items: flex-start;
}

.settings-page--detail .settings-library-item__toggle {
  min-width: 1.8rem;
  min-height: 1.8rem;
  padding: 0;
  border-radius: 0.24rem;
  background: rgba(253, 251, 248, 0.7);
}

.settings-page--detail .settings-library-item__body {
  padding: 0 0.82rem 0.82rem;
}

.settings-page--detail .settings-library-reader {
  padding: 0.88rem;
  border-color: #DCD1C2;
  border-radius: 0.32rem;
  background: rgba(253, 251, 248, 0.78);
  color: var(--detail-text);
  font-size: 0.88rem;
  line-height: 1.86;
}

.settings-page--detail .settings-badge {
  min-height: 1.38rem;
  padding-inline: 0.42rem;
  border-radius: 0.24rem;
  background: rgba(253, 251, 248, 0.78);
}

.settings-page--detail .settings-badge--done {
  border-color: rgba(68, 121, 80, 0.25);
  background: rgba(235, 246, 235, 0.8);
  color: #3B7A49;
}

.settings-page--detail .settings-badge--failed {
  border-color: rgba(138, 92, 24, 0.26);
  background: rgba(246, 235, 214, 0.8);
  color: #8A5C18;
}

.settings-page--detail .settings-notice-item {
  padding: 0.82rem;
}

.settings-page--detail .faq-accordion {
  gap: 0;
  border: 1px solid var(--detail-line);
  border-radius: 0.36rem;
  background: rgba(253, 251, 248, 0.62);
  overflow: hidden;
}

.settings-page--detail .faq-details {
  border: 0;
  border-top: 1px solid var(--detail-line);
  background: transparent;
}

.settings-page--detail .faq-details:first-child {
  border-top: 0;
}

.settings-page--detail .faq-summary {
  padding: 0.78rem 0.84rem;
  color: var(--detail-ink);
  font-size: 0.84rem;
  font-weight: 600;
}

.settings-page--detail .faq-answer {
  padding: 0 0.84rem 0.82rem;
}

.settings-page--detail .settings-legal-links {
  gap: 0.44rem;
}

.settings-page--detail .settings-legal-links .settings-anchor-link {
  min-height: 1.9rem;
  padding: 0.2rem 0.62rem;
  border: 1px solid var(--detail-line);
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.74rem;
  background: rgba(253, 251, 248, 0.62);
}

.settings-page--detail .settings-contact-drawer {
  border-top: 1px solid var(--detail-line);
}

.settings-page--detail .settings-contact-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.72rem;
  min-height: 2.42rem;
  color: var(--detail-muted);
  cursor: pointer;
  list-style: none;
}

.settings-page--detail .settings-contact-summary::-webkit-details-marker {
  display: none;
}

.settings-page--detail .settings-contact-summary::after {
  content: "\203A";
  flex: 0 0 auto;
  color: var(--detail-faint);
  font-size: 1rem;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform 0.16s ease;
}

.settings-page--detail .settings-contact-drawer[open] .settings-contact-summary::after {
  transform: rotate(270deg);
}

.settings-page--detail .settings-contact-summary__label {
  color: var(--detail-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.settings-page--detail .settings-contact-summary__meta {
  margin-left: auto;
  color: var(--detail-faint);
  font-size: 0.68rem;
}

.settings-page--detail .settings-help-grid--contact {
  margin-top: 0.22rem;
}

.settings-page--detail .settings-help-grid--contact .settings-help-card {
  padding: 0.82rem;
}

.settings-page--detail .settings-contact-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.44rem;
  margin-top: 0.52rem;
}

.settings-page--detail .settings-contact-links .settings-anchor-link {
  min-height: 1.9rem;
  padding: 0.2rem 0.62rem;
  border: 1px solid var(--detail-line);
  border-radius: 999px;
  background: rgba(253, 251, 248, 0.62);
  color: var(--detail-muted);
  font-family: var(--font-sans);
  font-size: 0.74rem;
}

.admin-v2--ops-report-detail {
  --ops-paper: #FDFBF8;
  --ops-paper-soft: #F8F3EA;
  --ops-line: #E1D6C8;
  --ops-ink: #3D3935;
  --ops-muted: #8B847D;
  --ops-warn: #8A5C18;
  gap: 0.78rem;
}

.admin-v2--ops-report-detail .admin-v2__hero {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.96rem;
}

.admin-v2--ops-report-detail .admin-v2__title {
  font-size: 1.48rem;
  line-height: 1.14;
}

.admin-v2--ops-report-detail .admin-v2__lede {
  color: var(--ops-muted);
  font-size: 0.78rem;
  line-height: 1.58;
}

.admin-v2--ops-report-detail .admin-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 0.5rem;
  justify-content: stretch;
}

.admin-v2--ops-report-detail .admin-hero-actions .btn {
  justify-content: center;
  width: 100%;
  min-height: 2.42rem;
  border-radius: 0.3rem;
}

.admin-v2--ops-report-detail .admin-section {
  gap: 0.86rem;
  padding: 0.96rem;
}

.admin-v2--ops-report-detail .admin-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.42rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--ops-line);
}

.admin-v2--ops-report-detail .admin-section__title {
  font-size: 1.16rem;
  line-height: 1.26;
}

.admin-v2--ops-report-detail .admin-section__desc {
  color: var(--ops-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.admin-v2--ops-report-detail .admin-metric-grid,
.admin-v2--ops-report-detail .admin-metric-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(253, 251, 248, 0.52);
  overflow: hidden;
}

.admin-v2--ops-report-detail .admin-metric {
  min-height: 4.15rem;
  padding: 0.66rem 0.72rem;
  border: 0;
  border-right: 1px solid var(--ops-line);
  border-bottom: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
}

.admin-v2--ops-report-detail .admin-metric__label {
  color: var(--ops-muted);
  font-size: 0.62rem;
}

.admin-v2--ops-report-detail .admin-metric__value {
  color: var(--ops-ink);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0;
}

.admin-v2--ops-report-detail .transit-sections-list,
.admin-v2--ops-report-detail .admin-raw-stack {
  gap: 0;
  border: 1px solid var(--ops-line);
  border-radius: 0.42rem;
  background: rgba(253, 251, 248, 0.54);
  overflow: hidden;
}

.admin-v2--ops-report-detail .section-accordion,
.admin-v2--ops-report-detail .admin-raw-block {
  border: 0;
  border-top: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
}

.admin-v2--ops-report-detail .section-accordion:first-child,
.admin-v2--ops-report-detail .admin-raw-block:first-child {
  border-top: 0;
}

.admin-v2--ops-report-detail .section-accordion-summary,
.admin-v2--ops-report-detail .admin-raw-block__head {
  min-height: 2.86rem;
  padding: 0.74rem 0.84rem;
}

.admin-v2--ops-report-detail .admin-raw-block--fold {
  display: block;
  padding: 0;
}

.admin-v2--ops-report-detail .admin-raw-block--fold summary {
  cursor: pointer;
  list-style: none;
}

.admin-v2--ops-report-detail .admin-raw-block--fold summary::-webkit-details-marker {
  display: none;
}

.admin-v2--ops-report-detail .admin-raw-block--fold summary::after {
  content: "+";
  color: var(--ops-muted);
  font-size: 0.9rem;
  line-height: 1;
}

.admin-v2--ops-report-detail .admin-raw-block--fold[open] summary::after {
  content: "-";
}

.admin-v2--ops-report-detail .admin-raw-block pre {
  margin: 0 0.84rem 0.84rem;
  padding: 0.82rem;
  border-color: var(--ops-line);
  border-radius: 0.32rem;
  background: rgba(253, 251, 248, 0.72);
  color: var(--ops-ink);
  font-size: 0.74rem;
}

.admin-v2--ops-redesign .admin-ops-fold summary::before {
  content: "+";
}

.admin-v2--ops-redesign .admin-ops-fold[open] summary::before {
  content: "-";
}

@media (max-width: 420px) {
  .settings-page--detail {
    width: 100%;
    max-width: none;
  }

  .settings-page--detail > .settings-section,
  .settings-page--detail .settings-edit-stack > .settings-section,
  .admin-v2--ops-report-detail .admin-section,
  .admin-v2--ops-report-detail .admin-v2__hero {
    padding-inline: 0.82rem;
  }

  .settings-page--detail .settings-field-group .settings-label,
  .settings-page--detail .settings-row-3.settings-subgroup .settings-label {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.34rem;
  }
}

/* Settings hub mockup implementation */
body:has(.settings-page--hub) {
  background: var(--vesper-shell-paper-background, #FDFBF8);
  background-blend-mode: var(--vesper-shell-paper-background-blend, normal);
}

body:has(.settings-page--hub) .container--app {
  max-width: min(100%, 25.4rem);
  padding-inline: clamp(0.72rem, 3.8vw, 1rem);
  padding-top: 0.72rem;
  padding-bottom: calc(4.92rem + env(safe-area-inset-bottom));
}

body:has(.settings-page--hub) .vesper-business-footer {
  display: none;
}

.settings-page--hub {
  --settings-ink: #2f2820;
  --settings-muted: #7c7265;
  --settings-faint: #a49989;
  --settings-line: #d8cbb8;
  --settings-line-soft: rgba(145, 112, 69, 0.18);
  --settings-paper: rgba(255, 252, 246, 0.94);
  --settings-paper-strong: #fffaf1;
  --settings-accent: #7d4f37;
  --settings-accent-soft: #efe1cf;
  --settings-gold: #ad8541;
  width: 100%;
  max-width: 24.2rem;
  gap: 0.72rem;
  margin-inline: auto;
  color: var(--settings-ink);
}

.settings-page--hub .settings-overview {
  gap: 0.62rem;
}

.settings-page--hub .settings-anchor-nav--sections {
  display: flex;
  width: 100%;
  gap: 0;
  overflow-x: auto;
  padding: 0 0 0.18rem;
  border-bottom: 1px solid var(--settings-line-soft);
  scrollbar-width: none;
}

.settings-page--hub .settings-anchor-nav--sections::-webkit-scrollbar {
  display: none;
}

.settings-page--hub .settings-anchor-link {
  justify-content: center;
  width: auto;
  min-width: max-content;
  min-height: 2rem;
  padding: 0.38rem 0.62rem 0.42rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--settings-muted);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
}

.settings-page--hub .settings-anchor-link:hover {
  background: transparent;
  color: var(--settings-ink);
  text-decoration: none;
}

.settings-page--hub .settings-anchor-link--active {
  color: var(--settings-accent);
  box-shadow: inset 0 -2px 0 var(--settings-accent);
}

.settings-page--hub .settings-overview__headline {
  position: relative;
  display: block;
  padding: 0.28rem 0.18rem 0.24rem;
  border-bottom: 0;
}

.settings-page--hub .settings-overview__copy {
  min-width: 0;
}

.settings-page--hub .eyebrow,
.settings-membership-card__label,
.settings-hub-row__eyebrow {
  color: color-mix(in srgb, var(--settings-muted) 82%, var(--settings-accent) 18%);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.2;
}

.settings-page--hub .settings-overview__copy h1 {
  margin: 0.28rem 0 0.34rem;
  color: var(--settings-accent);
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.16;
}

.settings-page--hub .settings-overview__desc {
  max-width: 15.8rem;
  color: var(--settings-muted);
  font-size: 0.7rem;
  line-height: 1.62;
}

.settings-membership-card {
  overflow: hidden;
  border: 1px solid var(--settings-line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(250, 243, 232, 0.94));
  box-shadow: 0 12px 28px rgba(65, 45, 25, 0.045);
}

.settings-membership-card a:hover {
  text-decoration: none;
}

.settings-membership-card__plan {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.86rem;
  min-height: 4.95rem;
  padding: 0.78rem 0.78rem 0.7rem;
  color: inherit;
}

.settings-membership-card__copy,
.settings-membership-card__metric {
  display: grid;
  min-width: 0;
}

.settings-membership-card__title {
  overflow: hidden;
  margin-top: 0.18rem;
  color: var(--settings-ink);
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.28;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-membership-card__meta,
.settings-membership-card__metric-meta {
  overflow: hidden;
  color: var(--settings-muted);
  font-size: 0.66rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-membership-card__side {
  display: grid;
  justify-items: end;
  align-content: space-between;
  min-width: 3.3rem;
}

.settings-membership-card__status {
  display: inline-grid;
  min-height: 1.4rem;
  place-items: center;
  padding: 0.18rem 0.5rem;
  border-radius: 5px;
  background: var(--settings-accent);
  color: #fffaf1;
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1;
}

.settings-membership-card__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--settings-line);
}

.settings-membership-card__metric {
  position: relative;
  min-height: 3.8rem;
  padding: 0.62rem 0.78rem 0.66rem;
  color: inherit;
}

.settings-membership-card__metric + .settings-membership-card__metric {
  border-left: 1px solid var(--settings-line);
}

.settings-membership-card__number {
  margin-top: 0.14rem;
  color: var(--settings-ink);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.05;
}

.settings-hub-list {
  display: grid;
  border-top: 1px solid var(--settings-line-soft);
}

.settings-hub-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  min-height: 4.08rem;
  align-items: center;
  padding: 0.74rem 0.16rem;
  border-bottom: 1px solid var(--settings-line-soft);
  color: inherit;
  text-decoration: none;
}

.settings-hub-row:hover {
  background: color-mix(in srgb, var(--settings-accent-soft) 28%, transparent);
  text-decoration: none;
}

.settings-hub-row__copy {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.settings-hub-row__title {
  color: var(--settings-ink);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
}

.settings-hub-row__desc {
  overflow: hidden;
  color: var(--settings-muted);
  font-size: 0.66rem;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-hub-row__meta {
  display: inline-flex;
  min-width: 0;
  max-width: 7.3rem;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42rem;
  color: var(--settings-muted);
  font-size: 0.66rem;
  line-height: 1.2;
}

.settings-hub-row__meta > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-hub-row__arrow {
  color: var(--settings-accent);
  font-size: 0.98rem;
}

@media (max-width: 390px) {
  body:has(.settings-page--hub) .container--app {
    padding-inline: 0.62rem;
  }

  .settings-page--hub {
    gap: 0.64rem;
  }

  .settings-page--hub .settings-overview__desc {
    font-size: 0.66rem;
  }

  .settings-hub-row__meta {
    max-width: 5.7rem;
  }
}
