/* [project]/apps/web/src/app/globals.css [app-client] (css) */
:root {
  --ink: #212121;
  --muted: #54595f;
  --paper: #f1f6f6;
  --surface: #fff;
  --surface-strong: #fff;
  --surface-muted: #edfcfb;
  --surface-elevated: #fff;
  --surface-soft: var(--surface-muted);
  --line: #cfd8dc;
  --line-strong: #a6c4c4;
  --border: var(--line);
  --text-muted: var(--muted);
  --green: #014638;
  --green-dark: #012f27;
  --green-soft: #edfcfb;
  --lime: #4ee6e0;
  --focus: #014638;
  --brand-cyan: #4ee6e0;
  --brand-cyan-soft: #edfcfb;
  --brand-lilac: #d199f9;
  --brand-lilac-soft: #f5e6ff;
  --brand-coral: #f4582f;
  --brand-coral-soft: #feded5;
  --amber: #915019;
  --amber-soft: #fff0da;
  --red: #a63720;
  --red-soft: #feded5;
  --shadow: 0 8px 24px #01463817;
  --shadow-elevated: 0 16px 40px #012f2726;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 16px;
  --control-height: 2.625rem;
  --text-xs: .75rem;
  --text-sm: .8125rem;
  --text-body: .875rem;
  --content-width: 100rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

html[data-theme="dark"] {
  --ink: #f1f6f6;
  --muted: #a6c4c4;
  --paper: #091613;
  --surface: #10231f;
  --surface-strong: #142b26;
  --surface-muted: #18362f;
  --surface-elevated: #1c3b34;
  --surface-soft: var(--surface-muted);
  --line: #31534b;
  --line-strong: #52756d;
  --border: var(--line);
  --text-muted: var(--muted);
  --green: #4ee6e0;
  --green-dark: #b3f1ef;
  --green-soft: #173c35;
  --lime: #4ee6e0;
  --focus: #4ee6e0;
  --brand-cyan: #4ee6e0;
  --brand-cyan-soft: #173c35;
  --brand-lilac: #d199f9;
  --brand-lilac-soft: #34263d;
  --brand-coral: #f4582f;
  --brand-coral-soft: #40231d;
  --amber: #ffc27e;
  --amber-soft: #432c16;
  --red: #ffaaa1;
  --red-soft: #482320;
  --shadow: 0 10px 28px #00000047;
  --shadow-elevated: 0 18px 44px #0000006b;
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--paper);
}

body {
  color: var(--ink);
  background: radial-gradient(circle at 8% 2%, #4ee6e021, transparent 26rem),
    var(--paper);
  min-height: 100vh;
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

button, a {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

button:focus-visible, a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.eyebrow {
  color: var(--green);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 .8rem;
  font-size: .75rem;
  font-weight: 800;
}

.login-brand-lockup {
  z-index: 1;
  background: #fffffff5;
  border: 1px solid #ffffffb3;
  border-radius: 18px;
  width: min(100%, 38rem);
  max-width: 38rem;
  margin-bottom: 2.2rem;
  padding: 1rem 1.25rem;
  position: relative;
  box-shadow: 0 18px 45px #0016363d;
}

.login-brand-logo {
  width: 100%;
  height: auto;
  display: block;
}

.login-page {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  min-height: 100vh;
  display: grid;
}

.login-story {
  color: #fff;
  background: linear-gradient(130deg, #012f27fa, #014638f0), repeating-linear-gradient(45deg, #0000 0 18px, #ffffff08 18px 19px);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  padding: clamp(3rem, 7vw, 8rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.login-story:after {
  content: "";
  border: 1px solid #4ee6e057;
  border-radius: 50%;
  width: 36rem;
  height: 36rem;
  position: absolute;
  top: -15rem;
  right: -21rem;
}

.login-story .eyebrow {
  color: var(--lime);
}

.login-story h1 {
  letter-spacing: -.055em;
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 5.4rem);
  line-height: .98;
}

.hero-copy {
  color: #ffffffbd;
  max-width: 42rem;
  margin: 2rem 0 2.6rem;
  font-size: 1.08rem;
  line-height: 1.7;
}

.principles {
  flex-wrap: wrap;
  gap: .6rem;
  display: flex;
}

.principles span {
  color: #ffffffc7;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: .55rem .8rem;
  font-size: .82rem;
}

.login-panel {
  flex-direction: column;
  align-self: center;
  gap: 1.6rem;
  max-width: 29rem;
  margin: clamp(2rem, 7vw, 7rem);
  display: flex;
}

.login-panel h2 {
  letter-spacing: -.035em;
  margin: 0 0 .7rem;
  font-size: 2rem;
}

.muted, .page-intro, .empty-workspace p, .foundation-grid p {
  color: var(--muted);
  line-height: 1.65;
}

.dev-identity {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.dev-identity div {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.dev-identity span:last-child {
  color: var(--muted);
  font-size: .82rem;
}

.avatar {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: .78rem;
  font-weight: 800;
  display: flex;
}

.session-panel {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
  max-width: 42rem;
  min-height: 100vh;
  margin: 0 auto;
  padding: 2rem;
  display: flex;
}

.session-panel h1 {
  margin: 0;
}

.session-panel p {
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
}

.session-identity {
  border-top: 1px solid #ffffff24;
  flex-direction: column;
  gap: .25rem;
  margin-top: 1rem;
  padding-top: 1rem;
  display: flex;
}

.session-identity strong {
  font-size: .84rem;
}

.session-identity small {
  color: var(--muted);
  font-size: .72rem;
}

.session-logout {
  color: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  padding: .4rem 0;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: underline;
}

.primary-button, .secondary-button {
  cursor: pointer;
  border: 0;
  border-radius: 12px;
  padding: .9rem 1.1rem;
  font-weight: 800;
}

.primary-button {
  background: var(--green);
  color: #fff;
  box-shadow: 0 12px 30px #0a665838;
}

.primary-button:hover {
  background: var(--green-dark);
}

.primary-button:disabled {
  cursor: wait;
  opacity: .65;
}

.secondary-button {
  background: var(--surface-strong);
  border: 1px solid var(--line);
  color: var(--ink);
}

.security-note {
  color: var(--muted);
  text-align: center;
  margin: 0;
  font-size: .77rem;
}

.error-message {
  color: var(--red);
  margin: -.8rem 0 0;
  font-size: .88rem;
}

.app-layout {
  grid-template-columns: 286px minmax(0, 1fr);
  min-height: 100vh;
  transition: grid-template-columns .18s;
  display: grid;
}

.app-layout-compact, .app-layout-auto {
  grid-template-columns: 76px minmax(0, 1fr);
}

.app-layout-hidden {
  grid-template-columns: 0 minmax(0, 1fr);
}

.sidebar {
  background: var(--green-dark);
  color: #fff;
  z-index: 20;
  flex-direction: column;
  width: 286px;
  height: 100vh;
  padding: 1.1rem .9rem;
  transition: width .18s, transform .18s, padding .18s;
  display: flex;
  position: sticky;
  top: 0;
  overflow-y: auto;
}

.sidebar-compact, .sidebar-auto {
  width: 76px;
}

.sidebar-auto:hover, .sidebar-auto:focus-within {
  width: 286px;
  box-shadow: 16px 0 32px #042e272e;
}

.sidebar-hidden {
  visibility: hidden;
  width: 0;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
  transform: translateX(-100%);
}

.sidebar-mode-controls {
  gap: .25rem;
  margin: -.55rem .35rem .85rem;
  display: flex;
}

.sidebar-mode-controls button {
  color: #ffffff8c;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff26;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 1.7rem;
  height: 1.7rem;
  font-size: .7rem;
  display: inline-flex;
}

.sidebar-mode-controls button:hover, .sidebar-mode-controls button[aria-pressed="true"] {
  color: #fff;
  background: #ffffff1f;
}

.sidebar-compact .sidebar-copy, .sidebar-compact .sidebar-brand > span:last-child, .sidebar-compact .sidebar-context, .sidebar-compact .nav-phase-heading > span:last-child, .sidebar-compact .nav-phase-links, .sidebar-compact .nav-phase-hint, .sidebar-compact .session-language, .sidebar-compact .session-identity, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-copy, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-brand > span:last-child, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-context, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-heading > span:last-child, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-links, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-hint, .sidebar-auto:not(:hover):not(:focus-within) .session-language, .sidebar-auto:not(:hover):not(:focus-within) .session-identity {
  display: none;
}

.sidebar-compact .sidebar-mode-controls, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-mode-controls {
  flex-wrap: wrap;
  margin-left: 0;
  margin-right: 0;
}

.sidebar-compact .sidebar-primary, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-primary {
  justify-items: center;
}

.sidebar-compact .nav-home, .sidebar-auto:not(:hover):not(:focus-within) .nav-home, .sidebar-compact .sidebar-create-link, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-create-link {
  justify-content: center;
  gap: 0;
  width: 44px;
  padding-left: 0;
  padding-right: 0;
}

.sidebar-compact .nav-phase-heading, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-heading {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.sidebar-compact .sidebar-footer, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-footer {
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}

.sidebar-compact .sidebar-health, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-health {
  justify-content: center;
  width: 100%;
  min-height: 1.7rem;
}

.sidebar-brand {
  align-items: center;
  gap: .8rem;
  padding: .3rem .45rem 1.2rem;
  display: flex;
}

.sidebar-brand-mark {
  background: #fff;
  border: 1px solid #ffffffb8;
  border-radius: 10px;
  flex: 0 0 40px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 5px;
  display: inline-flex;
  box-shadow: 0 5px 16px #00153438;
}

.sidebar-brand-mark img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.sidebar-brand > span:last-child {
  flex-direction: column;
  display: flex;
}

.sidebar-brand small {
  color: #ffffff94;
  margin-top: .1rem;
  font-size: .68rem;
}

.sidebar-primary {
  grid-template-columns: 1fr;
  gap: .45rem;
  margin-bottom: 1rem;
  display: grid;
}

.nav-home, .sidebar-create-link {
  border-radius: 11px;
  align-items: center;
  gap: .7rem;
  padding: .7rem .8rem;
  font-size: .84rem;
  font-weight: 800;
  display: flex;
}

.nav-home {
  color: #ffffffb8;
}

.nav-home:hover, .nav-home-active {
  color: #fff;
  background: #ffffff14;
}

.nav-home > span, .sidebar-create-link > span {
  justify-content: center;
  align-items: center;
  width: 1rem;
  height: 1rem;
  font-size: 1rem;
  display: inline-flex;
}

.sidebar-create-link {
  background: var(--lime);
  color: var(--green-dark);
}

.sidebar-create-link:hover {
  background: #fff;
}

.sidebar-create-link-secondary {
  color: #ffffffb8;
  background: none;
  border: 1px solid #ffffff29;
}

.sidebar-create-link-secondary:hover {
  color: #fff;
  background: #ffffff14;
}

.sidebar-context {
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  flex-direction: column;
  margin-bottom: .75rem;
  padding: .85rem;
  display: flex;
}

.sidebar-context:hover {
  background: #ffffff1f;
}

.sidebar-context-label {
  color: var(--lime);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .45rem;
  font-size: .6rem;
  font-weight: 900;
}

.sidebar-context strong {
  font-size: .88rem;
  line-height: 1.3;
}

.sidebar-context > small {
  color: #ffffff94;
  margin-top: .25rem;
  font-size: .68rem;
  line-height: 1.4;
}

.sidebar-context-action {
  color: #ffffffb8;
  margin-top: .7rem;
  font-size: .68rem;
  font-weight: 800;
}

.sidebar-version-line {
  justify-content: space-between;
  align-items: center;
  margin-top: .7rem;
  display: flex;
}

.sidebar-version-line b {
  font-size: .68rem;
}

.context-status {
  color: #fff;
  background: #ffffff1a;
  border-radius: 999px;
  padding: .3rem .48rem;
  font-size: .58rem;
  font-style: normal;
  font-weight: 900;
}

.context-status-calculated, .context-status-approved, .context-status-published {
  background: var(--lime);
  color: var(--green-dark);
}

.workflow-navigation {
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.mobile-nav-hint {
  display: none;
}

.nav-phase {
  border-top: 1px solid #ffffff17;
  padding: .85rem .2rem .65rem;
}

.nav-phase-active {
  background: linear-gradient(90deg, #d8ee7212, #0000);
  border-radius: 12px;
}

.nav-phase-heading {
  align-items: flex-start;
  gap: .65rem;
  padding: 0 .45rem .45rem;
  display: flex;
}

.nav-phase-heading > span:last-child {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.nav-phase-heading strong {
  color: #ffffffe0;
  font-size: .75rem;
}

.nav-phase-heading small {
  color: #ffffff6b;
  margin-top: .1rem;
  font-size: .61rem;
  line-height: 1.35;
}

.nav-phase-number {
  color: #ffffffad;
  border: 1px solid #ffffff38;
  border-radius: 7px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.45rem;
  height: 1.45rem;
  font-size: .62rem;
  font-weight: 900;
  display: inline-flex;
}

.nav-phase-active .nav-phase-number {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--green-dark);
}

.nav-phase-links {
  margin-left: 2.1rem;
}

.nav-link {
  color: #ffffff9e;
  border-radius: 8px;
  align-items: center;
  gap: .55rem;
  margin: .08rem 0;
  padding: .48rem .55rem;
  font-size: .75rem;
  display: flex;
}

.nav-link:hover, .nav-link-active {
  color: #fff;
  background: #ffffff14;
}

.nav-dot {
  border: 1px solid;
  border-radius: 50%;
  flex: none;
  width: 6px;
  height: 6px;
}

.nav-link-active .nav-dot {
  background: var(--lime);
  border-color: var(--lime);
}

.nav-phase-hint {
  color: #ffffff61;
  margin: .2rem .55rem .1rem 2.55rem;
  font-size: .63rem;
  line-height: 1.4;
}

.sidebar-footer {
  border-top: 1px solid #ffffff1a;
  flex-direction: column;
  gap: .45rem;
  margin-top: auto;
  padding: .9rem .5rem 0;
  display: flex;
}

.sidebar-health {
  color: #ffffffa3;
  align-items: center;
  gap: .55rem;
  font-size: .7rem;
  font-weight: 800;
  display: flex;
}

.sidebar-health:hover, .sidebar-health-active {
  color: #fff;
}

.sidebar-footer small {
  color: #ffffff57;
  font-size: .58rem;
}

.environment-dot {
  background: var(--lime);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 4px #d8ee721a;
}

.workspace-main {
  min-width: 0;
  padding: 1.25rem clamp(2rem, 5vw, 5rem) clamp(2rem, 5vw, 5rem);
}

.workspace-contextbar {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  min-height: 2.8rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: .85rem;
  display: flex;
}

.sidebar-reveal {
  background: var(--green-dark);
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: 8px;
  flex: none;
  width: 2rem;
  height: 2rem;
  margin-right: .7rem;
}

.sidebar-compact .sidebar-mode-controls button:not(:first-child), .sidebar-auto:not(:hover):not(:focus-within) .sidebar-mode-controls button:not(:first-child) {
  display: none;
}

.sidebar-compact .sidebar-mode-controls, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-mode-controls {
  justify-content: center;
}

.workspace-contextbar nav {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  font-size: .72rem;
  display: flex;
}

.workspace-contextbar a:hover {
  color: var(--green);
}

.workspace-contextbar strong {
  color: var(--ink);
  font-weight: 800;
}

.page-header {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 3rem;
  display: flex;
}

.page-header h1 {
  letter-spacing: -.055em;
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1;
}

.page-intro {
  max-width: 46rem;
  margin: 1rem 0 0;
}

.home-page-header {
  margin-bottom: 2rem;
}

.home-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 72rem;
  display: grid;
}

.home-choice-grid-compact {
  max-width: 60rem;
}

.home-choice {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 20px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  min-height: 9rem;
  padding: 1.4rem;
  transition: border-color .14s, box-shadow .14s, transform .14s;
  display: grid;
  box-shadow: 0 6px 22px #21332d0d;
}

.home-choice:hover {
  border-color: var(--green);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.home-choice > span:nth-child(2) {
  flex-direction: column;
  gap: .45rem;
  display: flex;
}

.home-choice small {
  color: var(--muted);
  line-height: 1.5;
}

.home-choice-icon {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 2.8rem;
  height: 2.8rem;
  font-size: .7rem;
  font-weight: 900;
  display: flex;
}

.home-choice-arrow {
  color: var(--green);
  font-size: 1.2rem;
}

.guided-page-stack, .configuration-hub {
  flex-direction: column;
  gap: 1rem;
  max-width: 72rem;
  display: flex;
}

.quick-create-panel, .client-choice-panel, .empty-state-panel, .client-summary-card, .next-action-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: clamp(1.1rem, 2.5vw, 1.7rem);
}

.quick-create-panel {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .65fr);
  align-items: end;
  gap: 2rem;
  display: grid;
}

.quick-create-panel h2 {
  margin: .35rem 0;
}

.quick-create-panel p, .simple-section-heading p, .section-guidance {
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
  line-height: 1.5;
}

.quick-create-panel form {
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .7rem;
  display: grid;
}

.quick-create-panel label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .7rem;
  font-weight: 800;
  display: flex;
}

.quick-create-panel input {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: .72rem;
}

.step-pill {
  color: var(--green);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 900;
}

.simple-section-heading {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  display: flex;
}

.simple-section-heading h2 {
  margin: 0 0 .25rem;
}

.client-choice-list {
  flex-direction: column;
  gap: .55rem;
  margin-top: 1rem;
  display: flex;
}

.client-choice-row {
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: .9rem 1rem;
  display: flex;
}

.client-choice-row:hover {
  background: var(--green-soft);
  border-color: var(--green);
}

.client-choice-row > span:first-child {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.client-choice-row small {
  color: var(--muted);
  font-size: .67rem;
}

.client-choice-row > span:last-child {
  color: var(--green);
  font-size: .72rem;
  font-weight: 900;
}

.empty-state-panel {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 18rem;
  display: flex;
}

.empty-state-panel > span {
  color: var(--green);
  font-size: 2rem;
}

.empty-state-panel h2 {
  margin: .5rem 0;
}

.empty-state-panel p {
  color: var(--muted);
  margin: 0 0 1rem;
}

.client-summary-card {
  flex-direction: column;
  display: flex;
}

.client-summary-card > span {
  color: var(--green);
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 900;
}

.client-summary-card > strong {
  margin: .3rem 0;
  font-size: 1.45rem;
}

.client-summary-card > small {
  color: var(--muted);
}

.configuration-step-list {
  flex-direction: column;
  gap: .65rem;
  display: flex;
}

.configuration-step {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem;
  display: grid;
}

.configuration-step-number {
  background: var(--green-dark);
  color: #fff;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: .72rem;
  font-weight: 900;
  display: flex;
}

.configuration-step h2 {
  margin: 0;
  font-size: .95rem;
}

.configuration-step p {
  color: var(--muted);
  margin: .25rem 0;
  font-size: .72rem;
}

.configuration-step small {
  color: var(--green);
  font-size: .64rem;
  font-weight: 800;
}

.next-action-panel {
  background: var(--green-soft);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.next-action-panel p {
  color: var(--muted);
  margin: .25rem 0 0;
  font-size: .72rem;
}

.release-chip {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .55rem .8rem;
  font-size: .74rem;
  font-weight: 800;
}

.empty-workspace {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 24px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.5rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  display: grid;
}

.empty-workspace h2, .foundation-grid h2, .health-grid h2, .error-panel h2 {
  letter-spacing: -.025em;
  margin: 0 0 .5rem;
}

.empty-workspace p, .foundation-grid p {
  margin: 0;
}

.empty-icon {
  background: var(--lime);
  color: var(--green-dark);
  border-radius: 20px 20px 20px 5px;
  justify-content: center;
  align-items: center;
  width: 76px;
  height: 76px;
  font-size: 1.2rem;
  font-weight: 900;
  display: flex;
}

.foundation-grid, .health-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
  display: grid;
}

.foundation-grid article, .health-grid article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fffdf794;
  padding: 1.5rem;
}

.step-number {
  color: var(--green);
  margin-bottom: 1.5rem;
  font-size: .72rem;
  font-weight: 900;
  display: block;
}

.health-summary {
  background: var(--green-dark);
  color: #fff;
  border-radius: 22px;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem;
  display: flex;
}

.health-summary > div {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.health-summary span:first-child, .health-summary small {
  color: #ffffff94;
  font-size: .76rem;
}

.health-card-heading {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.health-card-heading h2 {
  font-size: 1rem;
}

.status-badge {
  white-space: nowrap;
  border-radius: 999px;
  padding: .4rem .62rem;
  font-size: .68rem;
  font-weight: 800;
  display: inline-flex;
}

.status-ok {
  background: var(--green-soft);
  color: var(--green-dark);
}

.status-degraded {
  background: var(--amber-soft);
  color: var(--amber);
}

.status-error {
  background: var(--red-soft);
  color: var(--red);
}

.health-grid dl {
  margin: 1.4rem 0 0;
}

.health-grid dl > div {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  padding: .7rem 0;
  display: flex;
}

.health-grid dt {
  color: var(--muted);
  font-size: .76rem;
}

.health-grid dd {
  margin: 0;
  font-size: .76rem;
  font-weight: 700;
}

.refresh-button {
  margin-top: 1rem;
}

.loading-panel, .error-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  padding: 2rem;
}

.error-panel {
  color: var(--red);
}

.nav-label-section {
  margin-top: 1.8rem;
}

.inline-link {
  color: var(--green);
  margin-top: .9rem;
  font-weight: 800;
  display: inline-block;
}

.scope-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.scope-card, .new-scope-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  flex-direction: column;
  min-height: 280px;
  padding: 1.5rem;
  display: flex;
}

.scope-card h2 {
  letter-spacing: -.035em;
  margin: 1.4rem 0 .35rem;
  font-size: 1.5rem;
}

.scope-card > p {
  color: var(--muted);
  margin: 0;
}

.scope-card-topline {
  color: var(--green);
  text-transform: uppercase;
  justify-content: space-between;
  font-size: .7rem;
  font-weight: 800;
  display: flex;
}

.scope-card dl {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: auto 0 1.2rem;
  padding-top: 1rem;
  display: grid;
}

.scope-card dl div {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.scope-card dt {
  color: var(--muted);
  font-size: .7rem;
}

.scope-card dd {
  margin: 0;
  font-size: .84rem;
  font-weight: 800;
}

.primary-link {
  background: var(--green);
  color: #fff;
  text-align: center;
  border-radius: 10px;
  padding: .75rem .9rem;
  font-size: .84rem;
  font-weight: 800;
  display: block;
}

.new-scope-card {
  color: var(--green);
  border-style: dashed;
  justify-content: center;
  align-items: center;
  font-weight: 800;
}

.new-scope-card span {
  background: var(--green-soft);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: .8rem;
  font-size: 1.5rem;
  display: flex;
}

.client-list-toolbar {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  grid-template-columns: auto minmax(15rem, 1fr) auto;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  display: grid;
}

.client-list-toolbar label, .client-list-toolbar span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}

.client-list-toolbar input, .eligibility-editor input, .eligibility-editor select, .weekly-input-table input {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .6rem .7rem;
}

.client-card dl {
  grid-template-columns: 1fr 1fr;
}

.weekly-planner {
  flex-direction: column;
  gap: 1.2rem;
  display: flex;
}

.planning-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.planning-steps li {
  border: 1px solid var(--line);
  background: #fffdf79e;
  border-radius: 12px;
  align-items: center;
  gap: .7rem;
  padding: .85rem;
  display: flex;
}

.planning-steps li > span {
  border: 1px solid var(--line);
  color: var(--muted);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 1.8rem;
  height: 1.8rem;
  font-size: .7rem;
  font-weight: 900;
  display: flex;
}

.planning-steps li div {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.planning-steps strong {
  font-size: .8rem;
}

.planning-steps small {
  color: var(--muted);
  font-size: .64rem;
}

.planning-steps .step-current {
  border-color: var(--green);
  box-shadow: 0 0 0 2px #0a665814;
}

.planning-steps .step-current > span {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.planning-steps .step-done > span {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--green-dark);
}

.weekly-section {
  border: 1px solid var(--line);
  background: #fffdf775;
  border-radius: 20px;
  padding: clamp(1rem, 2vw, 1.6rem);
  scroll-margin-top: 1rem;
}

.weekly-section-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.2rem;
  display: flex;
}

.weekly-section-heading > div > span {
  color: var(--green);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 900;
}

.weekly-section-heading h2 {
  letter-spacing: -.035em;
  margin: .3rem 0 0;
}

.weekly-section-heading p {
  color: var(--muted);
  margin: .35rem 0 0;
  font-size: .75rem;
}

.status-warning {
  background: var(--amber-soft);
  color: var(--amber);
}

.configuration-summary, .result-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin-bottom: 1rem;
  display: grid;
}

.configuration-summary article, .result-kpis article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  flex-direction: column;
  gap: .4rem;
  padding: 1rem;
  display: flex;
}

.configuration-summary span, .result-kpis span {
  color: var(--muted);
  font-size: .68rem;
}

.configuration-summary strong, .result-kpis strong {
  font-size: 1.35rem;
}

.period-report {
  gap: 1rem;
  min-width: 0;
  display: grid;
}

.period-report-toolbar {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  padding: .8rem;
  display: flex;
}

.period-report-toolbar .eyebrow {
  margin: 0 0 .45rem .15rem;
  display: block;
}

.period-switcher {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: 9px;
  gap: .2rem;
  padding: .2rem;
  display: flex;
}

.period-switcher button {
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 7px;
  min-height: 2.2rem;
  padding: .45rem .8rem;
  font-size: .74rem;
  font-weight: 800;
}

.period-switcher button:hover {
  color: var(--ink);
}

.period-switcher button:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 1px;
}

.period-switcher button.is-active {
  background: var(--green);
  color: var(--surface);
  box-shadow: 0 2px 8px #00483b2e;
}

.period-select {
  gap: .3rem;
  min-width: 12rem;
  display: grid;
}

.period-select span {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 800;
}

.period-select select {
  min-height: 2.35rem;
}

.monthly-detail, .annual-monthly-view {
  gap: 1rem;
  min-width: 0;
  display: grid;
}

.period-heading {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.period-heading span:not(.quality-chip) {
  color: var(--green);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 900;
}

.period-heading h3 {
  text-transform: capitalize;
  margin: .25rem 0 0;
  font-size: 1.15rem;
}

.monthly-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 0;
}

.period-method-note {
  background: var(--green-soft);
  border-left: 3px solid var(--green);
  color: var(--muted);
  border-radius: 0 9px 9px 0;
  margin: 0;
  padding: .65rem .8rem;
  font-size: .75rem;
  line-height: 1.55;
}

.annual-monthly-shell {
  margin: 0;
}

.annual-monthly-table thead th small {
  color: var(--muted);
  white-space: nowrap;
  margin-top: .2rem;
  font-size: .62rem;
  font-weight: 700;
  display: block;
}

.annual-monthly-table tbody th small {
  color: var(--muted);
  margin-top: .15rem;
  font-size: .75rem;
  display: block;
}

.annual-monthly-table td {
  font-variant-numeric: tabular-nums;
}

.annual-monthly-table .outside-horizon-cell {
  background: var(--surface-muted);
  color: var(--muted);
}

.annual-horizon-notice {
  margin-bottom: 0;
}

.warning-list, .input-policy-note {
  background: var(--amber-soft);
  color: var(--amber);
  border: 1px solid #bd6a1c38;
  border-radius: 12px;
  margin-bottom: 1rem;
  padding: 1rem;
}

.warning-list ul {
  margin: .55rem 0 0;
  padding-left: 1.2rem;
}

.input-policy-note {
  color: var(--ink);
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.input-policy-note span {
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.5;
}

.configuration-columns {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  display: grid;
}

.configuration-columns h3 {
  text-transform: uppercase;
  margin: 0 0 .6rem;
  font-size: .78rem;
}

.configuration-line {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  grid-template-columns: 1fr auto;
  gap: .35rem;
  margin-bottom: .55rem;
  padding: .9rem;
  display: grid;
}

.configuration-line div {
  flex-direction: column;
  display: flex;
}

.configuration-line small, .configuration-line p {
  color: var(--muted);
  margin: 0;
  font-size: .67rem;
}

.configuration-line > span {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  height: fit-content;
  padding: .3rem .45rem;
  font-size: .62rem;
  font-weight: 800;
}

.configuration-line p {
  grid-column: 1 / -1;
  line-height: 1.4;
}

.eligibility-editor, .weekly-input-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-top: 1rem;
  padding: 1rem;
}

.eligibility-editor summary, .weekly-input-card summary {
  cursor: pointer;
  font-weight: 900;
}

.eligibility-editor > p {
  color: var(--muted);
  font-size: .74rem;
}

.eligibility-editor form {
  grid-template-columns: 1fr 1fr 8rem auto;
  align-items: end;
  gap: .7rem;
  display: grid;
}

.eligibility-editor label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.eligibility-list {
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
  display: flex;
}

.eligibility-list span, .inherited-chip {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .35rem .5rem;
  font-size: .64rem;
  font-weight: 800;
}

.defaults-editor fieldset {
  border: 1px solid var(--line);
  border-radius: 10px;
  margin: .8rem 0;
  padding: .9rem;
}

.defaults-editor legend {
  padding: 0 .35rem;
  font-size: .7rem;
  font-weight: 900;
}

.defaults-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  display: grid;
}

.defaults-grid label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.defaults-grid input {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .6rem .7rem;
}

.inherited-default-value {
  background: var(--green-soft);
  color: var(--green-dark);
  border: 1px solid #0a66582e;
  border-radius: 8px;
  min-height: 2.35rem;
  padding: .6rem .7rem;
  font-size: .78rem;
  font-weight: 900;
}

.group-defaults-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.simple-chip-list {
  flex-wrap: wrap;
  gap: .55rem;
  display: flex;
}

.simple-chip-list span {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .5rem .75rem;
  font-size: .72rem;
  font-weight: 800;
}

.simple-record-list {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.simple-record-list article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 11px;
  justify-content: space-between;
  align-items: center;
  padding: .8rem .9rem;
  display: flex;
}

.simple-record-list article > span {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.simple-record-list small {
  color: var(--muted);
  font-size: .65rem;
}

.simple-record-list b {
  color: var(--green-dark);
  font-size: .7rem;
}

.empty-inline {
  color: var(--muted);
  font-size: .74rem;
}

.eligibility-editor form.simple-inline-form {
  grid-template-columns: minmax(14rem, 24rem) auto;
  align-items: end;
  gap: .7rem;
  display: grid;
}

.eligibility-editor form.simple-three-field-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.eligibility-editor form.simple-site-form {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.eligibility-editor form.simple-attrition-form {
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr) auto;
}

.simple-inline-form input, .simple-inline-form select, .simple-three-field-form input, .simple-three-field-form select, .simple-site-form input, .simple-site-form select, .simple-attrition-form input, .simple-attrition-form select {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .65rem .75rem;
}

.eligibility-editor form.flow-root-form {
  grid-template-columns: minmax(12rem, .7fr) minmax(16rem, 1fr) auto;
}

.flow-type-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  display: grid;
}

.flow-type-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  flex-direction: column;
  padding: 1rem;
  display: flex;
}

