/*
 * Mentor Calendar — editorial B2B design system.
 * One calm hierarchy: context, primary work, supporting evidence.
 */

@font-face {
  font-family: "Onest";
  src: url("/static/fonts/Onest-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --mc-canvas: #f1f2ee;
  --mc-canvas-raised: #f7f7f3;
  --mc-surface: #fffefa;
  --mc-surface-soft: #f6f6f1;
  --mc-surface-quiet: #ecefe9;
  --mc-ink: #121713;
  --mc-ink-soft: #39443e;
  --mc-muted: #58665e;
  --mc-faint: #69756e;
  --mc-line: #d4dad4;
  --mc-line-strong: #b7c1b9;
  --mc-night: #111612;
  --mc-night-soft: #1a211c;
  --mc-forest: #155f48;
  --mc-forest-dark: #0d4937;
  --mc-mint: #dcebe2;
  --mc-acid: #bce86b;
  --mc-blue: #3658d6;
  --mc-blue-soft: #e9edff;
  --mc-amber: #966018;
  --mc-amber-soft: #f9ecd8;
  --mc-rose: #a83c54;
  --mc-rose-soft: #fae7eb;
  --mc-radius-xs: 7px;
  --mc-radius-sm: 10px;
  --mc-radius: 14px;
  --mc-radius-lg: 20px;
  --mc-shadow-xs: 0 1px 2px rgba(18, 23, 19, 0.04);
  --mc-shadow-sm: 0 12px 34px rgba(18, 23, 19, 0.07);
  --mc-shadow-lg: 0 28px 80px rgba(7, 12, 8, 0.18);
  --mc-focus: 0 0 0 2px var(--mc-surface), 0 0 0 5px rgba(21, 95, 72, 0.48);
  --bg: var(--mc-canvas);
  --panel: var(--mc-surface);
  --panel-soft: var(--mc-surface-soft);
  --panel-muted: var(--mc-surface-quiet);
  --ink: var(--mc-ink);
  --text: var(--mc-ink);
  --muted: var(--mc-muted);
  --muted-strong: var(--mc-ink-soft);
  --line: var(--mc-line);
  --line-strong: var(--mc-line-strong);
  --teal: var(--mc-forest);
  --teal-dark: var(--mc-forest-dark);
  --blue: var(--mc-blue);
  --blue-soft: var(--mc-blue-soft);
  --amber: var(--mc-amber);
  --amber-soft: var(--mc-amber-soft);
  --rose: var(--mc-rose);
  --rose-soft: var(--mc-rose-soft);
  --green: var(--mc-forest);
  --green-soft: var(--mc-mint);
  --danger: var(--mc-rose);
  --shadow: var(--mc-shadow-sm);
  --shadow-sm: var(--mc-shadow-xs);
  --shadow-md: var(--mc-shadow-sm);
  --focus-ring: var(--mc-focus);
  --surface-transition: 150ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

html {
  background: var(--mc-canvas);
  scroll-behavior: smooth;
}

body {
  background: var(--mc-canvas);
  color: var(--mc-ink);
  font-family: "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(188, 232, 107, 0.62);
  color: var(--mc-night);
}

h1,
h2,
h3,
h4,
strong {
  letter-spacing: -0.022em;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

button {
  min-height: 44px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink);
  box-shadow: none;
  font-size: 13px;
  font-weight: 720;
  letter-spacing: -0.01em;
  padding: 0 14px;
}

button:hover {
  border-color: var(--mc-line-strong);
  background: #fff;
  box-shadow: var(--mc-shadow-xs);
  transform: translateY(-1px);
}

button.primary,
.primary {
  border-color: var(--mc-forest);
  background: var(--mc-forest);
  color: #fff;
  box-shadow: 0 8px 20px rgba(21, 95, 72, 0.16);
}

button.primary:hover,
.primary:hover {
  border-color: var(--mc-forest-dark);
  background: var(--mc-forest-dark);
  box-shadow: 0 10px 24px rgba(21, 95, 72, 0.22);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
  border-color: var(--mc-forest);
  box-shadow: var(--mc-focus);
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.text-input,
.guided-input,
.report-input,
.discussion-input,
.compact-plan-input,
.plan-input,
.program-input,
select {
  min-height: 44px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink);
  box-shadow: none;
  line-height: 1.5;
}

.text-input:hover,
.guided-input:hover,
.report-input:hover,
.discussion-input:hover,
.compact-plan-input:hover,
.plan-input:hover,
.program-input:hover,
select:hover {
  border-color: var(--mc-line-strong);
  background: #fff;
}

.field-label {
  color: var(--mc-ink-soft);
  font-size: 12px;
  font-weight: 730;
  letter-spacing: 0.015em;
}

.eyebrow {
  margin: 0 0 7px;
  color: var(--mc-forest);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.workspace-subhead {
  color: var(--mc-ink);
  font-size: 14px;
  font-weight: 760;
  letter-spacing: -0.025em;
  text-transform: none;
}

.empty-state,
.summary-empty,
.report-detail-empty {
  border: 1px dashed var(--mc-line-strong);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  min-height: 44px;
  border-radius: var(--mc-radius-xs);
  background: var(--mc-acid);
  color: var(--mc-night);
  font-weight: 800;
  padding: 12px 16px;
  transform: translateY(-140%);
  transition: transform 150ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

/* Brand */

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: inherit;
  text-decoration: none;
}

.brand-lockup > span:last-child {
  display: grid;
  gap: 2px;
}

.brand-lockup strong {
  font-size: 14px;
  font-weight: 760;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.brand-lockup small {
  opacity: 0.68;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(188, 232, 107, 0.28);
  border-radius: 9px;
  background: rgba(188, 232, 107, 0.08);
  color: var(--mc-acid);
}

.brand-mark svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.brand-mark circle {
  fill: currentColor;
  stroke: none;
}

/* Authentication */

.auth-screen {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  place-items: stretch;
  background: var(--mc-night);
  color: #f4f7f3;
  padding: clamp(20px, 3vw, 48px);
}

.auth-screen::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  mask-image: linear-gradient(90deg, #000, transparent 68%);
}

.auth-ambient {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.auth-orbit,
.auth-signal {
  position: absolute;
  display: block;
}

.auth-orbit {
  width: min(52vw, 760px);
  aspect-ratio: 1;
  border: 1px solid rgba(188, 232, 107, 0.13);
  border-radius: 50%;
}

.orbit-one {
  right: 36%;
  bottom: -50%;
}

.orbit-two {
  right: 53%;
  bottom: -34%;
  scale: 0.62;
}

.auth-signal {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(188, 232, 107, 0.45), transparent);
  transform: rotate(-22deg);
}

.signal-one {
  top: 30%;
  left: -8%;
  width: 56%;
}

.signal-two {
  bottom: 24%;
  left: 28%;
  width: 38%;
}

.auth-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1600px, 100%);
  min-height: calc(100svh - clamp(40px, 6vw, 96px));
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr);
  gap: clamp(54px, 8vw, 140px);
}

.auth-story {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.auth-brand {
  align-self: flex-start;
}

.auth-story-copy {
  max-width: 920px;
  margin: auto 0 54px;
}

.auth-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: rgba(239, 245, 240, 0.64);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.auth-kicker span {
  width: 34px;
  height: 1px;
  background: var(--mc-acid);
}

.auth-story-copy h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(58px, 7vw, 116px);
  font-weight: 560;
  letter-spacing: -0.072em;
  line-height: 0.88;
}

.auth-story-copy > p:last-child {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(239, 245, 240, 0.64);
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.55;
}

.auth-flow {
  position: relative;
  display: grid;
  margin: 0 0 28px;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
}

.auth-flow::before {
  position: absolute;
  top: 10px;
  right: 4%;
  left: 2%;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  content: "";
}

.auth-flow li {
  position: relative;
  display: grid;
  gap: 4px;
  padding-right: 12px;
}

.auth-flow li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 21px;
  height: 21px;
  margin-bottom: 11px;
  place-items: center;
  border: 1px solid rgba(188, 232, 107, 0.34);
  border-radius: 50%;
  background: var(--mc-night);
  color: var(--mc-acid);
  font-size: 10px;
  font-weight: 800;
}

.auth-flow strong {
  font-size: 14px;
  font-weight: 720;
}

.auth-flow small {
  color: rgba(239, 245, 240, 0.62);
  font-size: 11px;
}

.auth-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: auto;
}

.auth-proof span {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: rgba(239, 245, 240, 0.6);
  font-size: 10px;
  font-weight: 680;
  padding: 7px 10px;
}

.auth-panel-wrap {
  display: grid;
  width: min(430px, 100%);
  align-content: center;
  justify-self: end;
  gap: 13px;
}

.auth-panel {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--mc-radius-lg);
  background: #f7f7f2;
  box-shadow: var(--mc-shadow-lg);
  color: var(--mc-ink);
  padding: clamp(25px, 3vw, 38px);
}

.auth-security {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 40px;
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.auth-security span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mc-forest);
  box-shadow: 0 0 0 4px rgba(21, 95, 72, 0.1);
}

.auth-heading h2 {
  margin: 0;
  font-size: 34px;
  font-weight: 620;
  letter-spacing: -0.05em;
}

.auth-heading > p:last-child {
  margin: 9px 0 26px;
  color: var(--mc-muted);
  line-height: 1.5;
}

.auth-panel .field-label {
  display: block;
  margin: 13px 0 7px;
}

.auth-panel .text-input {
  width: 100%;
  min-height: 50px;
  background: #fff;
  padding: 0 13px;
}

.password-field {
  position: relative;
}

.password-field .text-input {
  padding-right: 86px;
}

#auth-password-toggle {
  position: absolute;
  top: 5px;
  right: 5px;
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--mc-muted);
  box-shadow: none;
  padding: 0 10px;
}

.auth-actions {
  gap: 8px;
  margin-top: 20px;
}

.auth-actions button {
  min-height: 50px;
}

.auth-help,
.auth-legal {
  color: var(--mc-muted);
  font-size: 11px;
  text-align: center;
}

.auth-legal {
  color: rgba(239, 245, 240, 0.6);
}

.auth-notice {
  color: var(--mc-rose);
}

.auth-notice:empty {
  display: none;
}

/* Application shell and navigation */

.app-shell {
  display: grid;
  width: 100%;
  min-height: 100svh;
  margin: 0 auto;
  grid-template-columns: minmax(236px, 268px) minmax(0, 1fr);
  grid-template-rows: 72px auto auto;
  gap: 24px;
  padding: 0 24px 48px;
  animation: none;
}

.app-navbar {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  min-height: 72px;
  margin: 0 -24px;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 72px);
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  background: rgba(17, 22, 18, 0.97);
  box-shadow: 0 8px 28px rgba(8, 13, 9, 0.12);
  padding: 0 max(24px, calc((100vw - 1720px) / 2));
  backdrop-filter: blur(18px);
}

.nav-brand {
  min-width: max-content;
  color: #f4f7f3;
}

.nav-brand .brand-mark {
  width: 38px;
  height: 38px;
}

.nav-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 18px;
}

.nav-primary,
.nav-utility {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
}

.nav-utility {
  justify-content: flex-end;
}

.top-action-button,
.nav-actions .top-action-button {
  min-height: 40px;
  border-color: transparent;
  border-radius: 7px;
  background: transparent;
  color: rgba(239, 245, 240, 0.6);
  box-shadow: none;
  font-size: 12px;
  font-weight: 680;
  padding: 0 11px;
}

.top-action-button:hover,
.nav-actions .top-action-button:hover {
  border-color: rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.055);
  color: #fff;
  box-shadow: none;
  transform: none;
}

.top-action-button.active,
.top-action-button[aria-current="page"] {
  border-color: rgba(188, 232, 107, 0.16);
  background: rgba(188, 232, 107, 0.1);
  color: var(--mc-acid);
}

.create-project-button,
.nav-actions .create-project-button {
  border-color: rgba(188, 232, 107, 0.22);
  color: #eef7df;
  padding-right: 13px;
  padding-left: 13px;
}

.create-project-button::before {
  content: "+";
  color: var(--mc-acid);
  font-size: 16px;
  font-weight: 500;
}

.bell-button {
  width: 38px;
  min-width: 38px;
  padding: 0 !important;
}

.bell-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

.invite-badge {
  background: var(--mc-acid);
  color: var(--mc-night);
}

.account-menu {
  position: relative;
  margin-left: 5px;
}

.account-menu > summary {
  list-style: none;
}

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

.nav-account {
  display: grid;
  min-width: 190px;
  min-height: 48px;
  grid-template-columns: 32px minmax(0, 1fr) 14px;
  grid-template-rows: auto;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
  color: #f5f8f4;
  cursor: pointer;
  padding: 6px 9px 6px 7px;
}

.nav-account:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.065);
}

.account-avatar {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 7px;
  background: var(--mc-acid);
  color: var(--mc-night);
  font-size: 11px;
  font-weight: 800;
}

.account-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.account-name,
.account-role {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-name {
  color: #f6f8f5;
  font-size: 11px;
  font-weight: 720;
}

.account-role {
  color: rgba(239, 245, 240, 0.62);
  font-size: 10px;
}

.account-chevron {
  width: 7px;
  height: 7px;
  border-right: 1px solid rgba(255, 255, 255, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--surface-transition);
}

.account-menu[open] .account-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

.account-menu-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 150;
  display: grid;
  width: 260px;
  gap: 3px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: var(--mc-shadow-lg);
  padding: 8px;
  color: var(--mc-ink);
  backdrop-filter: blur(18px);
}

.account-menu-context {
  display: grid;
  gap: 2px;
  margin-bottom: 5px;
  border-bottom: 1px solid var(--mc-line);
  padding: 8px 9px 12px;
}

.account-menu-context span {
  color: var(--mc-muted);
  font-size: 10px;
}

.account-menu-context strong {
  font-size: 13px;
}

.account-menu-panel .top-action-button,
.account-menu-panel .top-action-button:hover {
  width: 100%;
  min-height: 40px;
  justify-content: flex-start;
  border-color: transparent;
  background: transparent;
  color: var(--mc-ink-soft);
  font-size: 12px;
  padding: 0 10px;
}

.account-menu-panel .top-action-button:hover {
  background: var(--mc-surface-soft);
  color: var(--mc-ink);
}

.account-menu-panel .account-logout {
  margin-top: 5px;
  border-top: 1px solid var(--mc-line);
  border-radius: 0 0 7px 7px;
  color: var(--mc-rose);
}

.popover-wrap {
  position: relative;
}

.popover {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: var(--mc-shadow-lg);
  color: var(--mc-ink);
  backdrop-filter: blur(18px);
}

.nav-drawer-toggle,
.nav-drawer-backdrop,
.mobile-bottom-nav {
  display: none;
}

/* Daily workspace */

.sidebar {
  position: sticky;
  top: 96px;
  align-self: start;
  display: flex;
  max-height: calc(100svh - 120px);
  min-width: 0;
  grid-column: 1;
  grid-row: 2 / 4;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.sidebar .brand {
  display: none;
}

.project-box {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: var(--mc-surface-soft);
  color: var(--mc-ink);
  padding: 16px;
}

.project-box > .field-label {
  display: block;
  margin-bottom: 7px;
  color: var(--mc-muted);
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.project-select-row {
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 7px;
}

.project-box .text-input,
.project-box select {
  border-color: var(--mc-line);
  background: var(--mc-surface);
  color: var(--mc-ink);
  box-shadow: none;
}

.project-box .round-icon-button {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-forest);
  box-shadow: none;
}

.members-list {
  gap: 5px;
  margin-top: 10px;
}

.project-box .member-row,
.project-box .absence-row {
  border-color: transparent;
  border-radius: var(--mc-radius-xs);
  background: transparent;
  color: var(--mc-ink);
  padding: 7px 8px;
}

.project-box .member-row:hover,
.project-box .absence-row:hover {
  background: var(--mc-surface);
}

.project-box .user-chip {
  border-color: var(--mc-line);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
}

.project-box .member-row > span,
.project-box .absence-row span,
.project-box .absence-row p,
.project-box .availability-head span {
  color: var(--mc-muted);
}

.availability-center {
  margin-top: 14px;
  border-top: 1px solid var(--mc-line);
  padding-top: 13px;
}

.project-box .absence-form,
.project-box .absence-live-forecast,
.project-box .absence-ai-advice-output {
  border-color: var(--mc-line);
  background: var(--mc-surface);
  color: var(--mc-ink);
}

.project-delete {
  border-color: transparent;
  background: transparent;
  color: var(--mc-rose);
  box-shadow: none;
}

.days {
  display: grid;
  gap: 3px;
  overflow: auto;
  padding: 8px;
}

.day-card {
  min-height: 62px;
  border-color: transparent;
  border-radius: var(--mc-radius-xs);
  background: transparent;
  box-shadow: none;
  padding: 10px;
}

.day-card:hover {
  border-color: var(--mc-line);
  background: var(--mc-surface-soft);
  box-shadow: none;
}

.day-card.active {
  border-color: rgba(21, 95, 72, 0.16);
  background: var(--mc-mint);
  box-shadow: inset 3px 0 0 var(--mc-forest);
}

.day-card strong {
  font-size: 12px;
}

.day-card span,
.day-card em {
  color: var(--mc-muted);
  font-size: 10px;
}

.plan-panel,
.report-panel {
  min-width: 0;
  min-height: 0;
  height: auto;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.plan-panel {
  grid-column: 2;
  grid-row: 2;
  overflow: hidden;
}

.report-panel {
  grid-column: 2;
  grid-row: 3;
  overflow: visible;
}

.panel-header {
  min-height: 104px;
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  background: transparent;
  padding: 22px clamp(20px, 3vw, 38px);
}

.panel-header h2 {
  margin: 0;
  font-size: clamp(27px, 3vw, 42px);
  font-weight: 590;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.header-badges {
  align-self: start;
}

.plan-status-badge,
.item-status-pill,
.item-kind,
.my-task-priority {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 6px 9px;
  text-transform: uppercase;
}

.approval-bar {
  display: grid;
  gap: 13px;
  border-bottom: 1px solid var(--mc-line);
  background: var(--mc-surface-soft);
  padding: 14px clamp(20px, 3vw, 38px);
}

.approval-context {
  border-left: 2px solid var(--mc-forest);
  color: var(--mc-muted);
  font-size: 13px;
  line-height: 1.5;
  padding: 2px 0 2px 11px;
}

.approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.approval-actions button {
  min-height: 40px;
  font-size: 12px;
  padding: 0 11px;
}

.approval-more {
  position: relative;
}

.approval-more > summary {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
  cursor: pointer;
  font-size: 12px;
  font-weight: 720;
  list-style: none;
  padding: 0 12px;
}

.approval-more > summary::-webkit-details-marker {
  display: none;
}

.approval-more > summary::after {
  margin-left: 9px;
  content: "···";
  color: var(--mc-muted);
  letter-spacing: 0.08em;
}

.approval-more-menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  z-index: 60;
  display: grid;
  width: 270px;
  gap: 4px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-lg);
  padding: 7px;
}

.approval-more-menu button {
  width: 100%;
  justify-content: flex-start;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.approval-more-menu button:hover {
  background: var(--mc-surface-soft);
  box-shadow: none;
  transform: none;
}

.approval-more:not(:has(.approval-more-menu button:not(.hidden))) {
  display: none;
}

.plan-scroll {
  padding: 22px clamp(20px, 3vw, 38px) 36px;
}

.plan-outcome,
.day-manager-brief,
.attachment-section,
.plan-item,
.executor-report-form,
.manager-reports {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  box-shadow: none;
}

.plan-outcome {
  position: relative;
  overflow: hidden;
  background: var(--mc-mint);
}

.plan-outcome::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--mc-forest);
  content: "";
}

.item-summary {
  gap: 7px;
}

.item-summary > div {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  box-shadow: none;
}

.plan-items {
  gap: 9px;
}

.plan-item {
  padding: 17px 18px;
}

.plan-item:hover {
  border-color: var(--mc-line-strong);
  box-shadow: var(--mc-shadow-xs);
  transform: none;
}

.plan-item h3,
.plan-item-title {
  font-size: 16px;
  font-weight: 690;
  line-height: 1.38;
}

.item-children,
.item-readonly-details {
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.62;
}

.report-panel > .panel-header {
  min-height: 82px;
  padding-top: 19px;
  padding-bottom: 17px;
}

.report-panel > .panel-header h2 {
  font-size: 25px;
}

.report-panel .tool-section {
  padding: 18px clamp(20px, 3vw, 38px) 28px;
}

#report-section,
.manager-reports {
  flex: 0 0 auto;
}

.executor-report-form,
.manager-reports {
  padding: 18px;
}

.executor-report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.executor-report-form > .field-label,
.executor-report-form > .guided-input,
.executor-report-form > .report-input,
.executor-report-form > .text-input,
.executor-report-form > .actions {
  grid-column: auto;
}

.executor-report-form .guided-input,
.executor-report-form .report-input {
  min-height: 96px;
  background: #fff;
}

.manager-reports {
  min-height: 0;
}

.status-announcer {
  display: none !important;
}

.engine-feedback {
  margin: 14px 18px 0;
  padding: 11px 14px;
  border: 1px solid rgba(77, 101, 86, 0.26);
  border-radius: 12px;
  background: rgba(239, 246, 241, 0.96);
  color: #284334;
  font-size: 0.9rem;
}

.engine-feedback[data-kind="error"] {
  border-color: rgba(143, 72, 67, 0.34);
  background: rgba(250, 239, 237, 0.98);
  color: #743934;
}

/* Full-page routes */

.app-shell.admin-route,
.app-shell.plan-route,
.app-shell.program-route,
.app-shell.report-detail-route,
.app-shell.analysis-route,
.app-shell.manager-route,
.app-shell.my-tasks-route,
.app-shell.profile-route {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 72px auto;
}

.app-shell.admin-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .admin-page, input, .attachment-modal),
.app-shell.report-detail-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .report-detail-page, input, .attachment-modal),
.app-shell.analysis-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .analysis-page, input, .attachment-modal),
.app-shell.manager-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .manager-page, input, .attachment-modal),
.app-shell.my-tasks-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .my-tasks-page, input, .attachment-modal),
.app-shell.profile-route > :not(.app-navbar, .mobile-bottom-nav, .nav-drawer-backdrop, .profile-page, input, .attachment-modal) {
  grid-column: 1;
}

.admin-page,
.profile-page,
.report-detail-page,
.analysis-page,
.manager-page,
.my-tasks-page {
  width: 100%;
  min-width: 0;
  grid-column: 1;
  grid-row: 2;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.manager-page > .panel-header,
.my-tasks-page > .panel-header,
.analysis-page > .panel-header,
.report-detail-page > .panel-header,
.admin-page > .panel-header,
.profile-page > .panel-header {
  width: min(1440px, 100%);
  min-height: 126px;
  margin: 0 auto;
  border-bottom: 0;
  padding: 30px 0 25px;
}

.manager-page > .panel-header h2,
.my-tasks-page > .panel-header h2,
.analysis-page > .panel-header h2,
.report-detail-page > .panel-header h2,
.admin-page > .panel-header h2,
.profile-page > .panel-header h2 {
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 560;
  letter-spacing: -0.052em;
  line-height: 1.1;
}

.manager-subtitle,
.analysis-subtitle,
.report-detail-subtitle {
  margin-top: 10px;
  color: var(--mc-muted);
  font-size: 13px;
}

.manager-content,
.my-tasks-content,
.analysis-content,
.report-detail-content,
.admin-content,
.profile-content {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 0 48px;
}

.manager-actions,
.analysis-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.manager-actions button,
.analysis-actions button {
  min-height: 42px;
}

.my-tasks-date-control {
  min-width: 154px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  padding: 10px 13px;
}

/* Manager cockpit */

.manager-command-layout,
.manager-cockpit-layout {
  display: grid;
  gap: 14px;
}

.manager-executive-brief {
  position: relative;
  display: grid;
  overflow: hidden;
  gap: 24px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--mc-radius-lg);
  background: var(--mc-night);
  box-shadow: 0 20px 55px rgba(9, 14, 10, 0.13);
  color: #f2f6f2;
  padding: clamp(25px, 3vw, 42px);
}

.manager-executive-brief::after {
  position: absolute;
  top: -110px;
  right: -70px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(188, 232, 107, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.manager-executive-copy,
.manager-executive-grid,
.manager-next-actions,
.manager-executive-strip {
  position: relative;
  z-index: 1;
}

.manager-executive-copy > span,
.manager-section-head span,
.manager-decision-head span,
.manager-decision-card-head span {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.manager-executive-copy > span {
  color: var(--mc-acid);
}

.manager-executive-copy h3 {
  max-width: 820px;
  margin: 8px 0 12px;
  color: #f5f8f4;
  font-size: clamp(31px, 4vw, 56px);
  font-weight: 570;
  letter-spacing: -0.048em;
  line-height: 1.1;
}

.manager-executive-copy p {
  max-width: 880px;
  margin: 0;
  color: rgba(239, 245, 240, 0.65);
  font-size: 15px;
  line-height: 1.56;
}

.manager-executive-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr 0.85fr;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.manager-executive-grid article {
  display: grid;
  min-height: 132px;
  align-content: start;
  gap: 8px;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 22px 24px 22px 0;
}

.manager-executive-grid article + article {
  padding-left: 24px;
}

.manager-executive-grid article:last-child {
  border-right: 0;
}

.manager-executive-grid article > span {
  color: rgba(239, 245, 240, 0.64);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.manager-executive-grid article strong {
  color: #f5f8f4;
  font-size: 16px;
  font-weight: 640;
  line-height: 1.38;
}

.manager-executive-grid article em {
  color: rgba(239, 245, 240, 0.7);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.manager-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.manager-next-actions button {
  min-height: 44px;
  border-color: rgba(255, 255, 255, 0.12);
  background: transparent;
  color: rgba(244, 248, 244, 0.7);
  box-shadow: none;
}

.manager-next-actions button:first-child {
  border-color: var(--mc-acid);
  background: var(--mc-acid);
  color: var(--mc-night);
}

.manager-next-actions button:hover {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}

.manager-next-actions button:first-child:hover {
  border-color: #c7ef7e;
  background: #c7ef7e;
  color: var(--mc-night);
}

.manager-executive-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, 0.08);
}

.manager-executive-strip > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-start;
  gap: 8px;
  border: 0;
  border-radius: 0;
  background: var(--mc-night);
  padding: 9px 0;
}

.manager-executive-strip strong {
  color: var(--mc-acid);
  font-size: 18px;
}

.manager-executive-strip span {
  color: rgba(239, 245, 240, 0.64);
  font-size: 10px;
}

.manager-decision-queue,
.manager-command-section,
.manager-detail-group,
.manager-safety-note {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.manager-decision-queue,
.manager-command-section {
  padding: 19px;
}

.manager-decision-head strong,
.manager-section-head strong {
  font-size: 16px;
}

.manager-decision-head p {
  color: var(--mc-muted);
}

.manager-project-decisions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(70, 125, 104, 0.26);
  border-radius: var(--mc-radius-sm);
  background: rgba(223, 235, 226, 0.48);
  margin-bottom: 16px;
  padding: 13px 14px;
}

.manager-project-decisions > div {
  display: grid;
  gap: 3px;
}

.manager-project-decisions span {
  color: var(--mc-forest-dark);
  font-size: 11px;
  font-weight: 760;
  text-transform: uppercase;
}

.manager-project-decisions strong {
  font-size: 15px;
}

.manager-project-decisions p {
  margin: 0;
  color: var(--mc-muted);
  font-size: 12px;
}

.manager-project-decisions button {
  flex: 0 0 auto;
  min-height: 40px;
}

.manager-decision-card-list,
.manager-item-list {
  gap: 7px;
}

.manager-decision-card,
.manager-item,
.manager-signal {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  box-shadow: none;
}

.manager-decision-card.high,
.manager-item.high,
.manager-signal.high {
  border-left: 3px solid var(--mc-rose);
}

.manager-decision-card.medium,
.manager-item.medium,
.manager-signal.medium {
  border-left: 3px solid var(--mc-amber);
}

.manager-decision-card.ok,
.manager-item.ok,
.manager-signal.ok {
  border-left: 3px solid var(--mc-forest);
}

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

.manager-command-section > .workspace-subhead {
  margin-bottom: 13px;
}

.manager-item {
  padding: 13px;
}

.manager-item strong {
  font-size: 14px;
}

.manager-item p,
.manager-item span {
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.52;
}

.manager-detail-group,
.manager-safety-note {
  overflow: hidden;
}

.manager-detail-group > summary,
.manager-safety-note > summary {
  min-height: 52px;
  cursor: pointer;
  color: var(--mc-ink-soft);
  font-size: 12px;
  font-weight: 720;
  padding: 16px 18px;
}

.manager-detail-group[open] > summary,
.manager-safety-note[open] > summary {
  border-bottom: 1px solid var(--mc-line);
}

.manager-signal-grid {
  gap: 8px;
}

.manager-signal {
  min-height: 105px;
  padding: 14px;
}

.manager-signal > span,
.manager-signal > em {
  color: var(--mc-muted);
  font-size: 11px;
}

.manager-signal > strong {
  font-size: 24px;
  font-weight: 620;
}

.manager-protocol-draft {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  font-size: 12px;
}

.manager-call-list em {
  overflow-wrap: anywhere;
}

/* Personal workspace and portfolio */

.my-tasks-layout {
  display: grid;
  gap: 14px;
}

.my-tasks-section {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 10px 0;
}

.my-tasks-section > .workspace-subhead {
  margin-bottom: 14px;
}

.project-entry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  gap: 9px;
}

.workspace-project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(390px, 560px));
  gap: 10px;
}

.project-entry-card,
.workspace-project-card,
.analysis-metric-card,
.my-task-card {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  box-shadow: none;
}

.project-entry-card {
  min-height: 122px;
  padding: 15px;
  transition: border-color var(--surface-transition), background var(--surface-transition);
}

.project-entry-card:hover {
  border-color: rgba(21, 95, 72, 0.36);
  background: #fff;
  box-shadow: none;
  transform: none;
}

.project-entry-main strong {
  font-size: 16px;
  font-weight: 680;
}

.project-entry-main span,
.workspace-project-card-head span,
.workspace-project-focus span {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.project-entry-meta span,
.workspace-project-meta span {
  border-color: var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 10px;
  padding: 5px 7px;
}

.analysis-metric-grid {
  gap: 8px;
}

.analysis-metric-card {
  min-height: 108px;
  padding: 15px;
}

.analysis-metric-card::before {
  display: none;
}

.analysis-metric-card > span,
.analysis-metric-card > em {
  color: var(--mc-muted);
  font-size: 11px;
  font-style: normal;
}

.analysis-metric-card > strong {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.045em;
}

.workspace-project-card {
  padding: 17px;
}

.workspace-project-card:hover {
  border-color: var(--mc-line-strong);
  box-shadow: none;
  transform: none;
}

.workspace-project-card.medium {
  border-left: 3px solid var(--mc-amber);
  background: var(--mc-surface);
}

.workspace-project-card.high {
  border-left: 3px solid var(--mc-rose);
  background: var(--mc-surface);
}

.workspace-project-card-head strong {
  font-size: 17px;
}

.workspace-project-progress {
  border-color: var(--mc-line);
  background: var(--mc-surface-soft);
}

.bonus-progress-track {
  background: #dce2dc;
}

.bonus-progress-required {
  background: var(--mc-forest);
}

.bonus-progress-optional {
  background: var(--mc-acid);
}

.workspace-project-focus strong {
  font-size: 15px;
}

.workspace-project-card > p {
  color: var(--mc-muted);
  font-size: 12px;
}

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

.my-task-card {
  overflow: hidden;
}

.my-task-card-body {
  padding: 16px;
}

.my-task-card h3 {
  font-size: 16px;
  font-weight: 660;
  line-height: 1.38;
}

.my-task-card p,
.my-task-meta {
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.my-task-card.reminder {
  border-left: 3px solid var(--mc-amber);
  background: var(--mc-surface);
}

.my-task-priority {
  background: var(--mc-night);
  color: var(--mc-acid);
}

.loading-skeleton {
  width: min(1080px, 100%);
  min-height: 260px;
  margin: 0 auto;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: none;
  padding: 20px;
}

.loading-skeleton > span {
  color: var(--mc-muted);
  font-size: 11px;
}

.loading-skeleton-grid i {
  border-radius: var(--mc-radius-xs);
  background: linear-gradient(90deg, #ecefe9, #f7f8f4 45%, #ecefe9 80%);
  background-size: 220% 100%;
  animation: mc-shimmer 1.3s linear infinite;
}

@keyframes mc-shimmer {
  to { background-position: -220% 0; }
}

/* Planning and program studios */

.app-shell.plan-route .report-panel,
.app-shell.program-route .report-panel {
  width: 100%;
  height: auto;
  min-height: 0;
  grid-column: 1;
  grid-row: 2;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-shell.plan-route .report-panel > .panel-header,
.app-shell.program-route .report-panel > .panel-header {
  width: min(1440px, 100%);
  min-height: 126px;
  margin: 0 auto;
  border: 0;
  background: transparent;
  padding: 30px 0 25px;
}

.app-shell.plan-route .report-panel > .panel-header h2,
.app-shell.program-route .report-panel > .panel-header h2 {
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 560;
  letter-spacing: -0.052em;
  line-height: 1.1;
}

.app-shell.plan-route .report-panel .tool-section,
.app-shell.program-route .report-panel .tool-section {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 0 48px;
}

.plan-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
  align-items: start;
  gap: 14px;
}

.program-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  align-items: start;
  gap: 14px;
}

.plan-editor-pane,
.plan-support-pane,
.program-editor-pane,
.program-chat-pane,
.program-calls-panel {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.plan-editor-pane,
.program-editor-pane,
.program-chat-pane,
.program-calls-panel {
  padding: 20px;
}

.plan-support-pane {
  position: sticky;
  top: 92px;
  max-height: calc(100svh - 112px);
  overflow: auto;
  padding: 10px;
}

.plan-studio-head h3 {
  margin: 3px 0 0;
  font-size: 27px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.plan-editor-save-state {
  border: 1px solid rgba(21, 95, 72, 0.16);
  border-radius: 999px;
  background: var(--mc-mint);
  color: var(--mc-forest-dark);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.07em;
  padding: 6px 9px;
  text-transform: uppercase;
}

.plan-command-bar {
  position: sticky;
  top: 84px;
  z-index: 20;
  gap: 7px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: rgba(255, 254, 250, 0.96);
  box-shadow: 0 10px 28px rgba(18, 23, 19, 0.08);
  padding: 8px;
  backdrop-filter: blur(15px);
}

.plan-date-field {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
}

.plan-editor-summary {
  gap: 6px;
}

.plan-editor-summary > div {
  border: 0;
  border-right: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 11px 14px;
}

.plan-editor-summary > div:last-child {
  border-right: 0;
}

.plan-editor-summary span {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.plan-editor-summary strong {
  font-size: 21px;
  font-weight: 600;
}

.plan-studio-card,
.plan-chat-pane,
.plan-registry-panel,
.plan-markdown-drawer {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  box-shadow: none;
}

.plan-studio-card {
  padding: 16px;
}

.plan-studio-card.primary-card {
  border-color: rgba(21, 95, 72, 0.32);
  background: var(--mc-surface);
  box-shadow: inset 3px 0 0 var(--mc-forest);
}

.plan-studio-card.primary-card > .plan-card-head .workspace-subhead::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--mc-forest);
  content: "";
}

.plan-editor-item,
.plan-subitem-editor,
.registry-item {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  box-shadow: none;
}

.plan-editor-item {
  padding: 12px;
}

.plan-editor-item:hover {
  border-color: var(--mc-line-strong);
  background: #fff;
}

.plan-editor-item .text-input,
.plan-editor-item textarea,
.plan-subitem-editor .text-input,
.plan-subitem-editor textarea {
  background: #fff;
}

.plan-item-actions-menu > summary,
.plan-item-drag,
.plan-subitem-drag {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
}

.plan-chat-pane,
.plan-registry-panel {
  padding: 14px;
}

.discussion-messages {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-canvas-raised);
}

.discussion-message {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
}

.discussion-message.manager,
.discussion-message.user {
  border-color: rgba(21, 95, 72, 0.18);
  background: var(--mc-mint);
}

.plan-registry-grid details,
.plan-markdown-drawer {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
}

.plan-registry-grid summary {
  min-height: 42px;
  color: var(--mc-ink-soft);
  font-size: 11px;
}

.markdown-fallback-toggle button {
  min-height: 40px;
  background: transparent;
  box-shadow: none;
  color: var(--mc-muted);
}

.mobile-plan-support-toggle {
  display: none;
}

.mobile-plan-support-tabs {
  display: none;
}

/* Program surface */

.program-context {
  border: 1px solid var(--mc-line);
  border-left: 3px solid var(--mc-forest);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
  padding: 15px 17px;
}

.program-onboarding {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.55fr) auto;
  align-items: center;
  gap: 22px;
}

.program-onboarding > div {
  display: grid;
  gap: 5px;
}

.program-onboarding > div > span {
  color: var(--mc-forest);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.program-onboarding > div > strong {
  font-size: 16px;
  line-height: 1.3;
}

.program-onboarding > div > p {
  margin: 0;
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.program-onboarding ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  list-style: none;
}

.program-onboarding li {
  display: grid;
  min-height: 72px;
  align-content: start;
  gap: 4px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  padding: 9px;
}

.program-onboarding li b {
  font-size: 11px;
}

.program-onboarding li span {
  color: var(--mc-muted);
  font-size: 10px;
  line-height: 1.4;
}

.program-calls-panel {
  margin-bottom: 14px;
}

.program-calls-panel > summary,
.program-chat-pane > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.program-calls-panel > summary::-webkit-details-marker,
.program-chat-pane > summary::-webkit-details-marker {
  display: none;
}

.program-calls-panel > summary::after,
.program-chat-pane > summary::after {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  color: var(--mc-forest);
  content: "+";
  font-size: 16px;
}

.program-calls-panel[open] > summary::after,
.program-chat-pane[open] > summary::after {
  content: "−";
}

.program-calls-panel > summary > span,
.program-chat-pane > summary > span,
.program-editor-toolbar .field-label,
.program-chat-pane > .workspace-subhead {
  color: var(--mc-ink);
  font-size: 13px;
  font-weight: 740;
  text-transform: none;
}

.program-calls-panel > summary > small,
.program-chat-pane > summary > small {
  margin-left: auto;
  color: var(--mc-muted);
  font-size: 11px;
}

.program-calls-body,
.program-chat-body {
  display: grid;
  gap: 11px;
  margin-top: 13px;
  border-top: 1px solid var(--mc-line);
  padding-top: 13px;
}

.call-row {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
}

.call-form {
  border: 1px dashed var(--mc-line-strong);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  padding: 12px;
}

.program-weekend-days {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  padding: 11px;
}

.program-weekend-days label {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
}

.program-input {
  min-height: 640px;
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: #fff;
  font-family: "Noto Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  line-height: 1.65;
}

.program-meta {
  min-height: 22px;
  color: var(--mc-muted);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding: 5px 1px 0;
}

.program-preview,
.markdown-view {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
  line-height: 1.68;
}

.markdown-view h1,
.markdown-view h2,
.markdown-view h3,
.markdown-view h4 {
  color: var(--mc-ink);
  letter-spacing: -0.04em;
}

.markdown-view code {
  border-radius: 4px;
  background: var(--mc-surface-quiet);
  color: var(--mc-forest-dark);
}

.markdown-view pre {
  border: 1px solid rgba(188, 232, 107, 0.12);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-night-soft);
  color: #eef4ef;
}

.program-chat-pane {
  position: sticky;
  top: 92px;
  height: max-content;
  max-height: calc(100svh - 112px);
  overflow: auto;
}

/* File controls */

.file-picker {
  position: relative;
  display: flex;
  min-height: 46px;
  align-items: center;
  gap: 9px;
  border: 1px dashed var(--mc-line-strong);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  padding: 5px;
}

.file-input-native {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.file-picker-action {
  display: inline-flex;
  min-height: 35px;
  flex: 0 0 auto;
  align-items: center;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 720;
  padding: 0 11px;
}

.file-picker > span {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-input-native:focus-visible + .file-picker-action {
  border-color: var(--mc-forest);
  box-shadow: var(--mc-focus);
}

/* Analytics, profile, administration */

.analysis-section,
.profile-card,
.user-create-panel,
.admin-user-row {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.analysis-section {
  padding: 19px;
}

.analysis-section > .workspace-subhead {
  margin-bottom: 14px;
}

.analysis-details-group,
.analysis-detail-group {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
}

.analysis-details-group summary,
.analysis-detail-group summary {
  min-height: 52px;
  color: var(--mc-ink-soft);
  font-size: 11px;
  font-weight: 720;
  padding: 16px 18px;
}

.analysis-details-group[open] summary,
.analysis-detail-group[open] summary {
  border-bottom: 1px solid var(--mc-line);
}

.profile-content,
.admin-content {
  display: grid;
  gap: 13px;
}

.profile-card,
.user-create-panel {
  padding: 19px;
}

.profile-row {
  border-bottom-color: var(--mc-line);
}

.profile-row span {
  color: var(--mc-muted);
}

.user-create-panel {
  gap: 8px;
}

.admin-user-row {
  padding: 13px;
}

/* Modals */

.attachment-modal {
  background: rgba(7, 11, 8, 0.7);
  backdrop-filter: blur(9px);
}

.attachment-modal-panel {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--mc-radius-lg);
  background: var(--mc-surface);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.34);
}

.attachment-modal-header {
  border-bottom: 1px solid var(--mc-line);
  background: var(--mc-surface-soft);
  padding: 13px 15px;
}

.panel-header::before {
  display: none;
}

/* Responsive composition */

@media (max-width: 1320px) {
  body.nav-drawer-open {
    overflow: hidden;
  }

  .app-navbar {
    z-index: 180;
    grid-template-columns: 44px auto minmax(0, 1fr);
    gap: 12px;
  }

  .nav-drawer-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-color: rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: none;
    color: #f5f8f4;
    padding: 0;
  }

  .nav-menu-icon,
  .nav-menu-icon::before,
  .nav-menu-icon::after {
    background: currentColor;
  }

  .nav-actions {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 180;
    display: flex;
    width: min(350px, calc(100vw - 30px));
    height: 100dvh;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
    overflow-y: auto;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--mc-night);
    box-shadow: 26px 0 70px rgba(0, 0, 0, 0.32);
    padding: calc(env(safe-area-inset-top, 0px) + 24px) 15px 24px;
    transform: translateX(calc(-100% - 24px));
    transition: transform 180ms ease;
    pointer-events: none;
  }

  .nav-actions::before {
    display: block;
    margin: 0 5px -5px;
    color: rgba(239, 245, 240, 0.62);
    content: "Рабочее пространство";
    font-size: 10px;
    font-weight: 780;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .app-shell.nav-drawer-open .nav-actions {
    transform: translateX(0);
    pointer-events: auto;
  }

  .nav-primary,
  .nav-utility {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }

  .nav-utility {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 17px;
  }

  .nav-actions .top-action-button,
  .nav-actions .top-action-button:hover,
  .nav-actions .popover-wrap {
    width: 100%;
  }

  .nav-actions .top-action-button,
  .nav-actions .top-action-button:hover {
    min-height: 46px;
    justify-content: flex-start;
    border-color: rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.035);
    color: rgba(244, 248, 244, 0.72);
    padding: 0 12px;
  }

  .nav-actions .top-action-button.active {
    border-color: rgba(188, 232, 107, 0.16);
    background: rgba(188, 232, 107, 0.1);
    color: var(--mc-acid);
  }

  .bell-button {
    width: 100% !important;
  }

  .bell-button::after {
    content: "Приглашения";
  }

  .account-menu {
    width: 100%;
    margin: 7px 0 0;
  }

  .nav-account {
    width: 100%;
    min-width: 0;
  }

  .account-menu-panel {
    position: static;
    width: 100%;
    margin-top: 6px;
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: none;
    color: #fff;
  }

  .account-menu-context {
    border-color: rgba(255, 255, 255, 0.08);
  }

  .account-menu-context span,
  .account-menu-context strong {
    color: rgba(244, 248, 244, 0.58);
  }

  .account-menu-panel .top-action-button,
  .account-menu-panel .top-action-button:hover {
    border-color: transparent;
    background: transparent;
    color: rgba(244, 248, 244, 0.66);
  }

  .app-navbar .popover {
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 7px;
    border-color: rgba(255, 255, 255, 0.1);
    background: var(--mc-night-soft);
    box-shadow: none;
    color: #fff;
  }

  .nav-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 160;
    display: block;
    background: rgba(5, 9, 6, 0.62);
    backdrop-filter: blur(4px);
  }

  .manager-content,
  .my-tasks-content,
  .analysis-content,
  .report-detail-content,
  .admin-content,
  .profile-content,
  .manager-page > .panel-header,
  .my-tasks-page > .panel-header,
  .analysis-page > .panel-header,
  .report-detail-page > .panel-header,
  .admin-page > .panel-header,
  .profile-page > .panel-header,
  .app-shell.plan-route .report-panel > .panel-header,
  .app-shell.program-route .report-panel > .panel-header,
  .app-shell.plan-route .report-panel .tool-section,
  .app-shell.program-route .report-panel .tool-section {
    padding-right: 8px;
    padding-left: 8px;
  }
}