.flow-type-card-inactive {
  opacity: .72;
}

.flow-type-card > div:first-child {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.flow-type-card h3 {
  margin: .8rem 0 .35rem;
  font-size: .9rem;
}

.flow-type-card p {
  color: var(--muted);
  flex: 1;
  margin: 0;
  font-size: .7rem;
  line-height: 1.5;
}

.flow-type-card > small {
  color: var(--green-dark);
  margin-top: .8rem;
  font-size: .65rem;
  font-weight: 800;
}

.flow-type-card .button-row {
  margin-top: .8rem;
}

.flow-family-chip {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .35rem .5rem;
  font-size: .62rem;
  font-weight: 900;
}

.quiet-button {
  color: var(--green);
  cursor: pointer;
  background: none;
  border: 0;
  padding: .55rem;
  font-size: .68rem;
  font-weight: 800;
}

.quiet-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.calculation-guide > form {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.engine-choice-list {
  border: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin: 0;
  padding: 0;
  display: grid;
}

.engine-choice-list legend {
  margin-bottom: .6rem;
  font-size: .72rem;
  font-weight: 900;
}

.engine-choice {
  background: var(--surface);
  border: 1px solid var(--line);
  cursor: pointer;
  border-radius: 12px;
  align-items: flex-start;
  gap: .7rem;
  padding: .85rem;
  display: flex;
}

.engine-choice-selected {
  background: var(--green-soft);
  border-color: var(--green);
}

.engine-choice > span {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.engine-choice strong {
  font-size: .75rem;
}

.engine-choice small {
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.4;
}

.friendly-unit-choice {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  max-width: 24rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.friendly-unit-choice select {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: .65rem;
}

.calculation-fields-preview {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .8rem;
}

.calculation-fields-preview summary {
  cursor: pointer;
  font-size: .7rem;
  font-weight: 900;
}

.calculation-fields-preview ul {
  gap: .4rem;
  margin: .8rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.calculation-fields-preview li {
  flex-direction: column;
  display: flex;
}

.calculation-fields-preview li strong {
  font-size: .68rem;
}

.calculation-fields-preview li span {
  color: var(--muted);
  font-size: .63rem;
}

.guided-flow-form {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.primary-flow-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.advanced-flow-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: .8rem;
}

.required-flow-inputs {
  background: var(--green-soft);
  border: 1px solid #0a665824;
  border-radius: 13px;
  padding: 1rem;
}

.required-flow-inputs h3 {
  margin: 0;
  font-size: .78rem;
}

.required-flow-inputs p {
  color: var(--muted);
  margin: .25rem 0 0;
  font-size: .66rem;
}

.primary-flow-fields label, .advanced-flow-fields label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.primary-flow-fields input, .primary-flow-fields select, .advanced-flow-fields input, .advanced-flow-fields select, .advanced-flow-fields textarea {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .65rem .75rem;
}

.weekly-create {
  margin-bottom: 1rem;
}

.weekly-simulation-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.weekly-input-stack {
  flex-direction: column;
  gap: .7rem;
  display: flex;
}

.weekly-input-card {
  margin-top: 0;
  padding: 0;
  overflow: hidden;
}

.weekly-input-card summary {
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  list-style: none;
  display: flex;
}

.weekly-input-card summary::-webkit-details-marker {
  display: none;
}

.weekly-input-card summary > span {
  flex-direction: column;
  gap: .15rem;
  display: flex;
}

.weekly-input-card summary b {
  color: var(--green);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .6rem;
}

.weekly-input-card summary small {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 500;
}

.weekly-input-card summary em {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .35rem .5rem;
  font-size: .6rem;
  font-style: normal;
}

.weekly-input-card .table-shell {
  border: 0;
  border-radius: 0;
  margin: 0;
}

.weekly-input-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 760px;
}

.weekly-input-table th, .weekly-input-table td, .weekly-results-table th, .weekly-results-table td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  padding: .6rem;
  font-size: .68rem;
}

.weekly-input-table thead, .weekly-results-table thead {
  background: #eeece4;
}

.weekly-input-table input {
  width: 100%;
  max-width: 8rem;
}

.reset-row {
  color: var(--green);
  cursor: pointer;
  background: none;
  border: 0;
  font-size: .64rem;
  font-weight: 800;
}

.week-view-switch {
  border: 1px solid var(--line);
  background: #f5f3ec;
  border-radius: 12px;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: 0 0 1rem;
  padding: .65rem;
  display: flex;
}

.week-view-switch .view-active {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: #fff;
}

.week-view-switch > span {
  color: var(--muted);
  margin-left: auto;
  font-size: .68rem;
}

.horizontal-week-guidance {
  color: var(--muted);
  font-size: var(--text-xs);
  align-items: center;
  gap: .45rem;
  margin: -.35rem 0 .75rem;
  display: flex;
}

.horizontal-week-guidance span {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  font-weight: 900;
  display: inline-flex;
}

.horizontal-weeks-shell {
  scrollbar-gutter: stable both-edges;
  max-width: 100%;
  padding-bottom: .25rem;
  overflow-x: auto;
}

.horizontal-weeks-shell:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

.horizontal-weeks-shell::-webkit-scrollbar {
  height: 11px;
}

.horizontal-weeks-shell::-webkit-scrollbar-thumb {
  background: #9aada6 padding-box padding-box;
  border: 2px solid #0000;
  border-radius: 999px;
}

.horizontal-weeks-table {
  table-layout: auto;
  width: max-content;
}

.horizontal-weeks-table th:first-child {
  z-index: 2;
  background: #f8f7f2;
  min-width: 180px;
  position: sticky;
  left: 0;
}

.horizontal-weeks-table thead th:first-child {
  z-index: 3;
  background: #eeece4;
}

.horizontal-weeks-table thead th:not(:first-child), .horizontal-weeks-table td {
  text-align: center;
  min-width: 108px;
}

.horizontal-weeks-table thead th small {
  color: var(--muted);
  margin-top: .2rem;
  font-size: .56rem;
  font-weight: 600;
  display: block;
}

.horizontal-weeks-table input, .horizontal-weeks-table select {
  text-align: right;
  min-width: 78px;
  max-width: 92px;
}

.horizontal-weeks-table .guided-field {
  text-align: left;
  justify-content: flex-start;
}

.projection-cell {
  color: var(--muted);
  font-size: .62rem;
  font-weight: 700;
}

.inheritance-row td, .derived-row td {
  background: #faf9f5;
}

.derived-row strong {
  color: var(--green-dark);
  font-size: .68rem;
}

.agent-input-guide {
  background: var(--green-soft);
  color: var(--green-dark);
  padding: .7rem 1rem;
  font-size: .72rem;
  font-weight: 700;
}

.advanced-agent-inputs {
  border-top: 1px solid var(--line);
  padding: .8rem 1rem 1rem;
}

.advanced-agent-inputs > summary {
  color: var(--green-dark);
  cursor: pointer;
  padding: 0;
  font-size: .72rem;
  font-weight: 800;
}

.advanced-agent-inputs > p {
  color: var(--muted);
  font-size: .68rem;
}

.derived-total {
  background: #f5f3ec;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  margin: .8rem 0 0;
  padding: .7rem .85rem;
  display: flex;
}

.derived-total span {
  color: var(--muted);
  font-size: .7rem;
}

.derived-total strong {
  color: var(--green-dark);
}

.form-grid-span {
  grid-column: 1 / -1;
}

.shrinkage-config {
  border: 1px solid var(--line);
  background: #f8f7f2;
  border-radius: 12px;
  padding: .8rem;
}

.shrinkage-config > summary {
  color: var(--green-dark);
  cursor: pointer;
  font-size: .74rem;
  font-weight: 800;
}

.shrinkage-config > p {
  color: var(--muted);
  font-size: .68rem;
}

.sticky-actions {
  background: var(--green-dark);
  color: #fff;
  z-index: 5;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  padding: .9rem 1rem;
  display: flex;
  position: sticky;
  bottom: 1rem;
}

.weekly-results-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 900px;
}

.weekly-results-table th, .weekly-results-table td {
  vertical-align: top;
}

.weekly-results-table th > small, .weekly-results-table td > small {
  color: var(--muted);
  white-space: normal;
  margin-top: .2rem;
  font-size: .58rem;
  font-weight: 600;
  line-height: 1.35;
  display: block;
}

.weekly-results-table thead th {
  white-space: nowrap;
}

.weekly-results-table tbody tr > :first-child {
  background: var(--surface);
  box-shadow: 1px 0 0 var(--line);
  white-space: nowrap;
  z-index: 1;
  position: sticky;
  left: 0;
}

.weekly-results-table thead th:first-child {
  box-shadow: 1px 0 0 var(--line);
  z-index: 2;
  background: #eeece4;
  position: sticky;
  left: 0;
}

.weekly-controls {
  margin-top: 1rem;
}

@media (max-width: 1050px) {
  .planning-steps, .configuration-summary, .result-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .configuration-columns {
    grid-template-columns: 1fr;
  }

  .eligibility-editor form {
    grid-template-columns: 1fr 1fr;
  }

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

@media (max-width: 700px) {
  .client-list-toolbar, .planning-steps, .configuration-summary, .result-kpis, .weekly-simulation-list, .eligibility-editor form, .eligibility-editor form.simple-inline-form, .eligibility-editor form.simple-three-field-form, .eligibility-editor form.simple-site-form, .eligibility-editor form.simple-attrition-form, .eligibility-editor form.flow-root-form, .flow-type-card-grid, .engine-choice-list, .primary-flow-fields, .advanced-flow-fields, .defaults-grid, .group-defaults-grid {
    grid-template-columns: 1fr;
  }

  .sticky-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .7rem;
    position: static;
  }
}

.scenario-lab, .finance-workspace {
  flex-direction: column;
  gap: 1.2rem;
  display: flex;
}

.finance-select {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  max-width: 34rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.finance-select select, .finance-config-grid select, .finance-config-grid input, .finance-analysis-selectors select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .65rem .75rem;
}

.finance-config-grid {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  display: grid;
}

.finance-config-grid h3 {
  text-transform: uppercase;
  margin: 0 0 .7rem;
  font-size: .78rem;
}

.finance-config-grid fieldset {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  grid-template-columns: 1fr 1fr;
  gap: .7rem;
  margin: 0 0 .8rem;
  padding: .9rem;
  display: grid;
}

.finance-config-grid legend {
  padding: 0 .35rem;
  font-size: .7rem;
  font-weight: 900;
}

.finance-config-grid label, .finance-analysis-selectors label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.finance-action {
  margin-top: 1rem;
}

.finance-action .scenario-lab-form {
  padding: 1rem;
}

.finance-analysis-selectors {
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: .8rem;
  display: grid;
}

.finance-options-heading {
  border-top: 1px solid var(--line);
  margin-top: 1.4rem;
  padding-top: 1.4rem;
}

.finance-result .weekly-results-table small {
  color: var(--muted);
  margin-top: .2rem;
  display: block;
}

@media (max-width: 900px) {
  .finance-config-grid, .finance-analysis-selectors {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .finance-config-grid fieldset {
    grid-template-columns: 1fr;
  }
}

.scenario-steps {
  margin-bottom: 0;
}

.scenario-lab-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  display: grid;
}

.scenario-lab-form label, .comparison-form > label, .quality-panel > label, .seasonal-config form label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.scenario-lab-form input, .scenario-lab-form select, .scenario-lab-form textarea, .comparison-form input, .comparison-form select, .comparison-picker select, .quality-panel select, .seasonal-config input, .seasonal-config select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  padding: .65rem .75rem;
}

.scenario-lab-form textarea {
  resize: vertical;
  min-height: 5.2rem;
}

.scenario-wide {
  grid-column: 1 / -1;
}

.scenario-check {
  color: var(--ink) !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: .55rem !important;
}

.scenario-check input {
  flex: none;
  min-width: auto;
}

.scenario-check span {
  flex-direction: column;
  gap: .15rem;
  display: flex;
}

.scenario-check small {
  color: var(--muted);
  font-weight: 500;
}

.scenario-inventory {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  display: grid;
}

.scenario-inventory article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem;
}