@media (max-width: 1080px) {
  .app-shell {
    grid-template-columns: minmax(220px, 248px) minmax(0, 1fr);
  }

  .manager-executive-grid,
  .manager-command-grid,
  .project-entry-grid {
    grid-template-columns: 1fr;
  }

  .manager-executive-grid article,
  .manager-executive-grid article + article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 17px 0;
  }

  .manager-executive-grid article:last-child {
    border-bottom: 0;
  }

  .plan-workspace-grid,
  .program-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-support-pane,
  .program-chat-pane {
    position: static;
    max-height: none;
  }

  .program-onboarding {
    grid-template-columns: 1fr;
  }

  .program-onboarding ol {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    overflow-x: auto;
    padding-bottom: 5px;
  }

  .workspace-project-grid,
  .my-task-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 14px;
  }

  button,
  .text-input,
  .guided-input,
  .report-input,
  .discussion-input,
  .compact-plan-input,
  select {
    min-height: 46px;
  }

  .app-shell,
  .app-shell.admin-route,
  .app-shell.plan-route,
  .app-shell.program-route,
  .app-shell.report-detail-route,
  .app-shell.analysis-route,
  .app-shell.manager-route,
  .app-shell.my-tasks-route,
  .app-shell.profile-route {
    --mobile-navbar-height: calc(env(safe-area-inset-top, 0px) + 62px);
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 9px;
    min-height: auto;
    padding: calc(var(--mobile-navbar-height) + 8px) 8px calc(env(safe-area-inset-bottom, 0px) + 82px);
  }

  .app-navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 180;
    min-height: var(--mobile-navbar-height);
    margin: 0;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: calc(env(safe-area-inset-top, 0px) + 7px) 9px 7px;
  }

  .nav-brand {
    min-width: 0;
  }

  .nav-brand .brand-mark {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .nav-brand small {
    display: none;
  }

  .nav-brand strong {
    overflow: hidden;
    max-width: 170px;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-bottom-nav {
    position: fixed;
    right: 7px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 7px);
    left: 7px;
    z-index: 140;
    display: grid;
    min-height: 66px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 17px;
    background: rgba(17, 22, 18, 0.97);
    box-shadow: 0 16px 40px rgba(7, 11, 8, 0.24);
    padding: 4px;
    backdrop-filter: blur(18px);
  }

  .mobile-bottom-nav button {
    display: grid;
    min-width: 0;
    min-height: 56px;
    grid-template-rows: 22px auto;
    place-items: center;
    gap: 3px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    box-shadow: none;
    color: rgba(239, 245, 240, 0.64);
    padding: 4px 2px;
  }

  .mobile-bottom-nav button:hover,
  .mobile-bottom-nav button.active,
  .mobile-bottom-nav button[aria-current="page"] {
    background: rgba(188, 232, 107, 0.11);
    color: var(--mc-acid);
    box-shadow: none;
    transform: none;
  }

  .mobile-bottom-nav button svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
  }

  .mobile-bottom-nav button > span {
    color: inherit;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.1;
  }

  .sidebar,
  .plan-panel,
  .report-panel,
  .admin-page,
  .profile-page,
  .report-detail-page,
  .analysis-page,
  .manager-page,
  .my-tasks-page,
  .app-shell.plan-route .report-panel,
  .app-shell.program-route .report-panel {
    width: 100%;
    min-height: 0;
    grid-column: 1;
    grid-row: auto;
  }

  .plan-panel { order: 1; }
  .report-panel { order: 2; }
  .sidebar {
    position: static;
    order: 3;
    max-height: 420px;
  }

  .manager-page,
  .my-tasks-page,
  .analysis-page,
  .report-detail-page,
  .admin-page,
  .profile-page,
  .app-shell.plan-route .report-panel,
  .app-shell.program-route .report-panel {
    order: 1;
  }

  .panel-header,
  .manager-page > .panel-header,
  .my-tasks-page > .panel-header,
  .analysis-page > .panel-header,
  .report-detail-page > .panel-header,
  .admin-page > .panel-header,
  .profile-page > .panel-header,
  .app-shell.plan-route .report-panel > .panel-header,
  .app-shell.program-route .report-panel > .panel-header {
    min-height: auto;
    margin: 0;
    padding: 18px 11px 14px;
  }

  .panel-header h2,
  .manager-page > .panel-header h2,
  .my-tasks-page > .panel-header h2,
  .analysis-page > .panel-header h2,
  .report-detail-page > .panel-header h2,
  .admin-page > .panel-header h2,
  .profile-page > .panel-header h2,
  .app-shell.plan-route .report-panel > .panel-header h2,
  .app-shell.program-route .report-panel > .panel-header h2 {
    font-size: 33px;
    letter-spacing: -0.045em;
  }

  .manager-content,
  .my-tasks-content,
  .analysis-content,
  .report-detail-content,
  .admin-content,
  .profile-content,
  .app-shell.plan-route .report-panel .tool-section,
  .app-shell.program-route .report-panel .tool-section {
    padding: 0 0 24px;
  }

  .manager-actions,
  .analysis-actions {
    width: 100%;
  }

  .manager-actions button,
  .analysis-actions button {
    flex: 1;
  }

  .approval-bar,
  .plan-scroll,
  .report-panel .tool-section {
    padding-right: 12px;
    padding-left: 12px;
  }

  .approval-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .approval-actions > button,
  .approval-more > summary {
    min-height: 46px;
  }

  .approval-more-menu {
    position: absolute;
    right: 0;
    left: auto;
    width: min(290px, calc(100vw - 40px));
  }

  .executor-report-form {
    grid-template-columns: 1fr;
  }

  .manager-executive-brief {
    border-radius: var(--mc-radius);
    padding: 22px 17px;
  }

  .manager-executive-copy h3 {
    font-size: 34px;
  }

  .manager-executive-strip {
    grid-template-columns: 1fr;
  }

  .manager-next-actions button {
    flex: 1 1 calc(50% - 7px);
  }

  .manager-decision-queue,
  .manager-command-section,
  .my-tasks-section,
  .analysis-section {
    border-radius: var(--mc-radius-sm);
    padding: 14px;
  }

  .project-entry-main,
  .workspace-project-card-head {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .project-entry-main button,
  .workspace-project-actions button {
    width: 100%;
  }

  .plan-editor-pane,
  .plan-support-pane,
  .program-editor-pane,
  .program-chat-pane,
  .program-calls-panel {
    border-radius: var(--mc-radius-sm);
    padding: 12px;
  }

  .plan-workspace-grid,
  .program-workspace-grid {
    gap: 8px;
  }

  .plan-editor-pane {
    display: flex;
    flex-direction: column;
  }

  .plan-command-bar {
    position: static;
    top: auto;
    order: initial;
    grid-template-columns: minmax(0, 1fr) auto;
    border-radius: var(--mc-radius-sm);
    backdrop-filter: none;
  }

  #save-plan {
    position: fixed;
    right: 8px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 80px);
    left: 8px;
    z-index: 135;
    width: auto;
    min-height: 48px;
    grid-column: auto;
    box-shadow: 0 10px 28px rgba(21, 95, 72, 0.28);
  }

  .mobile-support-open #save-plan {
    display: none;
  }

  .plan-editor-pane {
    padding-bottom: 68px;
  }

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

  .plan-editor-summary > div {
    padding: 8px 4px;
    text-align: center;
  }

  .plan-editor-summary span {
    font-size: 10px;
  }

  .plan-editor-summary strong {
    font-size: 18px;
  }

  .mobile-plan-support-toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    border-color: rgba(21, 95, 72, 0.18);
    background: var(--mc-mint);
    color: var(--mc-forest-dark);
  }

  .mobile-plan-support-toggle::after {
    content: "+";
    font-size: 18px;
  }

  .mobile-support-open .mobile-plan-support-toggle::after {
    content: "−";
  }

  .plan-support-pane .mobile-plan-support-tabs,
  .plan-support-pane .plan-chat-pane,
  .plan-support-pane .plan-registry-panel {
    display: none;
    margin-top: 9px;
  }

  .mobile-support-open .plan-support-pane .mobile-plan-support-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    border: 1px solid rgba(42, 64, 54, 0.09);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.34);
    padding: 4px;
  }

  .mobile-plan-support-tabs button {
    min-width: 0;
    min-height: 40px;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--mc-muted);
    font-size: 11px;
    padding: 7px 8px;
  }

  .mobile-plan-support-tabs button[aria-selected="true"] {
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 1px 4px rgba(24, 43, 34, 0.07);
    color: var(--mc-ink-soft);
  }

  .mobile-support-open[data-mobile-support-view="chat"] .plan-support-pane .plan-chat-pane {
    display: flex;
  }

  .mobile-support-open[data-mobile-support-view="chat"] .plan-support-pane .plan-registry-panel,
  .mobile-support-open[data-mobile-support-view="archive"] .plan-support-pane .plan-chat-pane {
    display: none;
  }

  .mobile-support-open[data-mobile-support-view="archive"] .plan-support-pane .plan-registry-panel {
    display: grid;
    overflow: hidden;
    background: rgba(250, 252, 249, 0.94);
  }

  .program-onboarding ol {
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .program-onboarding li {
    min-height: auto;
    grid-template-columns: 68px 1fr;
    align-items: center;
  }

  .program-calls-panel > summary > small,
  .program-chat-pane > summary > small {
    display: none;
  }

  .program-input,
  .program-preview {
    min-height: 420px;
    max-height: none;
  }

  .program-weekend-days {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

}

@media (min-width: 601px) and (max-width: 900px) {
  .auth-screen {
    overflow: auto;
    padding: 28px;
  }

  .auth-layout {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .auth-story-copy {
    margin: 44px 0 20px;
  }

  .auth-story-copy h1 {
    max-width: 720px;
    font-size: clamp(52px, 8.5vw, 68px);
    line-height: 0.92;
  }

  .auth-story-copy > p:last-child {
    max-width: 700px;
    margin-top: 18px;
    font-size: 16px;
  }

  .auth-flow,
  .auth-proof {
    display: none;
  }

  .auth-panel-wrap {
    width: min(100%, 520px);
    justify-self: start;
  }
}

@media (max-width: 600px) {
  .auth-screen {
    overflow: auto;
    padding: 17px;
  }

  .auth-layout {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .auth-story-copy {
    margin: 46px 0 24px;
  }

  .auth-story-copy h1 {
    font-size: clamp(42px, 13vw, 58px);
    line-height: 0.94;
  }

  .auth-story-copy > p:last-child {
    margin-top: 19px;
    font-size: 14px;
  }

  .auth-flow,
  .auth-proof {
    display: none;
  }

  .auth-panel-wrap {
    justify-self: stretch;
  }

  .auth-panel {
    border-radius: var(--mc-radius-lg);
    padding: 24px 19px;
  }

  .auth-security {
    margin-bottom: 28px;
  }

  .auth-heading h2 {
    font-size: 30px;
  }

  .approval-actions {
    grid-template-columns: minmax(0, 1fr) auto;
  }

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

/* Product shell v3: the day is a work canvas, context is requested explicitly. */

.app-shell:not(.admin-route):not(.plan-route):not(.program-route):not(.report-detail-route):not(.analysis-route):not(.manager-route):not(.my-tasks-route):not(.profile-route) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 72px auto auto;
  gap: 0;
  padding: 0 clamp(24px, 4vw, 64px) 72px;
}

.day-context {
  display: grid;
  width: min(1440px, 100%);
  margin: 0 auto;
  grid-column: 1;
  grid-row: 2;
  gap: 18px;
  border-bottom: 1px solid var(--mc-line);
  padding: 26px 0 20px;
}

.day-context-project,
.day-context-project > div,
.day-context-timeline {
  min-width: 0;
}

.day-context-project {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.day-context-project > div {
  display: grid;
  width: min(520px, 100%);
  gap: 7px;
}

.context-heading-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.context-kicker {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.context-role {
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 720;
  line-height: 1;
  padding: 5px 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.day-context .project-select-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
}

.day-context #project-select {
  min-height: 46px;
  border: 0;
  border-bottom: 1px solid var(--mc-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--mc-ink);
  font-size: 18px;
  font-weight: 680;
  padding: 0 34px 0 0;
}

.day-context .round-icon-button,
.context-action {
  min-height: 44px;
  border-color: var(--mc-line);
  background: var(--mc-surface);
  box-shadow: none;
}

.context-action svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.context-action {
  justify-content: space-between;
  gap: 18px;
  padding: 0 16px;
}

.day-context-timeline {
  display: grid;
  gap: 8px;
}

.day-context .days {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 0 4px;
  scrollbar-width: thin;
}

.day-context .day-button {
  position: relative;
  flex: 0 0 166px;
  min-height: 92px;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  padding: 11px 12px;
}

.day-context .day-title {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "date name"
    "status status";
  align-items: baseline;
  column-gap: 7px;
  row-gap: 3px;
}

.day-context .day-date {
  grid-area: date;
  font-size: 14px;
}

.day-context .day-name {
  grid-area: name;
  margin: 0;
  font-size: 11px;
}

.day-context .day-status {
  overflow: hidden;
  grid-area: status;
  margin: 0;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.day-context .day-markers {
  justify-content: flex-start;
}

.day-context .day-progress {
  font-size: 10px;
}

.day-context .day-button:hover {
  border-color: var(--mc-line);
  background: var(--mc-surface);
}

.day-context .day-button.active {
  border-color: rgba(21, 95, 72, 0.2);
  background: var(--mc-night);
  box-shadow: none;
  color: #f5f8f5;
}

.day-context .day-button.active span,
.day-context .day-button.active em {
  color: rgba(245, 248, 245, 0.72);
}

.workspace-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 195;
  background: rgba(8, 12, 9, 0.58);
  backdrop-filter: blur(5px);
}

body.workspace-drawer-open {
  overflow: hidden;
}

.workspace-drawer-head {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--mc-line);
  padding: 18px 22px;
}

.workspace-drawer-head > div {
  display: grid;
  gap: 4px;
}

.workspace-drawer-head strong {
  font-size: 20px;
  letter-spacing: -0.025em;
}

.workspace-drawer-close {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: var(--mc-muted);
  font-size: 22px;
  font-weight: 450;
  padding: 0;
}

.app-shell:not(.plan-route):not(.program-route) > .sidebar,
.app-shell:not(.plan-route):not(.program-route) > .report-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 210;
  display: flex;
  width: min(520px, calc(100vw - 32px));
  height: 100dvh;
  max-height: 100dvh;
  grid-column: auto;
  grid-row: auto;
  flex-direction: column;
  overflow: auto;
  border: 0;
  border-left: 1px solid var(--mc-line);
  border-radius: 22px 0 0 22px;
  background: var(--mc-surface);
  box-shadow: -30px 0 80px rgba(8, 13, 9, 0.18);
  transform: translateX(calc(100% + 36px));
  transition: transform 220ms cubic-bezier(0.2, 0.75, 0.25, 1);
  pointer-events: none;
}

.app-shell:not(.plan-route):not(.program-route) > .report-panel {
  width: min(680px, calc(100vw - 32px));
}

.app-shell.project-drawer-open > .sidebar,
.app-shell.report-drawer-open > .report-panel {
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

.sidebar .project-box {
  flex: 1;
  overflow: visible;
  border: 0;
  background: transparent;
  padding: 20px 22px 40px;
}

.sidebar .members-list {
  margin-top: 0;
}

.report-panel > .panel-header {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 86px;
  align-items: center;
  border-bottom: 1px solid var(--mc-line);
  background: rgba(255, 254, 250, 0.96);
  padding: 18px 22px;
  backdrop-filter: blur(16px);
}

.report-panel > .panel-header h2 {
  font-size: 28px;
}

.app-shell:not(.plan-route):not(.program-route) > .plan-panel {
  width: min(1440px, 100%);
  margin: 0 auto;
  grid-column: 1;
  grid-row: 3;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.plan-panel > .panel-header {
  min-height: 150px;
  align-items: end;
  border: 0;
  background: transparent;
  padding: 34px 0 24px;
}

.analysis-metric-card,
.manager-signal,
.manager-item,
.manager-brief-grid article,
.day-manager-brief-grid article,
.my-task-card {
  animation: none;
}

.my-task-card[data-my-task-card]:hover {
  border-color: var(--mc-line-strong);
  box-shadow: none;
  transform: none;
}

.plan-panel > .panel-header h2 {
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 520;
  letter-spacing: -0.07em;
}

.plan-panel .approval-bar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--mc-line);
  border-radius: 14px;
  background: rgba(255, 254, 250, 0.72);
  padding: 12px 14px 12px 18px;
  backdrop-filter: blur(10px);
}

.plan-panel .approval-context {
  border: 0;
  border-left: 2px solid var(--mc-forest);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  line-height: 1.45;
  padding: 2px 0 2px 12px;
}

.plan-panel .plan-scroll {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  grid-auto-flow: row dense;
  gap: 18px 28px;
  padding: 30px 0 60px;
}

.plan-scroll > .day-manager-brief {
  grid-column: 1 / -1;
}

.plan-scroll > .plan-outcome {
  grid-column: 1;
}

.plan-scroll > .item-summary,
.plan-scroll > .attachment-section {
  grid-column: 2;
}

.plan-scroll > .plan-items,
.plan-scroll > .markdown-fallback-toggle,
.plan-scroll > .markdown-view {
  grid-column: 1;
}

.plan-scroll > .plan-items {
  grid-row: span 3;
  align-self: start;
}

.day-manager-brief {
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  background: var(--mc-night);
  box-shadow: 0 24px 70px rgba(8, 13, 9, 0.13);
  color: #f3f7f3;
  padding: clamp(22px, 3vw, 36px);
}

.day-manager-brief .workspace-subhead,
.day-manager-brief-grid span,
.day-manager-brief-grid em,
.day-manager-brief-head > span {
  color: rgba(243, 247, 243, 0.7);
}

.day-manager-brief-head strong {
  color: #f3f7f3;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.3;
}

.day-manager-brief-grid article {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
}

.day-manager-brief .day-manager-brief-grid article.ok,
.day-manager-brief .day-manager-brief-grid article.medium {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
  color: #f3f7f3;
}

.day-manager-brief .day-manager-brief-grid strong {
  color: #f3f7f3;
}

.day-manager-brief .day-manager-attention div {
  border-color: rgba(132, 158, 255, 0.36);
  background: rgba(255, 255, 255, 0.065);
  color: rgba(243, 247, 243, 0.84);
}

.plan-route #report-drawer-close,
.program-route #report-drawer-close {
  display: none;
}

.plan-outcome {
  border: 0;
  border-radius: 18px;
  background: var(--mc-mint);
  padding: 24px 26px;
}

.plan-outcome::before {
  display: none;
}

.plan-panel .item-summary {
  display: grid;
  grid-template-columns: 1fr;
  align-self: start;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: 16px;
  background: var(--mc-surface);
}

.plan-panel .item-summary > div {
  min-height: 76px;
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 15px 17px;
}

.plan-panel .item-summary > div:last-child {
  border-bottom: 0;
}

.plan-panel .attachment-section {
  align-self: start;
  border: 1px solid var(--mc-line);
  border-radius: 16px;
  background: transparent;
  padding: 17px;
}

.plan-panel .plan-items {
  gap: 28px;
  padding: 0;
}

.plan-item-section-group {
  gap: 10px;
}

.plan-item-section-title {
  border-bottom: 1px solid var(--mc-line);
  color: var(--mc-ink);
  font-size: 18px;
  font-weight: 690;
  letter-spacing: -0.025em;
  padding: 0 0 11px;
  text-transform: none;
}

.plan-panel .plan-item {
  border: 1px solid var(--mc-line);
  border-left: 3px solid var(--mc-line-strong);
  border-radius: 12px;
  background: rgba(255, 254, 250, 0.56);
  padding: 18px 18px 20px 20px;
}

.plan-panel .plan-item::before {
  display: none;
}

.plan-panel .plan-item:hover {
  border-color: var(--mc-line-strong);
  border-left-color: var(--mc-forest);
  background: rgba(255, 254, 250, 0.86);
  box-shadow: none;
}

.plan-panel .plan-item + .plan-item {
  border-top-color: var(--mc-line);
}

#plan-items:empty {
  display: none;
}

@media (min-width: 1081px) {
  .plan-panel .plan-scroll:has(> #plan-items:empty) {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    align-items: stretch;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .item-summary {
    min-height: 156px;
    grid-column: 1;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .item-summary .summary-empty {
    display: flex;
    min-height: 156px;
    align-items: center;
    padding: 26px;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .attachment-section {
    grid-column: 2;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .markdown-fallback-toggle,
  .plan-panel .plan-scroll:has(> #plan-items:empty) > .markdown-view {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1080px) {
  .plan-panel .plan-scroll {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-scroll > .day-manager-brief,
  .plan-scroll > .plan-outcome,
  .plan-scroll > .item-summary,
  .plan-scroll > .attachment-section,
  .plan-scroll > .plan-items,
  .plan-scroll > .markdown-fallback-toggle,
  .plan-scroll > .markdown-view {
    grid-column: 1;
    grid-row: auto;
  }

  .plan-panel .item-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-panel .item-summary > div {
    border-right: 1px solid var(--mc-line);
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  .app-shell:not(.admin-route):not(.plan-route):not(.program-route):not(.report-detail-route):not(.analysis-route):not(.manager-route):not(.my-tasks-route):not(.profile-route) {
    display: grid;
    padding: calc(var(--mobile-navbar-height) + 6px) 10px calc(env(safe-area-inset-bottom, 0px) + 84px);
  }

  .day-context {
    gap: 13px;
    padding: 12px 0 13px;
  }

  .day-context-project {
    align-items: stretch;
    gap: 8px;
  }

  .day-context-project > div {
    width: auto;
    flex: 1;
  }

  .context-action {
    width: 46px;
    min-width: 46px;
    padding: 0;
  }

  .context-action > span:first-child {
    display: none;
  }

  .plan-panel .item-topline {
    align-items: center;
    flex-flow: row wrap;
  }

  .plan-panel .item-updated {
    width: 100%;
    margin-left: 0;
  }

  .day-context .day-button {
    flex-basis: 144px;
  }

  .app-shell:not(.plan-route):not(.program-route) > .sidebar,
  .app-shell:not(.plan-route):not(.program-route) > .report-panel {
    width: 100vw;
    max-width: 100vw;
    border-radius: 0;
  }

  .plan-panel > .panel-header {
    min-height: 102px;
    padding: 24px 2px 16px;
  }

  .plan-panel > .panel-header h2 {
    font-size: clamp(42px, 14vw, 56px);
  }

  .plan-panel .approval-bar {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .plan-panel .plan-scroll {
    gap: 12px;
    padding: 18px 0 28px;
  }

  .day-manager-brief {
    border-radius: 16px;
    padding: 20px 16px;
  }

  .plan-panel .item-summary {
    grid-template-columns: 1fr;
  }

  .plan-panel .item-summary > div {
    min-height: 64px;
    border-right: 0;
    border-bottom: 1px solid var(--mc-line);
  }

  .plan-panel .plan-item {
    padding: 16px 14px 18px 15px;
  }
}

/* Keep the accessibility ring above component-level visual resets. */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--mc-acid);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--mc-night);
}

@media (prefers-contrast: more) {
  :root {
    --mc-line: #aeb7af;
    --mc-line-strong: #7e8c82;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .loading-skeleton-grid i { animation: none; }
}

/*
 * Product system v4 — quiet precision.
 * One visual grammar across portfolio, project, day, planning and analysis:
 * warm paper, graphite-green structure, restrained status color and editorial
 * dividers instead of nested AI-dashboard cards.
 */

@font-face {
  font-family: "Golos Text";
  src: url("/static/fonts/GolosText-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

:root {
  --mc-canvas: #f2f0ea;
  --mc-canvas-raised: #f7f5ef;
  --mc-surface: #fcfbf7;
  --mc-surface-soft: #f5f3ed;
  --mc-surface-quiet: #ebece5;
  --mc-ink: #19221e;
  --mc-ink-soft: #3f4b45;
  --mc-muted: #68736d;
  --mc-faint: #7a847e;
  --mc-line: #d8d9d1;
  --mc-line-strong: #bfc4bc;
  --mc-night: #18231f;
  --mc-night-soft: #22312b;
  --mc-forest: #2d6754;
  --mc-forest-dark: #214c3e;
  --mc-mint: #dfe9e1;
  --mc-acid: #c5d5ad;
  --mc-blue: #536a92;
  --mc-blue-soft: #e7ebf2;
  --mc-amber: #9a6e33;
  --mc-amber-soft: #f2e8d8;
  --mc-rose: #9a5260;
  --mc-rose-soft: #f2e2e4;
  --mc-radius-xs: 6px;
  --mc-radius-sm: 9px;
  --mc-radius: 12px;
  --mc-radius-lg: 16px;
  --mc-shadow-xs: 0 1px 1px rgba(25, 34, 30, 0.025);
  --mc-shadow-sm: 0 14px 34px rgba(25, 34, 30, 0.055);
  --mc-shadow-lg: 0 28px 70px rgba(12, 20, 16, 0.14);
  --mc-focus: 0 0 0 2px var(--mc-surface), 0 0 0 5px rgba(45, 103, 84, 0.42);
}

html {
  background: var(--mc-canvas);
}

body {
  position: relative;
  isolation: isolate;
  background: transparent;
  font-family: "Golos Text", "Onest", ui-sans-serif, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 450;
  letter-spacing: -0.006em;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 8% 12%, rgba(79, 114, 96, 0.07), transparent 28%),
    radial-gradient(circle at 92% 82%, rgba(155, 139, 102, 0.055), transparent 27%),
    linear-gradient(115deg, transparent 0 47%, rgba(45, 103, 84, 0.018) 47% 47.15%, transparent 47.15% 100%),
    var(--mc-canvas);
  content: "";
  pointer-events: none;
}

body::after {
  position: fixed;
  top: 22vh;
  right: -180px;
  z-index: -1;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(45, 103, 84, 0.055);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(45, 103, 84, 0.018), 0 0 0 150px rgba(45, 103, 84, 0.012);
  content: "";
  pointer-events: none;
  animation: mc-ambient-drift 24s ease-in-out infinite alternate;
}

@keyframes mc-ambient-drift {
  from { transform: translate3d(0, -12px, 0) scale(0.98); }
  to { transform: translate3d(-24px, 24px, 0) scale(1.03); }
}

h1,
h2,
h3,
h4,
strong {
  letter-spacing: -0.03em;
}

p,
li,
textarea,
input {
  line-height: 1.52;
}

button {
  min-height: 44px;
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -0.014em;
}

button:hover {
  border-color: var(--mc-line-strong);
  background: #fffefa;
  box-shadow: none;
  transform: none;
}

button.primary,
.primary {
  border-color: var(--mc-forest);
  background: var(--mc-forest);
  box-shadow: none;
}

button.primary:hover,
.primary:hover {
  border-color: var(--mc-forest-dark);
  background: var(--mc-forest-dark);
  box-shadow: none;
}

.text-input,
.guided-input,
.report-input,
.discussion-input,
.compact-plan-input,
.plan-input,
.program-input,
select {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: rgba(252, 251, 247, 0.92);
  font-size: 14px;
}

.eyebrow,
.context-kicker,
.manager-executive-copy > span,
.manager-section-head span,
.manager-decision-head span,
.manager-decision-card-head span {
  color: var(--mc-forest);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.025em;
  text-transform: none;
}

.workspace-subhead {
  font-size: 15px;
  font-weight: 690;
  letter-spacing: -0.025em;
}

.empty-state,
.summary-empty,
.report-detail-empty {
  border: 0;
  border-left: 2px solid var(--mc-line-strong);
  border-radius: 0;
  background: transparent;
  color: var(--mc-muted);
  padding: 12px 14px;
}

/* Navigation is a quiet instrument rail, not a marketing banner. */

.app-navbar {
  width: 100vw;
  min-height: 68px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  border-bottom-color: rgba(255, 255, 255, 0.065);
  background: rgba(24, 35, 31, 0.975);
  box-shadow: 0 8px 26px rgba(17, 26, 22, 0.085);
  backdrop-filter: blur(22px) saturate(110%);
}

.nav-brand .brand-mark {
  width: 36px;
  height: 36px;
  border-color: rgba(197, 213, 173, 0.32);
  background: rgba(197, 213, 173, 0.055);
  color: var(--mc-acid);
}

.brand-lockup strong {
  font-size: 14px;
  font-weight: 680;
}

.brand-lockup small {
  color: rgba(240, 244, 240, 0.48);
  font-size: 9px;
  font-weight: 520;
  letter-spacing: 0.045em;
  text-transform: none;
}

.top-action-button,
.nav-actions .top-action-button {
  color: rgba(239, 244, 240, 0.64);
  font-size: 12px;
  font-weight: 570;
}

.top-action-button.active,
.top-action-button[aria-current="page"] {
  border-color: rgba(197, 213, 173, 0.15);
  background: rgba(197, 213, 173, 0.095);
  color: #dbe6cb;
}

.create-project-button,
.nav-actions .create-project-button {
  border-color: rgba(197, 213, 173, 0.2);
  color: #e3ead9;
}

.create-project-button::before {
  color: #c5d5ad;
}

.nav-account {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.075);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.account-avatar {
  background: #c5d5ad;
  color: #18231f;
}

/* Shared route frame */

.app-shell.admin-route,
.app-shell.plan-route,
.app-shell.program-route,
.app-shell.report-detail-route,
.app-shell.analysis-route,
.app-shell.manager-route,
.app-shell.my-tasks-route,
.app-shell.profile-route {
  padding-inline: clamp(22px, 3.5vw, 56px);
}

.manager-page > .panel-header,
.my-tasks-page > .panel-header,
.analysis-page > .panel-header,
.report-detail-page > .panel-header,
.admin-page > .panel-header,
.profile-page > .panel-header {
  width: min(1360px, 100%);
  min-height: 142px;
  padding: 42px 0 26px;
}

.manager-page > .panel-header h2,
.my-tasks-page > .panel-header h2,
.analysis-page > .panel-header h2,
.report-detail-page > .panel-header h2,
.admin-page > .panel-header h2,
.profile-page > .panel-header h2 {
  font-size: clamp(38px, 4.4vw, 58px);
  font-weight: 570;
  letter-spacing: -0.055em;
}

.manager-content,
.my-tasks-content,
.analysis-content,
.report-detail-content,
.admin-content,
.profile-content {
  width: min(1360px, 100%);
}

.manager-subtitle,
.analysis-subtitle,
.report-detail-subtitle {
  color: var(--mc-muted);
  font-size: 14px;
}

.my-tasks-date-control {
  border: 0;
  border-left: 1px solid var(--mc-line-strong);
  border-radius: 0;
  background: transparent;
  padding: 7px 0 7px 16px;
}

/* Metrics read as one instrument panel rather than a tile collage. */

.analysis-metric-grid,
.workspace-analytics-summary,
.my-tasks-summary {
  display: grid;
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.78);
  box-shadow: var(--mc-shadow-xs);
}

.analysis-metric-card {
  min-height: 126px;
  border: 0;
  border-right: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 18px 20px;
}

.analysis-metric-card:last-child {
  border-right: 0;
}

.analysis-metric-card::before {
  display: none;
}

.analysis-metric-card > span,
.analysis-metric-card > em {
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 520;
  letter-spacing: 0;
  text-transform: none;
}

.analysis-metric-card > strong {
  font-size: clamp(25px, 2.5vw, 36px);
  font-weight: 570;
}

.bonus-progress-frame {
  box-sizing: border-box;
  width: calc(100% - 16px);
  max-width: calc(100% - 16px);
}

.bonus-progress-marker {
  right: 0;
}

/* Project directory and portfolio use rows and grouped evidence. */

.my-tasks-layout {
  gap: 28px;
}

.my-tasks-section {
  padding: 0;
}

.my-tasks-section > .workspace-subhead {
  margin-bottom: 11px;
  color: var(--mc-ink-soft);
}

.project-entry-grid,
.workspace-project-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.78);
}

.project-entry-card,
.workspace-project-card {
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.project-entry-card:last-child,
.workspace-project-card:last-child {
  border-bottom: 0;
}

.project-entry-card:hover,
.workspace-project-card:hover {
  border-color: var(--mc-line);
  background: rgba(255, 255, 252, 0.76);
  box-shadow: none;
  transform: none;
}

.project-entry-card {
  padding: 17px 18px;
}

.project-entry-main strong,
.workspace-project-card-head strong {
  font-size: 17px;
  font-weight: 660;
}

.project-entry-meta span,
.workspace-project-meta span {
  border: 0;
  border-right: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 0 10px 0 0;
}

.project-entry-meta span:last-child,
.workspace-project-meta span:last-child {
  border-right: 0;
}

.workspace-project-card {
  border-left: 3px solid var(--mc-line-strong);
  padding: 22px 22px 20px;
}

.workspace-project-card.ok { border-left-color: #789786; }
.workspace-project-card.medium { border-left-color: #b2915e; }
.workspace-project-card.high { border-left-color: #ad6973; }

.workspace-project-progress {
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding-block: 14px;
}

.workspace-project-focus {
  padding-top: 2px;
}

.workspace-project-card > p {
  color: var(--mc-muted);
}

/* Manager cockpit: calm executive brief, no neon hero treatment. */

.manager-command-layout,
.manager-cockpit-layout {
  gap: 18px;
}

.manager-executive-brief {
  gap: 26px;
  border: 0;
  border-radius: var(--mc-radius-lg);
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.025), transparent 46%),
    #1d2a25;
  box-shadow: 0 20px 52px rgba(18, 29, 24, 0.12);
  padding: clamp(28px, 3.6vw, 48px);
}

.manager-executive-brief::after {
  top: -185px;
  right: -95px;
  width: 430px;
  height: 430px;
  border-color: rgba(197, 213, 173, 0.09);
  box-shadow: 0 0 0 62px rgba(197, 213, 173, 0.018);
}

.manager-executive-copy > span {
  color: #cbd8b9;
}

.manager-executive-copy h3 {
  max-width: 900px;
  color: #f2f2eb;
  font-size: clamp(30px, 3.5vw, 47px);
  font-weight: 540;
  letter-spacing: -0.045em;
  line-height: 1.12;
}

.manager-executive-copy p {
  color: rgba(241, 242, 235, 0.68);
}

.manager-executive-grid article {
  min-height: 120px;
}

.manager-executive-grid article > span,
.manager-executive-strip span {
  color: rgba(241, 242, 235, 0.58);
  font-weight: 520;
  letter-spacing: 0;
  text-transform: none;
}

.manager-executive-strip strong {
  color: #cbd8b9;
}

.manager-next-actions button:first-child {
  border-color: #c5d5ad;
  background: #c5d5ad;
}

.manager-decision-queue,
.manager-command-section,
.manager-detail-group,
.manager-safety-note,
.manager-signal,
.manager-decision-card,
.manager-item {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: rgba(252, 251, 247, 0.78);
  box-shadow: none;
}

.manager-decision-card,
.manager-item,
.manager-signal {
  border-left-width: 2px;
  background: transparent;
}

/* Day context and work canvas */

.app-shell:not(.admin-route):not(.plan-route):not(.program-route):not(.report-detail-route):not(.analysis-route):not(.manager-route):not(.my-tasks-route):not(.profile-route) {
  padding-inline: clamp(18px, 3vw, 48px);
}

.day-context,
.app-shell:not(.plan-route):not(.program-route) > .plan-panel {
  width: min(1460px, 100%);
}

.day-context {
  gap: 22px;
  border-bottom: 1px solid var(--mc-line);
  padding: 30px 0 24px;
}

.day-context-project > div {
  width: min(610px, 100%);
}

.context-heading-row {
  gap: 10px;
}

.context-role {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 520;
  padding: 0;
}

.day-context .project-select-row {
  grid-template-columns: minmax(0, 1fr) 42px;
}

.day-context #project-select {
  min-height: 48px;
  border-bottom-color: var(--mc-line-strong);
  font-size: 20px;
  font-weight: 620;
}

.day-context .round-icon-button,
.context-action {
  border-color: var(--mc-line);
  background: rgba(252, 251, 247, 0.7);
}

.context-action {
  border-radius: var(--mc-radius-xs);
  color: var(--mc-ink-soft);
  font-weight: 590;
}

.day-context-timeline {
  gap: 10px;
}

.day-timeline-heading {
  display: flex;
  min-height: 28px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.day-scroll-controls {
  display: flex;
  gap: 4px;
}

.day-scroll-button {
  display: inline-grid;
  width: 28px;
  min-width: 28px;
  min-height: 28px;
  place-items: center;
  border: 1px solid var(--mc-line);
  border-radius: 50%;
  background: rgba(252, 251, 247, 0.7);
  box-shadow: none;
  color: var(--mc-ink-soft);
  font-size: 14px;
  line-height: 1;
  padding: 0;
}

.day-scroll-button:hover:not(:disabled) {
  border-color: var(--mc-line-strong);
  background: var(--mc-surface);
}

.day-scroll-button:disabled {
  opacity: 0.28;
}

.day-context .days {
  gap: 0;
  border-top: 1px solid var(--mc-line);
  border-bottom: 1px solid var(--mc-line);
  scroll-behavior: smooth;
  padding: 0;
}

.day-context .day-button {
  flex-basis: 164px;
  min-height: 94px;
  gap: 9px;
  border: 0;
  border-right: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 15px 14px 13px;
}

.day-context .day-button:hover {
  border-color: var(--mc-line);
  background: rgba(252, 251, 247, 0.65);
}

.day-context .day-button.active {
  border-color: var(--mc-line);
  background: var(--mc-mint);
  box-shadow: inset 0 -3px 0 var(--mc-forest);
  color: var(--mc-ink);
}

.day-context .day-button.active span,
.day-context .day-button.active em {
  color: var(--mc-ink-soft);
}

.day-context .day-date {
  font-size: 14px;
  font-weight: 680;
}

.day-context .day-name,
.day-context .day-status,
.day-context .day-progress {
  color: var(--mc-muted);
  font-weight: 510;
}

.plan-panel > .panel-header {
  min-height: 130px;
  padding: 34px 0 20px;
}

.plan-panel > .panel-header h2 {
  font-size: clamp(46px, 5.3vw, 70px);
  font-weight: 550;
  letter-spacing: -0.06em;
}

.plan-status-badge {
  border-color: rgba(45, 103, 84, 0.2);
  background: rgba(223, 233, 225, 0.72);
  color: var(--mc-forest-dark);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: 0.015em;
}

.plan-panel .approval-bar {
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 11px 0;
  backdrop-filter: none;
}

.plan-panel .approval-context {
  color: var(--mc-muted);
  font-size: 13px;
}

.plan-panel .plan-scroll {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
  grid-template-rows: auto auto auto auto;
  grid-auto-flow: row;
  gap: 24px 32px;
  padding: 28px 0 72px;
}

.plan-scroll > .day-manager-brief {
  grid-column: 1 / -1;
  grid-row: 1;
}

.plan-scroll > .plan-outcome {
  grid-column: 1;
  grid-row: 2;
}

.plan-scroll > .item-summary {
  grid-column: 2;
  grid-row: 2;
}

.plan-scroll > .plan-items {
  grid-column: 1;
  grid-row: 3 / span 2;
}

.plan-scroll > .attachment-section {
  grid-column: 2;
  grid-row: 3;
}

.plan-scroll > .markdown-fallback-toggle,
.plan-scroll > .markdown-view {
  grid-column: 1 / -1;
  grid-row: auto;
}

.day-manager-brief {
  border-radius: var(--mc-radius-lg);
  background:
    linear-gradient(115deg, rgba(197, 213, 173, 0.035), transparent 55%),
    #1d2a25;
  box-shadow: 0 18px 48px rgba(18, 29, 24, 0.1);
  padding: clamp(26px, 3vw, 40px);
}

.day-manager-brief-head {
  gap: 18px;
}

.day-manager-brief-head strong {
  max-width: 1100px;
  color: #f1f2ec;
  font-size: clamp(17px, 1.55vw, 21px);
  font-weight: 560;
  line-height: 1.38;
}

.day-manager-brief-grid article,
.day-manager-brief .day-manager-brief-grid article.ok,
.day-manager-brief .day-manager-brief-grid article.medium {
  border-color: rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.025);
}

.day-manager-brief .day-manager-attention div {
  border-color: rgba(197, 213, 173, 0.2);
  background: rgba(197, 213, 173, 0.045);
}

.plan-outcome {
  border: 1px solid rgba(45, 103, 84, 0.12);
  border-radius: var(--mc-radius);
  background: rgba(223, 233, 225, 0.72);
  padding: 24px 26px;
}

.plan-outcome-title,
.plan-item-section-title {
  font-weight: 650;
}

.plan-panel .item-summary {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.72);
}

.plan-panel .item-summary > div {
  min-height: 70px;
  background: transparent;
  padding: 14px 16px;
}

.plan-panel .attachment-section {
  position: static;
  z-index: auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.7);
  padding: 16px;
}

.attachment-head {
  min-width: 0;
  align-items: center;
}

.attachment-head > div:first-child {
  min-width: 0;
}

.attachment-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.attachment-tile {
  display: grid;
  min-width: 0;
  width: 100%;
  min-height: 58px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "thumb name remove"
    "thumb meta remove";
  align-items: center;
  column-gap: 10px;
  row-gap: 1px;
  overflow: hidden;
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 9px 2px;
  text-align: left;
}

.attachment-tile:first-child {
  border-top: 0;
}

.attachment-tile:hover {
  background: rgba(223, 233, 225, 0.35);
}

.attachment-thumb {
  grid-area: thumb;
  width: 38px;
  height: 38px;
  border-radius: 5px;
  background: var(--mc-surface-quiet);
}

.attachment-name,
.attachment-meta {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attachment-name {
  grid-area: name;
  color: var(--mc-ink);
  font-size: 12px;
  font-weight: 620;
}

.attachment-meta {
  grid-area: meta;
  color: var(--mc-muted);
  font-size: 10px;
}

.attachment-remove {
  grid-area: remove;
}

.plan-panel .plan-items {
  gap: 34px;
}

.plan-item-section-title {
  border-bottom-color: var(--mc-line-strong);
  font-size: 19px;
}

.plan-panel .plan-item {
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  border-left: 2px solid var(--mc-line-strong);
  border-radius: 0;
  background: transparent;
  padding: 18px 18px 22px 20px;
}

.plan-panel .plan-item:hover {
  border-color: var(--mc-line);
  border-left-color: var(--mc-forest);
  background: rgba(252, 251, 247, 0.52);
}

.plan-panel .plan-item h3,
.plan-panel .plan-item-title {
  font-size: 16px;
  font-weight: 650;
  line-height: 1.42;
}

.item-status-pill,
.item-kind,
.user-chip,
.project-entry-meta span,
.workspace-project-meta span {
  font-weight: 540;
}

/* Planning studio: one document surface with a restrained support rail. */

.app-shell.plan-route,
.app-shell.program-route {
  grid-template-columns: minmax(0, 1fr);
}

.app-shell.plan-route > .report-panel,
.app-shell.program-route > .report-panel {
  width: min(1360px, 100%);
  margin-inline: auto;
}

.app-shell.plan-route .report-panel > .panel-header,
.app-shell.program-route .report-panel > .panel-header {
  min-height: 142px;
  padding: 42px 0 26px;
}

.app-shell.plan-route .report-panel > .panel-header h2,
.app-shell.program-route .report-panel > .panel-header h2 {
  font-size: clamp(38px, 4.4vw, 58px);
  font-weight: 570;
  letter-spacing: -0.055em;
}

.app-shell.plan-route .report-panel .tool-section,
.app-shell.program-route .report-panel .tool-section {
  padding-bottom: 72px;
}

.plan-workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
  gap: 18px;
}

.plan-editor-pane,
.program-editor-pane {
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-lg);
  background: rgba(252, 251, 247, 0.78);
  box-shadow: var(--mc-shadow-xs);
  padding: 0;
}

.plan-studio-head {
  min-height: 92px;
  align-items: center;
  border-bottom: 1px solid var(--mc-line);
  padding: 22px 24px;
}

.plan-studio-head h3 {
  font-size: 25px;
  font-weight: 600;
}

.plan-editor-save-state {
  border: 1px solid rgba(45, 103, 84, 0.18);
  background: rgba(223, 233, 225, 0.74);
  color: var(--mc-forest-dark);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: 0.01em;
}

.plan-command-bar {
  margin: 18px 22px 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  box-shadow: none;
  padding: 9px;
}

.plan-date-field {
  background: transparent;
}

.plan-editor-summary {
  margin: 0 22px;
  border: 0;
  border-bottom: 1px solid var(--mc-line);
  background: transparent;
}

.plan-editor-summary > div {
  min-height: 76px;
  border-right-color: var(--mc-line);
  background: transparent;
  padding: 15px 10px;
}

.plan-editor-summary span {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 520;
  letter-spacing: 0;
  text-transform: none;
}

.plan-editor-summary strong {
  font-size: 24px;
  font-weight: 560;
}

.plan-day-notice {
  margin: 0 22px;
}

.plan-studio-card,
.plan-studio-card.primary-card,
.plan-markdown-drawer {
  margin: 0 22px;
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 22px 0;
}

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

.plan-studio-card.primary-card {
  border-left: 0;
}

.plan-studio-card.primary-card > .plan-card-head .workspace-subhead::before {
  width: 7px;
  height: 7px;
  background: var(--mc-forest);
}

.plan-card-head {
  margin-bottom: 13px;
}

.plan-secondary-grid {
  margin: 0 22px;
  gap: 0;
  border-top: 1px solid var(--mc-line);
}

.plan-secondary-grid .plan-studio-card {
  margin: 0;
  border-top: 0;
  padding: 22px 0;
}

.plan-secondary-grid .plan-studio-card + .plan-studio-card {
  border-left: 1px solid var(--mc-line);
  padding-left: 22px;
}

.workspace-item-editor,
.plan-editor-item,
.workspace-subitem-editor,
.plan-subitem-editor {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: rgba(255, 255, 252, 0.72);
  box-shadow: none;
}

.workspace-item-editor:hover,
.plan-editor-item:hover {
  border-color: var(--mc-line-strong);
  box-shadow: none;
}

.workspace-item-editor .text-input,
.workspace-item-editor textarea,
.workspace-subitem-editor .text-input,
.workspace-subitem-editor textarea {
  background: var(--mc-surface);
}

.plan-support-pane {
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-lg);
  background: rgba(235, 236, 229, 0.78);
  box-shadow: none;
  padding: 10px;
}

.plan-chat-pane,
.plan-registry-panel {
  border: 0;
  border-radius: var(--mc-radius-sm);
  background: rgba(252, 251, 247, 0.68);
  box-shadow: none;
}

.plan-chat-pane {
  padding: 16px;
}

.plan-registry-panel {
  margin-top: 8px;
  padding: 16px;
}

.plan-registry-grid details {
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
}

.plan-markdown-drawer {
  margin-bottom: 4px;
}

/* Program is a working document, not a grid of form cards. */

.program-context {
  border: 0;
  border-left: 3px solid var(--mc-forest);
  border-radius: 0;
  background: rgba(223, 233, 225, 0.58);
  box-shadow: none;
  padding: 16px 18px;
}

.program-workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 18px;
}

.program-editor-pane,
.program-chat-pane,
.program-calls-panel {
  border-color: var(--mc-line);
  box-shadow: none;
}

.program-calls-panel {
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.76);
}

.program-calls-panel > summary,
.program-chat-pane > summary {
  min-height: 66px;
  padding: 18px 20px;
}

.program-calls-panel > summary::after,
.program-chat-pane > summary::after {
  border-radius: 6px;
  background: var(--mc-surface-soft);
}

.program-calls-body,
.program-chat-body {
  border-top-color: var(--mc-line);
  padding: 20px;
}

.program-editor-pane {
  padding: 20px;
}

.program-editor-toolbar {
  border-bottom: 1px solid var(--mc-line);
  padding-bottom: 16px;
}

.program-weekend-days {
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-bottom: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
  padding: 12px 0;
}

.program-input {
  min-height: 720px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(to right, transparent 0 30px, rgba(45, 103, 84, 0.09) 30px 31px, transparent 31px),
    rgba(255, 255, 252, 0.62);
  box-shadow: inset 0 1px 0 var(--mc-line);
  padding: 24px 24px 34px 48px;
}

.program-meta {
  border: 0;
  border-top: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
}

.program-preview,
.markdown-view {
  color: var(--mc-ink-soft);
}

/* Analysis, account and administration share the same section grammar. */

.analysis-content {
  display: grid;
  gap: 16px;
}

.analysis-section,
.profile-card,
.admin-user-row {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.76);
  box-shadow: none;
}

.analysis-section {
  padding: 20px;
}

.analysis-section > .workspace-subhead {
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--mc-line);
}

.analysis-details-group,
.analysis-detail-group {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.76);
  box-shadow: none;
}

.analysis-blocker-row,
.progress-fact-row,
.project-target,
.project-roadmap-panel,
.project-artifact-row {
  border-color: var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: transparent;
  box-shadow: none;
}

.profile-content,
.admin-content {
  gap: 14px;
}

.profile-card {
  padding: 20px;
}

.profile-row {
  border-bottom-color: var(--mc-line);
}

.admin-content > .form-grid,
.admin-content > section:first-child {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(252, 251, 247, 0.76);
  box-shadow: none;
}

.admin-user-row {
  border-radius: var(--mc-radius-sm);
}

.attachment-modal-panel {
  border-radius: var(--mc-radius-lg);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-lg);
}

/* Auth uses the same palette and type rather than a separate AI landing theme. */

.auth-screen {
  background:
    radial-gradient(circle at 18% 18%, rgba(197, 213, 173, 0.1), transparent 32%),
    #18231f;
}

.auth-story h1 {
  color: #f1f2ec;
  font-family: "Golos Text", sans-serif;
  font-weight: 540;
  letter-spacing: -0.06em;
}

.auth-story-copy > p,
.auth-flow small,
.auth-legal {
  color: rgba(240, 243, 237, 0.6);
}

.auth-kicker,
.auth-security {
  color: #cbd8b9;
}

.auth-flow {
  border-color: rgba(255, 255, 255, 0.1);
}

.auth-flow li::before,
.auth-flow li::after {
  background: rgba(197, 213, 173, 0.34);
}

.auth-panel {
  border-color: rgba(255, 255, 255, 0.14);
  border-radius: var(--mc-radius-lg);
  background: rgba(252, 251, 247, 0.96);
  box-shadow: 0 32px 80px rgba(8, 15, 12, 0.22);
}

@media (max-width: 1080px) {
  .plan-panel .plan-scroll {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .plan-scroll > .day-manager-brief,
  .plan-scroll > .plan-outcome,
  .plan-scroll > .item-summary,
  .plan-scroll > .attachment-section,
  .plan-scroll > .plan-items,
  .plan-scroll > .markdown-fallback-toggle,
  .plan-scroll > .markdown-view {
    grid-column: 1;
    grid-row: auto;
  }

  .plan-scroll > .day-manager-brief { order: 1; }
  .plan-scroll > .plan-outcome { order: 2; }
  .plan-scroll > .item-summary { order: 3; }
  .plan-scroll > .plan-items { order: 4; }
  .plan-scroll > .attachment-section { order: 5; }
  .plan-scroll > .markdown-fallback-toggle,
  .plan-scroll > .markdown-view { order: 6; }

  .plan-panel .item-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-panel .item-summary > div {
    border-right: 1px solid var(--mc-line);
    border-bottom: 0;
  }

  .plan-panel .item-summary > div:last-child {
    border-right: 0;
  }

  .plan-panel .attachment-section {
    width: 100%;
  }

  .attachment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }

  .attachment-tile:nth-child(2) {
    border-top: 0;
  }

  .plan-workspace-grid,
  .program-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-support-pane {
    position: static;
  }

  .program-input {
    min-height: 620px;
  }
}

@media (max-width: 760px) {
  body::after {
    display: none;
  }

  .app-shell.admin-route,
  .app-shell.plan-route,
  .app-shell.program-route,
  .app-shell.report-detail-route,
  .app-shell.analysis-route,
  .app-shell.manager-route,
  .app-shell.my-tasks-route,
  .app-shell.profile-route {
    padding-inline: 14px;
  }

  .app-navbar {
    min-height: var(--mobile-navbar-height);
    background: rgba(24, 35, 31, 0.985);
  }

  .nav-brand .brand-mark {
    width: 36px;
    height: 36px;
  }

  .brand-lockup strong {
    font-size: 13px;
  }

  .brand-lockup small {
    display: none;
  }

  .manager-page > .panel-header,
  .my-tasks-page > .panel-header,
  .analysis-page > .panel-header,
  .report-detail-page > .panel-header,
  .admin-page > .panel-header,
  .profile-page > .panel-header,
  .app-shell.plan-route .report-panel > .panel-header,
  .app-shell.program-route .report-panel > .panel-header {
    min-height: auto;
    padding: 28px 0 20px;
  }

  .manager-page > .panel-header h2,
  .my-tasks-page > .panel-header h2,
  .analysis-page > .panel-header h2,
  .report-detail-page > .panel-header h2,
  .admin-page > .panel-header h2,
  .profile-page > .panel-header h2,
  .app-shell.plan-route .report-panel > .panel-header h2,
  .app-shell.program-route .report-panel > .panel-header h2 {
    font-size: clamp(31px, 10vw, 40px);
    line-height: 1.08;
  }

  .analysis-metric-grid,
  .workspace-analytics-summary,
  .my-tasks-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .analysis-metric-card {
    min-height: 108px;
    border-right: 1px solid var(--mc-line);
    border-bottom: 1px solid var(--mc-line);
    padding: 14px;
  }

  .analysis-metric-card:nth-child(2n) {
    border-right: 0;
  }

  .analysis-metric-card:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .analysis-metric-card > strong {
    font-size: 27px;
  }

  .project-entry-card,
  .workspace-project-card {
    padding: 16px;
  }

  .project-entry-main,
  .workspace-project-card-head {
    align-items: flex-start;
    gap: 12px;
  }

  .project-entry-main button,
  .workspace-project-actions button {
    min-height: 42px;
  }

  .project-entry-meta,
  .workspace-project-meta {
    gap: 7px;
  }

  .project-entry-meta span,
  .workspace-project-meta span {
    border-right: 0;
    padding-right: 0;
  }

  .manager-executive-brief {
    gap: 20px;
    border-radius: 12px;
    padding: 24px 18px;
  }

  .manager-executive-copy h3 {
    font-size: clamp(27px, 8.5vw, 36px);
  }

  .manager-executive-grid {
    grid-template-columns: 1fr;
  }

  .manager-executive-grid article,
  .manager-executive-grid article + article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    padding: 16px 0;
  }

  .manager-executive-grid article:last-child {
    border-bottom: 0;
  }

  .app-shell:not(.admin-route):not(.plan-route):not(.program-route):not(.report-detail-route):not(.analysis-route):not(.manager-route):not(.my-tasks-route):not(.profile-route) {
    padding-top: 0;
    padding-inline: 12px;
  }

  .day-context {
    gap: 15px;
    padding: 16px 0 15px;
  }

  .day-context-project {
    gap: 10px;
  }

  .day-context .context-action {
    width: 46px;
    min-width: 46px;
    max-width: 46px;
    min-height: 46px;
    align-self: end;
    flex: 0 0 46px;
    border-radius: 50%;
    padding: 0;
  }

  .context-heading-row {
    flex-wrap: wrap;
  }

  .day-context #project-select {
    font-size: 18px;
  }

  .day-context .days {
    margin-inline: -12px;
    padding-left: 12px;
  }

  .day-context .day-button {
    flex-basis: 138px;
    min-height: 88px;
    padding: 13px 12px;
  }

  .plan-panel > .panel-header {
    min-height: 98px;
    padding: 22px 2px 14px;
  }

  .plan-panel > .panel-header h2 {
    font-size: clamp(41px, 13vw, 54px);
  }

  .plan-panel .approval-bar {
    gap: 12px;
    padding: 12px 0;
  }

  .plan-panel .approval-context {
    font-size: 12px;
  }

  .approval-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  }

  .approval-actions > button {
    width: 100%;
  }

  .plan-panel .plan-scroll {
    gap: 16px;
    padding: 20px 0 36px;
  }

  .day-manager-brief {
    border-radius: 12px;
    padding: 22px 18px;
  }

  .day-manager-brief-head strong {
    font-size: 16px;
    line-height: 1.4;
  }

  .plan-outcome {
    padding: 20px 18px;
  }

  .plan-panel .item-summary {
    grid-template-columns: 1fr;
  }

  .plan-panel .item-summary > div {
    min-height: 62px;
    border-right: 0;
    border-bottom: 1px solid var(--mc-line);
  }

  .plan-panel .item-summary > div:last-child {
    border-bottom: 0;
  }

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

  .attachment-tile:nth-child(2) {
    border-top: 1px solid var(--mc-line);
  }

  .plan-panel .plan-item {
    padding: 16px 10px 19px 14px;
  }

  .plan-editor-pane,
  .program-editor-pane,
  .plan-support-pane,
  .program-chat-pane,
  .program-calls-panel {
    border-radius: 11px;
  }

  .plan-studio-head {
    min-height: 82px;
    align-items: flex-start;
    padding: 18px 14px;
  }

  .plan-studio-head h3 {
    font-size: 24px;
  }

  .plan-command-bar,
  .plan-editor-summary,
  .plan-day-notice,
  .plan-studio-card,
  .plan-markdown-drawer,
  .plan-secondary-grid {
    margin-inline: 12px;
  }

  .plan-command-bar {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 12px;
    padding: 8px;
  }

  .plan-command-bar .plan-date-field,
  .plan-command-bar #plan-toggle-day-off {
    width: 100%;
    grid-column: 1;
  }

  .plan-editor-summary > div {
    min-height: 66px;
  }

  .plan-studio-card,
  .plan-studio-card.primary-card,
  .plan-secondary-grid .plan-studio-card,
  .plan-markdown-drawer {
    padding-block: 18px;
  }

  .plan-secondary-grid {
    grid-template-columns: 1fr;
  }

  .plan-secondary-grid .plan-studio-card + .plan-studio-card {
    border-top: 1px solid var(--mc-line);
    border-left: 0;
    padding-left: 0;
  }

  .plan-support-pane {
    padding: 8px;
  }

  .program-editor-pane {
    padding: 14px;
  }

  .program-input {
    min-height: 620px;
    background: rgba(255, 255, 252, 0.62);
    padding: 20px 14px;
  }

  .analysis-section,
  .profile-card {
    padding: 16px;
  }

  .mobile-bottom-nav {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(24, 35, 31, 0.975);
    box-shadow: 0 -10px 30px rgba(13, 22, 18, 0.14);
    backdrop-filter: blur(20px);
  }

  .mobile-bottom-nav button[aria-current="page"] {
    background: rgba(197, 213, 173, 0.12);
    color: #dbe6cb;
  }
}