.scenario-inventory article > div:first-child {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.scenario-inventory h3 {
  margin: .8rem 0 .35rem;
}

.scenario-inventory p {
  color: var(--muted);
  min-height: 2.2rem;
  font-size: .72rem;
  line-height: 1.5;
}

.comparison-form {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: end;
  gap: .8rem;
  padding: 1rem;
  display: grid;
}

.comparison-form fieldset {
  border: 1px solid var(--line);
  border-radius: 10px;
  grid-column: 1 / -1;
  padding: .8rem;
}

.comparison-form legend {
  font-size: .7rem;
  font-weight: 900;
}

.comparison-picker {
  color: var(--muted);
  align-items: center;
  gap: .7rem;
  margin: 1rem 0;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.comparison-view .weekly-results-table small {
  color: var(--muted);
  margin-top: .25rem;
  display: block;
}

.analysis-grid {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
  display: grid;
}

.analysis-grid > article, .analysis-grid > form {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem;
}

.analysis-grid h3 {
  margin: 0 0 .9rem;
  font-size: .82rem;
}

.tornado-row {
  grid-template-columns: minmax(7rem, 1fr) 2fr auto;
  align-items: center;
  gap: .55rem;
  margin: .6rem 0;
  display: grid;
}

.tornado-row span, .tornado-row strong {
  font-size: .68rem;
}

.tornado-row > div {
  background: var(--line);
  border-radius: 999px;
  height: .55rem;
  overflow: hidden;
}

.tornado-row i {
  background: var(--green);
  min-width: 2px;
  height: 100%;
  display: block;
}

.bridge-card {
  border-top: 1px solid var(--line);
  margin-top: .75rem;
  padding-top: .75rem;
}

.bridge-card:first-of-type {
  border-top: 0;
}

.bridge-card p {
  justify-content: space-between;
  align-items: center;
  margin: .45rem 0;
  font-size: .7rem;
  display: flex;
}

.bridge-card p span {
  color: var(--muted);
}

.bridge-card em {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .18rem .3rem;
  font-size: .55rem;
  font-style: normal;
}

.actual-grid {
  align-items: start;
}

.actual-grid .scenario-lab-form {
  grid-template-columns: 1fr 1fr;
  margin: 0;
}

.quality-panel {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.quality-kpis {
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
  display: grid;
}

.quality-kpis article {
  background: var(--green-soft);
  border-radius: 10px;
  flex-direction: column;
  gap: .25rem;
  padding: .8rem;
  display: flex;
}

.quality-kpis article span, .quality-kpis article small, .quality-kpis p, .quality-kpis li {
  color: var(--muted);
  font-size: .66rem;
}

.quality-kpis p, .quality-kpis ul {
  grid-column: 1 / -1;
  margin: 0;
}

.seasonal-config > summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  display: flex;
}

.seasonal-config > summary span, .seasonal-config > p {
  color: var(--muted);
  font-size: .72rem;
}

.seasonal-config form {
  flex-direction: column;
  gap: .7rem;
  display: flex;
}

@media (max-width: 1050px) {
  .scenario-lab-form, .scenario-inventory, .comparison-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .scenario-lab-form, .scenario-inventory, .comparison-form, .analysis-grid, .actual-grid .scenario-lab-form {
    grid-template-columns: 1fr;
  }

  .scenario-wide {
    grid-column: auto;
  }

  .tornado-row, .quality-kpis {
    grid-template-columns: 1fr;
  }
}

.scope-form {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.scope-form fieldset {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0;
  padding: 1.5rem;
}

.scope-form legend {
  padding: 0 .6rem;
  font-size: 1.05rem;
  font-weight: 800;
}

.scope-form legend span {
  color: var(--green);
  margin-right: .5rem;
  font-size: .72rem;
}

.form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.form-grid label {
  color: var(--muted);
  flex-direction: column;
  gap: .45rem;
  font-size: .76rem;
  font-weight: 700;
  display: flex;
}

.fieldset-intro {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 10px;
  margin: 0 0 1rem;
  padding: .8rem 1rem;
  font-size: .78rem;
  line-height: 1.5;
}

.field-heading {
  color: var(--ink);
  justify-content: space-between;
  align-items: flex-start;
  min-height: 1.2rem;
  font-weight: 800;
  display: flex;
}

.field-heading > span:first-child {
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem;
  display: flex;
}

.field-help {
  background: var(--green-soft);
  color: var(--green-dark);
  cursor: help;
  border: 1px solid #0a665838;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: .4rem;
  font-size: .68rem;
  display: inline-flex;
  position: relative;
}

.field-help:after {
  background: var(--green-dark);
  color: #fff;
  content: attr(data-tooltip);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  z-index: 20;
  border-radius: 9px;
  width: min(19rem, 75vw);
  padding: .7rem .8rem;
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.45;
  transition: opacity .12s, transform .12s;
  position: absolute;
  top: calc(100% + .45rem);
  left: auto;
  right: 0;
  transform: translateY(-.25rem);
  box-shadow: 0 12px 32px #132a2738;
}

.field-help:hover:after, .field-help:focus-visible:after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.field-help:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 2px;
}

.access-boundary {
  background: var(--green-dark);
  border-radius: var(--radius);
  color: #fff;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1rem 1.2rem;
  display: flex;
}

.access-boundary > div {
  align-items: center;
  gap: .8rem;
  display: flex;
}

.access-boundary > div > span {
  background: #ffffff1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2.2rem;
  height: 2.2rem;
  display: inline-flex;
}

.access-boundary p {
  color: #ffffffa3;
  margin: .25rem 0 0;
  font-size: .72rem;
}

.access-boundary code {
  color: var(--lime);
}

.contract-template-table {
  min-width: 850px;
}

.contract-template-table td:nth-child(2) {
  min-width: 240px;
}

.contract-template-table input[type="checkbox"] {
  accent-color: var(--green);
  width: 1.15rem;
  height: 1.15rem;
}

.inline-add-button {
  margin-top: 1rem;
}

.sheet-switcher {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin: 1rem 0;
  display: grid;
}

.sheet-tab {
  border: 1px solid var(--line);
  color: var(--muted);
  cursor: pointer;
  text-align: left;
  background: #fffdf79e;
  border-radius: 14px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .1rem .7rem;
  padding: .9rem 1rem;
  display: grid;
}

.sheet-tab > span {
  border: 1px solid var(--line);
  border-radius: 8px;
  grid-row: 1 / span 2;
  justify-content: center;
  align-items: center;
  width: 1.8rem;
  height: 1.8rem;
  font-size: .72rem;
  font-weight: 900;
  display: inline-flex;
}

.sheet-tab strong {
  color: var(--ink);
  font-size: .82rem;
}

.sheet-tab small {
  font-size: .68rem;
}

.sheet-tab:hover, .sheet-tab-active {
  background: var(--surface);
  border-color: var(--green);
  box-shadow: 0 8px 28px #132a2712;
}

.sheet-tab-active > span {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.defaults-sheet {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.5rem;
}

.defaults-heading {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.2rem;
  display: flex;
}

.defaults-heading h2, .range-editor h2 {
  margin: 0;
  font-size: 1.15rem;
}

.defaults-heading p:not(.eyebrow), .range-editor p:not(.eyebrow) {
  color: var(--muted);
  margin: .35rem 0 0;
  font-size: .76rem;
  line-height: 1.5;
}

.default-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.default-fields label, .range-editor label {
  color: var(--muted);
  flex-direction: column;
  gap: .4rem;
  font-size: .7rem;
  font-weight: 700;
  display: flex;
}

.default-fields input, .range-editor input, .range-editor select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: .7rem .75rem;
}

.default-fields label > small {
  color: var(--muted);
  font-size: .64rem;
  font-weight: 500;
}

.range-editor {
  background: var(--green-soft);
  border-radius: var(--radius);
  border: 1px solid #0a665824;
  grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(115px, .7fr)) auto;
  align-items: end;
  gap: .8rem;
  margin-bottom: .7rem;
  padding: 1rem;
  display: grid;
}

.range-editor .eyebrow {
  margin-bottom: .35rem;
}

.inherited-input {
  background: #f2f1ea !important;
  border-style: dashed !important;
}

.inherited-input::placeholder {
  color: #71837d;
  opacity: 1;
}

.override-input {
  box-shadow: inset 3px 0 0 var(--amber);
  border-color: #bd6a1c6b !important;
}

.cell-adjusted {
  background: var(--amber-soft);
  color: var(--amber);
}

.form-grid label small, .input-table th small, .decision-table th small {
  color: var(--muted);
  font-size: .62rem;
  font-weight: 500;
  display: block;
}

.form-grid .field-description {
  min-height: 1.7em;
  line-height: 1.35;
}

.form-grid input, .form-grid select, .input-table input {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: .72rem .75rem;
}

.form-grid input:focus, .form-grid select:focus, .input-table input:focus {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px #0a66581a;
}

.form-grid select {
  appearance: auto;
}

.form-grid .readonly-field {
  background: var(--green-soft);
  color: var(--green-dark);
  cursor: not-allowed;
  border-color: #0a66582e;
  font-weight: 800;
}

.phase-editor {
  background: var(--green-soft);
  border: 1px solid #0a66582e;
  border-radius: 12px;
  grid-column: 1 / -1;
  gap: .65rem;
  padding: .9rem;
  display: grid;
}

.phase-row {
  grid-template-columns: 7rem minmax(8rem, 1fr) minmax(9rem, 1fr) minmax(6rem, .6fr) auto;
  align-items: center;
  gap: .55rem;
  display: grid;
}

.phase-row > span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}

.form-footer {
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  display: flex;
}

.form-footer p {
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
}

.context-strip, .decision-topbar {
  background: var(--green-dark);
  color: #fff;
  border-radius: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.1rem 1.3rem;
  display: grid;
}

.context-strip div, .decision-topbar > div {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.context-strip span, .decision-topbar span {
  color: #ffffff8c;
  font-size: .68rem;
}

.context-strip strong, .decision-topbar strong {
  font-size: .84rem;
}

.grid-toolbar {
  justify-content: space-between;
  align-items: center;
  padding: .6rem 0;
  display: flex;
}

.grid-toolbar p {
  color: var(--muted);
  font-size: .78rem;
}

.grid-toolbar > div {
  gap: .5rem;
  display: flex;
}

.table-shell {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow-x: auto;
}

.input-table, .decision-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 760px;
}

.resource-table {
  min-width: 1050px;
}

.input-table th, .input-table td, .decision-table th, .decision-table td {
  border-bottom: 1px solid var(--line);
  text-align: right;
  padding: .7rem .8rem;
  font-size: .78rem;
}

.input-table thead th, .decision-table thead th {
  color: var(--muted);
  text-transform: uppercase;
  background: #efede4;
  font-size: .68rem;
}

.input-table th:first-child, .decision-table th:first-child {
  text-align: left;
  z-index: 1;
  position: sticky;
  left: 0;
}

.input-table tbody th, .decision-table tbody th {
  background: var(--surface);
}

.input-table input {
  text-align: right;
  width: 100%;
}

.cell-status {
  border-radius: 999px;
  padding: .35rem .55rem;
  font-size: .64rem;
  font-weight: 800;
  display: inline-flex;
}

.cell-valid {
  background: var(--green-soft);
  color: var(--green-dark);
}

.cell-missing {
  background: var(--amber-soft);
  color: var(--amber);
}

.success-message {
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
}

.flow-footer {
  justify-content: flex-end;
  padding: 1rem 0;
  display: flex;
}

.decision-topbar {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: center;
}

.metric-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0;
  display: grid;
}

.metric-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  flex-direction: column;
  padding: 1rem;
  display: flex;
}

.metric-card > span, .metric-card small {
  color: var(--muted);
  font-size: .65rem;
}

.metric-card strong {
  letter-spacing: -.035em;
  margin: .45rem 0 .2rem;
  font-size: 1.35rem;
}

.metric-good {
  border-top: 3px solid var(--green);
}

.metric-risk {
  border-top: 3px solid var(--red);
}

.run-proof {
  background: #e9e6db;
  border-radius: 12px;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  display: grid;
}

.run-proof div {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.run-proof span {
  color: var(--muted);
  font-size: .62rem;
}

.run-proof code {
  text-overflow: ellipsis;
  font-size: .65rem;
  overflow: hidden;
}

.guidance-panel, .success-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.5rem;
  display: flex;
}

.guidance-panel h2, .success-panel h2 {
  margin: 0;
}

.guidance-panel p, .success-panel p {
  color: var(--muted);
  margin: .4rem 0 0;
}

.success-panel > span {
  background: var(--green-soft);
  color: var(--green);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-weight: 900;
  display: flex;
}

.negative-value {
  color: var(--red);
  font-weight: 800;
}

.control-list {
  flex-direction: column;
  gap: .7rem;
  display: flex;
}

.control-list article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.2rem;
  display: grid;
}

.control-severity {
  background: var(--red-soft);
  color: var(--red);
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  font-size: .72rem;
  font-weight: 900;
  display: flex;
}

.control-meta {
  color: var(--muted);
  gap: .8rem;
  font-size: .68rem;
  display: flex;
}

.control-list h2 {
  margin: .45rem 0 0;
  font-size: 1rem;
}

.control-list p {
  color: var(--muted);
  margin: .35rem 0 0;
  font-size: .78rem;
}

.stack-section {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.button-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  display: flex;
}

.secondary-link {
  background: var(--surface-strong);
  border: 1px solid var(--line);
  color: var(--green-dark);
  text-align: center;
  border-radius: 10px;
  padding: .75rem .9rem;
  font-size: .84rem;
  font-weight: 800;
  display: inline-block;
}

.scope-card-actions {
  margin-top: auto;
}

.scope-card-actions > * {
  flex: auto;
}

.calendar-grid, .scenario-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.calendar-card, .scenario-card, .event-list article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem;
}

.calendar-card h2, .scenario-card h2 {
  letter-spacing: -.03em;
  margin: 1rem 0 .3rem;
}

.calendar-card > p {
  color: var(--muted);
  font-size: .78rem;
}

.calendar-card dl, .scenario-card dl {
  border-top: 1px solid var(--line);
  gap: .7rem;
  margin: 1rem 0 0;
  padding-top: 1rem;
  display: grid;
}

.calendar-card dl div, .scenario-card dl div {
  justify-content: space-between;
  display: flex;
}

.calendar-card dt, .scenario-card dt {
  color: var(--muted);
  font-size: .7rem;
}

.calendar-card dd, .scenario-card dd {
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
}

.status-chip, .version-status {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .4rem .62rem;
  font-size: .68rem;
  font-weight: 900;
  display: inline-flex;
}

.quality-chip {
  border-radius: 999px;
  padding: .32rem .5rem;
  font-size: .62rem;
  font-weight: 900;
  display: inline-flex;
}

.quality-exact {
  background: var(--green-soft);
  color: var(--green-dark);
}

.quality-estimated {
  background: var(--amber-soft);
  color: var(--amber);
}

.quality-unknown {
  color: var(--muted);
  background: #eceae3;
}

.advanced-intraday-workspace {
  flex-direction: column;
  gap: 1.2rem;
  display: flex;
}

.intraday-steps {
  z-index: 4;
  position: sticky;
  top: 0;
}

.intraday-summary article small, .intraday-run-result td small {
  color: var(--muted);
  margin-top: .2rem;
  font-size: .62rem;
  display: block;
}

.intraday-study-picker {
  color: var(--muted);
  flex-direction: column;
  gap: .4rem;
  max-width: 42rem;
  margin-bottom: 1rem;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
}

.intraday-study-picker select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  padding: .7rem .8rem;
}

.intraday-create > summary {
  cursor: pointer;
  font-size: .76rem;
  font-weight: 900;
}

.intraday-create .scenario-lab-form {
  padding-top: 1rem;
}

.intraday-checks, .intraday-values {
  border: 1px solid var(--line);
  border-radius: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
  padding: .9rem;
  display: grid;
}

.intraday-checks legend, .intraday-values legend {
  padding: 0 .35rem;
  font-size: .7rem;
  font-weight: 900;
}

.intraday-checks small {
  color: var(--muted);
}

.intraday-values label {
  min-width: 0;
}

.intraday-history {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin-bottom: 1rem;
  display: grid;
}

.intraday-history article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  padding: .8rem;
  display: flex;
}

.intraday-history span, .intraday-history code {
  color: var(--muted);
  text-overflow: ellipsis;
  font-size: .65rem;
  overflow: hidden;
}

.intraday-import textarea {
  white-space: pre;
  min-height: 10rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.intraday-readiness {
  flex-wrap: wrap;
  gap: .45rem;
  display: flex;
}

.intraday-readiness span {
  background: var(--amber-soft);
  color: var(--amber);
  border-radius: 999px;
  padding: .35rem .55rem;
  font-size: .65rem;
  font-weight: 900;
}

.intraday-readiness .ready {
  background: var(--green-soft);
  color: var(--green-dark);
}

.intraday-calibration, .intraday-run-result {
  flex-direction: column;
  gap: 1rem;
  margin: 1rem 0;
  display: flex;
}

.intraday-run-result .run-proof {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.intraday-scope-note {
  margin: 0;
}

@media (max-width: 1050px) {
  .intraday-checks, .intraday-values, .intraday-history {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .intraday-steps {
    position: static;
  }

  .intraday-checks, .intraday-values, .intraday-history, .intraday-run-result .run-proof {
    grid-template-columns: 1fr;
  }
}

.profile-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin-bottom: 1rem;
  display: grid;
}

.profile-summary div {
  background: var(--surface-strong);
  border: 1px solid var(--line);
  border-radius: 12px;
  flex-direction: column;
  gap: .25rem;
  padding: .9rem 1rem;
  display: flex;
}

.profile-summary span {
  color: var(--muted);
  font-size: .68rem;
}

.profile-summary strong {
  font-size: 1rem;
}

.summary-valid {
  color: var(--green);
}

.summary-warning {
  color: var(--amber);
}

.profile-table input[type="checkbox"] {
  accent-color: var(--green);
  width: 1.1rem;
  min-width: 1.1rem;
  height: 1.1rem;
}

.inbound-actions {
  gap: 1rem;
}

.inbound-diagnostic-toolbar {
  align-items: end;
}

.inbound-diagnostic-toolbar select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  min-width: 15rem;
  padding: .65rem .7rem;
}

.interval-table {
  min-width: 1180px;
}

.interval-summary {
  margin-bottom: 1rem;
}

.warning-guidance {
  border-color: #bd6a1c47;
}

.scenario-create {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  padding: 1.4rem;
  display: flex;
}

.scenario-create > div {
  flex: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.scenario-create label, .annual-filter label, .version-toolbar label {
  color: var(--muted);
  flex-direction: column;
  gap: .4rem;
  font-size: .72rem;
  font-weight: 700;
  display: flex;
}

.scenario-create input, .scenario-create select, .annual-filter select, .version-toolbar select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: .7rem .75rem;
}

.scenario-card-heading, .annual-section-heading, .annual-filter {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.scenario-card-heading h2 {
  margin-top: .6rem;
}

.scenario-card .button-row {
  border-top: 1px solid var(--line);
  margin-top: 1rem;
  padding-top: 1rem;
}

.status-published {
  background: var(--green-dark);
  color: #fff;
}

.status-in_review, .status-approved {
  background: var(--amber-soft);
  color: var(--amber);
}

.version-toolbar {
  background: var(--green-dark);
  color: #fff;
  border-radius: 16px;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  padding: 1rem 1.2rem;
  display: flex;
}

.version-toolbar > div:not(.button-row) {
  flex-direction: column;
  gap: .15rem;
  display: flex;
}

.version-toolbar span, .version-toolbar label {
  color: #ffffff8c;
  font-size: .65rem;
}

.version-toolbar .button-row {
  margin-left: auto;
}

.hash-short {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.annual-section-heading {
  margin-top: 1rem;
}

.annual-section-heading h2 {
  letter-spacing: -.03em;
  margin: 0;
}

.annual-section-heading .eyebrow {
  margin-bottom: .35rem;
}

.annual-table-shell {
  max-height: 38rem;
  overflow: auto;
}

.annual-table thead th {
  z-index: 2;
  position: sticky;
  top: 0;
}

.annual-table thead th:first-child {
  z-index: 3;
}

.annual-table tbody tr {
  content-visibility: auto;
  contain-intrinsic-size: 43px;
}

.event-create > div {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.event-list {
  flex-direction: column;
  gap: .7rem;
  display: flex;
}

.event-list article > div {
  align-items: center;
  gap: .7rem;
  display: flex;
}

.event-list p, .event-list small {
  color: var(--muted);
}

.event-list p {
  margin: .7rem 0 .3rem;
}

.decision-tabs {
  border-bottom: 1px solid var(--line);
  gap: .4rem;
  display: flex;
}

.decision-tabs a {
  color: var(--muted);
  border-radius: 10px 10px 0 0;
  padding: .8rem 1rem;
  font-size: .8rem;
  font-weight: 800;
}

.decision-tabs .tab-active {
  background: var(--surface);
  color: var(--green-dark);
}

.annual-filter {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--muted);
  border-radius: 12px;
  padding: .8rem 1rem;
  font-size: .78rem;
}

.week-53 th, .week-53 td {
  background: var(--amber-soft);
}

.segment-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.segment-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem;
}

.segment-card h2 {
  letter-spacing: -.03em;
  margin: .7rem 0 0;
}

.segment-card > p {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.segment-card dl {
  border-top: 1px solid var(--line);
  gap: .6rem;
  margin: 1rem 0 0;
  padding-top: 1rem;
  display: grid;
}

.segment-card dl div {
  justify-content: space-between;
  display: flex;
}

.segment-card dt {
  color: var(--muted);
  font-size: .7rem;
}

.segment-card dd {
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
}

.capacity-context {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.detailed-capacity-table {
  min-width: 980px;
}

.capacity-result-table {
  min-width: 1600px;
}

.capacity-result-table td:nth-child(2) {
  text-align: left;
  font-weight: 800;
}

.workflow-guide {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  display: grid;
}

.workflow-guide > div {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  display: flex;
  position: relative;
}

.workflow-guide > div:not(:last-child):after {
  color: var(--green);
  content: "→";
  z-index: 2;
  font-weight: 900;
  position: absolute;
  right: -.65rem;
}

.workflow-guide > div > span {
  background: var(--green);
  color: #fff;
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: .7rem;
  font-weight: 900;
  display: inline-flex;
}

.workflow-guide p {
  flex-direction: column;
  margin: 0;
  display: flex;
}

.workflow-guide strong {
  font-size: .76rem;
}

.workflow-guide small {
  color: var(--muted);
  margin-top: .15rem;
  font-size: .65rem;
}

.allocation-editor {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0;
  padding: 1.5rem;
}

.allocation-editor legend {
  padding: 0 .6rem;
  font-size: 1.05rem;
  font-weight: 800;
}

.allocation-editor legend > span {
  color: var(--green);
  margin-right: .5rem;
  font-size: .72rem;
}

.allocation-editor input, .allocation-editor select {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  border-radius: 9px;
  min-width: 0;
  padding: .68rem .72rem;
}

.allocation-editor input:focus, .allocation-editor select:focus {
  border-color: var(--green);
  outline: 0;
  box-shadow: 0 0 0 3px #0a66581a;
}

.allocation-editor:disabled {
  opacity: .76;
}

.editor-heading {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  display: flex;
}

.editor-heading p, .editor-intro {
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
  line-height: 1.55;
}

.compact-editor-list, .segment-allocation-list, .rules-list {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.compact-editor-row {
  border: 1px solid var(--line);
  background: #f6f4ec;
  border-radius: 12px;
  grid-template-columns: minmax(150px, .6fr) minmax(240px, 1.4fr) auto;
  align-items: end;
  gap: .8rem;
  padding: .9rem;
  display: grid;
}

.compact-editor-row > label:not(.toggle-label), .bundle-fields label, .rule-field-grid label, .override-row label {
  color: var(--muted);
  flex-direction: column;
  gap: .4rem;
  font-size: .7rem;
  font-weight: 700;
  display: flex;
}

.toggle-label {
  color: var(--muted);
  white-space: nowrap;
  align-items: center;
  gap: .45rem;
  font-size: .72rem;
  font-weight: 800;
  display: inline-flex;
}

.toggle-label input, .eligibility-toggle input, .checkbox-cloud input {
  accent-color: var(--green);
  width: 1.05rem;
  height: 1.05rem;
}

.bundle-grid, .requirement-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  display: grid;
}

.bundle-card, .requirement-grid article {
  border: 1px solid var(--line);
  background: #f6f4ec;
  border-radius: 14px;
  padding: 1rem;
}

.bundle-fields {
  grid-template-columns: .65fr 1.35fr;
  gap: .7rem;
  margin-bottom: .8rem;
  display: grid;
}

.checkbox-cloud {
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .6rem;
  display: flex;
}

.checkbox-cloud label {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  align-items: center;
  gap: .4rem;
  padding: .45rem .6rem;
  font-size: .7rem;
  font-weight: 800;
  display: inline-flex;
}

.requirement-grid article h3 {
  margin: 0;
  font-size: .86rem;
}

.editor-empty {
  background: var(--amber-soft);
  color: var(--amber);
  border: 1px dashed #bd6a1c59;
  border-radius: 12px;
  margin: 0;
  padding: 1rem;
  font-size: .76rem;
}

.segment-allocation-card, .rule-card {
  border: 1px solid var(--line);
  background: #f6f4ec;
  border-radius: 15px;
  padding: 1rem;
}

.segment-allocation-card > header, .rule-card > header {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.segment-allocation-card h3, .rule-card h3 {
  margin: .5rem 0 0;
  font-size: 1rem;
}

.segment-allocation-card > header > label {
  flex-direction: column;
  flex: 0 28rem;
  gap: .35rem;
  display: flex;
}

.eligibility-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1rem;
  display: grid;
}

.eligibility-card {
  border: 1px dashed var(--line);
  background: #fff9;
  border-radius: 12px;
  padding: .8rem;
}

.eligibility-card-active {
  border-style: solid;
  border-top: 3px solid var(--green);
  background: #fff;
}

.eligibility-toggle {
  align-items: center;
  gap: .55rem;
  display: flex;
}

.eligibility-toggle span {
  flex-direction: column;
  display: flex;
}

.eligibility-toggle small, .eligibility-card > p {
  color: var(--muted);
  font-size: .66rem;
}

.eligibility-card > p {
  margin: .6rem 0 0;
}

.eligibility-fields {
  gap: .6rem;
  margin-top: .8rem;
  display: grid;
}

.eligibility-fields label {
  color: var(--muted);
  flex-direction: column;
  gap: .35rem;
  font-size: .68rem;
  display: flex;
}

.catalog-save {
  background: var(--green-soft);
  border-radius: 14px;
  padding: 1rem;
}

.allocation-concept-panel > span {
  background: var(--lime);
  color: var(--green-dark);
  border-radius: 12px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  font-size: 1.4rem;
  font-weight: 900;
  display: inline-flex;
}

.rule-card > header p {
  color: var(--muted);
  margin: .35rem 0 0;
  font-size: .68rem;
}

.allocation-class {
  background: var(--green-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: .3rem .5rem;
  font-size: .62rem;
  font-weight: 900;
  display: inline-flex;
}

.allocation-class-dedicated {
  background: var(--green-dark);
  color: #fff;
}

.allocation-class-flexible {
  color: var(--muted);
  background: #eceae3;
}

.rule-field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
  display: grid;
}

.override-details, .solver-proof {
  border-top: 1px solid var(--line);
  margin-top: 1rem;
  padding-top: .9rem;
}

.override-details summary, .solver-proof summary {
  color: var(--green-dark);
  cursor: pointer;
  font-size: .76rem;
  font-weight: 900;
}

.override-details summary span, .solver-proof summary span {
  background: var(--green-soft);
  border-radius: 999px;
  margin-left: .45rem;
  padding: .28rem .45rem;
  font-size: .62rem;
}

.override-details > p {
  color: var(--muted);
  font-size: .7rem;
}

.override-row {
  background: var(--amber-soft);
  border-radius: 12px;
  grid-template-columns: repeat(8, minmax(110px, 1fr)) auto;
  align-items: end;
  gap: .6rem;
  margin: .6rem 0;
  padding: .8rem;
  display: grid;
}

.icon-button {
  background: var(--red-soft);
  color: var(--red);
  cursor: pointer;
  border: 0;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 2.35rem;
  height: 2.35rem;
  font-size: 1rem;
  font-weight: 900;
  display: inline-flex;
}

.schedule-table {
  min-width: 1530px;
}

.schedule-table th:first-child {
  min-width: 190px;
}

.schedule-table select, .schedule-table input {
  width: 100%;
}

.allocation-result-toolbar {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.allocation-reading-guide {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .65rem;
  display: grid;
}

.allocation-reading-guide article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: .9rem;
}

.allocation-reading-guide article:nth-child(2), .allocation-reading-guide article:nth-child(4) {
  border-top: 3px solid var(--green);
}

.allocation-reading-guide p {
  color: var(--muted);
  margin: .6rem 0 0;
  font-size: .66rem;
  line-height: 1.45;
}

.empty-allocation {
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.2rem;
  padding: 2rem;
  display: grid;
}

.empty-allocation > span {
  background: var(--lime);
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.4rem;
  font-weight: 900;
  display: inline-flex;
}

.empty-allocation h2 {
  margin: 0;
}

.empty-allocation p {
  color: var(--muted);
  line-height: 1.55;
}

.allocation-filters {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: .8rem;
  display: grid;
}

.allocation-filters p {
  text-align: right;
  margin: 0 0 .7rem;
  font-size: .7rem;
}

.allocation-flow-table {
  min-width: 1180px;
}

.allocation-line-table {
  min-width: 1480px;
}

.allocation-line-table td:nth-child(2) {
  text-align: left;
}

.allocation-line-table td:nth-child(2) small {
  color: var(--muted);
  font-size: .64rem;
  display: block;
}

.coverage-badge {
  border-radius: 999px;
  padding: .35rem .55rem;
  font-size: .62rem;
  font-weight: 900;
  display: inline-flex;
}

.coverage-covered {
  background: var(--green-soft);
  color: var(--green-dark);
}

.coverage-partial {
  background: var(--amber-soft);
  color: var(--amber);
}

.coverage-uncovered {
  background: var(--red-soft);
  color: var(--red);
}

.coverage-missing {
  color: var(--muted);
  background: #eceae3;
}

.decision-reason {
  color: var(--muted);
  max-width: 15rem;
  font-size: .68rem;
  display: inline-block;
}

.allocation-pagination {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 13px;
  justify-content: space-between;
  align-items: center;
  padding: .8rem 1rem;
  display: flex;
}

.allocation-pagination p {
  color: var(--muted);
  flex-wrap: wrap;
  gap: .8rem;
  margin: 0;
  font-size: .7rem;
  display: flex;
}

.solver-proof {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  margin: 0;
  padding: 1rem;
}

.objective-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin-top: 1rem;
  display: grid;
}

.objective-grid article {
  background: #f6f4ec;
  border-radius: 10px;
  flex-direction: column;
  padding: .8rem;
  display: flex;
}

.objective-grid span, .objective-grid small {
  color: var(--muted);
  font-size: .62rem;
}

.objective-grid strong {
  margin: .25rem 0;
  font-size: .74rem;
}

@media (max-width: 900px) {
  .login-page {
    grid-template-columns: 1fr;
  }

  .login-story {
    min-height: auto;
    padding: 3rem 1.5rem;
  }

  .login-story h1 {
    font-size: 2.7rem;
  }

  .login-panel {
    margin: 3rem auto;
    padding: 0 1.5rem;
  }

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

  .sidebar {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: auto;
    position: static;
    overflow: visible;
  }

  .sidebar-hidden {
    display: none;
  }

  .sidebar-compact, .sidebar-auto {
    width: 100%;
  }

  .sidebar-compact .sidebar-copy, .sidebar-compact .sidebar-brand > span:last-child, .sidebar-compact .nav-phase-heading > span:last-child, .sidebar-compact .nav-phase-links, .sidebar-compact .session-language, .sidebar-compact .session-identity, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-copy, .sidebar-auto:not(:hover):not(:focus-within) .sidebar-brand > span:last-child, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-heading > span:last-child, .sidebar-auto:not(:hover):not(:focus-within) .nav-phase-links, .sidebar-auto:not(:hover):not(:focus-within) .session-language, .sidebar-auto:not(:hover):not(:focus-within) .session-identity {
    display: initial;
  }

  .sidebar-primary {
    grid-template-columns: 1fr 1fr;
  }

  .workflow-navigation {
    grid-auto-columns: minmax(225px, 1fr);
    grid-auto-flow: column;
    gap: .4rem;
    padding-bottom: .4rem;
    display: grid;
    overflow-x: auto;
  }

  .sidebar-footer {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .sidebar-brand {
    padding-bottom: 1rem;
  }

  .nav-phase {
    border: 1px solid #ffffff17;
    border-radius: 12px;
    min-height: 100%;
  }

  .foundation-grid, .health-grid, .scope-grid, .metric-grid, .calendar-grid, .scenario-list, .segment-list, .form-grid, .default-fields, .context-strip, .decision-topbar, .capacity-context, .scenario-create > div, .event-create > div, .workflow-guide, .bundle-grid, .requirement-grid, .eligibility-grid, .rule-field-grid, .allocation-reading-guide, .objective-grid, .allocation-filters {
    grid-template-columns: 1fr;
  }

  .workflow-guide > div:not(:last-child):after {
    content: "↓";
    bottom: -.65rem;
    right: 1rem;
  }

  .compact-editor-row, .phase-row {
    grid-template-columns: 1fr;
  }

  .segment-allocation-card > header, .rule-card > header {
    flex-direction: column;
    align-items: flex-start;
  }

  .segment-allocation-card > header > label {
    width: 100%;
  }

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

  .allocation-filters p {
    text-align: left;
  }

  .allocation-pagination {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
  }

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

  .range-editor > div, .range-editor > button {
    grid-column: 1 / -1;
  }

  .scenario-create {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 560px) {
  .workspace-main {
    padding: 1rem;
  }

  .workspace-contextbar {
    flex-direction: column;
    align-items: flex-start;
    gap: .7rem;
  }

  .sidebar-primary, .sheet-switcher, .range-editor {
    grid-template-columns: 1fr;
  }

  .access-boundary, .defaults-heading, .editor-heading, .catalog-save {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
  }

  .bundle-fields, .override-row {
    grid-template-columns: 1fr;
  }

  .mobile-nav-hint {
    color: #ffffff7a;
    margin: .2rem .3rem .5rem;
    font-size: .62rem;
    display: block;
  }

  .page-header {
    gap: 1rem;
  }

  .release-chip {
    display: none;
  }

  .empty-workspace, .home-choice-grid, .quick-create-panel, .quick-create-panel form, .configuration-step {
    grid-template-columns: 1fr;
  }

  .configuration-step > .secondary-button {
    width: fit-content;
  }

  .next-action-panel, .client-choice-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
  }
}

.industrialization-layout {
  gap: 1.25rem;
  display: grid;
}

.session-language {
  color: #ffffffb8;
  gap: .3rem;
  margin: .5rem 0;
  font-size: .7rem;
  display: grid;
}

.session-language select {
  color: #fff;
  background: #ffffff1a;
  border: 1px solid #ffffff38;
  border-radius: .45rem;
  padding: .4rem;
}

.session-language option {
  color: #172f39;
}

.favorite-button {
  color: #264c5b;
  background: none;
  border: 1px solid #b8c8cf;
}

.favorite-button[aria-pressed="true"] {
  color: #694f0c;
  background: #fff5cf;
  border-color: #c89b2a;
}

.evidence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin: 1rem 0;
  display: grid;
}

.evidence-grid > div {
  background: var(--surface-soft, #f5f7f8);
  border: 1px solid var(--border, #d8e0e4);
  border-radius: .75rem;
  gap: .25rem;
  min-width: 0;
  padding: .8rem;
  display: grid;
}

.evidence-grid span, .artifact-list small {
  color: var(--text-muted, #58707c);
  font-size: .75rem;
}

.evidence-grid strong {
  overflow-wrap: anywhere;
  font-size: .9rem;
}

.workflow-line {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .4rem;
  margin: .8rem 0 1rem;
  display: grid;
}

.workflow-step {
  border: 1px solid var(--border, #d8e0e4);
  color: var(--text-muted, #58707c);
  text-align: center;
  border-radius: 999px;
  padding: .4rem .55rem;
  font-size: .72rem;
}

.workflow-step-active {
  color: #fff;
  background: #173f4f;
  border-color: #173f4f;
}

.template-preview, .import-report {
  background: #f7f9fa;
  border: 1px solid #d8e0e4;
  border-radius: .75rem;
  margin: .9rem 0;
  padding: .85rem;
}

.template-preview summary {
  cursor: pointer;
  font-weight: 700;
}

.template-preview pre {
  white-space: pre-wrap;
  overflow-x: auto;
}

.import-report {
  gap: .35rem;
  display: grid;
}

.import-report p {
  color: #a03f35;
  margin: 0;
}

.artifact-list {
  gap: .55rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.artifact-list li {
  border: 1px solid #d8e0e4;
  border-radius: .75rem;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .75rem;
  display: flex;
}

.artifact-list li > div {
  gap: .2rem;
  display: grid;
}

.danger-button {
  color: #fff;
  background: #8f2f2a;
  border-color: #8f2f2a;
}

@media (max-width: 760px) {
  .evidence-grid, .workflow-line {
    grid-template-columns: 1fr 1fr;
  }

  .artifact-list li {
    flex-direction: column;
    align-items: flex-start;
  }
}

html {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: var(--text-body);
  line-height: 1.5;
}

body small {
  line-height: 1.45;
  font-size: var(--text-xs) !important;
}

fieldset, form, .stack-section, .scope-form, .table-shell, .weekly-section, .weekly-input-card, .eligibility-editor {
  max-width: 100%;
  min-inline-size: 0;
  min-width: 0;
}

.skip-link {
  background: var(--lime);
  color: #062e28;
  z-index: 100;
  border-radius: 0 0 9px 9px;
  padding: .7rem 1rem;
  font-weight: 900;
  transition: transform .12s;
  position: fixed;
  top: 0;
  left: 1rem;
  transform: translateY(-120%);
}

.skip-link:focus {
  outline-offset: 2px;
  outline: 3px solid #fff;
  transform: translateY(0);
}

:is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.workspace-main:focus {
  outline: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
  color: var(--ink);
  min-height: var(--control-height);
  background: #fff;
  border-color: #bccbc5;
  border-radius: 9px;
  font-size: var(--text-body) !important;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--green);
  min-height: 1.5rem;
  width: 1.5rem !important;
  height: 1.5rem !important;
}

button, .primary-button, .secondary-button, .secondary-link, .quiet-button, .session-logout, .reset-row {
  min-height: var(--control-height);
  border-radius: 9px;
  font-size: var(--text-sm) !important;
}

button:not(:disabled):active, .primary-button:not(:disabled):active, .secondary-link:active {
  transform: translateY(1px);
}

.primary-button, .secondary-button, .secondary-link {
  justify-content: center;
  align-items: center;
  padding: .62rem .9rem;
  display: inline-flex;
}

.primary-button {
  box-shadow: 0 5px 14px #075f522e;
}

.reset-row, .quiet-button, .session-logout {
  padding: .45rem .55rem;
}

button:disabled {
  cursor: not-allowed;
}

summary {
  cursor: pointer;
  min-height: var(--control-height);
  align-items: center;
  font-size: var(--text-sm) !important;
}

.workspace-contextbar nav {
  font-size: var(--text-xs);
}

.workspace-contextbar a {
  align-items: center;
  min-height: 2rem;
  padding: .2rem .1rem;
  display: inline-flex;
}

.page-intro {
  font-size: var(--text-body);
  margin-top: .65rem;
  line-height: 1.6;
}

.eyebrow, .step-pill, .weekly-section-heading > div > span, .sidebar-context-label {
  letter-spacing: .1em;
  font-size: var(--text-xs) !important;
}

.scope-form legend span, .release-chip, .status-badge, .configuration-step-number, .nav-phase-number, .workflow-guide > div > span, .planning-steps li > span, .phase-row > span, .workflow-step, .comparison-picker, .comparison-form legend, .tornado-row span, .tornado-row strong, .bridge-card p, .bridge-card em, .quality-kpis article span, .quality-kpis p, .quality-kpis li, .run-proof span, .run-proof code, .derived-row strong, .scenario-inventory p, .seasonal-config > p, .seasonal-config > summary span, .client-choice-row > span:last-child, .simple-chip-list span, body label, body legend, body code {
  font-size: var(--text-xs) !important;
}

.home-choice-grid {
  gap: .8rem;
}

.home-choice {
  border-radius: var(--radius);
  min-height: 7.25rem;
  padding: 1.1rem;
  box-shadow: 0 4px 16px #21332d0d;
}

.home-choice:hover {
  box-shadow: 0 8px 22px #132a271a;
}

.home-choice strong {
  font-size: 1rem;
}

.home-choice-icon {
  font-size: var(--text-xs);
  border-radius: 10px;
  width: 2.6rem;
  height: 2.6rem;
}

.quick-create-panel, .client-choice-panel, .empty-state-panel, .client-summary-card, .next-action-panel, .configuration-step, .weekly-section, .eligibility-editor, .weekly-input-card, .control-list article, .table-shell {
  border-radius: var(--radius);
}

.quick-create-panel, .client-choice-panel, .empty-state-panel, .client-summary-card, .next-action-panel {
  padding: 1.1rem;
}

.weekly-section {
  background: #ffffffbd;
  padding: clamp(.9rem, 1.5vw, 1.25rem);
}

.weekly-section-heading h2 {
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  line-height: 1.2;
}

.weekly-section-heading p, .quick-create-panel p, .simple-section-heading p, .section-guidance, .configuration-step p, .next-action-panel p, .fieldset-intro, .field-help:after, .eligibility-editor > p, .advanced-agent-inputs > p, .shrinkage-config > p, .input-policy-note span, .control-list p {
  line-height: 1.55;
  font-size: var(--text-sm) !important;
}

.weekly-section-heading > div {
  min-width: 0;
}

.configuration-summary, .result-kpis {
  gap: .6rem;
}

.configuration-summary article, .result-kpis article {
  gap: .25rem;
  padding: .8rem;
}

.configuration-summary span, .result-kpis span, .configuration-line small, .configuration-line p, .client-choice-row small, .simple-record-list small, .flow-type-card p, .calculation-fields-preview li span, .required-flow-inputs p, .planning-steps small, .allocation-pagination p, .objective-grid span, .objective-grid small {
  font-size: var(--text-xs) !important;
}

.configuration-summary strong, .result-kpis strong {
  font-size: 1.2rem;
  line-height: 1.2;
}

.planning-steps li {
  padding: .7rem;
}

.planning-steps li > span {
  width: 2rem;
  height: 2rem;
}

.planning-steps strong, .configuration-step h2, .flow-type-card h3, .engine-choice strong, .required-flow-inputs h3, .simple-record-list b, .objective-grid strong {
  font-size: var(--text-sm) !important;
}

.status-chip, .quality-chip, .cell-status, .flow-family-chip, .configuration-line > span, .eligibility-list span, .inherited-chip, .projection-cell, .context-status, .weekly-input-card summary b, .weekly-input-card summary em, .control-severity, .control-meta, .flow-type-card > small, .calculation-fields-preview li strong, .configuration-step small, .client-summary-card > span, .agent-input-guide, .derived-total span, .week-view-switch > span, .access-boundary p, .context-strip span, .decision-topbar span, .grid-toolbar p, .finance-select, .finance-config-grid label, .finance-analysis-selectors label, .scenario-lab-form label, .comparison-form > label, .quality-panel > label, .seasonal-config form label, .friendly-unit-choice, .primary-flow-fields label, .advanced-flow-fields label, .form-grid label, .eligibility-editor label, .defaults-grid label, .engine-choice-list legend, .finance-config-grid legend, .defaults-editor legend {
  font-size: var(--text-xs) !important;
}

.weekly-input-table th, .weekly-input-table td, .weekly-results-table th, .weekly-results-table td, .input-table th, .input-table td, .decision-table th, .decision-table td, .input-table thead th, .decision-table thead th {
  padding: .65rem .7rem;
  line-height: 1.45;
  font-size: var(--text-xs) !important;
}

.weekly-results-table th > small, .weekly-results-table td > small, .horizontal-weeks-table thead th small {
  line-height: 1.4;
  font-size: var(--text-xs) !important;
}

.table-shell {
  overscroll-behavior-inline: contain;
  scrollbar-color: #9aada6 transparent;
  width: 100%;
}

.horizontal-weeks-table th:first-child {
  min-width: 200px;
}

.horizontal-weeks-table thead th:not(:first-child), .horizontal-weeks-table td {
  min-width: 116px;
}

.control-list h2, .control-list h3 {
  margin: .35rem 0 0;
  font-size: 1rem;
  line-height: 1.35;
}

.field-help {
  font-size: var(--text-xs);
  width: 1.5rem;
  height: 1.5rem;
}

.field-note {
  background: var(--green-soft);
  border-left: 3px solid var(--green);
  color: var(--green-dark);
  font-size: var(--text-sm);
  border-radius: 8px;
  margin: .75rem 0 0;
  padding: .7rem .8rem;
  line-height: 1.55;
}

.scope-form {
  gap: .8rem;
}

.scope-form fieldset {
  padding: 1.1rem;
}

.scope-form legend {
  font-size: 1rem;
}

.sticky-actions {
  border-radius: 12px;
  padding: .75rem .9rem;
  box-shadow: 0 8px 24px #043f3733;
}

.sticky-actions > span {
  color: #ffffffd1;
  font-size: var(--text-xs);
}

.decision-table td:last-child {
  min-width: 11.5rem;
}

.decision-table td:last-child .button-row {
  flex-wrap: nowrap;
}

.weekly-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  display: grid;
}

.weekly-controls article {
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .7rem;
  padding: .75rem;
}

.weekly-controls .control-severity {
  border-radius: 8px;
  width: 2rem;
  height: 2rem;
}

.industrialization-layout input[type="file"] {
  padding: .3rem;
}

.industrialization-layout input[type="file"]::file-selector-button {
  background: var(--green-soft);
  color: var(--green-dark);
  cursor: pointer;
  font: inherit;
  border: 0;
  border-radius: 7px;
  min-height: 2rem;
  margin-right: .65rem;
  padding: .4rem .65rem;
  font-weight: 800;
}

.industrialization-layout .primary-button:disabled, .industrialization-layout .secondary-button:disabled, .industrialization-layout .danger-button:disabled {
  box-shadow: none;
  color: #4d615b;
  opacity: 1;
  background: #e7ece9;
  border-color: #c3cfca;
}

.sidebar {
  padding: .9rem .75rem;
}

.sidebar-brand {
  min-height: 3.25rem;
  padding: .2rem .35rem .85rem;
}

.sidebar-brand small, .sidebar-context > small, .nav-phase-heading small, .nav-phase-hint, .sidebar-footer small {
  color: #ffffffc2;
  font-size: var(--text-xs) !important;
}

.nav-home, .sidebar-create-link, .nav-link, .sidebar-health {
  color: #ffffffd1;
  font-size: var(--text-sm);
  min-height: var(--control-height);
}

.nav-link {
  margin: .05rem 0;
  padding: .55rem;
}

.nav-phase-heading strong, .sidebar-context-action, .sidebar-version-line b, .session-language, .session-identity strong, .session-identity small {
  color: #ffffffdb;
  font-size: var(--text-xs) !important;
}

.sidebar-mode-controls button {
  color: #ffffffd1;
  border-color: #ffffff52;
  width: 2rem;
  height: 2rem;
  min-height: 2rem;
}

.session-language select {
  border-color: #ffffff6b;
  min-height: 2.25rem;
}

.session-logout {
  color: #fff;
}

@media (max-width: 900px) {
  html, body {
    max-width: 100%;
    overflow-x: clip;
  }

  .app-layout, .workspace-main, .sidebar {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .app-layout {
    display: block;
  }

  .sidebar {
    z-index: 40;
    height: auto;
    position: sticky;
    top: 0;
    overflow-x: hidden;
    box-shadow: 0 2px 12px #043f3724;
  }

  .sidebar-auto, .sidebar-compact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    height: 4rem;
    min-height: 4rem;
    padding: .4rem .75rem;
    display: grid;
    overflow: hidden;
  }

  .sidebar-auto:hover, .sidebar-auto:focus-within {
    width: 100%;
    box-shadow: 0 2px 12px #043f3724;
  }

  .sidebar-auto .sidebar-brand, .sidebar-compact .sidebar-brand {
    gap: .55rem;
    min-height: 0;
    padding: 0;
  }

  .sidebar-auto .sidebar-brand > span:last-child, .sidebar-compact .sidebar-brand > span:last-child {
    display: flex;
  }

  .sidebar-auto .sidebar-brand small, .sidebar-compact .sidebar-brand small {
    display: none;
  }

  .sidebar-auto .sidebar-mode-controls, .sidebar-compact .sidebar-mode-controls {
    flex-wrap: nowrap;
    justify-self: end;
    margin: 0;
  }

  .sidebar-auto .sidebar-mode-controls button, .sidebar-compact .sidebar-mode-controls button {
    display: inline-flex;
  }

  .sidebar-auto .sidebar-primary, .sidebar-auto .sidebar-context, .sidebar-auto .mobile-nav-hint, .sidebar-auto .workflow-navigation, .sidebar-auto .sidebar-footer, .sidebar-compact .sidebar-primary, .sidebar-compact .sidebar-context, .sidebar-compact .mobile-nav-hint, .sidebar-compact .workflow-navigation, .sidebar-compact .sidebar-footer {
    display: none;
  }

  .sidebar-expanded {
    max-height: min(88vh, 46rem);
    padding: .75rem;
    display: flex;
    overflow-y: auto;
  }

  .sidebar-expanded .sidebar-mode-controls {
    margin: -.25rem 0 .65rem;
  }

  .sidebar-expanded .workflow-navigation {
    display: flex;
    overflow: visible;
  }

  .sidebar-expanded .sidebar-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .sidebar-expanded .sidebar-primary {
    grid-template-columns: 1fr 1fr;
  }

  .workspace-main {
    padding: 1rem clamp(1rem, 4vw, 1.5rem) 2.5rem;
  }

  .page-header {
    flex-direction: column;
    margin-bottom: 1.4rem;
  }

  .page-header h1 {
    font-size: clamp(1.65rem, 7vw, 2.15rem);
  }

  .weekly-section-heading, .simple-section-heading, .form-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .scope-form fieldset {
    padding: .9rem;
  }

  .access-boundary {
    border-radius: 12px;
  }
}

@media (max-width: 560px) {
  .workspace-main {
    padding: .8rem .75rem 2rem;
  }

  .workspace-contextbar {
    gap: .35rem;
    margin-bottom: 1.2rem;
  }

  .home-choice {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .8rem;
    min-height: 6.5rem;
    padding: .9rem;
  }

  .page-header h1 {
    font-size: 1.6rem;
  }

  .home-choice-icon {
    width: 2.35rem;
    height: 2.35rem;
  }

  .sidebar-mode-controls {
    gap: .18rem;
  }

  .sidebar-mode-controls button {
    width: 2.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
  }

  .sidebar-expanded .sidebar-primary {
    grid-template-columns: 1fr;
  }

  .button-row {
    align-items: stretch;
  }

  .button-row > :is(button, a) {
    flex: auto;
  }

  .result-kpis, .configuration-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .weekly-controls {
    grid-template-columns: 1fr;
  }

  .sticky-actions {
    gap: .7rem;
  }
}

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

@media (forced-colors: active) {
  .home-choice, .weekly-section, .table-shell, .configuration-step, .primary-button, .secondary-button, .secondary-link {
    border: 1px solid canvastext;
  }

  :is(button, a, input, select, textarea, summary):focus-visible {
    outline: 3px solid highlight;
  }
}

.intraday-readiness span {
  font-size: var(--text-xs);
  line-height: 1.35;
}

.visually-hidden {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.login-display-preferences {
  z-index: 50;
  position: fixed;
  top: 1rem;
  right: 1rem;
}

.login-display-preferences .display-preferences {
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--space-2);
}

.workspace-main > :not(.workspace-contextbar) {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}

.workspace-contextbar {
  align-items: center;
  gap: var(--space-3);
  grid-template-columns: minmax(0, 1fr) auto auto;
  display: grid;
}

.display-preferences {
  align-items: center;
  gap: var(--space-2);
  justify-self: end;
  display: inline-flex;
}

.display-language select, .theme-toggle, .density-toggle {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  min-height: 2.25rem;
}

.display-language select {
  min-width: 4rem;
  padding: .35rem 1.6rem .35rem .65rem;
  font-weight: 800;
}

.theme-toggle, .density-toggle {
  cursor: pointer;
  align-items: center;
  gap: var(--space-2);
  padding: .35rem .7rem;
  display: inline-flex;
}

.theme-toggle:hover, .density-toggle:hover, .display-language select:hover {
  background: var(--green-soft);
  border-color: var(--line-strong);
}

.theme-toggle-label, .density-toggle-label {
  font-size: var(--text-xs);
  font-weight: 750;
}

.section-subnavigation {
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  overflow: visible;
}

.section-current-navigation {
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  display: flex;
}

.section-current-navigation > div {
  gap: var(--space-1);
  min-width: 0;
  display: flex;
}

.section-current-navigation .section-subnav-label {
  white-space: nowrap;
  margin: 0;
}

.section-navigation-more {
  flex: none;
  position: relative;
}

.section-navigation-more > summary {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--muted);
  padding: .4rem .7rem;
  list-style: none;
}

.section-navigation-more > summary::-webkit-details-marker {
  display: none;
}

.section-navigation-more > summary:after {
  content: "⌄";
  margin-left: var(--space-2);
}

.section-navigation-more[open] > summary {
  background: var(--green-soft);
  border-color: var(--line-strong);
  color: var(--green-dark);
}

.section-navigation-menu {
  background: var(--surface-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-elevated);
  gap: var(--space-2);
  min-width: min(44rem, 100vw - 2rem);
  max-height: min(70vh, 34rem);
  padding: var(--space-3);
  z-index: 30;
  display: grid;
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  overflow: auto;
}

.section-navigation-menu .section-subnav-group {
  border: 0;
  border-bottom: 1px solid var(--line);
  gap: var(--space-2);
  grid-template-columns: minmax(9rem, .45fr) minmax(0, 1.55fr);
  padding: .4rem;
  display: grid;
}

.section-navigation-menu .section-subnav-group:last-child {
  border-bottom: 0;
}

.section-navigation-menu .section-subnav-group > div {
  flex-wrap: wrap;
}

html[data-theme="dark"] body {
  background: radial-gradient(circle at 8% 2%, #5fa7931a, transparent 28rem),
    var(--paper);
}

html[data-theme="dark"] .login-panel {
  color: var(--ink);
}

html[data-theme="dark"] .login-brand-lockup {
  background: #f8fbfa;
}

html[data-theme="dark"] .login-page {
  background: var(--paper);
}

html[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  background: var(--surface-strong);
  border-color: var(--line-strong);
  color: var(--ink);
}

html[data-theme="dark"] :is(.section-subnavigation, .weekly-section, .table-shell, .home-choice, .configuration-level-card, .configuration-step, .client-choice-panel, .quick-create-panel, .empty-state-panel, .client-summary-card, .next-action-panel, .weekly-input-card, .eligibility-editor, .control-list article, .scenario-card, .decision-card, .finance-card, .simple-record-list li, .flow-type-card, .engine-choice, .configuration-owner-card) {
  background-color: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] :is(.access-boundary, .health-summary, .configuration-precedence, .sticky-actions) {
  color: #fff;
  background: #073f36;
  border-color: #35685d;
}

.guided-journey-actions {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.data-grid-scroll {
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  max-width: 100%;
}

.data-grid-action-column {
  background: var(--surface);
  z-index: 1;
  position: sticky;
  right: 0;
}

.data-grid thead .data-grid-action-column {
  background: var(--surface-muted);
  z-index: 3;
}

.data-grid tbody tr:hover .data-grid-action-column {
  background: var(--green-soft);
}

@media (max-width: 1200px) {
  .finance-config-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .finance-config-grid fieldset {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-navigation-menu {
    max-width: calc(100vw - 2rem);
  }
}

@media (max-width: 700px) {
  .finance-config-grid fieldset {
    grid-template-columns: minmax(0, 1fr);
  }
}

html[data-theme="dark"] :is(.access-boundary, .health-summary, .configuration-precedence, .sticky-actions) :is(p, small, span, strong) {
  color: #edf8f5;
}

html[data-theme="dark"] :is(.foundation-grid article, .health-grid article, .planning-steps li, .phase-row, .run-proof, .evidence-grid > div, .input-policy-note, .week-view-switch, .derived-total) {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] :is(.configuration-step-number, .planning-steps li > span) {
  color: #fff;
  background: #045347;
  border-color: #4da998;
}

html[data-theme="dark"] :is(.eligibility-editor, .advanced-agent-inputs, .weekly-input-card) > summary {
  background: var(--surface-muted);
  color: var(--ink);
}

html[data-theme="dark"] .planning-steps .step-current > span {
  color: #062e28;
  background: #70d2bf;
  border-color: #70d2bf;
}

html[data-theme="dark"] .planning-steps .step-done > span, html[data-theme="dark"] .workflow-guide > div > span {
  color: #062e28;
}

html[data-theme="dark"] :is(.inheritance-row td, .derived-row td, .horizontal-weeks-table th:first-child, .horizontal-weeks-table thead th:first-child) {
  background: var(--surface-muted);
  color: var(--ink);
}

html[data-theme="dark"] :is(.run-proof, .evidence-grid) :is(span, code, strong), html[data-theme="dark"] :is(.health-grid, .health-summary) :is(dt, dd, span, small, strong), html[data-theme="dark"] :is(.planning-steps, .workflow-guide) :is(strong, small) {
  color: var(--ink);
}

html[data-theme="dark"] .health-summary :is(span, small, strong) {
  color: #fff;
}

html[data-theme="dark"] .context-status-calculated, html[data-theme="dark"] .context-status-approved, html[data-theme="dark"] .context-status-published {
  color: #062e28;
}

html[data-theme="dark"] :is(.weekly-input-table, .weekly-results-table, .input-table, .decision-table) :is(th, td) {
  border-color: var(--line);
}

html[data-theme="dark"] :is(.weekly-input-table, .weekly-results-table, .input-table, .decision-table) thead th {
  background: var(--surface-muted);
  color: var(--ink);
}

html[data-theme="dark"] :is(.weekly-input-table, .weekly-results-table, .input-table, .decision-table) tbody tr:hover {
  background: color-mix(in srgb, var(--green-soft) 72%, transparent);
}

html[data-theme="dark"] :is(.legacy-configuration-card, .configuration-inheritance-note) {
  background: var(--surface-muted);
  border-color: var(--line-strong);
}

html[data-theme="dark"] :is(.primary-button, button.primary-button) {
  color: #062e28;
  background: #74cbbb;
}

html[data-theme="dark"] .primary-link, html[data-theme="dark"] .decision-grain-switch button.is-active {
  color: #062e28;
  background: #74cbbb;
  border-color: #74cbbb;
}

html[data-theme="dark"] :is(.secondary-button, .secondary-link, .quiet-button) {
  background: var(--surface-strong);
  border-color: var(--line-strong);
  color: var(--ink);
}

html[data-theme="dark"] .sidebar {
  background: #061f1b;
  border-right: 1px solid #29413b;
}

html[data-theme="dark"] .field-note {
  background: var(--green-soft);
  color: var(--ink);
}

@media (max-width: 900px) {
  .workspace-contextbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .workspace-contextbar > .version-status {
    display: none;
  }

  .section-current-navigation {
    scrollbar-width: thin;
    overflow-x: auto;
  }

  .section-current-navigation > .section-subnav-label {
    display: none;
  }

  .section-navigation-menu {
    min-width: min(36rem, 100vw - 1.5rem);
  }
}

@media (max-width: 560px) {
  .workspace-contextbar {
    align-items: start;
  }

  .workspace-contextbar nav {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
  }

  .theme-toggle-label, .density-toggle-label {
    display: none;
  }

  .theme-toggle, .density-toggle {
    justify-content: center;
    width: 2.625rem;
    padding-inline: .65rem;
  }

  .section-subnavigation {
    margin-left: 0;
    margin-right: 0;
  }

  .section-current-navigation {
    display: none;
  }

  .section-navigation-more {
    margin-left: auto;
  }

  .section-navigation-menu {
    min-width: calc(100vw - 1.5rem);
    max-height: 70vh;
  }

  .section-navigation-menu .section-subnav-group {
    grid-template-columns: 1fr;
  }
}

.data-grid {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  min-width: 0;
  overflow: visible;
}

.data-grid-layout-detached {
  gap: var(--space-2);
  min-width: 0;
  display: grid;
}

.data-grid-layout-detached > .data-grid-toolbar, .data-grid-layout-detached > .data-grid-bulkbar, .data-grid-layout-detached > .data-grid-pagination {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.data-grid-layout-detached > .data-grid-table-panel {
  border-radius: var(--radius);
}

.data-grid-layout-detached .data-grid-scroll {
  border-radius: inherit;
  border-block: 0;
}

.data-grid-toolbar {
  align-items: end;
  gap: var(--space-2);
  padding: var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.data-grid-search {
  flex: 16rem;
  max-width: 32rem;
}

.data-grid-search input {
  width: 100%;
}

.data-grid-filter {
  gap: .2rem;
  min-width: 9rem;
  display: grid;
}

.data-grid-filter > span {
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: 750;
}

.data-grid-result-count {
  color: var(--muted);
  font-size: var(--text-xs);
  white-space: nowrap;
  margin-left: auto;
  padding: .65rem .25rem;
  font-weight: 750;
}

.data-grid-columns {
  position: relative;
}

.data-grid-columns > summary {
  list-style: none;
}

.data-grid-columns > summary::-webkit-details-marker {
  display: none;
}

.data-grid-columns > div {
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-elevated);
  gap: var(--space-2);
  min-width: 14rem;
  max-height: 22rem;
  padding: var(--space-3);
  z-index: 20;
  display: grid;
  position: absolute;
  top: calc(100% + .4rem);
  right: 0;
  overflow: auto;
}

.data-grid-columns label {
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
  display: flex;
}

.data-grid-scroll {
  border-block: 1px solid var(--line);
  overflow: auto;
}

.data-grid-scroll:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

.data-grid table {
  border-collapse: separate;
  border-spacing: 0;
  width: max-content;
  min-width: 100%;
}

.data-grid th, .data-grid td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  max-width: 28rem;
  padding: .7rem .8rem;
}

.data-grid thead th {
  background: var(--surface-muted);
  color: var(--muted);
  font-size: var(--text-xs);
  letter-spacing: .02em;
  text-transform: uppercase;
  z-index: 2;
  position: sticky;
  top: 0;
}

.data-grid tbody tr:hover {
  background: var(--green-soft);
}

.data-grid tbody tr:last-child td {
  border-bottom: 0;
}

.data-grid-sort {
  color: inherit;
  cursor: pointer;
  font: inherit;
  align-items: center;
  gap: var(--space-1);
  text-align: left;
  min-height: 2rem;
  text-transform: inherit;
  background: none;
  border: 0;
  padding: 0;
  font-weight: 800;
  display: flex;
}

.data-grid-sort span {
  color: var(--muted);
  font-size: .75rem;
}

.data-grid-selection {
  width: 3rem;
  min-width: 3rem;
  text-align: center !important;
}

.data-grid-action-column {
  width: 4.5rem;
  min-width: 4.5rem;
  text-align: right !important;
}

.numeric-cell {
  font-variant-numeric: tabular-nums;
  text-align: right !important;
}

.data-grid-primary {
  gap: .1rem;
  display: grid;
}

.data-grid-primary strong {
  color: var(--ink);
  font-size: var(--text-sm);
}

.data-grid-primary small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.data-grid-empty {
  color: var(--muted);
  padding: var(--space-6) !important;
  text-align: center !important;
}

.quick-create-disclosure > summary {
  margin-bottom: var(--space-3);
  list-style: none;
  display: inline-flex;
}

.quick-create-disclosure > summary::-webkit-details-marker {
  display: none;
}

.quick-create-disclosure[open] > summary {
  background: var(--green-soft);
  border-color: var(--line-strong);
  color: var(--green-dark);
}

.modal-backdrop {
  padding: var(--space-4);
  z-index: 100;
  background: #03181594;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.action-dialog {
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-elevated);
  gap: var(--space-4);
  max-width: 34rem;
  max-height: calc(100vh - 2rem);
  padding: var(--space-5);
  width: 100%;
  display: grid;
  overflow: auto;
}

.action-dialog h2 {
  margin: 0 0 var(--space-1);
  font-size: 1.25rem;
}

.action-dialog p {
  color: var(--muted);
  margin: 0;
}

.action-dialog form, .action-dialog label {
  gap: var(--space-2);
  display: grid;
}

.action-dialog form {
  gap: var(--space-3);
}

.action-dialog textarea {
  resize: vertical;
  min-height: 6rem;
}

.dialog-actions {
  gap: var(--space-2);
  justify-content: flex-end;
  display: flex;
}

.subsection-heading {
  border-top: 1px solid var(--line);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  justify-content: space-between;
  align-items: end;
  display: flex;
}

.subsection-heading span {
  color: var(--green-dark);
  font-size: var(--text-xs);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 850;
}

.subsection-heading h3 {
  margin: .15rem 0;
  font-size: 1.05rem;
}

.subsection-heading p {
  color: var(--muted);
  margin: 0;
}

.unified-decision-section {
  gap: var(--space-3);
  margin-top: var(--space-4);
  min-width: 0;
  display: grid;
}

.result-reading-switch {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  padding: var(--space-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.result-reading-switch button {
  border-radius: var(--radius);
  color: var(--muted);
  cursor: pointer;
  min-height: 3.5rem;
  padding: var(--space-3);
  text-align: left;
  background: none;
  border: 1px solid #0000;
  align-items: start;
  gap: .15rem;
  display: grid;
}

.result-reading-switch button:hover {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

.result-reading-switch button.is-active {
  background: var(--surface-elevated);
  border-color: var(--green);
  box-shadow: var(--shadow);
  color: var(--ink);
}

.result-reading-switch strong {
  font-size: var(--text-body);
}

.result-reading-switch small {
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: 600;
}

.pdc-matrix {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-4);
  display: grid;
}

.pdc-matrix-heading {
  align-items: start;
  gap: var(--space-4);
  justify-content: space-between;
  display: flex;
}

.pdc-matrix-heading h2 {
  margin: .2rem 0 0;
  font-size: 1.2rem;
}

.pdc-matrix-heading p {
  color: var(--muted);
  font-size: var(--text-sm);
  margin: var(--space-1) 0 0;
  max-width: 56rem;
  line-height: 1.5;
}

.pdc-matrix-actions {
  align-items: center;
  gap: var(--space-2);
  flex: none;
  display: flex;
}

.pdc-matrix-actions .primary-link {
  white-space: nowrap;
}

.pdc-matrix-toolbar {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: end;
  gap: var(--space-3);
  padding: var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.pdc-matrix-toolbar fieldset {
  gap: var(--space-1);
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
}

.pdc-matrix-toolbar legend, .pdc-scope-select > span {
  color: var(--muted);
  font-size: var(--text-xs);
  margin-bottom: var(--space-1);
  font-weight: 800;
}

.pdc-scope-select {
  gap: var(--space-1);
  min-width: min(18rem, 100%);
  display: grid;
}

.pdc-scope-select select {
  min-height: 2.5rem;
}

.pdc-pooling-state {
  background: var(--surface-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: center;
  gap: var(--space-2);
  min-height: 2.5rem;
  margin-left: auto;
  padding: .45rem .7rem;
  display: flex;
}

.pdc-pooling-state > span {
  background: var(--surface-muted);
  font-size: var(--text-sm);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.6rem;
  height: 1.6rem;
  display: inline-flex;
}

.pdc-pooling-state strong {
  font-size: var(--text-xs);
}

.pdc-pooling-state.is-used {
  background: var(--green-soft);
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  color: var(--green-dark);
}

.pdc-matrix-note {
  background: var(--green-soft);
  border-left: 3px solid var(--green);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--muted);
  font-size: var(--text-xs);
  padding: var(--space-2) var(--space-3);
  margin: 0;
  line-height: 1.5;
}

.pdc-matrix-shell {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  max-width: 100%;
  max-height: min(72vh, 54rem);
  overflow: auto;
}

.pdc-matrix-shell:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.pdc-matrix-table {
  background: var(--surface);
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: max-content;
}

.pdc-matrix-table th, .pdc-matrix-table td {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  font-size: var(--text-xs);
  height: 2.35rem;
  padding: .4rem .5rem;
}

.pdc-matrix-table tr > :last-child {
  border-right: 0;
}

.pdc-matrix-table thead th {
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.pdc-month-row th {
  color: #fff;
  font-size: var(--text-xs);
  text-transform: capitalize;
  z-index: 5;
  background: #174f48;
  height: 2.05rem;
  font-weight: 850;
  position: sticky;
  top: 0;
}

.pdc-month-row th:first-child {
  text-align: left;
  z-index: 7;
  width: 15rem;
  min-width: 15rem;
  left: 0;
}

.pdc-week-row th {
  background: var(--surface-muted);
  z-index: 4;
  width: 6.25rem;
  min-width: 6.25rem;
  position: sticky;
  top: 2.05rem;
}

.pdc-week-row strong {
  font-size: var(--text-xs);
  white-space: nowrap;
  display: block;
}

.pdc-week-row small {
  color: var(--muted);
  margin-top: .1rem;
  font-size: .65rem;
  font-weight: 650;
  display: block;
}

.pdc-section-row th {
  color: #fff;
  font-size: var(--text-xs);
  letter-spacing: .025em;
  text-align: left;
  background: #66507d;
  padding: .42rem .65rem;
  font-weight: 850;
}

.pdc-matrix-table tbody tr:not(.pdc-section-row) > th {
  background: var(--surface);
  box-shadow: 1px 0 0 var(--line);
  text-align: left;
  z-index: 2;
  width: 15rem;
  min-width: 15rem;
  position: sticky;
  left: 0;
}

.pdc-matrix-table tbody tr:not(.pdc-section-row):hover > :is(th, td) {
  background: color-mix(in srgb, var(--green-soft) 58%, var(--surface));
}

.pdc-matrix-table tbody th > span {
  font-weight: 750;
  line-height: 1.25;
  display: block;
}

.pdc-matrix-table tbody th > small {
  color: var(--muted);
  margin-top: .1rem;
  font-size: .63rem;
  font-weight: 650;
  display: block;
}

.pdc-matrix-table td {
  font-variant-numeric: tabular-nums;
  text-align: right;
  width: 6.25rem;
  min-width: 6.25rem;
}

.pdc-matrix-table .pdc-contribution-row > th {
  background: var(--surface-muted);
  padding-left: 1.15rem;
}

.pdc-matrix-table .pdc-contribution-row > th span {
  color: var(--ink);
  font-weight: 700;
}

.pdc-matrix-table .pdc-contribution-row > td {
  background: color-mix(in srgb, var(--surface-muted) 58%, var(--surface));
}

.pdc-contribution-value {
  align-items: end;
  gap: .05rem;
  display: grid;
}

.pdc-contribution-value strong {
  font-size: var(--text-xs);
  white-space: nowrap;
}

.pdc-contribution-value small {
  color: var(--muted);
  white-space: nowrap;
  font-size: .63rem;
  font-weight: 650;
}

.pdc-matrix-table .matrix-risk-cell {
  background: var(--red-soft);
  color: var(--red);
  font-weight: 850;
}

.pdc-matrix-table .matrix-pooled-cell {
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 850;
}

.pdc-matrix-table .matrix-positive-cell {
  color: var(--green-dark);
  font-weight: 800;
}

.pdc-matrix-legend {
  color: var(--muted);
  font-size: var(--text-xs);
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.pdc-matrix-legend span {
  align-items: center;
  gap: var(--space-1);
  display: inline-flex;
}

.pdc-matrix-legend i {
  border: 1px solid var(--line);
  border-radius: 3px;
  width: .8rem;
  height: .8rem;
  display: inline-block;
}

.pdc-matrix-legend .legend-risk {
  background: var(--red-soft);
}

.pdc-matrix-legend .legend-pooled {
  background: var(--green-soft);
}

.pooling-result-summary {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-4);
  grid-template-columns: minmax(15rem, 1.2fr) minmax(24rem, 2fr);
  display: grid;
}

.pooling-result-summary > div {
  align-content: start;
  gap: var(--space-2);
  display: grid;
}

.pooling-result-summary > div > strong {
  font-size: 1rem;
}

.pooling-result-summary > div > small, .pooling-result-summary dl small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.pooling-result-summary dl {
  gap: var(--space-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  display: grid;
}

.pooling-result-summary dl > div {
  background: var(--surface-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-3);
  gap: .15rem;
  display: grid;
}

.pooling-result-summary dt {
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: 750;
}

.pooling-result-summary dd {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 850;
}

.pooling-result-summary .pooling-used {
  background: var(--green-soft);
  border-color: var(--green);
  color: var(--green-dark);
  justify-self: start;
}

.pooled-value {
  color: var(--green-dark);
}

.decision-grain-switch {
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
  display: flex;
}

.decision-grain-switch button {
  background: var(--surface-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  font-size: var(--text-sm);
  min-height: 2.5rem;
  padding: .55rem .85rem;
  font-weight: 800;
}

.decision-grain-switch button:hover {
  border-color: var(--line-strong);
  color: var(--ink);
}

.decision-grain-switch button.is-active {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: #fff;
}

.horizon-notice {
  background: var(--amber-soft);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  justify-content: space-between;
  display: flex;
}

.horizon-notice > div {
  gap: var(--space-1);
  max-width: 64rem;
  display: grid;
}

.horizon-notice p {
  color: var(--ink);
  margin: 0;
}

.horizon-notice small {
  color: var(--muted);
}

.horizon-notice .primary-link {
  flex: none;
}

.decision-links {
  gap: .25rem;
  min-width: 9rem;
  display: grid;
}

.decision-links a {
  color: var(--green-dark);
  font-size: var(--text-xs);
  font-weight: 800;
}

.decision-alert-center {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  margin-top: var(--space-4);
  padding: var(--space-4);
}

.decision-alert-grid {
  gap: var(--space-2);
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  display: grid;
}

.decision-alert-grid article {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: start;
  gap: var(--space-2);
  padding: var(--space-3);
  grid-template-columns: auto minmax(0, 1fr);
  display: grid;
}

.decision-alert-grid p, .decision-alert-grid small {
  color: var(--muted);
  margin: .2rem 0 0;
  display: block;
}

.advanced-results {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  margin-top: var(--space-4);
  padding: var(--space-3);
}

.advanced-results > summary {
  color: var(--green-dark);
  cursor: pointer;
  padding: var(--space-2);
  font-weight: 850;
}

.advanced-results > .weekly-section {
  box-shadow: none;
  margin-top: var(--space-3);
  padding: var(--space-3);
  border: 0;
}

.compatible-run-summary {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: var(--space-3);
  padding: var(--space-3);
  gap: .2rem;
  display: grid;
}

.compatible-run-summary span, .compatible-run-summary small {
  color: var(--muted);
}

.row-action-menu-trigger {
  border-radius: var(--radius-sm);
  color: var(--ink);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  min-width: 2.5rem;
  min-height: 2.25rem;
  font-weight: 850;
  display: inline-flex;
}

.row-action-menu-trigger:hover, .row-action-menu-trigger[aria-expanded="true"] {
  background: var(--green-soft);
  border-color: var(--line);
}

.row-action-menu-popover {
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-elevated);
  min-width: 13rem;
  max-height: min(22rem, 100vh - 1rem);
  padding: var(--space-1);
  z-index: 1000;
  width: max-content;
  display: grid;
  position: fixed;
  overflow: auto;
}

.row-action-menu-popover button {
  border-radius: var(--radius-sm);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  min-height: 2.25rem;
  padding: .65rem .75rem;
}

.row-action-menu-popover button:hover, .row-action-menu-popover button:focus-visible {
  background: var(--green-soft);
}

.row-action-menu-popover .danger-action {
  color: var(--red);
}

.row-action-menu-popover button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.data-grid-bulkbar {
  background: var(--green-soft);
  border-top: 1px solid var(--line);
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.data-grid-pagination {
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  justify-content: flex-end;
  display: flex;
}

.data-grid-pagination label {
  color: var(--muted);
  font-size: var(--text-xs);
  align-items: center;
  gap: var(--space-2);
  margin-right: auto;
  display: flex;
}

.data-grid-pagination select {
  min-width: 4.5rem;
  min-height: 2.25rem;
}

.data-grid-pagination > span {
  color: var(--muted);
  font-size: var(--text-xs);
  text-align: center;
  min-width: 7rem;
  font-weight: 700;
}

@media (max-width: 800px) {
  .pooling-result-summary, .pooling-result-summary dl {
    grid-template-columns: 1fr;
  }

  .horizon-notice {
    flex-direction: column;
    align-items: stretch;
  }

  .horizon-notice .primary-link {
    align-self: start;
  }
}

.tertiary-button {
  border-radius: var(--radius-sm);
  color: var(--green-dark);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  min-height: 2.25rem;
  padding: .45rem .65rem;
  font-weight: 750;
}

.tertiary-button:hover {
  background: var(--green-soft);
  border-color: var(--line);
}

html[data-density="compact"] .data-grid th, html[data-density="compact"] .data-grid td {
  font-size: var(--text-xs);
  padding: .42rem .6rem;
}

html[data-density="compact"] .data-grid-toolbar {
  padding: var(--space-2);
}

html[data-density="compact"] .data-grid input, html[data-density="compact"] .data-grid select, html[data-density="compact"] .data-grid button, html[data-density="compact"] .data-grid-layout input, html[data-density="compact"] .data-grid-layout select, html[data-density="compact"] .data-grid-layout button {
  min-height: 2rem;
}

html[data-density="compact"] .configuration-step, html[data-density="compact"] .weekly-section, html[data-density="compact"] .section-card {
  padding: var(--space-3);
}

@media (max-width: 760px) {
  .data-grid-toolbar > * {
    flex: 10rem;
  }

  .data-grid-result-count {
    margin-left: 0;
  }

  .data-grid-pagination {
    flex-wrap: wrap;
  }

  .data-grid-pagination label {
    flex-basis: 100%;
  }
}

.breadcrumb-item {
  align-items: center;
  gap: .45rem;
  display: inline-flex;
}

.section-subnavigation {
  border: 1px solid var(--line);
  scrollbar-width: thin;
  background: #ffffffe0;
  border-radius: 14px;
  flex-wrap: wrap;
  align-items: stretch;
  gap: .45rem;
  margin: -.35rem 0 1.45rem;
  padding: .45rem;
  display: flex;
  overflow-x: visible;
  box-shadow: 0 8px 24px #0c443c0f;
}

.section-subnav-group {
  border-right: 1px solid var(--line);
  flex: none;
  padding: .1rem .55rem .2rem .1rem;
}

.section-subnav-group:last-child {
  border-right: 0;
  padding-right: .1rem;
}

.section-subnav-label {
  color: var(--muted);
  font-size: var(--text-xs);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin: 0 .35rem .28rem;
  font-weight: 850;
  display: block;
}

.section-subnav-group > div {
  gap: .2rem;
  display: flex;
}

.section-subnav-link {
  color: var(--ink);
  font-size: var(--text-sm);
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 9px;
  align-items: center;
  min-height: 2.4rem;
  padding: .45rem .65rem;
  font-weight: 720;
  text-decoration: none;
  display: inline-flex;
}

.section-subnav-link:hover {
  background: var(--green-soft);
  border-color: var(--line);
}

.section-subnav-link-active {
  background: var(--green-soft);
  border-color: color-mix(in srgb, var(--green) 28%, white);
  color: var(--green-dark);
}

.configuration-level-grid, .configuration-precedence, .legacy-configuration-card {
  margin-bottom: 1.25rem;
}

.configuration-level-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  display: grid;
}

.configuration-level-heading {
  grid-column: 1 / -1;
}

.configuration-level-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .8rem;
  padding: 1.05rem;
  display: grid;
}

.configuration-level-card > :last-child {
  grid-column: 2;
  justify-self: start;
}

.configuration-level-number {
  background: var(--green-soft);
  color: var(--green-dark);
  font-size: var(--text-sm);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 2.4rem;
  font-weight: 900;
  display: inline-flex;
}

.configuration-level-card small, .configuration-owner-card span {
  color: var(--green-dark);
  font-size: var(--text-xs);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 850;
  display: block;
}

.configuration-level-card h3 {
  margin: .2rem 0 .35rem;
  font-size: 1rem;
}

.configuration-level-card p, .configuration-precedence p, .legacy-configuration-card p, .configuration-owner-card p, .configuration-inheritance-note p {
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
}

.configuration-owner {
  background: var(--paper);
  color: var(--ink);
  font-size: var(--text-xs);
  border-radius: 999px;
  margin-top: .8rem;
  padding: .3rem .55rem;
  font-weight: 750;
  display: inline-flex;
}

.configuration-precedence {
  background: linear-gradient(135deg, var(--green-dark), #174f48);
  color: #fff;
  border-radius: 18px;
  grid-template-columns: minmax(15rem, .72fr) minmax(30rem, 1.5fr);
  align-items: start;
  gap: 1.4rem;
  padding: 1.3rem;
  display: grid;
}

.configuration-precedence .eyebrow, .configuration-precedence p {
  color: #ffffffd1;
}

.configuration-precedence h2 {
  color: #fff;
  margin: .15rem 0 .5rem;
}

.configuration-precedence ol {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.configuration-precedence li {
  background: #ffffff1a;
  border: 1px solid #ffffff2e;
  border-radius: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .6rem;
  padding: .7rem;
  display: grid;
}

.configuration-precedence li > span {
  color: var(--green-dark);
  font-size: var(--text-xs);
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.65rem;
  height: 1.65rem;
  font-weight: 900;
  display: inline-flex;
}

.configuration-precedence li strong, .configuration-precedence li small {
  display: block;
}

.configuration-precedence li small {
  color: #ffffffc7;
  font-size: var(--text-xs);
  margin-top: .15rem;
  line-height: 1.45;
}

.legacy-configuration-card, .configuration-owner-card, .configuration-inheritance-note {
  background: #fffaf0;
  border: 1px solid #ead9af;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.legacy-configuration-card h2, .configuration-owner-card strong {
  margin: .4rem 0 .25rem;
  display: block;
}

.configuration-group-list {
  gap: 1.25rem;
  display: grid;
}

.configuration-group {
  min-width: 0;
}

.configuration-step h3 {
  margin: 0;
  font-size: 1rem;
}

.configuration-inheritance-note {
  background: var(--green-soft);
  border-color: color-mix(in srgb, var(--green) 24%, white);
  align-items: start;
  display: block;
}

.configuration-inheritance-note strong {
  margin-bottom: .2rem;
  display: block;
}

.configuration-history {
  background: var(--surface-elevated);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: clip;
}

.configuration-history > summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 3.75rem;
  padding: .8rem 1rem;
  list-style: none;
  display: flex;
}

.configuration-history > summary::-webkit-details-marker {
  display: none;
}

.configuration-history > summary span:first-child, .configuration-history > summary strong, .configuration-history > summary small {
  display: block;
}

.configuration-history > summary small {
  color: var(--muted);
  font-size: var(--text-xs);
  margin-top: .18rem;
}

.configuration-history[open] > summary {
  border-bottom: 1px solid var(--line);
}

.configuration-history-body {
  padding: 1rem;
}

.history-change-list {
  gap: .15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.history-change-list li {
  grid-template-columns: minmax(6rem, .6fr) minmax(8rem, 1.4fr);
  align-items: baseline;
  gap: .45rem;
  display: grid;
}

.history-change-list strong {
  font-size: var(--text-xs);
  text-transform: capitalize;
}

.history-change-list span {
  color: var(--muted);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
}

.inline-number-editor {
  align-items: center;
  gap: .25rem;
  display: inline-flex;
}

.inline-number-editor input {
  width: 4.5rem;
  min-height: 2rem;
  padding: .25rem .4rem;
}

.inline-number-editor button {
  background: var(--green-soft);
  border: 1px solid color-mix(in srgb, var(--green) 30%, var(--line));
  color: var(--green-dark);
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
}

.configuration-owner-card {
  background: var(--paper);
  border-color: var(--line);
  margin-top: .85rem;
}

.eligibility-configuration {
  margin-top: 1.25rem;
}

@media (max-width: 1100px) {
  .configuration-level-grid, .configuration-precedence {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .result-reading-switch {
    grid-template-columns: 1fr;
  }

  .pdc-matrix {
    margin-left: calc(-1 * var(--space-3));
    margin-right: calc(-1 * var(--space-3));
    padding: var(--space-3);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }

  .pdc-matrix-heading, .pdc-matrix-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .pdc-matrix-actions :is(button, a) {
    text-align: center;
  }

  .pdc-matrix-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .pdc-matrix-toolbar .decision-grain-switch {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .pdc-matrix-toolbar .decision-grain-switch button {
    flex: 1 0 auto;
  }

  .pdc-pooling-state {
    margin-left: 0;
  }

  .pdc-month-row th:first-child, .pdc-matrix-table tbody tr:not(.pdc-section-row) > th {
    width: 11rem;
    min-width: 11rem;
  }

  .pdc-week-row th, .pdc-matrix-table td {
    width: 5.5rem;
    min-width: 5.5rem;
  }

  .period-report-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .period-switcher {
    overflow-x: auto;
  }

  .period-switcher button {
    flex: 1 0 auto;
  }

  .period-select {
    min-width: 0;
  }

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

  .section-subnavigation {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    flex-wrap: nowrap;
    margin-left: -.75rem;
    margin-right: -.75rem;
    padding-left: .75rem;
    padding-right: .75rem;
    overflow-x: auto;
  }

  .configuration-precedence ol {
    grid-template-columns: 1fr;
  }

  .legacy-configuration-card, .configuration-owner-card {
    flex-direction: column;
    align-items: stretch;
  }

  .configuration-owner-card > :last-child, .legacy-configuration-card > :last-child {
    align-self: flex-start;
  }
}

@media (forced-colors: active) {
  .section-subnavigation, .configuration-level-card, .configuration-precedence, .legacy-configuration-card, .configuration-owner-card, .configuration-inheritance-note {
    border: 1px solid canvastext;
  }
}

html[data-theme="dark"] .configuration-precedence li > span, html[data-theme="dark"] .planning-steps .step-done > span {
  color: #062e28;
  background: #d9ef78;
  border-color: #d9ef78;
}

html[data-theme="dark"] :is(.shrinkage-config, .calculation-fields-preview, .industrialization-layout details) > summary {
  background: var(--surface-muted);
  color: var(--ink);
}

.guided-journey {
  background: color-mix(in srgb, var(--surface-elevated) 96%, var(--green) 4%);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-4);
  padding: var(--space-3) var(--space-4);
  top: var(--space-2);
  z-index: 30;
  display: grid;
  position: sticky;
}

.guided-journey-copy {
  gap: .15rem;
  min-width: 0;
  display: grid;
}

.guided-journey-copy > span {
  color: var(--green);
  font-size: var(--text-xs);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 800;
}

.guided-journey-copy > strong {
  font-size: 1rem;
}

.guided-journey-copy > small {
  color: var(--muted);
}

.guided-journey progress {
  accent-color: var(--green);
  width: 100%;
  height: .55rem;
}

.guided-journey-actions {
  align-items: center;
  gap: var(--space-2);
  justify-content: flex-end;
  display: flex;
}

.planner-journey ol {
  gap: var(--space-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.planner-journey li button {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  align-items: center;
  gap: var(--space-2);
  min-height: 2.75rem;
  padding: var(--space-2) var(--space-3);
  justify-content: flex-start;
  width: 100%;
  display: flex;
}

.planner-journey li button > span {
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.7rem;
  height: 1.7rem;
  display: inline-flex;
}

.planner-journey li.is-current button {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: #fff;
}

.planner-journey li.is-current button > span {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--green-dark);
}

.planner-journey li.is-done button > span {
  background: var(--green-soft);
  color: var(--green-dark);
}

.planner-journey li button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.planner-journey > p {
  color: var(--muted);
  margin: 0;
}

.planning-stage-panel[hidden] {
  display: none !important;
}

.selected-simulation-actions {
  align-items: center;
  gap: var(--space-2);
  justify-content: flex-end;
  display: flex;
}

.opening-carryover-cell {
  place-items: center start;
  gap: .3rem;
  min-width: 8.5rem;
  display: grid;
}

.opening-carryover-cell.is-adjusted {
  background: var(--amber-soft);
  border: 1px solid var(--amber);
  border-radius: var(--radius-sm);
  padding: var(--space-2);
}

.opening-carryover-cell > strong {
  color: var(--ink);
}

.opening-carryover-cell > small {
  color: var(--muted);
  line-height: 1.25;
}

.opening-reconciliation-dialog {
  max-width: 42rem;
}

.opening-reconciliation-dialog .dialog-guidance {
  background: var(--green-soft);
  border-radius: var(--radius);
  color: var(--ink);
  padding: var(--space-3);
}

.action-blocker {
  background: var(--amber-soft);
  border: 1px solid var(--amber);
  border-radius: var(--radius);
  color: var(--ink);
  margin: var(--space-2) 0 0;
  padding: var(--space-3);
}

.action-blocker a {
  margin-left: var(--space-2);
  font-weight: 800;
}

.alert-summary-strip {
  gap: var(--space-2);
  margin-bottom: var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.alert-summary-strip > span {
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .35rem .7rem;
}

.remaining-alerts, .result-technical-proof {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-top: var(--space-3);
  padding: var(--space-3);
}

.remaining-alerts > summary, .result-technical-proof > summary {
  color: var(--green);
  cursor: pointer;
  font-weight: 800;
}

.remaining-alerts .decision-alert-grid, .result-technical-proof .run-proof {
  margin-top: var(--space-3);
}

@media (max-width: 900px) {
  .guided-journey, .guided-client-journey, .planner-journey {
    grid-template-columns: 1fr;
    align-items: stretch;
    position: static;
  }

  .planner-journey ol {
    grid-template-columns: 1fr;
  }

  .planner-journey li:not(.is-current) button {
    min-height: 2.5rem;
  }

  .guided-journey-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .guided-journey-actions :is(a, button) {
    text-align: center;
    justify-content: center;
    width: 100%;
  }

  .selected-simulation-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

:root {
  --control-height: 2.4rem;
}

.workspace-main {
  padding: .75rem clamp(1rem, 2.2vw, 2rem) 2rem;
}

.workspace-contextbar {
  min-height: 2.25rem;
  margin-bottom: .8rem;
  padding-bottom: .45rem;
}

.page-header {
  gap: .75rem;
  margin-bottom: 1rem;
}

.page-header h1 {
  letter-spacing: -.025em;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
  line-height: 1.15;
}

.page-intro {
  font-size: var(--text-sm);
  max-width: 72ch;
  margin-top: .35rem;
  line-height: 1.45;
}

.eyebrow {
  margin-bottom: .35rem;
}

.weekly-section, .quick-create-panel, .client-choice-panel, .empty-state-panel, .client-summary-card, .next-action-panel {
  padding: .85rem;
}

.weekly-section-heading {
  margin-bottom: .65rem;
}

.weekly-section-heading h2 {
  font-size: clamp(1rem, 1.3vw, 1.2rem);
}

.guided-journey {
  border-radius: 10px;
  gap: .65rem;
  margin-bottom: .75rem;
  padding: .5rem .65rem;
  top: .35rem;
}

.guided-client-journey {
  grid-template-columns: minmax(9rem, .55fr) minmax(31rem, 1.45fr) auto;
}

.guided-journey-copy > span {
  letter-spacing: .05em;
  font-size: .68rem;
}

.guided-journey-copy > strong {
  font-size: .85rem;
  line-height: 1.2;
}

.client-journey-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .3rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.client-journey-steps a {
  background: var(--surface-muted);
  border: 1px solid #0000;
  border-radius: 8px;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  min-height: 2.15rem;
  padding: .3rem .45rem;
  display: flex;
}

.client-journey-steps a > span {
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.35rem;
  height: 1.35rem;
  font-size: .68rem;
  font-weight: 900;
  display: inline-flex;
}

.client-journey-steps small {
  text-overflow: ellipsis;
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.15;
  overflow: hidden;
}

.client-journey-steps li.is-current a {
  background: var(--green);
  border-color: var(--green);
  color: var(--surface);
}

.client-journey-steps li.is-current a > span {
  background: var(--lime);
  border-color: var(--lime);
  color: #062e28;
}

.client-journey-steps li.is-done a > span {
  background: var(--green-soft);
  border-color: var(--green);
  color: var(--green);
}

.guided-journey-actions :is(.primary-button, .secondary-button) {
  white-space: nowrap;
  min-height: 2.15rem;
  padding: .35rem .65rem;
}

.guided-advanced-journey {
  grid-template-columns: 1fr auto;
}

.planner-journey {
  grid-template-columns: minmax(22rem, 1fr) minmax(12rem, .55fr) auto;
}

.planner-journey ol {
  gap: .35rem;
}

.planner-journey li button {
  border-radius: 8px;
  min-height: 2.2rem;
  padding: .3rem .5rem;
}

.planner-journey li button > span {
  width: 1.35rem;
  height: 1.35rem;
  font-size: .68rem;
}

.planner-journey li button > strong {
  font-size: .72rem;
}

.planner-journey > p {
  font-size: .72rem;
  line-height: 1.35;
}

.configuration-hub {
  gap: .65rem;
  max-width: 66rem;
}

.compact-client-summary {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .15rem .65rem;
  display: grid;
}

.compact-client-summary > span {
  grid-row: 1 / 3;
}

.compact-client-summary > strong {
  font-size: .9rem;
}

.compact-client-summary > small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.essential-configuration-path {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .85rem;
}

.simple-section-heading {
  margin-bottom: .65rem;
}

.simple-section-heading h2 {
  font-size: 1rem;
}

.configuration-group .configuration-step-list {
  gap: .4rem;
}

.configuration-step {
  border-radius: 9px;
  gap: .65rem;
  padding: .6rem .7rem;
}

.configuration-step-number {
  border-radius: 7px;
  width: 1.8rem;
  height: 1.8rem;
}

.configuration-step h3 {
  font-size: .82rem;
  line-height: 1.2;
}

.configuration-step p {
  margin: .12rem 0;
  line-height: 1.35;
  font-size: .7rem !important;
}

.configuration-step > .secondary-button {
  min-height: 2rem;
  padding: .3rem .6rem;
}

.configuration-advanced-options, .configuration-history-disclosure {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.configuration-advanced-options > summary, .configuration-history-disclosure > summary {
  min-height: 2.65rem;
  padding: .55rem .75rem;
  list-style: none;
  display: flex;
}

.configuration-advanced-options > summary::-webkit-details-marker {
  display: none;
}

.configuration-history-disclosure > summary::-webkit-details-marker {
  display: none;
}

.configuration-advanced-options > summary:before, .configuration-history-disclosure > summary:before {
  content: "＋";
  flex: 0 0 1.25rem;
  font-weight: 900;
}

.configuration-advanced-options[open] > summary:before, .configuration-history-disclosure[open] > summary:before {
  content: "−";
}

.configuration-advanced-options > summary span, .configuration-advanced-options > summary strong, .configuration-advanced-options > summary small {
  display: block;
}

.configuration-advanced-options > summary small {
  color: var(--muted);
  margin-top: .1rem;
  font-size: .68rem;
}

.configuration-advanced-options > .configuration-step-list, .configuration-history-disclosure > div {
  border-top: 1px solid var(--line);
  padding: .65rem;
}

.configuration-step-advanced {
  grid-template-columns: 1fr auto;
}

html[data-density="compact"] .weekly-input-table :is(th, td), html[data-density="compact"] .weekly-results-table :is(th, td), html[data-density="compact"] .input-table :is(th, td), html[data-density="compact"] .decision-table :is(th, td) {
  padding: .42rem .5rem;
}

html[data-density="compact"] :is(input, select, textarea) {
  min-height: 2.2rem;
}

@media (max-width: 1050px) {
  .guided-client-journey {
    grid-template-columns: minmax(8rem, .4fr) minmax(25rem, 1.4fr);
  }

  .guided-client-journey .guided-journey-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .guided-client-journey, .guided-advanced-journey, .planner-journey {
    grid-template-columns: 1fr;
    position: static;
  }

  .client-journey-steps {
    grid-template-columns: repeat(5, minmax(2rem, 1fr));
  }

  .client-journey-steps a {
    justify-content: center;
  }

  .client-journey-steps small {
    display: none;
  }

  .client-journey-steps li.is-current small {
    display: inline;
  }

  .planner-journey ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .guided-client-journey .guided-journey-actions {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  .workspace-main {
    padding-inline: .75rem;
  }

  .page-header h1 {
    font-size: 1.25rem;
  }

  .compact-client-summary {
    grid-template-columns: auto 1fr;
  }

  .compact-client-summary > small {
    grid-column: 2;
  }

  .configuration-step, .configuration-step-advanced {
    grid-template-columns: auto 1fr;
  }

  .configuration-step > .secondary-button {
    grid-column: 2;
    width: fit-content;
  }

  .planner-journey li button {
    justify-content: center;
  }

  .planner-journey li button > strong {
    display: none;
  }
}

::selection {
  background: var(--brand-cyan);
  color: #212121;
}

.primary-button, button.primary-button {
  background: var(--brand-cyan);
  color: #212121;
  box-shadow: 0 5px 14px #01463829;
}

.primary-button:not(:disabled):hover, button.primary-button:not(:disabled):hover {
  color: #fff;
  background: #014638;
}

.secondary-button:hover, .secondary-link:hover {
  border-color: var(--brand-cyan);
  box-shadow: 0 0 0 2px #4ee6e02e;
}

.sidebar, .sidebar-reveal {
  background: #014638;
}

.sidebar-create-link, .nav-phase-active .nav-phase-number, .nav-link-active .nav-dot, .environment-dot, .context-status-calculated, .context-status-approved, .context-status-published {
  background: var(--brand-cyan);
  border-color: var(--brand-cyan);
  color: #212121;
}

.home-choice:hover {
  border-color: var(--brand-cyan);
  box-shadow: 0 8px 24px #0146381f, 0 0 0 2px #4ee6e029;
}

.home-choice:nth-child(4n+1) .home-choice-icon {
  background: var(--brand-cyan);
  color: #212121;
}

.home-choice:nth-child(4n+2) .home-choice-icon {
  background: var(--brand-lilac);
  color: #212121;
}

.home-choice:nth-child(4n+3) .home-choice-icon {
  background: var(--brand-coral-soft);
  color: var(--red);
}

.home-choice:nth-child(4n) .home-choice-icon {
  background: var(--green-soft);
  color: var(--green-dark);
}

.configuration-advanced-options > summary {
  background: color-mix(in srgb, var(--brand-lilac-soft) 58%, var(--surface));
}

.configuration-history-disclosure > summary {
  background: color-mix(in srgb, var(--brand-cyan-soft) 62%, var(--surface));
}

.configuration-step-number, html[data-theme="dark"] .configuration-step-number {
  border-color: var(--brand-cyan);
  color: #fff;
  background: #014638;
}

.planner-journey li.is-current button, html[data-theme="dark"] .planner-journey li.is-current button {
  color: #fff;
  background: #014638;
  border-color: #014638;
}

.planner-journey li.is-current button > span, html[data-theme="dark"] .planner-journey li.is-current button > span {
  background: var(--brand-cyan);
  border-color: var(--brand-cyan);
  color: #212121;
}

html[data-theme="dark"] :is(.primary-button, button.primary-button) {
  background: var(--brand-cyan);
  color: #212121;
}

html[data-theme="dark"] :is(.primary-button, button.primary-button):not(:disabled):hover {
  color: #fff;
  background: #014638;
}

html[data-theme="dark"] .sidebar {
  background: #071f1a;
  border-right-color: #31534b;
}

html[data-theme="dark"] :is(.week-view-switch .view-active, .sticky-actions, .allocation-class-dedicated, .access-boundary, .health-summary, .configuration-precedence) {
  color: #fff;
  background: #014638;
  border-color: #52756d;
}

.guided-journey-copy > span, .client-journey-steps small, .client-journey-steps a > span, .configuration-advanced-options > summary small, .configuration-step p, .planner-journey li button > strong, .planner-journey li button > span, .planner-journey > p, .scenario-card dt, .pdc-week-row small, .pdc-matrix-table tbody th > small, .pdc-contribution-value small {
  font-size: var(--text-xs) !important;
}

.data-grid-rate-field input {
  width: 5.5rem;
  min-width: 5.5rem;
}

.data-grid-inline-actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  min-width: max-content;
}

.consolidated-dashboard {
  --dashboard-blue: #2475d0;
  --dashboard-teal: #089b91;
  --dashboard-violet: #8552c7;
  gap: var(--space-5);
  width: 100%;
  max-width: 112rem;
  display: grid;
}

.dashboard-heading {
  align-items: flex-start;
  gap: var(--space-5);
  justify-content: space-between;
  display: flex;
}

.dashboard-heading .eyebrow, .dashboard-section-heading .eyebrow {
  margin-bottom: var(--space-1);
}

.dashboard-heading h1 {
  letter-spacing: -.035em;
  margin: 0;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  line-height: 1.1;
}

.dashboard-heading p {
  color: var(--muted);
  font-size: var(--text-body);
  margin: var(--space-2) 0 var(--space-1);
  max-width: 52rem;
}

.dashboard-heading small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.dashboard-top-actions {
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
  display: flex;
}

.dashboard-top-actions :is(a, button) {
  min-height: var(--control-height);
  white-space: nowrap;
  align-items: center;
  display: inline-flex;
}

.dashboard-notification-button {
  background: var(--green);
  border: 1px solid var(--green);
  border-radius: var(--radius-sm);
  color: #fff;
  font-size: var(--text-sm);
  align-items: center;
  gap: var(--space-2);
  padding: .55rem .8rem;
  font-weight: 800;
  display: inline-flex;
}

.dashboard-notification-button > span {
  border: 1px solid;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
}

.dashboard-notification-button b {
  background: var(--brand-coral);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 .3rem;
  font-size: .65rem;
  display: inline-flex;
}

.dashboard-help, .dashboard-data-notice {
  background: var(--brand-cyan-soft);
  border: 1px solid color-mix(in srgb, var(--brand-cyan) 55%, var(--line));
  border-radius: var(--radius);
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  justify-content: space-between;
  display: flex;
}

.dashboard-help p {
  color: var(--muted);
  font-size: var(--text-sm);
  margin: var(--space-1) 0 0;
}

.dashboard-help button {
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 1.25rem;
}

.dashboard-data-notice {
  background: var(--amber-soft);
  border-color: color-mix(in srgb, var(--amber) 40%, var(--line));
  font-size: var(--text-sm);
  justify-content: flex-start;
}

.dashboard-data-notice span {
  color: var(--muted);
}

.dashboard-filterbar {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  align-items: end;
  gap: var(--space-3);
  padding: var(--space-3);
  grid-template-columns: repeat(3, minmax(10rem, .7fr)) minmax(15rem, 1.2fr);
  display: grid;
}

.dashboard-filterbar label {
  color: var(--muted);
  font-size: var(--text-xs);
  gap: var(--space-1);
  font-weight: 800;
  display: grid;
}

.dashboard-filterbar select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--ink);
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  width: 100%;
}

.dashboard-filter-summary {
  align-items: flex-end;
  gap: var(--space-1);
  min-height: var(--control-height);
  text-align: right;
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.dashboard-filter-summary span {
  font-size: var(--text-sm);
  font-weight: 850;
}

.dashboard-filter-summary small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.dashboard-loading {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  align-items: center;
  gap: var(--space-3);
  justify-content: center;
  min-height: 12rem;
  display: flex;
}

.dashboard-loading > span {
  border: 3px solid var(--line);
  border-top-color: var(--green);
  border-radius: 50%;
  width: 1.5rem;
  height: 1.5rem;
  animation: .75s linear infinite dashboard-spin;
}

.dashboard-loading p {
  color: var(--muted);
  margin: 0;
}

@keyframes dashboard-spin {
  to {
    transform: rotate(360deg);
  }
}

.dashboard-section-heading, .dashboard-card-heading {
  align-items: flex-start;
  gap: var(--space-4);
  justify-content: space-between;
  display: flex;
}

.dashboard-section-heading {
  margin-bottom: var(--space-3);
}

.dashboard-section-heading h2, .dashboard-card-heading h2 {
  letter-spacing: -.015em;
  margin: 0;
  font-size: 1rem;
}

.dashboard-section-heading p, .dashboard-card-heading p {
  color: var(--muted);
  font-size: var(--text-xs);
  margin: var(--space-1) 0 0;
}

.dashboard-card-heading > span {
  color: var(--muted);
  font-size: var(--text-xs);
  white-space: nowrap;
}

.dashboard-kpi-grid {
  gap: var(--space-2);
  grid-template-columns: repeat(7, minmax(8.5rem, 1fr));
  display: grid;
}

.dashboard-kpi {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  gap: var(--space-2);
  min-height: 7.5rem;
  padding: var(--space-3);
  display: grid;
}

.dashboard-kpi-label {
  font-size: var(--text-xs);
  align-items: center;
  gap: var(--space-2);
  display: flex;
}

.dashboard-kpi-label > span {
  background: currentColor;
  border-radius: 4px;
  width: .65rem;
  height: .65rem;
}

.dashboard-kpi > b {
  color: var(--ink);
  letter-spacing: -.035em;
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
}

.dashboard-kpi > small {
  align-self: end;
  font-size: .68rem;
}

.dashboard-kpi-blue {
  color: var(--dashboard-blue);
}

.dashboard-kpi-green {
  color: var(--green);
}

.dashboard-kpi-teal {
  color: var(--dashboard-teal);
}

.dashboard-kpi-red {
  color: var(--red);
}

.dashboard-kpi-amber {
  color: var(--amber);
}

.dashboard-kpi-violet {
  color: var(--dashboard-violet);
}

.dashboard-kpi-cyan {
  color: #087f93;
}

.metric-status-valid {
  color: var(--green);
}

.metric-status-partial {
  color: var(--amber);
}

.metric-status-missing, .metric-status-error, .metric-missing {
  color: var(--muted);
}

.dashboard-analysis-grid {
  gap: var(--space-3);
  grid-template-columns: minmax(28rem, 1.5fr) minmax(22rem, 1fr) minmax(21rem, .9fr);
  display: grid;
}

.dashboard-chart-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  min-width: 0;
  padding: var(--space-4);
}

.dashboard-trend-chart {
  height: 14rem;
  margin-top: var(--space-3);
  width: 100%;
  display: block;
  overflow: visible;
}

.trend-gridline {
  stroke: var(--line);
  stroke-width: 1px;
}

.trend-zero {
  stroke: var(--line-strong);
  stroke-dasharray: 4 4;
  stroke-width: 1px;
}

.trend-required :is(polyline, circle) {
  stroke: var(--dashboard-blue);
}

.trend-capacity :is(polyline, circle) {
  stroke: var(--green);
}

.trend-gap :is(polyline, circle) {
  stroke: var(--brand-coral);
}

.dashboard-trend-chart polyline {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5px;
}

.dashboard-trend-chart circle {
  fill: var(--surface);
  stroke-width: 2px;
}

.trend-axis-label {
  fill: var(--muted);
  font-size: .65rem;
}

.dashboard-chart-legend {
  font-size: var(--text-xs);
  gap: var(--space-4);
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.dashboard-chart-legend span:before {
  content: "";
  height: .45rem;
  margin-right: var(--space-1);
  background: currentColor;
  border-radius: 999px;
  width: .9rem;
  display: inline-block;
}

.legend-required {
  color: var(--dashboard-blue);
}

.legend-capacity {
  color: var(--green);
}

.legend-gap {
  color: var(--brand-coral);
}

.dashboard-gap-bars {
  gap: var(--space-3);
  margin-top: var(--space-4);
  display: grid;
}

.dashboard-gap-row {
  font-size: var(--text-xs);
  align-items: center;
  gap: var(--space-2);
  grid-template-columns: minmax(5rem, .8fr) minmax(7rem, 1.4fr) minmax(5.5rem, auto);
  display: grid;
}

.dashboard-gap-row > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.dashboard-gap-row > div {
  background: var(--surface-muted);
  border-radius: 999px;
  height: .65rem;
  overflow: hidden;
}

.dashboard-gap-row i {
  border-radius: inherit;
  min-width: 2px;
  height: 100%;
  display: block;
}

.gap-bar-risk {
  background: var(--brand-coral);
}

.gap-bar-ok {
  background: var(--green);
}

.dashboard-gap-row b {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.metric-risk {
  color: var(--red) !important;
}

.metric-ok {
  color: var(--green) !important;
}

.dashboard-chart-empty {
  color: var(--muted);
  font-size: var(--text-sm);
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 12rem;
  display: flex;
}

.dashboard-alert-total, .dashboard-alert-count {
  background: var(--surface-muted);
  font-size: var(--text-xs);
  min-width: 1.7rem;
  height: 1.7rem;
  padding: 0 var(--space-2);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  display: inline-flex;
}

.dashboard-alert-count-critical, .dashboard-alert-total {
  background: var(--red-soft);
  color: var(--red);
}

.dashboard-alert-list {
  margin-top: var(--space-3);
  display: grid;
}

.dashboard-alert-list a {
  border-top: 1px solid var(--line);
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  grid-template-columns: auto minmax(0, 1fr);
  display: grid;
}

.dashboard-alert-list a:first-child {
  border-top: 0;
}

.dashboard-alert-list a:hover strong {
  color: var(--green);
}

.dashboard-alert-list strong, .dashboard-alert-list small, .dashboard-alert-list em {
  display: block;
}

.dashboard-alert-list strong {
  font-size: var(--text-xs);
}

.dashboard-alert-list small {
  color: var(--ink);
  font-size: var(--text-xs);
  margin-top: .15rem;
  line-height: 1.35;
}

.dashboard-alert-list em {
  color: var(--muted);
  margin-top: .15rem;
  font-size: .68rem;
  font-style: normal;
}

.alert-severity {
  border-radius: 5px;
  padding: .2rem .3rem;
  font-size: .62rem;
  font-weight: 900;
}

.alert-severity-p0 {
  background: var(--red-soft);
  color: var(--red);
}

.alert-severity-p1 {
  background: var(--amber-soft);
  color: var(--amber);
}

.alert-severity-p2 {
  background: var(--brand-cyan-soft);
  color: var(--green);
}

.dashboard-more-alerts {
  color: var(--muted);
  margin-top: var(--space-2);
  text-align: right;
  display: block;
}

.dashboard-client-table {
  min-width: 0;
}

.dashboard-total-strip {
  background: var(--green-dark);
  border-radius: var(--radius);
  color: #fff;
  font-size: var(--text-xs);
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-2);
  padding: var(--space-3);
  flex-wrap: wrap;
  display: flex;
}

.dashboard-total-strip > strong {
  margin-right: auto;
}

.dashboard-total-strip span {
  color: #ffffffb8;
}

.dashboard-total-strip b {
  color: #fff;
  margin-left: var(--space-1);
}

.dashboard-client-table .data-grid {
  border-radius: var(--radius);
}

.dashboard-table-actions {
  align-items: end;
  gap: var(--space-2);
  flex-wrap: wrap;
  display: flex;
}

.dashboard-table-actions label {
  gap: .2rem;
  min-width: 12rem;
  display: grid;
}

.dashboard-table-actions label > span {
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: 750;
}

.dashboard-client-table .data-grid-table th {
  white-space: normal;
}

.dashboard-client-table .data-grid-table td {
  font-size: var(--text-xs);
}

.dashboard-client-cell {
  gap: .1rem;
  display: grid;
}

.dashboard-client-cell strong {
  font-size: var(--text-xs);
}

.dashboard-client-cell small {
  color: var(--muted);
  font-size: .68rem;
}

.dashboard-client-table sup {
  color: var(--amber);
  font-size: .75rem;
}

.dashboard-deferred-metrics {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-size: var(--text-sm);
  padding: var(--space-3) var(--space-4);
}

.dashboard-deferred-metrics summary {
  cursor: pointer;
  font-weight: 850;
}

.dashboard-deferred-metrics p, .dashboard-deferred-metrics li {
  color: var(--muted);
  line-height: 1.5;
}

.dashboard-deferred-metrics ul {
  margin-bottom: 0;
}

html[data-theme="dark"] .dashboard-notification-button {
  border-color: var(--brand-cyan);
  background: #014638;
}

html[data-theme="dark"] .dashboard-total-strip {
  border: 1px solid var(--line);
  background: #014638;
}

@media (max-width: 1500px) {
  .dashboard-kpi-grid {
    grid-template-columns: repeat(4, minmax(9rem, 1fr));
  }

  .dashboard-analysis-grid {
    grid-template-columns: minmax(28rem, 1.35fr) minmax(22rem, 1fr);
  }

  .dashboard-alert-center {
    grid-column: 1 / -1;
  }

  .dashboard-alert-list {
    column-gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .dashboard-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .dashboard-top-actions {
    justify-content: flex-start;
  }

  .dashboard-filterbar {
    grid-template-columns: repeat(2, minmax(10rem, 1fr));
  }

  .dashboard-filter-summary {
    text-align: left;
    align-items: flex-start;
  }

  .dashboard-analysis-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-alert-center {
    grid-column: auto;
  }

  .dashboard-alert-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .dashboard-kpi-grid, .dashboard-filterbar {
    grid-template-columns: 1fr;
  }

  .dashboard-analysis-grid {
    display: block;
  }

  .dashboard-chart-card + .dashboard-chart-card {
    margin-top: var(--space-3);
  }

  .dashboard-total-strip {
    align-items: flex-start;
    gap: var(--space-2);
    flex-direction: column;
  }

  .dashboard-total-strip > strong {
    margin-right: 0;
  }
}

html[data-density="compact"] .dashboard-kpi {
  min-height: 6.4rem;
  padding: var(--space-2);
}

html[data-density="compact"] .dashboard-chart-card {
  padding: var(--space-3);
}

.nav-home > .sidebar-copy, .sidebar-create-link > .sidebar-copy {
  justify-content: flex-start;
  width: auto;
  min-width: 0;
  height: auto;
}

/*# sourceMappingURL=apps_web_src_app_globals_1wvyn-h.css.map*/