@media (max-width: 390px) {
  .approval-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .approval-more,
  .approval-more > summary {
    width: 100%;
  }

  .project-entry-main,
  .workspace-project-card-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .workspace-project-actions {
    width: 100%;
  }

  .workspace-project-actions button {
    flex: 1;
  }

  .analysis-actions,
  .manager-actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  body::after {
    animation: none;
  }
}

/* Highest-specificity repairs for legacy selectors that are still structural. */

.plan-panel > .panel-header {
  min-width: 0;
  align-items: center;
}

.plan-panel > .panel-header > div:first-child {
  min-width: 0;
}

.plan-panel .item-text,
.plan-panel .item-children,
.my-task-card h3,
.workspace-project-focus strong,
.manager-item strong {
  overflow-wrap: break-word;
  word-break: normal;
}

.plan-panel .item-text {
  font-weight: 620;
}

.plan-panel .item-children {
  font-weight: 450;
}

.plan-panel .item-attachments-head > span {
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 560;
  letter-spacing: 0;
  text-transform: none;
}

.plan-panel .item-attachment-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  gap: 6px 14px;
}

.plan-panel .item-attachment-grid .attachment-tile {
  width: 100%;
  min-height: 58px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "thumb name remove"
    "thumb meta remove";
}

.plan-panel .item-attachment-grid .attachment-thumb {
  width: 38px;
  height: 38px;
}

@media (min-width: 1081px) {
  .plan-panel .plan-scroll:has(> #plan-items:empty) {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
    grid-template-rows: auto auto auto;
    align-items: start;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .item-summary {
    min-height: 0;
    grid-column: 1;
    grid-row: 2;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .attachment-section {
    grid-column: 2;
    grid-row: 2;
  }

  .plan-panel .plan-scroll:has(> #plan-items:empty) > .markdown-fallback-toggle,
  .plan-panel .plan-scroll:has(> #plan-items:empty) > .markdown-view {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* Keep the desktop account popover on the light-surface palette. The later
   navigation rail rules intentionally use pale text and must not leak here. */
@media (min-width: 1321px) {
  .nav-actions .account-menu-panel .top-action-button {
    background: transparent;
    color: var(--mc-ink-soft);
  }

  .nav-actions .account-menu-panel .top-action-button:hover,
  .nav-actions .account-menu-panel .top-action-button:focus-visible {
    background: var(--mc-surface-soft);
    color: var(--mc-ink);
  }

  .nav-actions .account-menu-panel .account-logout,
  .nav-actions .account-menu-panel .account-logout:hover,
  .nav-actions .account-menu-panel .account-logout:focus-visible {
    color: var(--mc-rose);
  }
}

/* Profile owns project membership and destructive project actions. */

.project-management-card {
  grid-column: 1 / -1;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.profile-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(260px, 0.3fr);
  gap: 24px;
  align-items: end;
  padding: 20px;
  border-bottom: 1px solid var(--mc-line);
}

.profile-section-heading h3 {
  margin: 4px 0 0;
  color: var(--mc-ink);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 580;
  letter-spacing: -0.035em;
}

.profile-section-heading > p {
  margin: 0;
  color: var(--mc-muted);
  font-size: 13px;
  line-height: 1.55;
}

.profile-project-list {
  display: grid;
}

.profile-project-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  min-height: 92px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--mc-line);
}

.profile-project-row:last-child {
  border-bottom: 0;
}

.profile-project-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.profile-project-copy strong {
  overflow: hidden;
  color: var(--mc-ink);
  font-size: 16px;
  font-weight: 610;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-project-copy span,
.profile-project-copy small {
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.45;
}

.profile-project-copy small {
  max-width: 660px;
  color: var(--mc-amber-ink, #72551f);
}

.profile-project-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.profile-project-actions button {
  min-height: 44px;
  padding-inline: 15px;
}

.profile-project-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.profile-project-empty {
  color: var(--mc-muted);
  padding: 24px 20px;
  font-size: 14px;
}

@media (max-width: 700px) {
  .profile-section-heading,
  .profile-project-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .profile-project-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }

  .profile-project-actions button {
    width: 100%;
  }
}

/*
 * Product system v5 — calm glass.
 * A single translucent surface language replaces legacy status stripes,
 * opaque SaaS tiles and stacked card decoration. Semantic state stays in
 * readable labels; depth comes from light, border and backdrop separation.
 */

:root {
  --mc-canvas: #e8ece9;
  --mc-canvas-raised: rgba(246, 248, 246, 0.78);
  --mc-surface: rgba(252, 253, 251, 0.72);
  --mc-surface-soft: rgba(244, 247, 244, 0.58);
  --mc-surface-quiet: rgba(226, 233, 228, 0.48);
  --mc-ink: #16211c;
  --mc-ink-soft: #3b4a43;
  --mc-muted: #5f6e67;
  --mc-faint: #738079;
  --mc-line: rgba(42, 64, 54, 0.14);
  --mc-line-strong: rgba(42, 64, 54, 0.24);
  --mc-night: #17251f;
  --mc-night-soft: #20322a;
  --mc-forest: #2a6753;
  --mc-forest-dark: #1f4f40;
  --mc-mint: rgba(190, 217, 201, 0.5);
  --mc-acid: #c9dabc;
  --mc-blue: #58717b;
  --mc-blue-soft: rgba(211, 222, 228, 0.54);
  --mc-amber: #80643d;
  --mc-amber-soft: rgba(228, 216, 194, 0.52);
  --mc-rose: #875c67;
  --mc-rose-soft: rgba(229, 208, 213, 0.5);
  --mc-radius-xs: 9px;
  --mc-radius-sm: 13px;
  --mc-radius: 18px;
  --mc-radius-lg: 24px;
  --mc-glass: rgba(250, 252, 249, 0.62);
  --mc-glass-strong: rgba(252, 253, 251, 0.78);
  --mc-glass-inner: rgba(255, 255, 255, 0.38);
  --mc-glass-hover: rgba(255, 255, 255, 0.6);
  --mc-glass-line: rgba(255, 255, 255, 0.72);
  --mc-glass-shadow:
    0 18px 48px rgba(26, 43, 34, 0.065),
    0 3px 10px rgba(26, 43, 34, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
  --mc-glass-shadow-hover:
    0 22px 54px rgba(26, 43, 34, 0.09),
    0 4px 12px rgba(26, 43, 34, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  --mc-shadow-xs: 0 8px 24px rgba(26, 43, 34, 0.045);
  --mc-shadow-sm: var(--mc-glass-shadow);
  --mc-shadow-lg: 0 30px 80px rgba(18, 31, 24, 0.16);
  --mc-focus: 0 0 0 2px rgba(250, 252, 249, 0.92), 0 0 0 5px rgba(42, 103, 83, 0.38);
}

html {
  background: #e8ece9;
}

body::before {
  background:
    radial-gradient(circle at 12% 8%, rgba(154, 190, 173, 0.25), transparent 30%),
    radial-gradient(circle at 88% 14%, rgba(175, 193, 203, 0.22), transparent 28%),
    radial-gradient(circle at 72% 88%, rgba(208, 194, 165, 0.16), transparent 32%),
    linear-gradient(124deg, rgba(255, 255, 255, 0.22), transparent 42%),
    #e8ece9;
}

body::after {
  top: 18vh;
  right: -230px;
  width: 620px;
  height: 620px;
  border-color: rgba(65, 97, 82, 0.045);
  box-shadow:
    0 0 0 92px rgba(255, 255, 255, 0.065),
    0 0 0 190px rgba(88, 113, 123, 0.028);
  animation-duration: 34s;
}

button,
.text-input,
.guided-input,
.report-input,
.discussion-input,
.compact-plan-input,
.plan-input,
select {
  border-color: rgba(42, 64, 54, 0.16);
  background: rgba(255, 255, 255, 0.46);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

button:hover,
.text-input:hover,
.guided-input:hover,
.report-input:hover,
.discussion-input:hover,
.compact-plan-input:hover,
.plan-input:hover,
select:hover {
  border-color: rgba(42, 64, 54, 0.26);
  background: rgba(255, 255, 255, 0.68);
}

button.primary,
.primary {
  border-color: rgba(27, 75, 59, 0.76);
  background: linear-gradient(145deg, rgba(54, 120, 96, 0.96), rgba(31, 79, 64, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 20px rgba(31, 79, 64, 0.12);
}

button.primary:hover,
.primary:hover {
  border-color: var(--mc-forest-dark);
  background: linear-gradient(145deg, #356f5b, #1d473a);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 24px rgba(31, 79, 64, 0.16);
}

/* Major product surfaces share the same material and edge treatment. */

.analysis-metric-grid,
.workspace-analytics-summary,
.my-tasks-summary,
.project-entry-grid,
.workspace-project-grid,
.plan-editor-pane,
.program-editor-pane,
.plan-support-pane,
.program-chat-pane,
.program-calls-panel,
.analysis-section,
.analysis-details-group,
.analysis-detail-group,
.profile-card,
.admin-content > .form-grid,
.admin-content > section:first-child,
.report-readable,
.manager-decision-queue,
.manager-command-section,
.manager-detail-group,
.manager-safety-note,
.manager-guardrail,
.attachment-modal-panel,
.artifact-modal-panel {
  border: 1px solid var(--mc-glass-line);
  background: var(--mc-glass);
  box-shadow: var(--mc-glass-shadow);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .analysis-metric-grid,
  .workspace-analytics-summary,
  .my-tasks-summary,
  .project-entry-grid,
  .workspace-project-grid,
  .plan-editor-pane,
  .program-editor-pane,
  .plan-support-pane,
  .program-chat-pane,
  .program-calls-panel,
  .analysis-section,
  .analysis-details-group,
  .analysis-detail-group,
  .profile-card,
  .admin-content > .form-grid,
  .admin-content > section:first-child,
  .report-readable,
  .manager-decision-queue,
  .manager-command-section,
  .manager-detail-group,
  .manager-safety-note,
  .manager-guardrail,
  .attachment-modal-panel,
  .artifact-modal-panel {
    -webkit-backdrop-filter: blur(18px) saturate(118%);
    backdrop-filter: blur(18px) saturate(118%);
  }
}

.analysis-section:hover,
.profile-card:hover,
.project-entry-grid:hover,
.workspace-project-grid:hover {
  box-shadow: var(--mc-glass-shadow-hover);
}

/* Grouped rows remain quiet inside glass instead of becoming nested cards. */

.analysis-metric-card,
.project-entry-card,
.workspace-project-card,
.workspace-project-card.ok,
.workspace-project-card.medium,
.workspace-project-card.high {
  border-left: 0;
  background: transparent;
}

.project-entry-card:hover,
.workspace-project-card:hover,
.workspace-project-card.ok:hover,
.workspace-project-card.medium:hover,
.workspace-project-card.high:hover {
  background: rgba(255, 255, 255, 0.34);
}

.project-entry-card + .project-entry-card,
.workspace-project-card + .workspace-project-card {
  border-top-color: rgba(42, 64, 54, 0.12);
}

.workspace-project-progress {
  border-color: rgba(42, 64, 54, 0.12);
}

/* Progress is one calm instrument: no stripes, neon or faux-metal track. */

.bonus-progress-rail {
  --bonus-reserve: 15%;
  height: 28px;
}

.bonus-progress.compact .bonus-progress-rail,
.bonus-progress.mini .bonus-progress-rail {
  height: 27px;
}

.bonus-progress-frame {
  inset-block: 9px;
  width: auto;
  max-width: none;
  overflow: visible;
  border: 0;
  border-radius: 999px;
  background: rgba(39, 63, 52, 0.1);
  box-shadow: inset 0 1px 2px rgba(25, 43, 34, 0.1), 0 1px 0 rgba(255, 255, 255, 0.68);
}

.bonus-progress-frame::after {
  top: -5px;
  bottom: -5px;
  width: 1px;
  background: rgba(36, 58, 48, 0.36);
}

.bonus-progress-segment {
  top: 0;
  bottom: 0;
  min-width: 0;
  border: 0;
  border-radius: 999px;
  transition-duration: 260ms;
}

.bonus-progress-base {
  background: linear-gradient(90deg, #34745e, #557480);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.bonus-progress-extra,
.bonus-progress-extra.in-frame,
.bonus-progress-extra.overflow {
  background: #9ab78f;
  background-image: none;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.5);
}

.bonus-progress-extra.overflow {
  top: -2px;
  bottom: -2px;
  min-width: 5px;
  border: 0;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.5), 0 0 0 3px rgba(154, 183, 143, 0.14);
}

.bonus-progress .bonus-progress-marker,
.bonus-progress .bonus-progress-overflow-label,
.bonus-progress .bonus-progress-caption {
  color: var(--mc-muted);
  font-size: 9px;
  font-weight: 620;
  letter-spacing: 0.01em;
}

.bonus-progress-marker,
.bonus-progress-overflow-label {
  top: -14px;
}

.bonus-progress-overflow-label {
  left: calc(100% + 14px);
  color: #56704f;
}

.bonus-progress.has-overflow .bonus-progress-caption {
  color: #56704f;
}

/* Semantic state uses compact labels and subtle tint, never a side stripe. */

.plan-status-badge,
.item-status-pill,
.item-kind,
.my-task-priority,
.report-state,
.project-entry-meta span,
.workspace-project-meta span,
.user-chip {
  border: 1px solid rgba(42, 64, 54, 0.13);
  background: rgba(255, 255, 255, 0.34);
  color: var(--mc-ink-soft);
  font-weight: 590;
}

.plan-status-badge,
.item-status-pill,
.item-kind,
.my-task-priority {
  letter-spacing: 0.015em;
  text-transform: none;
}

.plan-status-badge[data-status="approved"],
.plan-status-badge[data-status="analyzed"],
.item-status-pill.done,
.item-status-pill.accepted,
.report-state.ready {
  border-color: rgba(42, 103, 83, 0.18);
  background: rgba(190, 217, 201, 0.42);
  color: #285b49;
}

.plan-status-badge[data-status="rewrite_requested"],
.plan-status-badge[data-status="reported"],
.item-status-pill.partial,
.item-kind.optional {
  border-color: rgba(128, 100, 61, 0.17);
  background: rgba(228, 216, 194, 0.42);
  color: #6d5635;
}

.item-status-pill.blocked,
.item-status-pill.rejected {
  border-color: rgba(135, 92, 103, 0.18);
  background: rgba(229, 208, 213, 0.42);
  color: #744d57;
}

.item-status-pill.pending,
.item-status-pill.archived {
  border-color: rgba(73, 91, 82, 0.12);
  background: rgba(225, 231, 227, 0.42);
  color: var(--mc-muted);
}

/* The project directory is navigation, not a KPI-card gallery. Keep each
   project compact and let its supporting facts read as one quiet sentence. */

.project-entry-card {
  min-height: 0;
  align-content: start;
  gap: 9px;
  padding: 16px 18px;
}

.project-entry-main {
  align-items: center;
}

.project-entry-main > div {
  gap: 2px;
}

.project-entry-main strong {
  color: var(--mc-ink);
  font-size: 18px;
  line-height: 1.22;
}

.project-entry-main span {
  color: var(--mc-muted);
  font-size: 12px;
  font-weight: 560;
  letter-spacing: 0;
  text-transform: none;
}

.project-entry-main button {
  min-height: 38px;
  border-color: rgba(42, 64, 54, 0.16);
  background: rgba(255, 255, 255, 0.44);
  color: var(--mc-ink-soft);
  font-size: 13px;
  font-weight: 630;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.project-entry-meta {
  align-items: center;
  gap: 0;
}

.project-entry-meta span {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mc-muted);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  padding: 0;
  text-transform: none;
}

.project-entry-meta span + span::before {
  content: "\00b7";
  margin-inline: 8px;
  color: rgba(55, 76, 66, 0.42);
}

/* Roadmap state used to retain the saturated legacy dashboard palette because
   its compound selectors outranked the generic glass-card rules. */

.project-week-tile,
.project-week-tile.planned,
.project-week-tile.done,
.project-week-tile.current,
.project-week-tile.in_progress,
.project-week-tile.at_risk,
.project-roadmap-card.planned,
.project-roadmap-card.done,
.project-roadmap-card.current,
.project-roadmap-card.in_progress,
.project-roadmap-card.at_risk {
  background: var(--mc-glass-inner);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.project-week-tile.planned,
.project-roadmap-card.planned {
  border-color: rgba(73, 91, 82, 0.12);
}

.project-week-tile.done,
.project-roadmap-card.done {
  border-color: rgba(42, 103, 83, 0.2);
}

.project-week-tile.current,
.project-week-tile.in_progress,
.project-roadmap-card.current,
.project-roadmap-card.in_progress {
  border-color: rgba(73, 101, 112, 0.2);
}

.project-week-tile.at_risk,
.project-roadmap-card.at_risk {
  border-color: rgba(135, 92, 103, 0.22);
}

.project-owner-chip,
.project-owner-chip.done,
.project-owner-chip.current,
.project-owner-chip.in_progress,
.project-owner-chip.at_risk,
.project-timeline-status,
.project-timeline-status.done,
.project-timeline-status.current,
.project-timeline-status.in_progress,
.project-timeline-status.at_risk {
  border: 1px solid rgba(42, 64, 54, 0.13);
  background: rgba(255, 255, 255, 0.34);
  color: var(--mc-ink-soft);
  font-weight: 590;
}

.project-owner-chip.done,
.project-timeline-status.done {
  border-color: rgba(42, 103, 83, 0.18);
  background: rgba(190, 217, 201, 0.42);
  color: #285b49;
}

.project-owner-chip.current,
.project-owner-chip.in_progress,
.project-timeline-status.current,
.project-timeline-status.in_progress {
  border-color: rgba(73, 101, 112, 0.18);
  background: rgba(200, 215, 220, 0.42);
  color: #405e69;
}

.project-owner-chip.at_risk,
.project-timeline-status.at_risk {
  border-color: rgba(135, 92, 103, 0.18);
  background: rgba(229, 208, 213, 0.42);
  color: #744d57;
}

.project-timeline-progress {
  height: 6px;
  background: rgba(39, 63, 52, 0.1);
  box-shadow: inset 0 1px 1px rgba(25, 43, 34, 0.07);
}

.project-timeline-progress-fill,
.project-roadmap-card.planned .project-timeline-progress-fill {
  background: #7d8c85;
  box-shadow: none;
}

.project-roadmap-card.done .project-timeline-progress-fill,
.project-week-tile.done .project-timeline-progress-fill,
.project-owner-chip.done .project-timeline-progress-fill {
  background: #557d6b;
}

.project-roadmap-card.current .project-timeline-progress-fill,
.project-roadmap-card.in_progress .project-timeline-progress-fill,
.project-week-tile.current .project-timeline-progress-fill,
.project-week-tile.in_progress .project-timeline-progress-fill,
.project-owner-chip.current .project-timeline-progress-fill,
.project-owner-chip.in_progress .project-timeline-progress-fill {
  background: #627c85;
}

.project-roadmap-card.at_risk .project-timeline-progress-fill,
.project-week-tile.at_risk .project-timeline-progress-fill,
.project-owner-chip.at_risk .project-timeline-progress-fill {
  background: #8b6871;
}

/* Remove the inherited colored rails from every operational surface. */

.empty-state,
.summary-empty,
.report-detail-empty,
.approval-context,
.plan-panel .approval-context,
.program-context,
.plan-panel .plan-item,
.manager-brief-section,
.manager-attention-list div,
.day-manager-attention div,
.manager-decision-card,
.manager-decision-card.high,
.manager-decision-card.medium,
.manager-decision-card.ok,
.manager-item,
.manager-item.high,
.manager-item.medium,
.manager-item.ok,
.manager-signal,
.manager-signal.high,
.manager-signal.medium,
.manager-signal.ok,
.manager-guardrail,
.my-task-card.reminder,
.report-execution-item,
.report-execution-item.done,
.report-execution-item.partial,
.report-execution-item.blocked,
.report-execution-item.skipped {
  border-left-color: var(--mc-line);
  border-left-width: 1px;
}

.empty-state,
.summary-empty,
.report-detail-empty {
  border: 1px solid rgba(42, 64, 54, 0.1);
  border-radius: var(--mc-radius-sm);
  background: rgba(255, 255, 255, 0.24);
  padding: 14px 16px;
}

.approval-context,
.plan-panel .approval-context {
  border: 0;
  padding-left: 0;
}

.program-context {
  border: 1px solid rgba(42, 103, 83, 0.13);
  border-radius: var(--mc-radius-sm);
  background: rgba(197, 220, 207, 0.34);
}

.plan-panel .plan-item,
.my-task-card,
.manager-decision-card,
.manager-item,
.manager-signal,
.report-execution-item,
.admin-user-row,
.profile-project-row,
.project-member-row,
.absence-row,
.call-row,
.registry-item,
.analysis-blocker-row,
.progress-fact-row,
.project-target,
.project-roadmap-card,
.project-roadmap-panel,
.project-artifact-row,
.artifact-row,
.attachment-file-card {
  border: 1px solid rgba(42, 64, 54, 0.12);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-glass-inner);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.plan-panel .plan-item:hover,
.my-task-card:hover,
.manager-decision-card:hover,
.manager-item:hover,
.report-execution-item:hover,
.profile-project-row:hover,
.project-member-row:hover,
.registry-item:hover {
  border-color: rgba(42, 64, 54, 0.2);
  background: var(--mc-glass-hover);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74), 0 10px 24px rgba(26, 43, 34, 0.045);
}

.manager-decision-card.high,
.manager-item.high,
.manager-signal.high,
.report-execution-item.blocked {
  border-color: rgba(135, 92, 103, 0.22);
}

.manager-decision-card.medium,
.manager-item.medium,
.manager-signal.medium,
.report-execution-item.partial,
.my-task-card.reminder {
  border-color: rgba(128, 100, 61, 0.21);
}

.manager-decision-card.ok,
.manager-item.ok,
.manager-signal.ok,
.report-execution-item.done {
  border-color: rgba(42, 103, 83, 0.2);
}

.project-box .member-row,
.project-box .absence-row {
  box-shadow: none;
}

/* Day, planning and program keep their hierarchy while using the same glass. */

.day-context .days,
.plan-panel .approval-bar,
.plan-outcome,
.plan-panel .item-summary,
.plan-panel .attachment-section,
.plan-command-bar,
.workspace-item-editor,
.plan-editor-item,
.workspace-subitem-editor,
.plan-subitem-editor,
.plan-chat-pane,
.plan-registry-panel,
.program-weekend-days {
  border-color: var(--mc-glass-line);
  background: rgba(250, 252, 249, 0.5);
  box-shadow: var(--mc-glass-shadow);
}

.day-context .days,
.plan-panel .approval-bar {
  border: 1px solid var(--mc-glass-line);
  border-radius: var(--mc-radius);
}

.plan-panel .approval-bar {
  overflow: hidden;
}

.day-context .days {
  overflow-x: auto;
  overflow-y: hidden;
  margin-top: 2px;
}

.day-context .day-button {
  background: transparent;
}

.day-context .day-button:hover {
  background: rgba(255, 255, 255, 0.32);
}

.day-context .day-button.active {
  background: rgba(190, 217, 201, 0.44);
  box-shadow: inset 0 -2px 0 rgba(42, 103, 83, 0.62);
}

.marker {
  width: 7px;
  height: 7px;
  opacity: 0.8;
}

.marker.plan { background: #4e7b69; }
.marker.report { background: #9a8059; }
.marker.discussion { background: #8a6872; }

.plan-panel .approval-bar {
  padding: 12px 14px;
}

.plan-outcome {
  background: rgba(190, 217, 201, 0.36);
}

.plan-support-pane {
  background: rgba(226, 233, 228, 0.5);
}

.plan-chat-pane,
.plan-registry-panel {
  box-shadow: none;
}

.program-input {
  background: rgba(255, 255, 255, 0.32);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

/* The dark management surface becomes deep glass, not a solid hero slab. */

.manager-executive-brief,
.day-manager-brief {
  border: 1px solid rgba(255, 255, 255, 0.09);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.055), transparent 52%),
    rgba(23, 37, 31, 0.94);
  box-shadow:
    0 24px 60px rgba(18, 31, 24, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .manager-executive-brief,
  .day-manager-brief,
  .app-navbar,
  .mobile-bottom-nav {
    -webkit-backdrop-filter: blur(22px) saturate(116%);
    backdrop-filter: blur(22px) saturate(116%);
  }
}

.manager-decision-queue,
.manager-command-section {
  border-radius: var(--mc-radius);
}

.manager-guardrail {
  background: rgba(250, 252, 249, 0.52);
}

.report-readable {
  border-radius: var(--mc-radius);
}

.report-execution-detail,
.report-execution-detail.comment,
.report-execution-detail.blocker {
  border-color: rgba(42, 64, 54, 0.11);
  background: rgba(255, 255, 255, 0.3);
}

.report-version-item.active {
  border-color: rgba(42, 103, 83, 0.22);
  background: rgba(190, 217, 201, 0.36);
}

.attachment-modal,
.nav-drawer-backdrop {
  background: rgba(16, 27, 21, 0.46);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

@media (max-width: 760px) {
  :root {
    --mc-radius: 15px;
    --mc-radius-lg: 18px;
  }

  body::before {
    background:
      radial-gradient(circle at 10% 6%, rgba(154, 190, 173, 0.2), transparent 34%),
      radial-gradient(circle at 90% 20%, rgba(175, 193, 203, 0.17), transparent 32%),
      #e8ece9;
  }

  .day-context .days {
    margin-inline: -4px;
    padding-left: 0;
  }

  .bonus-progress-rail {
    --bonus-reserve: 18%;
  }

  .project-entry-card {
    padding: 15px;
  }

  .project-entry-main button {
    min-height: 44px;
  }

  .plan-editor-pane,
  .program-editor-pane,
  .plan-support-pane,
  .program-chat-pane,
  .program-calls-panel {
    border-radius: var(--mc-radius);
  }

  /* A filtered ancestor becomes the containing block for fixed descendants.
     Keep the mobile save action anchored above the viewport dock. */
  .plan-editor-pane {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --mc-glass: rgba(250, 252, 249, 0.94);
    --mc-glass-strong: rgba(252, 253, 251, 0.98);
    --mc-glass-inner: rgba(250, 252, 249, 0.82);
  }

  .analysis-metric-grid,
  .workspace-analytics-summary,
  .my-tasks-summary,
  .project-entry-grid,
  .workspace-project-grid,
  .plan-editor-pane,
  .program-editor-pane,
  .plan-support-pane,
  .analysis-section,
  .profile-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Project team drawer: a hairline sheet with quiet typographic identities. */

.app-shell:not(.plan-route):not(.program-route) > .sidebar {
  border-left: 1px solid rgba(42, 64, 54, 0.11);
  border-radius: 16px 0 0 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 180px),
    rgba(247, 249, 246, 0.88);
  box-shadow:
    -12px 0 36px rgba(18, 31, 24, 0.065),
    inset 1px 0 0 rgba(255, 255, 255, 0.58);
}

.workspace-drawer-backdrop {
  background: rgba(15, 24, 19, 0.42);
  backdrop-filter: blur(6px);
}

.workspace-drawer-head {
  border-bottom-color: rgba(42, 64, 54, 0.09);
}

.sidebar .members-list {
  gap: 0;
}

.project-box .member-row {
  border: 0;
  border-bottom: 1px solid rgba(42, 64, 54, 0.075);
  border-radius: 0;
  padding: 10px 2px;
}

.project-box .member-row:first-child {
  padding-top: 4px;
}

.project-box .member-row.editable:hover {
  border-bottom-color: rgba(42, 64, 54, 0.12);
  background: rgba(255, 255, 255, 0.28);
  transform: none;
}

.user-chip-monogram {
  display: none;
}

.project-box .member-summary .user-chip,
.project-box .absence-row-head .user-chip {
  gap: 9px;
  min-height: 28px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--mc-ink);
  padding: 2px 5px 2px 0;
  font-size: 13px;
  font-weight: 610;
  letter-spacing: -0.015em;
}

.project-box .member-summary .user-chip:hover,
.project-box .member-summary .user-chip:focus-visible,
.project-box .absence-row-head .user-chip:hover,
.project-box .absence-row-head .user-chip:focus-visible {
  background: rgba(255, 255, 255, 0.4);
  box-shadow: none;
}

.project-box .member-summary .user-chip:focus-visible,
.project-box .absence-row-head .user-chip:focus-visible {
  outline: 2px solid rgba(21, 95, 72, 0.38);
  outline-offset: 2px;
}

.project-box .member-summary .user-chip-monogram,
.project-box .absence-row-head .user-chip-monogram {
  display: inline-grid;
  width: 24px;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid rgba(42, 64, 54, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.34);
  color: var(--mc-muted);
  font-size: 9px;
  font-weight: 720;
  letter-spacing: 0.035em;
}

.project-box .member-summary .user-chip-label,
.project-box .absence-row-head .user-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .app-shell:not(.plan-route):not(.program-route) > .sidebar {
    -webkit-backdrop-filter: blur(24px) saturate(108%);
    backdrop-filter: blur(24px) saturate(108%);
  }
}

@media (max-width: 760px) {
  .app-shell:not(.plan-route):not(.program-route) > .sidebar {
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .app-shell:not(.plan-route):not(.program-route) > .sidebar {
    background: #f7f9f6;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Planning support: contained actions, readable conversation, quiet registries. */

.plan-panel .approval-bar {
  position: relative;
  z-index: 40;
  overflow: visible;
}

.approval-more-menu {
  max-width: calc(100vw - 32px);
  overflow: hidden;
}

.approval-more-menu button {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.plan-chat-pane {
  gap: 10px;
}

.discussion-messages {
  min-height: 220px;
  max-height: 420px;
  gap: 8px;
  border-color: rgba(42, 64, 54, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.3);
  padding: 12px;
}

.discussion-message {
  max-width: 90%;
  border-color: rgba(42, 64, 54, 0.1);
  border-radius: 12px;
  padding: 10px 12px;
}

.discussion-message.manager,
.discussion-message.user,
.discussion-message.mine {
  border-color: rgba(42, 103, 83, 0.14);
  background: rgba(216, 232, 222, 0.66);
}

.discussion-message.operator {
  border-color: rgba(128, 100, 61, 0.16);
  background: rgba(246, 240, 226, 0.68);
}

.message-meta {
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 590;
  letter-spacing: 0.01em;
}

.message-body {
  margin-top: 4px;
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.5;
}

.message-request-ref {
  width: fit-content;
  margin-top: 8px;
  border: 1px solid rgba(42, 64, 54, 0.09);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.34);
  color: var(--mc-muted);
  font-size: 10px;
  padding: 4px 7px;
}

.discussion-input {
  min-height: 80px;
  padding: 12px 13px;
  line-height: 1.45;
}

.plan-registry-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.plan-registry-grid details {
  padding: 0;
}

.plan-registry-grid summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  list-style: none;
  font-size: 12px;
  font-weight: 640;
}

.plan-registry-grid summary::-webkit-details-marker {
  display: none;
}

.plan-registry-grid summary::after {
  content: "+";
  color: var(--mc-muted);
  font-size: 15px;
  font-weight: 430;
}

.plan-registry-grid details[open] > summary::after {
  content: "−";
}

.plan-registry-list {
  gap: 0;
  margin-top: 0;
  padding-bottom: 8px;
}

.registry-item {
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  border: 0;
  border-top: 1px solid rgba(42, 64, 54, 0.085);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px 0;
}

.registry-item:hover {
  border-color: rgba(42, 64, 54, 0.085);
  background: transparent;
  box-shadow: none;
}

.registry-item strong {
  font-size: 12.5px;
  font-weight: 610;
  line-height: 1.42;
}

.registry-item span {
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.35;
}

.registry-item-actions {
  justify-content: flex-start;
}

.registry-item-actions button {
  min-height: 32px;
  border-color: rgba(42, 64, 54, 0.1);
  background: rgba(255, 255, 255, 0.3);
  box-shadow: none;
  color: var(--mc-ink-soft);
  font-size: 11px;
  font-weight: 610;
}

.registry-item-actions button.danger {
  border-color: transparent;
  background: transparent;
  color: var(--mc-muted);
}

.registry-show-more {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-top: 1px solid rgba(42, 64, 54, 0.085);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--mc-muted);
  font-size: 11.5px;
  font-weight: 610;
}

.registry-show-more:hover {
  border-color: rgba(42, 64, 54, 0.085);
  background: rgba(255, 255, 255, 0.28);
  box-shadow: none;
  color: var(--mc-ink-soft);
}

@media (max-width: 760px) {
  .registry-show-more {
    min-height: 44px;
  }
}

@media (max-width: 760px) {
  .approval-more-menu {
    right: 0;
    left: auto;
    width: min(280px, calc(100vw - 28px));
  }

  .discussion-messages {
    min-height: 200px;
  }
}

/* Planning editor: keep long manager work from stretching the closing criteria
   into a sparse parallel column. */
.plan-workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 400px);
}

.plan-secondary-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.plan-secondary-grid .plan-studio-card {
  align-content: start;
}

.plan-secondary-grid .plan-studio-card + .plan-studio-card {
  border-top: 1px solid var(--mc-line);
  border-left: 0;
  padding-left: 0;
}

#plan-closing-editor {
  min-height: 132px;
}

textarea.is-input-expanded {
  position: relative;
  z-index: 8;
  field-sizing: content;
  height: auto;
  min-height: 180px;
  max-height: min(60svh, 560px);
  overflow-y: auto;
  border-color: rgba(42, 103, 83, 0.3);
  background: rgba(255, 255, 252, 0.98);
  box-shadow: 0 12px 32px rgba(24, 43, 34, 0.09), 0 0 0 3px rgba(42, 103, 83, 0.07);
}

.discussion-input.is-input-expanded {
  min-height: 180px;
  max-height: min(48svh, 420px);
}

.workspace-subitems {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.plan-chat-pane .attachment-section.compact {
  overflow: hidden;
  border: 1px solid rgba(42, 64, 54, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.24);
  padding: 11px;
}

.plan-chat-pane .attachment-head {
  gap: 8px;
}

.plan-chat-pane .attachment-head strong,
.plan-chat-pane .attachment-head span {
  overflow-wrap: anywhere;
}

.discussion-messages {
  padding: 14px;
}

.discussion-message {
  max-width: 94%;
  border-radius: 10px;
  padding: 11px 12px;
}

.message-body {
  white-space: pre-wrap;
}

.registry-copy {
  min-width: 0;
}

.registry-item .registry-copy > strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow-wrap: anywhere;
}

.registry-item .registry-meta {
  margin-top: 5px;
  color: var(--mc-muted);
  font-size: 10.5px;
  line-height: 1.35;
}

.registry-item .registry-context {
  display: -webkit-box;
  margin: 7px 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--mc-muted);
  font-size: 10.5px;
  line-height: 1.38;
}

.registry-item .registry-context > span {
  display: inline;
  margin: 0 5px 0 0;
  color: var(--mc-ink-soft);
  font-size: inherit;
  font-weight: 620;
}

/* Attachment viewer */
.attachment-modal-panel {
  width: min(1120px, 100%);
}

.attachment-modal-header > div:first-child {
  min-width: 0;
}

.attachment-modal-actions {
  display: flex;
  flex: none;
  align-items: center;
  gap: 8px;
}

.attachment-download {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(42, 64, 54, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--mc-ink-soft);
  font-size: 12px;
  font-weight: 620;
  padding: 0 12px;
  text-decoration: none;
}

.attachment-download:hover,
.attachment-download:focus-visible {
  border-color: rgba(42, 103, 83, 0.24);
  background: rgba(223, 233, 225, 0.62);
}

.attachment-modal-body {
  background: rgba(240, 244, 240, 0.78);
  padding: 18px;
  scrollbar-gutter: stable;
}

.attachment-preview-loading,
.attachment-preview-error,
.attachment-preview-empty {
  display: grid;
  min-height: 220px;
  place-items: center;
  color: var(--mc-muted);
  text-align: center;
}

.attachment-preview-error {
  color: var(--mc-rose);
}

.attachment-preview-notice {
  margin-bottom: 10px;
  border: 1px solid rgba(128, 100, 61, 0.16);
  border-radius: 8px;
  background: rgba(246, 240, 226, 0.72);
  color: var(--mc-ink-soft);
  padding: 9px 11px;
  font-size: 12px;
}

.attachment-document,
.attachment-code,
.attachment-sheet {
  border: 1px solid rgba(42, 64, 54, 0.11);
  border-radius: 10px;
  background: rgba(255, 255, 252, 0.96);
  box-shadow: 0 8px 24px rgba(24, 43, 34, 0.045);
}

.attachment-document {
  width: min(860px, 100%);
  min-height: 320px;
  margin: 0 auto;
  color: var(--mc-ink);
  padding: clamp(22px, 5vw, 58px);
  font-size: 15px;
  line-height: 1.68;
}

.attachment-document h2,
.attachment-document h3,
.attachment-document h4,
.attachment-document h5,
.attachment-document h6 {
  margin: 1.6em 0 0.55em;
  color: var(--mc-ink);
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.attachment-document h2:first-child,
.attachment-document h3:first-child,
.attachment-document p:first-child {
  margin-top: 0;
}

.attachment-document p,
.attachment-document ul,
.attachment-document ol,
.attachment-document blockquote {
  margin: 0.75em 0;
}

.attachment-document li + li {
  margin-top: 0.32em;
}

.attachment-document blockquote {
  border-left: 2px solid rgba(42, 103, 83, 0.3);
  color: var(--mc-ink-soft);
  padding-left: 14px;
}

.attachment-document code {
  border-radius: 5px;
  background: rgba(42, 64, 54, 0.07);
  padding: 0.12em 0.34em;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 0.9em;
}

.attachment-document .attachment-code {
  width: 100%;
  min-height: 0;
  margin: 1em 0;
}

.markdown-check {
  display: inline-grid;
  width: 17px;
  height: 17px;
  margin-right: 7px;
  place-items: center;
  border: 1px solid rgba(42, 64, 54, 0.22);
  border-radius: 4px;
  color: var(--mc-forest);
  font-size: 11px;
}

.attachment-code-head {
  width: min(100%, 980px);
  margin: 0 auto -1px;
  border: 1px solid rgba(42, 64, 54, 0.11);
  border-radius: 10px 10px 0 0;
  background: rgba(230, 236, 231, 0.94);
  color: var(--mc-muted);
  padding: 8px 13px;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: 0.05em;
}

.attachment-code {
  width: min(100%, 980px);
  min-height: 260px;
  margin: 0 auto;
  overflow: auto;
  border-radius: 0 0 10px 10px;
  color: #24352e;
  padding: 18px;
  tab-size: 2;
  white-space: pre;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.58;
}

.syntax-comment { color: #718078; font-style: italic; }
.syntax-string { color: #7d5538; }
.syntax-number { color: #795f9a; }
.syntax-keyword { color: #216f5a; font-weight: 650; }

.attachment-sheets {
  display: grid;
  gap: 16px;
}

.attachment-sheet {
  min-width: 0;
  overflow: hidden;
}

.attachment-sheet > h3 {
  margin: 0;
  border-bottom: 1px solid rgba(42, 64, 54, 0.1);
  color: var(--mc-ink-soft);
  padding: 11px 14px;
  font-size: 13px;
  font-weight: 650;
}

.attachment-table-scroll {
  width: 100%;
  max-height: min(650px, 68svh);
  overflow: auto;
}

.attachment-preview-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.4;
}

.attachment-preview-table th,
.attachment-preview-table td {
  min-width: 110px;
  max-width: 420px;
  border-right: 1px solid rgba(42, 64, 54, 0.08);
  border-bottom: 1px solid rgba(42, 64, 54, 0.08);
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
  white-space: pre-wrap;
}

.attachment-preview-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #edf2ed;
  color: var(--mc-ink);
  font-weight: 650;
}

.attachment-preview-table tr:last-child td {
  border-bottom: 0;
}

.attachment-preview-table th:last-child,
.attachment-preview-table td:last-child {
  border-right: 0;
}

.attachment-docx-list {
  position: relative;
  margin: 0.55em 0;
  padding-left: 20px;
}

.attachment-docx-list::before {
  position: absolute;
  left: 2px;
  color: var(--mc-forest);
  content: "•";
}

@media (max-width: 1320px) {
  .plan-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .attachment-modal {
    align-items: stretch;
    padding: 0;
  }

  .attachment-modal-panel {
    width: 100%;
    max-height: 100svh;
    min-height: 100svh;
    border: 0;
    border-radius: 0;
  }

  .attachment-modal-header {
    padding: max(10px, env(safe-area-inset-top)) 10px 10px;
  }

  .attachment-modal-header > div:first-child {
    max-width: calc(100% - 126px);
  }

  .attachment-download {
    min-height: 42px;
    padding-inline: 10px;
  }

  .attachment-modal-body {
    padding: 10px;
  }

  .attachment-document {
    min-height: 100%;
    border-radius: 8px;
    padding: 22px 17px;
    font-size: 14px;
  }

  .attachment-code {
    padding: 14px 12px;
    font-size: 12px;
  }

  .attachment-preview-table th,
  .attachment-preview-table td {
    min-width: 96px;
    padding: 7px 8px;
  }
}

/* Project-first navigation and a focused planning studio. */

.nav-project-switcher {
  display: grid;
  min-width: 210px;
  gap: 1px;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.055);
  padding: 5px 30px 5px 10px;
}

.nav-project-switcher::after {
  content: "⌄";
  position: absolute;
  top: 50%;
  right: 10px;
  color: rgba(238, 245, 240, 0.62);
  transform: translateY(-50%);
  pointer-events: none;
}

.nav-project-switcher > span {
  color: rgba(238, 245, 240, 0.52);
  font-size: 8px;
  font-weight: 720;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}

.nav-project-switcher select {
  width: 100%;
  min-height: 20px;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #f2f7f3;
  font-size: 12px;
  font-weight: 650;
  padding: 0;
}

.nav-project-switcher select:focus-visible {
  outline: 2px solid rgba(183, 216, 198, 0.58);
  outline-offset: 5px;
}

.nav-project-switcher option { background: #1b2b24; color: #f2f7f3; }
.nav-project-divider { width: 1px; height: 26px; align-self: center; background: rgba(255, 255, 255, 0.11); }
.legacy-project-select { display: none; }

.project-context-name {
  overflow: hidden;
  color: var(--mc-ink);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-entry-actions,
.plan-studio-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.project-program-cta {
  border-color: rgba(37, 102, 77, 0.3);
  background: rgba(205, 231, 214, 0.66);
  color: #245b47;
}

.manager-program-onboarding {
  min-height: min(520px, 64svh);
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 13px;
  border: 1px solid var(--mc-glass-line);
  border-radius: var(--mc-radius-lg);
  background:
    radial-gradient(circle at 88% 18%, rgba(164, 197, 179, 0.23), transparent 34%),
    rgba(250, 252, 249, 0.74);
  box-shadow: var(--mc-glass-shadow);
  padding: clamp(28px, 6vw, 76px);
}

.manager-program-onboarding h3 {
  max-width: 760px;
  margin: 0;
  color: var(--mc-ink);
  font-size: clamp(34px, 5vw, 62px);
  font-weight: 590;
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.manager-program-onboarding p {
  max-width: 680px;
  margin: 0;
  color: var(--mc-ink-soft);
  font-size: 15px;
  line-height: 1.65;
}

.manager-program-onboarding-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 7px; }
.manager-program-onboarding-actions button { min-height: 46px; }

.plan-workspace-grid { grid-template-columns: minmax(0, 1fr) !important; }

.plan-support-trigger {
  min-height: 36px;
  border-color: rgba(42, 64, 54, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: none;
  color: var(--mc-ink-soft);
  font-size: 11px;
  font-weight: 650;
  padding: 7px 12px;
}

.plan-support-trigger.active {
  border-color: rgba(42, 103, 83, 0.22);
  background: rgba(190, 217, 201, 0.62);
  color: #285b49;
}

.plan-support-pane {
  position: fixed !important;
  z-index: 261;
  top: 0 !important;
  right: 0;
  bottom: 0;
  width: min(460px, calc(100vw - 28px));
  height: 100svh !important;
  max-height: none !important;
  display: flex !important;
  overflow: hidden !important;
  flex-direction: column;
  gap: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(42, 64, 54, 0.13) !important;
  border-radius: 18px 0 0 18px !important;
  background: rgba(248, 250, 247, 0.985) !important;
  box-shadow: -24px 0 70px rgba(17, 31, 24, 0.16) !important;
  padding: 0 !important;
  transform: translateX(105%);
  transition: transform 220ms cubic-bezier(.2, .75, .25, 1);
}

.support-drawer-open .plan-support-pane { transform: translateX(0); }

.plan-support-head {
  min-height: 76px;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(42, 64, 54, 0.1);
  padding: 14px 18px;
}

.plan-support-head > div { display: grid; gap: 3px; }
.plan-support-head strong { color: var(--mc-ink); font-size: 18px; font-weight: 650; letter-spacing: -0.02em; }
.plan-support-pane .mobile-plan-support-toggle { display: none !important; }
.plan-support-pane .mobile-plan-support-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex: 0 0 auto;
  gap: 4px;
  margin: 12px 18px 0;
  border: 1px solid rgba(42, 64, 54, 0.09);
  border-radius: 12px;
  background: rgba(232, 237, 233, 0.66);
  padding: 4px;
}

.plan-support-pane .mobile-plan-support-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  box-shadow: none;
  color: var(--mc-muted);
}

.plan-support-pane .mobile-plan-support-tabs button[aria-selected="true"] {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 5px rgba(23, 42, 32, 0.08);
  color: var(--mc-ink-soft);
}

.plan-support-pane .plan-chat-pane,
.plan-support-pane .plan-registry-panel {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 16px 18px 24px;
}

.plan-workspace[data-support-drawer-view="chat"] .plan-support-pane .plan-chat-pane { display: flex !important; }
.plan-workspace[data-support-drawer-view="chat"] .plan-support-pane .plan-registry-panel,
.plan-workspace[data-support-drawer-view="archive"] .plan-support-pane .plan-chat-pane { display: none !important; }
.plan-workspace[data-support-drawer-view="archive"] .plan-support-pane .plan-registry-panel { display: grid !important; align-content: start; }

.plan-support-backdrop {
  position: fixed;
  z-index: 260;
  inset: 0;
  background: rgba(17, 28, 22, 0.34);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

body.plan-support-drawer-open { overflow: hidden; }
.plan-editor-pane { overflow: visible; }

.plan-studio-card,
.workspace-item-editor { border-radius: 18px; }

.workspace-item-editor {
  gap: 11px;
  border-color: rgba(42, 64, 54, 0.1);
  background: rgba(255, 255, 255, 0.48);
  box-shadow: 0 10px 28px rgba(22, 40, 31, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.78);
  padding: 15px;
}

.workspace-item-editor:hover {
  border-color: rgba(42, 103, 83, 0.18);
  background: rgba(255, 255, 255, 0.64);
}

.workspace-item-editor textarea,
.workspace-subitem-editor textarea,
.compact-plan-input,
.discussion-input {
  border: 1px solid rgba(42, 64, 54, 0.12);
  border-radius: 13px;
  background: rgba(253, 254, 252, 0.82);
  box-shadow: inset 0 1px 2px rgba(25, 43, 34, 0.025);
  padding: 13px 14px;
  line-height: 1.5;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.workspace-item-editor textarea:focus,
.workspace-subitem-editor textarea:focus,
.compact-plan-input:focus,
.discussion-input:focus {
  border-color: rgba(42, 103, 83, 0.34);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(42, 103, 83, 0.075), 0 12px 30px rgba(24, 43, 34, 0.055);
}

.workspace-subitem-editor {
  border-color: rgba(42, 64, 54, 0.09);
  border-radius: 14px;
  background: rgba(245, 248, 245, 0.66);
  box-shadow: none;
  padding: 9px;
}

.workspace-kind-segmented {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, auto));
  gap: 3px;
  border: 1px solid rgba(42, 64, 54, 0.1);
  border-radius: 999px;
  background: rgba(232, 237, 233, 0.66);
  padding: 3px;
}

.workspace-kind-choice {
  min-height: 30px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 650;
  padding: 5px 10px;
}

.workspace-kind-choice.active {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 5px rgba(23, 42, 32, 0.08);
  color: var(--mc-ink-soft);
}

.workspace-kind-choice[data-kind="optional"].active {
  background: rgba(238, 229, 210, 0.9);
  color: #6d5635;
}

.plan-date-field { position: relative; }
.plan-date-input-wrap {
  display: grid;
  grid-template-columns: minmax(132px, 1fr) 34px;
  overflow: hidden;
  border: 1px solid rgba(42, 64, 54, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
}

.plan-date-input-wrap #plan-date,
.plan-date-input-wrap .plan-date-toggle {
  min-height: 38px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.plan-date-input-wrap #plan-date { min-width: 0; padding: 8px 2px 8px 11px; font-variant-numeric: tabular-nums; }
.plan-date-input-wrap .plan-date-toggle { color: var(--mc-muted); padding: 0; }

.plan-date-popover {
  position: absolute;
  z-index: 80;
  top: calc(100% + 7px);
  left: 8px;
  width: min(330px, calc(100vw - 32px));
  border: 1px solid rgba(42, 64, 54, 0.14);
  border-radius: 17px;
  background: rgba(250, 252, 249, 0.99);
  box-shadow: 0 22px 55px rgba(20, 36, 28, 0.18);
  padding: 12px;
}

.plan-calendar-head,
.plan-calendar-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plan-calendar-head { margin-bottom: 8px; }
.plan-calendar-head strong { color: var(--mc-ink); font-size: 13px; font-weight: 660; text-transform: capitalize; }
.plan-calendar-head button,
.plan-calendar-foot button { min-height: 34px; border: 0; background: transparent; box-shadow: none; color: var(--mc-ink-soft); }
.plan-calendar-weekdays,
.plan-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.plan-calendar-weekdays span { color: var(--mc-muted); font-size: 9px; font-weight: 670; padding: 5px 0; text-align: center; }

.plan-calendar-day {
  position: relative;
  min-width: 0;
  min-height: 36px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  color: var(--mc-ink-soft);
  font-size: 12px;
  padding: 0;
}

.plan-calendar-day.outside { color: rgba(73, 91, 82, 0.36); }
.plan-calendar-day:hover { background: rgba(213, 226, 217, 0.54); }
.plan-calendar-day.today { box-shadow: inset 0 0 0 1px rgba(42, 103, 83, 0.28); }
.plan-calendar-day.selected { background: #2f6b56; box-shadow: 0 6px 14px rgba(42, 103, 83, 0.2); color: #fff; }
.plan-calendar-day.has-work::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #5b8b78;
  transform: translateX(-50%);
}
.plan-calendar-day.selected::after { background: #dcebe3; }
.plan-calendar-foot { margin-top: 8px; border-top: 1px solid rgba(42, 64, 54, 0.08); padding-top: 7px; }
.plan-calendar-foot span { display: inline-flex; align-items: center; gap: 5px; color: var(--mc-muted); font-size: 9.5px; }
.plan-calendar-foot i { width: 5px; height: 5px; border-radius: 50%; background: #5b8b78; }
.self-coach-mode .plan-editor-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1320px) {
  .nav-project-switcher {
    width: 100%;
    min-height: 54px;
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    padding: 8px 34px 8px 12px;
  }
  .nav-project-divider { display: none; }
}

@media (max-width: 760px) {
  .plan-studio-head { align-items: flex-start; flex-direction: column; }
  .plan-studio-actions { width: 100%; }
  .plan-support-trigger { min-height: 44px; flex: 1 1 auto; }
  .plan-support-pane {
    top: auto !important;
    width: 100%;
    height: min(88svh, 820px) !important;
    border-top: 1px solid rgba(42, 64, 54, 0.13) !important;
    border-left: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    transform: translateY(105%);
  }
  .support-drawer-open .plan-support-pane { transform: translateY(0); }
  .plan-support-head { min-height: 66px; }
  .workspace-item-editor { padding: 12px; }
  .workspace-item-editor-top { align-items: flex-start; flex-wrap: wrap; }
  .workspace-kind-segmented { order: 3; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-kind-choice { min-height: 38px; }
  .plan-date-popover {
    position: fixed;
    top: 50%;
    right: 16px;
    left: 16px;
    width: auto;
    transform: translateY(-50%);
  }
  .project-entry-actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .plan-support-pane { transition: none; }
}

/* Plan readiness: a compact execution gate, not another dashboard. */
.plan-readiness {
  margin: 0 18px 14px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: var(--mc-shadow-xs);
  color: var(--mc-ink);
  padding: 14px 16px;
}

.plan-readiness-editor {
  margin: 0;
}

.plan-readiness[data-status="blocked"] {
  border-color: rgba(168, 60, 84, 0.32);
  background: #fff8f8;
}

.plan-readiness[data-status="attention"] {
  border-color: rgba(150, 96, 24, 0.3);
  background: #fffaf2;
}

.plan-readiness[data-status="ready"] {
  border-color: rgba(21, 95, 72, 0.24);
  background: #f8fcf8;
}

.plan-readiness-head,
.readiness-register-head,
.readiness-source-head,
.readiness-decision-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.plan-readiness-head strong,
.readiness-register-head h3 {
  display: block;
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
}

.plan-readiness-head p,
.readiness-register-head p,
.readiness-source-meta,
.readiness-decision-meta {
  margin: 4px 0 0;
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.45;
}

.readiness-status-mark,
.readiness-chip {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
  font-size: 11px;
  font-weight: 720;
  line-height: 1;
  padding: 0 9px;
  white-space: nowrap;
}

.readiness-status-mark.blocked,
.readiness-chip.blocker,
.readiness-chip.superseded {
  border-color: rgba(168, 60, 84, 0.25);
  background: var(--mc-rose-soft);
  color: var(--mc-rose);
}

.readiness-status-mark.attention,
.readiness-chip.warning,
.readiness-chip.unreviewed,
.readiness-chip.draft {
  border-color: rgba(150, 96, 24, 0.24);
  background: var(--mc-amber-soft);
  color: #77501c;
}

.readiness-status-mark.ready,
.readiness-chip.authoritative,
.readiness-chip.resolved {
  border-color: rgba(21, 95, 72, 0.22);
  background: var(--mc-mint);
  color: var(--mc-forest-dark);
}

.readiness-findings {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.readiness-finding {
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding-top: 9px;
}

.readiness-finding:first-child {
  border-top: 0;
  padding-top: 0;
}

.readiness-finding strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.readiness-finding p,
.readiness-finding small {
  display: block;
  margin: 3px 0 0;
  color: var(--mc-muted);
  font-size: 11.5px;
  line-height: 1.45;
}

.readiness-finding-recommendation {
  margin-top: 7px;
  border-left: 3px solid var(--mc-forest);
  border-radius: 4px;
  background: var(--mc-mint);
  padding: 8px 10px;
  color: var(--mc-ink);
  font-size: 12px;
  line-height: 1.45;
}

.readiness-finding-recommendation strong {
  display: inline;
}

.readiness-finding-options {
  margin-top: 6px;
  color: var(--mc-muted);
  font-size: 11.5px;
}

.readiness-finding-options summary {
  cursor: pointer;
  font-weight: 650;
}

.readiness-finding-options > div {
  display: grid;
  gap: 2px;
  margin-top: 5px;
  padding-left: 10px;
}

.readiness-finding-options > div.recommended {
  border-left: 2px solid var(--mc-forest);
}

.readiness-finding-options strong,
.readiness-finding-options span {
  display: block;
  font-size: 11.5px;
  line-height: 1.4;
}

.readiness-open-program {
  min-height: 34px;
  margin-top: 11px;
}

.readiness-center,
.program-calls-panel,
.program-chat-pane {
  background-color: rgba(255, 254, 250, 0.98);
}

.readiness-center {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-lg);
  box-shadow: var(--mc-shadow-xs);
  overflow: clip;
}

.manager-page {
  overflow: auto;
}

.manager-page > .readiness-center {
  width: min(1360px, 100%);
  flex: 0 0 auto;
  margin: 0 auto 22px;
}

.manager-page > .manager-content {
  flex: 0 0 auto;
  overflow: visible;
}

.program-readiness-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-lg);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: var(--mc-shadow-xs);
  padding: 15px 18px;
}

.program-readiness-summary > div {
  display: grid;
  gap: 3px;
}

.program-readiness-summary span {
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.program-readiness-summary strong {
  color: var(--mc-ink);
  font-size: 15px;
}

.program-readiness-summary p {
  margin: 0;
  color: var(--mc-muted);
  font-size: 12px;
}

.readiness-center > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  cursor: pointer;
  gap: 18px;
  list-style: none;
  padding: 12px 18px;
}

.readiness-center > summary::-webkit-details-marker { display: none; }
.readiness-center > summary span { font-weight: 760; }
.readiness-center > summary small { color: var(--mc-muted); text-align: right; }

.readiness-center-body {
  display: grid;
  gap: 18px;
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  background: var(--mc-surface-soft);
  padding: 18px;
}

.project-readiness-overview {
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  color: var(--mc-ink-soft);
  font-size: 13px;
  line-height: 1.5;
  padding: 11px 13px;
}

.readiness-register-section {
  display: grid;
  gap: 12px;
}

.readiness-sources,
.readiness-source-items,
.readiness-decisions {
  display: grid;
  gap: 9px;
}

.readiness-open-decisions,
.readiness-decision-history > div {
  display: grid;
  gap: 9px;
}

.readiness-decision-history {
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding-top: 8px;
}

.readiness-decision-history > summary {
  min-height: 40px;
  color: var(--mc-muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 720;
}

.readiness-decision-history > div {
  padding-top: 4px;
}

.readiness-decision-history .readiness-decision {
  background: var(--mc-surface-soft);
  box-shadow: none;
  opacity: 0.84;
}

.readiness-decision-history-actions {
  grid-template-columns: minmax(40px, 1fr) auto auto;
}

.readiness-source,
.readiness-decision {
  display: grid;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
  padding: 12px;
}

.readiness-decision {
  gap: 10px;
}

.readiness-source-summary {
  display: block;
  cursor: pointer;
  list-style: none;
  margin: -12px;
  padding: 12px;
}

.readiness-source-summary::-webkit-details-marker {
  display: none;
}

.readiness-source-summary:focus-visible {
  border-radius: var(--mc-radius-sm);
  outline: 3px solid rgba(70, 125, 104, 0.24);
  outline-offset: 2px;
}

.readiness-source-summary:hover {
  background: rgba(223, 235, 226, 0.28);
}

.readiness-source[open] .readiness-source-summary {
  border-bottom: 1px solid rgba(18, 23, 19, 0.08);
  border-radius: var(--mc-radius-sm) var(--mc-radius-sm) 0 0;
  margin-bottom: 12px;
}

.readiness-source-title,
.readiness-decision-title {
  min-width: 0;
}

.readiness-source-title strong,
.readiness-decision-title strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: 13px;
}

.readiness-source-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 6px;
}

.readiness-source-meta span + span::before {
  content: "·";
  margin-right: 6px;
}

.readiness-source-checksum {
  font-variant-numeric: tabular-nums;
}

.readiness-source-state {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
}

.readiness-source-edit-label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  color: var(--mc-forest-dark);
  font-size: 11px;
  font-weight: 760;
}

.readiness-source-edit-label::after {
  content: "⌄";
  font-size: 16px;
  line-height: 1;
  margin-left: 5px;
  transform: translateY(-1px);
  transition: transform 160ms ease;
}

.readiness-source[open] .readiness-source-edit-label::after {
  transform: rotate(180deg) translateY(1px);
}

.readiness-source-controls {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 8px;
}

.readiness-source-technical {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding-top: 7px;
}

.readiness-source-technical > summary {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--mc-muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}

.readiness-source-technical-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding-top: 5px;
}

.readiness-source-field {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.readiness-source-field > span {
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.02em;
}

.readiness-source-controls .text-input,
.decision-form .text-input,
.readiness-resolution {
  min-height: 40px;
  font-size: 12px;
}

.readiness-source-controls button,
.decision-form-row button,
.readiness-decision-actions button {
  min-height: 40px;
}

.readiness-source-toggle {
  width: 100%;
  min-height: 44px;
  border-style: dashed;
  color: var(--mc-forest-dark);
}

.readiness-source-feedback {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.45;
  padding: 10px 12px;
}

.readiness-source-feedback[data-tone="success"] {
  border-color: rgba(70, 125, 104, 0.34);
  background: rgba(223, 235, 226, 0.62);
  color: var(--mc-forest-dark);
}

.readiness-source-feedback[data-tone="warning"],
.readiness-source-feedback[data-tone="error"] {
  border-color: rgba(168, 105, 54, 0.34);
  background: rgba(255, 241, 222, 0.7);
  color: #70451f;
}

.readiness-decision-actions {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto auto;
  gap: 8px;
}

.readiness-decision-actions small {
  grid-column: 1 / -1;
  color: var(--mc-muted);
  font-size: 11.5px;
  line-height: 1.4;
}

.readiness-decision-missing-guidance {
  border: 1px solid rgba(168, 105, 54, 0.3);
  border-radius: var(--mc-radius-sm);
  background: rgba(255, 241, 222, 0.65);
  padding: 10px 12px;
}

.readiness-decision-missing-guidance strong {
  color: #70451f;
  font-size: 12px;
}

.readiness-decision-missing-guidance p {
  margin: 4px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.readiness-recommendation {
  border: 1px solid rgba(70, 125, 104, 0.28);
  border-radius: var(--mc-radius-sm);
  background: rgba(223, 235, 226, 0.58);
  padding: 10px 12px;
}

.readiness-recommendation strong {
  color: var(--mc-forest-dark);
  font-size: 12px;
}

.readiness-recommendation p,
.readiness-technical-detail p {
  margin: 5px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.5;
  white-space: pre-line;
}

.readiness-decision-options {
  display: grid;
  gap: 7px;
}

.readiness-decision-options button {
  display: grid;
  gap: 3px;
  min-height: 44px;
  border-color: var(--mc-line);
  background: var(--mc-surface);
  text-align: left;
  padding: 9px 11px;
}

.readiness-decision-options button.recommended {
  border-color: rgba(70, 125, 104, 0.42);
}

.readiness-decision-options button.recommended strong::before {
  content: "Советуем · ";
  color: var(--mc-forest-dark);
}

.readiness-decision-options span {
  color: var(--mc-muted);
  font-size: 11.5px;
  line-height: 1.4;
}

.readiness-technical-detail summary {
  min-height: 32px;
  color: var(--mc-muted);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 700;
}

.readiness-decision-audit {
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding-top: 3px;
}

.readiness-decision-audit > summary {
  min-height: 32px;
  color: var(--mc-muted);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 700;
}

.readiness-decision-audit-list {
  display: grid;
  gap: 7px;
  padding: 4px 0 2px;
}

.readiness-decision-audit-list > div {
  display: grid;
  gap: 2px;
  border-left: 2px solid var(--mc-line);
  padding-left: 9px;
}

.readiness-decision-audit-list strong,
.readiness-decision-audit-list span,
.readiness-decision-audit-list p {
  font-size: 11.5px;
}

.readiness-decision-audit-list span,
.readiness-decision-audit-list p {
  color: var(--mc-muted);
}

.readiness-decision-audit-list p {
  margin: 0;
}

.decision-form {
  display: grid;
  gap: 10px;
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding-top: 14px;
}

.decision-form > label,
.decision-form-row > label {
  display: grid;
  gap: 5px;
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 650;
}

.decision-form-row {
  display: grid;
  grid-template-columns: minmax(145px, 0.7fr) minmax(150px, 1fr) auto auto;
  align-items: end;
  gap: 8px;
}

.decision-blocking-toggle {
  display: flex !important;
  align-items: center;
  min-height: 40px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink-soft) !important;
  gap: 8px !important;
  padding: 0 11px;
}

.decision-blocking-toggle input { margin: 0; }

.workspace-contract-fields {
  display: grid;
  grid-template-columns: minmax(110px, 0.34fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 9px;
  margin-top: 12px;
}

.workspace-contract-field {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.workspace-contract-field > span {
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 720;
  letter-spacing: 0.01em;
}

.workspace-contract-field:nth-child(4),
.workspace-contract-field:nth-child(5) {
  grid-column: span 1;
}

.workspace-contract-input {
  min-height: 42px;
  resize: vertical;
}

.workspace-extra-details {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

@media (max-width: 760px) {
  .program-readiness-summary { align-items: stretch; flex-direction: column; }
  .program-readiness-summary button { width: 100%; }
  .manager-project-decisions { align-items: stretch; flex-direction: column; }
  .manager-project-decisions button { width: 100%; }
  .plan-readiness { margin: 0 12px 12px; padding: 12px; }
  .plan-readiness-editor { margin: 0; }
  .plan-readiness-head,
  .readiness-decision-head { flex-direction: column; }
  .readiness-center > summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .readiness-center > summary small { text-align: left; }
  .readiness-center-body { padding: 13px; }
  .readiness-sources,
  .readiness-source-items { gap: 7px; }
  .readiness-source { padding: 11px 12px; }
  .readiness-source-summary { min-height: 64px; margin: -11px -12px; padding: 11px 12px; }
  .readiness-source[open] .readiness-source-summary { margin-bottom: 11px; }
  .readiness-source-head { align-items: center; gap: 10px; }
  .readiness-source-title strong { font-size: 13.5px; line-height: 1.3; }
  .readiness-source-meta { margin-top: 3px; font-size: 12px; line-height: 1.35; }
  .readiness-source-checksum { display: none; }
  .readiness-source:not([open]) .readiness-source-scope { display: none; }
  .readiness-source-state { align-items: flex-end; flex-direction: column; gap: 3px; }
  .readiness-source-edit-label { min-height: 44px; }
  .readiness-source-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .readiness-source-technical { grid-column: 1 / -1; }
  .readiness-source-technical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .readiness-source-controls .text-input { min-height: 44px; font-size: 16px; }
  .readiness-source-field > span { font-size: 11px; }
  .readiness-source-controls button { grid-column: 1 / -1; min-height: 44px; }
  .decision-form-row,
  .readiness-decision-actions { grid-template-columns: 1fr; }
  .workspace-contract-fields { grid-template-columns: 1fr; }
  .readiness-source-controls button,
  .decision-form-row button,
  .readiness-decision-actions button { width: 100%; }
}

@media (max-width: 359px) {
  .readiness-source-controls { grid-template-columns: 1fr; }
  .readiness-source-technical-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-transparency: reduce) {
  .plan-readiness,
  .readiness-center,
  .program-calls-panel,
  .program-chat-pane { background: var(--mc-surface); }
}

/* Universal project engine: one calm execution surface beneath the calendar. */
.project-engine {
  width: min(1360px, 100%);
  flex: 0 0 auto;
  margin: 0 auto 22px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-lg);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: var(--mc-shadow-xs);
  color: var(--mc-ink);
  overflow: clip;
}

.project-engine-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(18, 23, 19, 0.08);
  padding: 19px 20px 17px;
}

.project-engine-head h3 {
  margin: 2px 0 0;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.2;
}

.project-engine-head > div > p:last-child,
.engine-panel-head p {
  max-width: 760px;
  margin: 6px 0 0;
  color: var(--mc-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.project-engine-head-actions,
.engine-row-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.project-engine-head-actions button,
.engine-row-actions button {
  min-height: 38px;
}

.project-engine-content {
  display: grid;
  gap: 16px;
  background: var(--mc-surface-soft);
  padding: 18px;
}

.engine-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}

.engine-summary-grid .manager-signal {
  min-height: 88px;
}

.engine-top-grid,
.engine-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.engine-panel {
  min-width: 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xs);
  padding: 16px;
}

.engine-panel-head,
.engine-card-head,
.engine-proposal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.engine-panel-head {
  margin-bottom: 13px;
}

.engine-agent-control,
.engine-job-list,
.engine-proposal-list,
.engine-outcome-grid,
.engine-dependency-list,
.engine-risk-list,
.engine-resource-list,
.engine-capacity-list,
.engine-policy-list,
.engine-event-list {
  display: grid;
  gap: 9px;
}

.engine-agent-control {
  margin-bottom: 12px;
}

.engine-agent-message textarea {
  min-height: 78px;
}

.engine-job-row,
.engine-dependency-row,
.engine-resource,
.engine-policy-row,
.engine-event-list > div {
  display: grid;
  align-items: center;
  gap: 7px 10px;
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  color: var(--mc-ink-soft);
  padding-top: 9px;
}

.engine-job-row {
  grid-template-columns: minmax(140px, 1fr) auto;
}

.engine-job-row small {
  grid-column: 1 / -1;
  color: var(--mc-muted);
  overflow-wrap: anywhere;
}

.engine-job-row button {
  grid-column: 2;
  min-height: 32px;
  justify-self: end;
}

.engine-job-row[data-status="running"],
.engine-job-row[data-status="retry"] {
  border-left: 3px solid var(--mc-amber);
  padding-left: 9px;
}

.engine-proposal,
.engine-outcome,
.engine-work-item,
.engine-risk,
.engine-capacity-row {
  min-width: 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface);
  padding: 12px;
}

.engine-proposal[data-risk="high"],
.engine-proposal[data-risk="critical"],
.engine-risk[data-severity="high"],
.engine-risk[data-severity="critical"],
.engine-capacity-row[data-status="overbooked"] {
  border-color: rgba(168, 60, 84, 0.28);
  background: rgba(255, 248, 248, 0.78);
}

.engine-proposal-head > div:first-child,
.engine-card-head > div {
  min-width: 0;
}

.engine-proposal-head span,
.engine-card-head > div > span,
.engine-card-meta,
.engine-status,
.engine-badges,
.engine-risk small,
.engine-resource span,
.engine-policy-row span {
  color: var(--mc-muted);
  font-size: 11px;
}

.engine-proposal-head strong,
.engine-card-head strong {
  display: block;
  margin-top: 2px;
  overflow-wrap: anywhere;
  font-size: 13.5px;
  line-height: 1.35;
}

.engine-badges {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.engine-badges span,
.engine-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  padding: 0 8px;
  white-space: nowrap;
}

.engine-proposal p,
.engine-outcome p,
.engine-work-details > p,
.engine-risk p,
.engine-note {
  margin: 9px 0;
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.5;
  white-space: pre-line;
}

.engine-proposal details,
.engine-capacity-row details,
.engine-work-details,
.engine-create-block {
  margin-top: 10px;
}

.engine-proposal summary,
.engine-capacity-row summary,
.engine-work-details > summary,
.engine-create-block > summary,
.engine-settings-panel > summary,
.engine-audit-panel > summary {
  min-height: 34px;
  color: var(--mc-forest-dark);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 720;
}

.engine-proposal pre {
  max-height: 260px;
  overflow: auto;
  border-radius: var(--mc-radius-xs);
  background: #17221d;
  color: #e6eee9;
  font-size: 11px;
  line-height: 1.5;
  padding: 10px;
  white-space: pre-wrap;
}

.engine-inline-error,
.engine-blocker {
  margin-top: 9px;
  border: 1px solid rgba(168, 60, 84, 0.25);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-rose-soft);
  color: var(--mc-rose);
  font-size: 12px;
  line-height: 1.45;
  padding: 8px 10px;
}

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

.engine-outcome ul,
.engine-acceptance ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.engine-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 9px;
}

.engine-work-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(250px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scroll-snap-type: x proximity;
}

.engine-work-column {
  min-width: 250px;
  border: 1px solid rgba(18, 23, 19, 0.08);
  border-radius: var(--mc-radius-sm);
  background: rgba(244, 247, 244, 0.74);
  padding: 9px;
  scroll-snap-align: start;
}

.engine-work-column > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  color: var(--mc-ink-soft);
  font-size: 11.5px;
  padding: 0 2px 7px;
}

.engine-work-column > header span {
  display: inline-grid;
  min-width: 23px;
  min-height: 23px;
  place-items: center;
  border-radius: 999px;
  background: rgba(42, 103, 83, 0.1);
  color: var(--mc-forest-dark);
}

.engine-work-column > div {
  display: grid;
  gap: 8px;
}

.engine-work-item[data-status="blocked"] {
  border-color: rgba(168, 60, 84, 0.28);
}

.engine-acceptance,
.engine-evidence-list,
.engine-check-list {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  color: var(--mc-ink-soft);
  font-size: 12px;
}

.engine-evidence-list > div,
.engine-check-list > div {
  display: grid;
  gap: 2px;
  border-left: 2px solid var(--mc-line);
  padding-left: 8px;
}

.engine-lifecycle-row[data-effective="false"] {
  opacity: 0.62;
}

.engine-correction {
  margin-top: 5px;
}

.engine-correction > summary,
.engine-authority-note {
  color: var(--mc-muted);
  font-size: 11px;
}

.engine-evidence-list span,
.engine-check-list span {
  color: var(--mc-muted);
  overflow-wrap: anywhere;
}

.engine-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 9px;
  margin-top: 10px;
}

.engine-field {
  display: grid;
  align-content: end;
  min-width: 0;
  gap: 5px;
}

.engine-field.wide {
  grid-column: span 2;
}

.engine-field > span,
.engine-check-field {
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 690;
}

.engine-field input,
.engine-field select,
.engine-field textarea,
.engine-mini-form input,
.engine-mini-form select,
.engine-mini-form textarea,
.engine-policy-row select,
.engine-week-schedule input {
  width: 100%;
  min-height: 39px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  color: var(--mc-ink);
  font: inherit;
  padding: 8px 9px;
}

.engine-field textarea,
.engine-mini-form textarea {
  resize: vertical;
}

.engine-field input:focus-visible,
.engine-field select:focus-visible,
.engine-field textarea:focus-visible,
.engine-mini-form input:focus-visible,
.engine-mini-form select:focus-visible,
.engine-mini-form textarea:focus-visible {
  border-color: rgba(42, 103, 83, 0.42);
  outline: 3px solid rgba(70, 125, 104, 0.18);
}

.engine-check-field {
  display: flex;
  align-items: center;
  min-height: 39px;
  gap: 7px;
}

.engine-inline-forms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.engine-mini-form {
  display: grid;
  gap: 7px;
  border: 1px dashed var(--mc-line);
  border-radius: var(--mc-radius-xs);
  padding: 9px;
}

.engine-dependency-row {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto auto;
}

.engine-dependency-row span,
.engine-resource code {
  min-width: 0;
  overflow-wrap: anywhere;
}

.engine-dependency-row button {
  min-width: 32px;
  min-height: 32px;
  padding: 0;
}

.engine-resource {
  grid-template-columns: minmax(130px, 0.8fr) minmax(0, 1fr) auto;
}

.engine-adapter-boundary {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
  border: 1px solid rgba(70, 125, 104, 0.24);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-mint);
  color: var(--mc-ink-soft);
  font-size: 11.5px;
  line-height: 1.45;
  padding: 9px 10px;
}

.engine-adapter-boundary small {
  color: var(--mc-muted);
}

.engine-resource > div {
  display: grid;
  gap: 2px;
}

.engine-resource code {
  font-size: 11px;
}

.engine-capacity-allocations {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.engine-capacity-allocations span {
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 10.5px;
  padding: 5px 8px;
}

.engine-week-schedule {
  display: grid;
  grid-template-columns: repeat(7, minmax(55px, 1fr));
  gap: 6px;
  margin: 8px 0;
}

.engine-week-schedule label {
  display: grid;
  gap: 4px;
  color: var(--mc-muted);
  font-size: 10px;
  text-align: center;
}

.engine-settings-panel,
.engine-audit-panel {
  padding: 0;
}

.engine-settings-panel > summary,
.engine-audit-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  padding: 14px 16px;
}

.engine-settings-panel > summary::-webkit-details-marker,
.engine-audit-panel > summary::-webkit-details-marker {
  display: none;
}

.engine-settings-panel > summary small,
.engine-audit-panel > summary small {
  color: var(--mc-muted);
  font-weight: 500;
}

.engine-settings-body,
.engine-event-list {
  border-top: 1px solid rgba(18, 23, 19, 0.08);
  padding: 16px;
}

.engine-policy-row {
  grid-template-columns:
    minmax(170px, 1fr) auto auto minmax(130px, 0.45fr)
    minmax(155px, 0.55fr) auto;
}

.engine-policy-row > div {
  display: grid;
  gap: 2px;
}

.engine-policy-row label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--mc-ink-soft);
  font-size: 11px;
}

.engine-policy-row label.engine-field {
  display: grid;
  align-items: stretch;
}

.engine-event-list > div {
  grid-template-columns: minmax(150px, 0.55fr) minmax(170px, 0.8fr) minmax(0, 1fr);
  font-size: 11.5px;
}

.engine-event-list time,
.engine-event-list span {
  color: var(--mc-muted);
  overflow-wrap: anywhere;
}

.engine-empty {
  border: 1px dashed var(--mc-line);
  border-radius: var(--mc-radius-xs);
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.45;
  padding: 13px;
}

.engine-empty.compact {
  padding: 9px;
  text-align: center;
}

@media (max-width: 1180px) {
  .engine-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .engine-outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .engine-policy-row { grid-template-columns: minmax(150px, 1fr) auto auto; }
  .engine-policy-row select,
  .engine-policy-row button { grid-column: auto; }
}

@media (max-width: 760px) {
  .project-engine { border-right: 0; border-left: 0; border-radius: 0; }
  .project-engine-head { align-items: stretch; flex-direction: column; padding: 16px 13px; }
  .project-engine-head-actions { display: grid; grid-template-columns: repeat(2, 1fr); }
  .project-engine-head-actions button { min-height: 44px; }
  .project-engine-content { gap: 12px; padding: 12px; }
  .engine-summary-grid,
  .engine-top-grid,
  .engine-two-column,
  .engine-outcome-grid,
  .engine-form-grid,
  .engine-inline-forms { grid-template-columns: 1fr; }
  .engine-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .engine-field.wide { grid-column: auto; }
  .engine-panel { padding: 13px; }
  .engine-work-board { margin: 0 -13px; padding: 0 13px 7px; }
  .engine-work-column { min-width: min(86vw, 310px); }
  .engine-dependency-row,
  .engine-resource,
  .engine-policy-row,
  .engine-event-list > div { grid-template-columns: 1fr; }
  .engine-dependency-row > strong { transform: rotate(90deg); transform-origin: left center; }
  .engine-week-schedule { grid-template-columns: repeat(4, minmax(55px, 1fr)); }
  .engine-field input,
  .engine-field select,
  .engine-field textarea,
  .engine-mini-form input,
  .engine-mini-form select,
  .engine-mini-form textarea { min-height: 44px; font-size: 16px; }
}

@media (prefers-reduced-transparency: reduce) {
  .project-engine,
  .engine-panel,
  .engine-proposal,
  .engine-outcome,
  .engine-work-item,
  .engine-risk,
  .engine-capacity-row { background: var(--mc-surface); }
}

/* Whole assignment context: one quiet answer to "why, what, and how far". */
.work-context {
  display: grid;
  gap: 9px;
  margin: 2px 0 15px;
  border: 1px solid color-mix(in srgb, var(--mc-forest) 18%, var(--mc-line));
  border-radius: var(--mc-radius-sm);
  background: color-mix(in srgb, var(--mc-sage-soft) 58%, var(--mc-surface));
  padding: 13px 14px;
}

.work-context-reference {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 8px;
  margin: 2px 0 10px;
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--mc-forest) 50%, transparent);
  background: color-mix(in srgb, var(--mc-sage-soft) 58%, var(--mc-surface));
  color: var(--mc-muted);
  font-size: 11px;
  line-height: 1.35;
}

.work-context-reference strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--mc-forest-dark);
  font-size: 12px;
}

.work-context-reference em {
  color: var(--mc-forest-dark);
  font-style: normal;
  font-weight: 760;
}

.work-context-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.work-context-head > div {
  min-width: 0;
}

.work-context-head span:first-child,
.work-final-result span,
.work-today-delta span,
.work-contract-grid span,
.task-essential > span {
  display: block;
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: 0.055em;
  line-height: 1.3;
  text-transform: uppercase;
}

.work-context-head strong {
  display: block;
  margin-top: 3px;
  color: var(--mc-forest-dark);
  font-size: 14px;
  line-height: 1.35;
}

.work-context-head small {
  display: block;
  margin-top: 4px;
  color: var(--mc-muted);
  font-size: 11px;
}

.work-progress-value {
  flex: 0 0 auto;
  color: var(--mc-forest-dark);
  font-size: 12px;
  font-weight: 760;
}

.work-progress-track {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  appearance: none;
  -webkit-appearance: none;
  background: color-mix(in srgb, var(--mc-forest) 10%, transparent);
}

.work-progress-track::-webkit-progress-bar,
.manager-work-package-progress > progress::-webkit-progress-bar {
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-forest) 10%, transparent);
}

.work-progress-track::-webkit-progress-value,
.manager-work-package-progress > progress::-webkit-progress-value {
  border-radius: 999px;
  background: var(--mc-forest);
}

.work-progress-track::-moz-progress-bar,
.manager-work-package-progress > progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--mc-forest);
}

.work-progress-review {
  margin: -3px 0 1px;
  color: var(--mc-muted);
  font-size: 10.5px;
  line-height: 1.35;
}

.work-component-map {
  display: grid;
  gap: 7px;
  border-top: 1px solid color-mix(in srgb, var(--mc-forest) 13%, transparent);
  padding-top: 9px;
}

.work-component-map-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.work-component-map-head span {
  color: var(--mc-forest-dark);
  font-size: 11.5px;
  font-weight: 760;
}

.work-component-map-head small {
  color: var(--mc-muted);
  font-size: 10.5px;
}

.work-component-map ol {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.work-component-map li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  border-radius: var(--mc-radius-xs);
  padding: 6px 7px;
}

.work-component-map li.current {
  background: color-mix(in srgb, var(--mc-surface) 78%, var(--mc-sage-soft));
  box-shadow: inset 2px 0 0 var(--mc-forest);
}

.work-component-map li[data-component-status="done"] {
  opacity: 0.72;
}

.work-component-index {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--mc-forest) 22%, var(--mc-line));
  border-radius: 999px;
  color: var(--mc-forest-dark);
  font-size: 10px;
  font-weight: 760;
}

.work-component-map li strong {
  display: block;
  color: var(--mc-ink);
  font-size: 11.5px;
  line-height: 1.35;
}

.work-component-map li p {
  margin: 2px 0 0;
  color: var(--mc-muted);
  font-size: 10.5px;
  line-height: 1.4;
}

.work-component-map li em {
  color: var(--mc-muted);
  font-size: 10px;
  font-style: normal;
  line-height: 1.35;
  text-align: right;
}

.work-final-result,
.work-today-delta {
  margin: 0;
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.48;
}

.work-today-delta {
  border-left: 2px solid var(--mc-forest);
  padding-left: 10px;
}

.work-fallback {
  display: grid;
  gap: 2px;
  border-radius: var(--mc-radius-xs);
  background: var(--mc-amber-soft);
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.45;
  padding: 9px 10px;
}

.work-contract-details > summary,
.task-orientation > summary {
  width: fit-content;
  color: var(--mc-forest-dark);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 720;
}

.work-contract-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin-top: 10px;
}

.work-contract-grid > div {
  min-width: 0;
}

.work-contract-grid p,
.work-contract-grid ul {
  margin: 4px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.48;
}

.work-contract-grid ul {
  padding-left: 17px;
}

.task-contract-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 11px;
}

.task-estimate {
  grid-column: 1 / -1;
  width: fit-content;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
}

.task-essential {
  min-width: 0;
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  padding: 9px 10px;
}

.task-essential.acceptance {
  background: color-mix(in srgb, var(--mc-sage-soft) 62%, var(--mc-surface));
}

.task-essential p {
  margin: 3px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.48;
}

.task-orientation {
  grid-column: 1 / -1;
}

.task-orientation ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 680px) {
  .work-context {
    margin-inline: -2px;
    padding: 12px;
  }

  .work-context-head {
    gap: 8px;
  }

  .work-component-map-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .work-component-map li {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .work-component-map li em {
    grid-column: 2;
    text-align: left;
  }

  .work-contract-grid,
  .task-contract-summary {
    grid-template-columns: 1fr;
  }

  .task-estimate,
  .task-orientation {
    grid-column: auto;
  }
}

/* Management by exception: primary answers first, operational machinery second. */
.manager-exception-digest,
.manager-work-packages {
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-sm);
  padding: clamp(17px, 2.4vw, 26px);
}

.manager-exception-digest {
  border-color: color-mix(in srgb, var(--mc-amber) 28%, var(--mc-line));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--mc-amber-soft) 55%, transparent), transparent 52%),
    var(--mc-surface);
}

.manager-exception-digest.is-calm {
  border-color: color-mix(in srgb, var(--mc-forest) 20%, var(--mc-line));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--mc-sage-soft) 62%, transparent), transparent 55%),
    var(--mc-surface);
}

.manager-exception-head,
.manager-work-packages-head,
.manager-work-package-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.manager-exception-head > div:first-child,
.manager-work-packages-head > div,
.manager-work-package-top > div {
  min-width: 0;
}

.manager-exception-head > div:first-child > span,
.manager-work-packages-head > div > span,
.manager-work-package-top > div > span,
.manager-exception-card-head > span,
.manager-exception-resolution > span,
.manager-exception-fallback > span {
  display: block;
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: 0.065em;
  line-height: 1.35;
  text-transform: uppercase;
}

.manager-exception-head h3,
.manager-work-packages-head h3 {
  margin: 5px 0 0;
  color: var(--mc-forest-dark);
  font-family: var(--mc-display);
  font-size: clamp(21px, 2.5vw, 29px);
  line-height: 1.08;
}

.manager-exception-head p,
.manager-work-packages-head p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--mc-ink-soft);
  font-size: 13px;
  line-height: 1.55;
}

.manager-exception-counts {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.manager-exception-counts > span,
.manager-work-packages-head > strong {
  border: 1px solid color-mix(in srgb, var(--mc-line) 82%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-surface) 86%, transparent);
  color: var(--mc-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 680;
  white-space: nowrap;
  padding: 6px 9px;
}

.manager-exception-counts strong {
  color: var(--mc-ink);
}

.manager-exception-list,
.manager-work-package-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 19px;
}

.manager-exception-card,
.manager-work-package {
  min-width: 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: color-mix(in srgb, var(--mc-surface) 92%, transparent);
  padding: 14px;
}

.manager-exception-card {
  border-left: 3px solid var(--mc-amber);
}

.manager-exception-card.severity-high {
  border-left-color: var(--mc-amber);
}

.manager-exception-card.severity-critical {
  border-left-color: var(--mc-rose);
}

.manager-exception-card-head {
  display: grid;
  gap: 3px;
}

.manager-exception-card-head > strong,
.manager-work-package-top strong {
  color: var(--mc-ink);
  font-size: 14px;
  line-height: 1.38;
}

.manager-exception-card > p,
.manager-work-package > p {
  margin: 9px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12.5px;
  line-height: 1.5;
}

.manager-exception-resolution,
.manager-exception-fallback {
  margin-top: 11px;
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  padding: 9px 10px;
}

.manager-exception-fallback {
  background: color-mix(in srgb, var(--mc-sage-soft) 66%, var(--mc-surface));
}

.manager-exception-resolution p,
.manager-exception-fallback p {
  margin: 3px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.48;
}

.manager-exception-actions,
.manager-work-package-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.manager-exception-actions button,
.manager-work-package-actions button {
  min-height: 34px;
  font-size: 11.5px;
  padding: 6px 10px;
}

.manager-exception-calm,
.manager-work-package-empty {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 17px;
  border-radius: var(--mc-radius-sm);
  background: color-mix(in srgb, var(--mc-sage-soft) 60%, var(--mc-surface));
  color: var(--mc-ink-soft);
  padding: 12px 14px;
}

.manager-exception-calm > span {
  display: grid;
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--mc-forest);
  color: white;
  font-weight: 800;
}

.manager-exception-calm p,
.manager-work-package-empty p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
}

.manager-exception-hidden {
  margin: 12px 0 0;
  color: var(--mc-muted);
  font-size: 11.5px;
}

.manager-work-package-top em {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--mc-sage-soft);
  color: var(--mc-forest-dark);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 720;
  padding: 4px 8px;
}

.manager-work-package[data-status="blocked"] .manager-work-package-top em {
  background: var(--mc-rose-soft);
  color: var(--mc-rose);
}

.manager-work-package-progress {
  display: grid;
  gap: 6px;
  margin-top: 13px;
}

.manager-work-package-progress > progress {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  appearance: none;
  -webkit-appearance: none;
  background: color-mix(in srgb, var(--mc-forest) 10%, transparent);
}

.manager-work-package-progress > span,
.manager-work-package-warning {
  color: var(--mc-muted);
  font-size: 11px;
  line-height: 1.4;
}

.manager-work-package-warning {
  margin-top: 9px;
  color: var(--mc-amber);
}

.manager-context-details-body {
  display: grid;
  gap: 18px;
  margin-top: 16px;
}

/* The typed engine remains fully available without competing with the digest. */
.project-engine > summary {
  list-style: none;
  cursor: pointer;
}

.project-engine > summary::-webkit-details-marker {
  display: none;
}

.project-engine-disclosure {
  flex: 0 0 auto;
  align-self: center;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  color: var(--mc-forest-dark);
  font-size: 11.5px;
  font-weight: 720;
  padding: 7px 10px;
}

.project-engine[open] .project-engine-disclosure {
  background: var(--mc-sage-soft);
}

.project-engine-shell-body {
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--mc-line);
  padding: 16px clamp(14px, 2vw, 22px) clamp(16px, 2vw, 22px);
}

.project-engine-shell-body > .project-engine-head-actions {
  justify-content: flex-end;
}

.engine-work-package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.engine-contract-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 12px 0;
}

.engine-contract-grid > div,
.engine-delta-contract {
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface-soft);
  padding: 9px 10px;
}

.engine-contract-grid span,
.engine-delta-contract > span {
  display: block;
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.engine-contract-grid p,
.engine-contract-grid ul {
  margin: 4px 0 0;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.48;
}

.engine-contract-grid ul {
  padding-left: 17px;
}

.engine-delta-contract {
  display: grid;
  gap: 4px;
  margin: 12px 0;
}

.engine-delta-contract strong {
  color: var(--mc-ink);
  font-size: 12.5px;
  line-height: 1.48;
}

.engine-delta-history {
  margin-top: 14px;
}

@media (max-width: 820px) {
  .manager-exception-list,
  .manager-work-package-list,
  .engine-work-package-grid,
  .engine-contract-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .manager-exception-head,
  .manager-work-packages-head {
    display: grid;
    gap: 12px;
  }

  .manager-exception-counts {
    flex-wrap: wrap;
  }

  .manager-exception-digest,
  .manager-work-packages {
    padding: 15px;
  }

  .project-engine-head {
    display: grid;
  }

  .project-engine-disclosure {
    justify-self: start;
  }
}

/* Manager planning: one primary AI flow, reviewable draft, advanced tools on demand. */
.plan-primary-flow {
  display: grid;
  gap: 17px;
  margin: 18px 22px 0;
  border: 1px solid color-mix(in srgb, var(--mc-forest) 24%, var(--mc-line));
  border-radius: var(--mc-radius);
  background:
    radial-gradient(circle at 100% 0, rgba(123, 166, 143, 0.13), transparent 42%),
    rgba(255, 255, 252, 0.9);
  padding: clamp(18px, 2.7vw, 28px);
}

.plan-primary-flow-head,
.plan-capacity-head,
.plan-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.plan-primary-flow h4,
.plan-ai-preview h4 {
  margin: 4px 0 0;
  color: var(--mc-ink);
  font-size: clamp(21px, 2.6vw, 28px);
  font-weight: 590;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.plan-primary-flow-head > div > p:last-child {
  max-width: 740px;
  margin: 9px 0 0;
  color: var(--mc-ink-soft);
  font-size: 13px;
  line-height: 1.55;
}

.plan-ai-state {
  flex: 0 0 auto;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 650;
  padding: 7px 10px;
  white-space: nowrap;
}

.plan-ai-state[data-status="proposed"],
.plan-ai-state[data-status="approved"] {
  border-color: color-mix(in srgb, var(--mc-forest) 26%, var(--mc-line));
  background: var(--mc-sage-soft);
  color: var(--mc-forest-dark);
}

.plan-ai-state[data-status="draft"],
.plan-ai-state[data-status="rewrite_requested"] {
  background: var(--mc-amber-soft);
  color: var(--mc-amber);
}

.plan-capacity-summary {
  display: grid;
  gap: 10px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-surface-soft);
  padding: 13px 14px;
}

.plan-capacity-head {
  color: var(--mc-muted);
  font-size: 11.5px;
}

.plan-capacity-head strong {
  color: var(--mc-ink);
  font-weight: 660;
}

.plan-capacity-members {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.plan-capacity-member {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 252, 0.9);
  color: var(--mc-ink-soft);
  font-size: 12px;
  padding: 7px 10px;
}

.plan-capacity-member strong {
  color: var(--mc-forest-dark);
  font-weight: 680;
}

.plan-capacity-member.is-zero {
  opacity: 0.58;
}

.plan-capacity-empty {
  display: grid;
  gap: 3px;
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.plan-capacity-empty strong {
  color: var(--mc-amber);
}

.plan-ai-instruction-field {
  display: grid;
  gap: 8px;
}

.plan-ai-instruction-field > span {
  color: var(--mc-ink);
  font-size: 12px;
  font-weight: 640;
}

.plan-ai-instruction-field small {
  margin-left: 5px;
  color: var(--mc-muted);
  font-size: 11px;
  font-weight: 450;
}

#plan-ai-instruction {
  min-height: 92px;
  resize: vertical;
}

.plan-primary-actions,
.plan-manual-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.plan-primary-actions button {
  min-height: 43px;
}

.plan-ai-progress {
  border-left: 3px solid var(--mc-forest);
  color: var(--mc-ink-soft);
  font-size: 12px;
  line-height: 1.5;
  padding: 7px 0 7px 12px;
}

.plan-ai-preview {
  display: grid;
  gap: 14px;
  margin: 18px 22px 0;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
  padding: clamp(17px, 2.5vw, 24px);
}

.plan-ai-preview h4 {
  font-size: 21px;
}

.plan-preview-outcome {
  display: grid;
  gap: 5px;
  border-left: 3px solid var(--mc-forest);
  background: var(--mc-sage-soft);
  padding: 11px 13px;
}

.plan-preview-outcome span,
.plan-preview-task > div > span {
  color: var(--mc-muted);
  font-size: 10.5px;
  font-weight: 650;
}

.plan-preview-outcome strong,
.plan-preview-task > div > strong {
  color: var(--mc-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.48;
}

.plan-preview-tasks {
  display: grid;
  gap: 9px;
}

.plan-preview-task {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
  gap: 16px;
  border-top: 1px solid var(--mc-line);
  padding-top: 12px;
}

.plan-preview-task > div {
  display: grid;
  align-content: start;
  gap: 5px;
}

.plan-preview-task dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.plan-preview-task dl > div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
}

.plan-preview-task dt,
.plan-preview-task dd,
.plan-preview-note,
.plan-preview-empty {
  margin: 0;
  color: var(--mc-muted);
  font-size: 11.5px;
  line-height: 1.45;
}

.plan-preview-task dd {
  color: var(--mc-ink-soft);
}

.plan-manual-tools {
  margin: 18px 22px 22px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius-sm);
  background: rgba(249, 248, 243, 0.72);
}

.plan-manual-tools > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 64px;
  cursor: pointer;
  list-style: none;
  padding: 13px 15px;
}

.plan-manual-tools > summary::-webkit-details-marker {
  display: none;
}

.plan-manual-tools > summary > span:first-child {
  display: grid;
  gap: 3px;
}

.plan-manual-tools > summary strong {
  color: var(--mc-ink);
  font-size: 12.5px;
}

.plan-manual-tools > summary small {
  color: var(--mc-muted);
  font-size: 11px;
  line-height: 1.4;
}

.plan-manual-disclosure {
  flex: 0 0 auto;
  color: var(--mc-forest-dark);
  font-size: 11px;
  font-weight: 680;
}

.plan-manual-tools[open] > summary {
  border-bottom: 1px solid var(--mc-line);
}

.plan-manual-actions {
  justify-content: flex-end;
  padding: 14px 22px 0;
}

.plan-manual-tools .plan-editor-summary {
  margin-top: 0;
}

.engine-lazy-placeholder {
  border: 1px dashed var(--mc-line);
  border-radius: var(--mc-radius-sm);
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.5;
  padding: 18px;
}

@media (max-width: 760px) {
  .plan-primary-flow,
  .plan-ai-preview,
  .plan-manual-tools {
    margin-right: 12px;
    margin-left: 12px;
  }

  .plan-primary-flow-head,
  .plan-preview-head,
  .plan-capacity-head {
    display: grid;
  }

  .plan-ai-state {
    justify-self: start;
    white-space: normal;
  }

  .plan-primary-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .plan-primary-actions button,
  .plan-preview-head button {
    width: 100%;
    min-height: 44px;
  }

  .plan-preview-task {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .plan-manual-tools > summary {
    align-items: flex-start;
  }
}

/* Analysis center */

.analysis-center-layout {
  display: grid;
  width: min(1240px, 100%);
  margin: 0 auto;
  gap: 14px;
  padding-bottom: 64px;
}

.analysis-center-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
}

.analysis-center-summary .analysis-metric-card {
  min-height: 116px;
  border: 0;
  border-right: 1px solid var(--mc-line);
  border-radius: 0;
  background: transparent;
}

.analysis-center-summary .analysis-metric-card:last-child {
  border-right: 0;
}

.analysis-center-board {
  overflow: hidden;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-surface);
}

.analysis-center-board-head {
  display: grid;
  gap: 18px;
  border-bottom: 1px solid var(--mc-line);
  padding: 20px 22px 18px;
}

.analysis-center-board-head > div:first-child {
  display: grid;
  gap: 6px;
}

.analysis-center-board-head p {
  max-width: 720px;
  margin: 0;
  color: var(--mc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.analysis-center-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.analysis-center-filters button {
  min-height: 36px;
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 11px;
  padding: 0 11px;
}

.analysis-center-filters button span {
  margin-left: 4px;
  color: var(--mc-ink);
  font-weight: 760;
}

.analysis-center-filters button.active {
  border-color: color-mix(in srgb, var(--mc-forest) 36%, var(--mc-line));
  background: var(--mc-mint);
  color: var(--mc-forest-dark);
}

.analysis-center-list {
  display: grid;
}

.analysis-center-day {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-width: 0;
  border-bottom: 1px solid var(--mc-line);
  padding: 18px 22px;
}

.analysis-center-day:last-child {
  border-bottom: 0;
}

.analysis-center-day[data-analysis-status="working"] {
  background: color-mix(in srgb, var(--mc-blue-soft) 42%, var(--mc-surface));
}

.analysis-center-day[data-analysis-status="stale"] {
  background: color-mix(in srgb, var(--mc-amber-soft) 38%, var(--mc-surface));
}

.analysis-center-date {
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: 52px;
  border-right: 1px solid var(--mc-line);
}

.analysis-center-date strong {
  color: var(--mc-ink);
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -0.03em;
}

.analysis-center-date span {
  color: var(--mc-muted);
  font-size: 11px;
  text-transform: capitalize;
}

.analysis-center-main {
  display: grid;
  min-width: 0;
  gap: 9px;
}

.analysis-center-row-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.analysis-center-row-head > div {
  min-width: 0;
}

.analysis-center-row-head h3 {
  overflow: hidden;
  margin: 0;
  color: var(--mc-ink);
  font-size: 14px;
  font-weight: 660;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analysis-center-row-head p,
.analysis-center-error {
  margin: 4px 0 0;
  color: var(--mc-muted);
  font-size: 11px;
  line-height: 1.45;
}

.analysis-center-error {
  color: var(--mc-rose);
}

.analysis-center-status {
  flex: 0 0 auto;
  border: 1px solid var(--mc-line);
  border-radius: 999px;
  background: var(--mc-surface-soft);
  color: var(--mc-muted);
  font-size: 10px;
  font-weight: 720;
  padding: 5px 8px;
  white-space: nowrap;
}

.analysis-center-status[data-tone="ready"] {
  border-color: color-mix(in srgb, var(--mc-forest) 26%, var(--mc-line));
  background: var(--mc-mint);
  color: var(--mc-forest-dark);
}

.analysis-center-status[data-tone="working"] {
  border-color: color-mix(in srgb, var(--mc-blue) 24%, var(--mc-line));
  background: var(--mc-blue-soft);
  color: var(--mc-blue);
}

.analysis-center-status[data-tone="stale"] {
  border-color: color-mix(in srgb, var(--mc-amber) 25%, var(--mc-line));
  background: var(--mc-amber-soft);
  color: var(--mc-amber);
}

.analysis-center-status[data-tone="failed"] {
  border-color: color-mix(in srgb, var(--mc-rose) 22%, var(--mc-line));
  background: var(--mc-rose-soft);
  color: var(--mc-rose);
}

.analysis-center-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  color: var(--mc-muted);
  font-size: 10.5px;
}

.analysis-center-facts {
  min-height: 28px;
  border: 0;
  background: transparent;
  color: var(--mc-amber);
  font-size: 10.5px;
  padding: 0;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--mc-amber) 35%, transparent);
  text-underline-offset: 3px;
}

.analysis-center-facts:hover {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--mc-forest-dark);
  transform: none;
}

.analysis-center-row-actions {
  display: grid;
  grid-template-columns: minmax(128px, auto) 74px;
  gap: 7px;
}

.analysis-center-row-actions button {
  min-height: 40px;
  white-space: nowrap;
}

.analysis-center-empty,
.analysis-center-limit {
  margin: 0;
  color: var(--mc-muted);
  font-size: 12px;
  text-align: center;
  padding: 32px 20px;
}

.analysis-center-limit {
  border-top: 1px solid var(--mc-line);
  padding: 12px 20px;
}

.analysis-job-notice {
  display: grid;
  gap: 4px;
  border: 1px solid var(--mc-line);
  border-left: 3px solid var(--mc-blue);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-blue-soft);
  color: var(--mc-ink-soft);
  padding: 13px 15px;
}

.analysis-job-notice strong {
  color: var(--mc-ink);
  font-size: 13px;
}

.analysis-job-notice span {
  font-size: 12px;
  line-height: 1.45;
}

.analysis-job-notice[data-status="stale"] {
  border-left-color: var(--mc-amber);
  background: var(--mc-amber-soft);
}

.analysis-job-notice[data-status="failed"] {
  border-left-color: var(--mc-rose);
  background: var(--mc-rose-soft);
}

@media (max-width: 840px) {
  .analysis-center-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .analysis-center-summary .analysis-metric-card:nth-child(2) {
    border-right: 0;
  }

  .analysis-center-summary .analysis-metric-card:nth-child(-n + 2) {
    border-bottom: 1px solid var(--mc-line);
  }

  .analysis-center-day {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  .analysis-center-row-actions {
    grid-column: 2;
    justify-content: start;
  }
}

@media (max-width: 560px) {
  .analysis-center-day {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .analysis-center-date {
    display: flex;
    min-height: 0;
    align-items: baseline;
    gap: 7px;
    border-right: 0;
  }

  .analysis-center-row-head {
    display: grid;
    gap: 9px;
  }

  .analysis-center-row-head h3 {
    overflow: visible;
    white-space: normal;
  }

  .analysis-center-status {
    justify-self: start;
  }

  .analysis-center-row-actions {
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .analysis-center-board-head {
    padding: 17px 16px;
  }

  .analysis-center-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .analysis-center-filters button {
    justify-content: center;
    white-space: normal;
  }
}
