:root {
  color-scheme: light;
  font-family: "Aptos", "Segoe UI", sans-serif;
  --space-stack: 1rem;
  --space-section: 1.5rem;
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-2xl: 16px;
  --brand-navy: #16324f;
  --brand-navy-deep: #1a375c;
  --brand-blue: #245b85;
  --brand-blue-bright: #2f78a8;
  --brand-blue-soft: #90c0eb;
  --brand-blue-pale: #c7e9ff;
  --brand-blue-mist: #e1eefa;
  --text-strong: #18324a;
  --text-muted: #5e7388;
  --surface-card: rgba(255, 255, 255, 0.84);
  --surface-panel: rgba(245, 250, 255, 0.88);
  --border-soft: rgba(22, 50, 79, 0.1);
  --status-green-bg: rgba(89, 173, 114, 0.16);
  --status-green-text: #2f8f46;
  --status-yellow-bg: rgba(212, 173, 36, 0.2);
  --status-yellow-text: #8d6900;
  --status-red-bg: rgba(215, 111, 104, 0.18);
  --status-red-text: #b43a32;
  background:
    radial-gradient(circle at top left, rgba(144, 192, 235, 0.42), transparent 32%),
    radial-gradient(circle at 85% 18%, rgba(198, 224, 246, 0.32), transparent 26%),
    radial-gradient(circle at bottom right, rgba(47, 120, 168, 0.2), transparent 34%),
    linear-gradient(180deg, #f6fbff 0%, #edf4fb 42%, #e2edf8 100%);
  color: var(--text-strong);
}

html {
  overflow-y: auto;
  scrollbar-gutter: stable;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: clip;
  background:
    radial-gradient(circle at top left, rgba(144, 192, 235, 0.42), transparent 32%),
    radial-gradient(circle at 85% 18%, rgba(198, 224, 246, 0.32), transparent 26%),
    radial-gradient(circle at bottom right, rgba(47, 120, 168, 0.2), transparent 34%),
    linear-gradient(180deg, #f6fbff 0%, #edf4fb 42%, #e2edf8 100%);
}

a {
  color: var(--brand-blue);
  text-decoration: none;
}

.status-badge[data-tooltip] {
  position: relative;
}

.status-badge[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.48rem);
  z-index: 80;
  width: max-content;
  max-width: min(20rem, 72vw);
  padding: 0.5rem 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: 8px;
  background: rgba(23, 48, 66, 0.96);
  color: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.18);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.18rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.status-badge[data-tooltip]:is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: translateY(0);
}

.status-badge-link {
  outline-offset: 3px;
}

.status-badge-link:is(:hover, :focus-visible) {
  filter: saturate(1.08);
  box-shadow: 0 0 0 3px rgba(36, 91, 133, 0.12);
}

.public-landing-shell {
  min-height: 100vh;
  overflow-x: clip;
  background:
    linear-gradient(110deg, rgba(22, 50, 79, 0.96) 0%, rgba(26, 55, 92, 0.9) 42%, rgba(244, 249, 252, 0.94) 42%, rgba(251, 246, 236, 0.98) 100%);
  color: #f8fbff;
}

.public-landing-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.25rem;
  padding: 0.8rem clamp(1rem, 4vw, 4rem);
  background: rgba(17, 37, 59, 0.78);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(18px);
}

.public-landing-brand,
.public-landing-nav nav,
.public-landing-trust-row,
.public-landing-inline-form,
.public-preview-titlebar,
.public-preview-kpis,
.public-preview-list article,
.public-preview-evidence,
.public-preview-document-list article,
.public-preview-two-column,
.public-preview-timeline article,
.public-preview-controls,
.public-landing-feature-grid article span,
.public-waitlist-success {
  display: flex;
  align-items: center;
}

.public-landing-brand {
  gap: 0.65rem;
  color: #ffffff;
}

.public-landing-brand img {
  width: 2.65rem;
  height: 2.65rem;
  padding: 0.16rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(9, 25, 47, 0.18);
  object-fit: contain;
}

.public-landing-brand strong {
  font-size: 1rem;
}

.public-landing-nav nav {
  gap: clamp(0.7rem, 2vw, 1.6rem);
}

.public-landing-nav nav a {
  color: rgba(248, 251, 255, 0.82);
  font-size: 0.9rem;
  font-weight: 700;
}

.public-landing-scroll-story {
  position: relative;
  display: grid;
  z-index: 2;
  --public-story-width: min(820px, 52vw);
  --public-story-gutter: clamp(2rem, 4vw, 4.25rem);
  grid-template-columns: minmax(320px, 0.7fr) minmax(650px, 1.3fr);
  grid-template-rows: auto auto;
  column-gap: clamp(1.5rem, 3.4vw, 4rem);
  row-gap: clamp(1rem, 2.4vw, 2.5rem);
  min-height: auto;
  align-items: start;
  margin-bottom: 0;
  padding: clamp(2.75rem, 5vw, 4.5rem) clamp(1rem, 3vw, 3rem) 0;
}

.public-landing-copy {
  position: sticky;
  top: clamp(5.5rem, 9vh, 7.25rem);
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  width: min(680px, 100%);
}

.public-landing-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.2rem;
  padding: 0.42rem 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
  color: rgba(248, 251, 255, 0.78);
  font-size: 0.78rem;
  font-weight: 800;
}

.public-landing-eyebrow span {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #79d39a;
  box-shadow: 0 0 0 5px rgba(121, 211, 154, 0.14);
}

.public-landing-copy h1 {
  max-width: 12ch;
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.85rem, 5.8vw, 5rem);
  line-height: 1;
  letter-spacing: 0;
}

.public-landing-copy > p {
  max-width: 58ch;
  margin: 1.35rem 0 0;
  color: rgba(248, 251, 255, 0.78);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: 1.7;
}

.public-landing-inline-form {
  align-items: flex-end;
  gap: 0.65rem;
  width: min(560px, 100%);
  margin-top: 2rem;
  padding: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.1);
}

.public-landing-inline-form label {
  flex: 1;
  min-width: 0;
}

.public-landing-inline-form span,
.public-waitlist-form span {
  display: block;
  margin-bottom: 0.25rem;
  color: rgba(248, 251, 255, 0.68);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-landing-inline-form input,
.public-waitlist-form input,
.public-waitlist-form select {
  width: 100%;
  min-height: 2.85rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.95);
  color: #142d45;
  padding: 0.7rem 0.85rem;
}

.public-landing-inline-form button,
.public-waitlist-form button {
  min-height: 2.85rem;
  border: 0;
  border-radius: var(--radius-sm);
  background: #f0b456;
  color: #10263e;
  padding: 0 1.15rem;
  font-weight: 900;
  cursor: pointer;
}

.public-landing-trust-row {
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.public-landing-trust-row span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(248, 251, 255, 0.76);
  font-size: 0.82rem;
  font-weight: 700;
}

.public-timeline-story {
  position: sticky;
  top: clamp(4.65rem, 7vh, 6.25rem);
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: start;
  justify-self: end;
  z-index: 4;
  width: var(--public-story-width);
  height: clamp(660px, calc(100vh - 7rem), 820px);
  min-height: 0;
  color: #172f46;
  isolation: isolate;
  overflow: visible;
  transform-origin: top right;
  pointer-events: none;
}

.public-timeline-story::before {
  content: none;
  position: absolute;
  inset: clamp(1rem, 2vw, 2rem) clamp(0.5rem, 2vw, 1.5rem) clamp(8rem, 14vh, 12rem);
  z-index: 0;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, rgba(245, 251, 255, 0.72), rgba(230, 241, 250, 0.36)),
    linear-gradient(rgba(33, 85, 127, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33, 85, 127, 0.08) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  box-shadow: 0 28px 78px rgba(9, 25, 47, 0.16);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.18));
  pointer-events: none;
}

.public-timeline-story-chaos {
  position: absolute;
  inset: -1rem -0.9rem clamp(6rem, 12vh, 9rem) -0.35rem;
  z-index: 3;
  opacity: 1;
  pointer-events: none;
  will-change: opacity;
}

.public-timeline-story-chaos::before {
  content: none;
  position: absolute;
  inset: 0.1rem 0.15rem 2.4rem 0;
  z-index: 0;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 14% 18%, rgba(144, 192, 235, 0.28), transparent 26%),
    linear-gradient(rgba(47, 120, 168, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 120, 168, 0.08) 1px, transparent 1px),
    linear-gradient(180deg, #f8fbff, #edf6fc);
  background-size: auto, 42px 42px, 42px 42px, auto;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 30px 80px rgba(9, 25, 47, 0.14);
  opacity: var(--story-chaos-opacity);
}

.public-timeline-story-chaos::after {
  content: none;
  position: absolute;
  inset: 0.75rem 0.95rem 3.25rem 0.75rem;
  z-index: 0;
  border-radius: var(--radius-md);
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.6), transparent 48%),
    radial-gradient(circle at 72% 18%, rgba(212, 154, 31, 0.1), transparent 24%);
  opacity: var(--story-chaos-soft-opacity);
}

.public-timeline-story-chaos > .public-story-label {
  opacity: var(--story-chaos-opacity);
}

.public-story-label {
  position: absolute;
  top: 0.85rem;
  left: 0.9rem;
  z-index: 6;
  display: grid;
  gap: 0.2rem;
  max-width: 15.5rem;
  padding: 0.58rem 0.72rem;
  border: 1px solid rgba(212, 154, 31, 0.36);
  border-radius: var(--radius-sm);
  background: #fff8e6;
  color: #17324f;
  font-size: 0.78rem;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(18, 42, 68, 0.14);
}

.public-story-label span {
  color: #8b5d00;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-story-label.organized {
  position: static;
  max-width: none;
  margin-bottom: 0.85rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #577089;
}

.public-loose-document {
  position: absolute;
  --doc-width: min(195px, 30%);
  left: clamp(0.35rem, var(--doc-x), calc(100% - var(--doc-width) - 0.5rem));
  top: var(--doc-y);
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.5rem;
  row-gap: 0.45rem;
  width: var(--doc-width);
  min-height: 7rem;
  padding: 0.8rem;
  border: 1px solid rgba(22, 50, 79, 0.14);
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(18, 42, 68, 0.18);
  transform-origin: center;
  will-change: opacity, transform;
}

.public-loose-document svg {
  color: #245b85;
}

.public-loose-document strong,
.public-loose-document small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-loose-document strong {
  font-size: 0.88rem;
}

.public-loose-document small {
  color: #62788c;
  font-size: 0.75rem;
}

.public-loose-document.gold {
  border-color: rgba(212, 154, 31, 0.34);
}

.public-loose-document.teal {
  border-color: rgba(47, 120, 168, 0.28);
}

.public-loose-document.green {
  border-color: rgba(47, 143, 70, 0.28);
}

.public-loose-document.navy {
  background: #1e3a5f;
  color: #ffffff;
}

.public-loose-document.navy small,
.public-loose-document.navy svg {
  color: rgba(255, 255, 255, 0.72);
}

.public-loose-document-copy {
  min-width: 0;
}

.public-document-page-mini {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.22rem;
  min-height: 3.1rem;
  padding: 0.38rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 0.35rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 248, 252, 0.96)),
    #ffffff;
}

.public-document-page-mini span {
  overflow: hidden;
  color: #1e3a5f;
  font-size: 0.48rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.public-document-page-mini i {
  display: block;
  height: 3px;
  border-radius: 999px;
  background: rgba(36, 91, 133, 0.2);
}

.public-document-page-mini i:nth-child(3) {
  width: 78%;
}

.public-document-page-mini i:nth-child(4) {
  width: 56%;
}

.public-loose-document.navy .public-document-page-mini {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.1);
}

.public-loose-document.navy .public-document-page-mini span {
  color: rgba(255, 255, 255, 0.86);
}

.public-loose-document.navy .public-document-page-mini i {
  background: rgba(255, 255, 255, 0.26);
}

.public-paper-clutter {
  position: absolute;
  left: clamp(0.35rem, var(--paper-x), calc(100% - 6rem));
  top: var(--paper-y);
  z-index: 1;
  transform-origin: center;
  will-change: opacity, transform;
}

.public-paper-clutter.sheet {
  display: grid;
  place-items: end start;
  width: 5.4rem;
  height: 4.4rem;
  padding: 0.5rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 0.5rem 0.28rem 0.55rem 0.32rem;
  background:
    linear-gradient(135deg, #ffffff 0 64%, #e6eef6 64%),
    #ffffff;
  box-shadow: 0 14px 28px rgba(18, 42, 68, 0.14);
}

.public-paper-clutter.sheet::before,
.public-paper-clutter.sheet::after {
  content: "";
  position: absolute;
  left: 0.7rem;
  right: 0.7rem;
  height: 3px;
  border-radius: 999px;
  background: rgba(36, 91, 133, 0.16);
}

.public-paper-clutter.sheet::before {
  top: 0.85rem;
}

.public-paper-clutter.sheet::after {
  top: 1.35rem;
  right: 1.45rem;
}

.public-paper-clutter.ball {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.05rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 44% 56% 49% 51% / 52% 45% 55% 48%;
  background:
    radial-gradient(circle at 32% 26%, #ffffff, transparent 31%),
    linear-gradient(135deg, #f8fbff, #e2ebf4);
  box-shadow: 0 15px 24px rgba(18, 42, 68, 0.13);
}

.public-paper-clutter.ball::before,
.public-paper-clutter.ball::after {
  content: "";
  position: absolute;
  inset: 0.65rem 0.45rem;
  border-top: 1px solid rgba(36, 91, 133, 0.18);
  border-left: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 50%;
  transform: rotate(-24deg);
}

.public-paper-clutter.ball::after {
  inset: 0.5rem 0.8rem 0.85rem 0.55rem;
  transform: rotate(34deg);
}

.public-paper-clutter span {
  position: relative;
  z-index: 1;
  color: #41586d;
  font-size: 0.46rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.public-loose-chip {
  position: absolute;
  left: clamp(0.35rem, var(--chip-x), calc(100% - min(10.75rem, 28%) - 0.5rem));
  top: var(--chip-y);
  z-index: 3;
  max-width: 10.75rem;
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(212, 154, 31, 0.32);
  border-radius: 999px;
  background: #fff4cf;
  color: #8b5d00;
  font-size: 0.78rem;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(126, 83, 0, 0.12);
  transform-origin: center;
  will-change: opacity, transform;
}

.public-timeline-story-organized {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-height: clamp(590px, 64vh, 730px);
  padding: clamp(1.15rem, 1.5vw, 1.6rem);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: var(--radius-lg);
  background: #f8fbff;
  box-shadow: 0 34px 100px rgba(9, 25, 47, 0.28);
  overflow: hidden;
}

.public-story-topbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.95rem;
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-story-topbar strong,
.public-story-topbar span {
  display: block;
}

.public-story-topbar span {
  margin-top: 0.15rem;
  color: #62788c;
  font-size: 0.78rem;
  font-weight: 700;
}

.public-story-topbar mark {
  align-self: center;
  border-radius: 999px;
  background: #fff4cf;
  color: #8b5d00;
  padding: 0.38rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 900;
}

.public-story-lanes {
  display: grid;
  gap: 1rem;
}

.public-story-lane {
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-story-lane header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.7rem;
  color: #17324f;
  font-weight: 900;
}

.public-story-lane header small {
  color: #62788c;
  font-size: 0.75rem;
}

.public-story-lane ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.68rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-story-lane li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.45rem;
  min-width: 0;
  min-height: 4.75rem;
  padding: 0.74rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: #f8fbff;
  transition: border-color 280ms ease, background-color 280ms ease, box-shadow 280ms ease;
}

.public-story-lane li::before {
  content: "";
  position: absolute;
  right: calc(100% - 0.24rem);
  top: 1rem;
  width: 0.55rem;
  height: 2px;
  background: rgba(47, 120, 168, 0.24);
  transition: background-color 280ms ease;
}

.public-story-lane li:first-child::before {
  display: none;
}

.public-story-lane i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #245b85;
  color: #ffffff;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  transition: background-color 280ms ease, box-shadow 280ms ease, transform 280ms ease;
}

.public-story-lane li.is-complete {
  border-color: rgba(47, 143, 70, 0.32);
  background: #eef8f1;
  box-shadow: 0 8px 18px rgba(47, 143, 70, 0.1);
}

.public-story-lane li.is-complete::before {
  background: rgba(47, 143, 70, 0.42);
}

.public-story-lane li.is-complete i {
  background: #2f8f46;
  box-shadow: 0 0 0 5px rgba(47, 143, 70, 0.14);
  transform: scale(1.04);
}

.public-story-lane li.is-complete small {
  color: #2f6f3e;
  font-weight: 800;
}

.public-story-lane strong,
.public-story-lane small,
.public-story-lane em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-story-lane strong {
  font-size: 0.84rem;
}

.public-story-lane small {
  margin-top: 0.1rem;
  color: #62788c;
  font-size: 0.7rem;
}

.public-story-lane em {
  margin-top: 0.28rem;
  color: #47677f;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
}

.public-story-activity {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.95rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(47, 143, 70, 0.2);
  border-radius: var(--radius-sm);
  background: #eef8f1;
  color: #215f44;
  font-size: 0.78rem;
  font-weight: 800;
}

.public-landing-band {
  position: relative;
  z-index: 1;
}

.public-product-preview {
  position: absolute;
  right: clamp(1rem, 4vw, 5rem);
  top: 50%;
  z-index: 1;
  width: min(540px, 43vw);
  height: 630px;
  transform: translateY(-48%);
  color: #172f46;
  cursor: grab;
  perspective: 1400px;
  user-select: none;
  touch-action: pan-y;
  --preview-drag-x: 0px;
  --preview-drag-progress: 0;
  --preview-next-lift: 0;
  --preview-previous-lift: 0;
}

.public-product-preview:active {
  cursor: grabbing;
}

.public-product-preview.dragging .public-preview-card {
  transition: none;
}

.public-preview-deck {
  position: relative;
  height: 100%;
  transform-style: preserve-3d;
}

.public-preview-card {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(22, 50, 79, 0.14);
  border-radius: var(--radius-lg);
  background: #edf4fb;
  box-shadow: 0 32px 90px rgba(9, 25, 47, 0.26);
  transform-origin: center;
  transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 360ms ease, filter 360ms ease;
  will-change: transform, opacity;
}

.public-preview-card.active {
  z-index: 3;
  opacity: calc(1 - ((var(--preview-next-lift) + var(--preview-previous-lift)) * 0.08));
  filter: none;
  transform:
    translate3d(var(--preview-drag-x), 0, 0)
    rotate(calc(-1.5deg + (var(--preview-drag-progress) * 5deg)))
    rotateY(calc(var(--preview-drag-progress) * -12deg))
    scale(calc(1 - ((var(--preview-next-lift) + var(--preview-previous-lift)) * 0.02)));
}

.public-preview-card.next {
  z-index: 2;
  opacity: calc(0.78 + (var(--preview-next-lift) * 0.22));
  filter: saturate(calc(0.88 + (var(--preview-next-lift) * 0.12)));
  transform:
    translate3d(
      calc(1.25rem - (var(--preview-next-lift) * 1.25rem)),
      calc(1rem - (var(--preview-next-lift) * 1rem)),
      calc(-90px + (var(--preview-next-lift) * 90px))
    )
    rotate(calc(2.5deg - (var(--preview-next-lift) * 4deg)))
    rotateY(calc(-10deg + (var(--preview-next-lift) * 10deg)))
    scale(calc(0.95 + (var(--preview-next-lift) * 0.05)));
}

.public-preview-card.previous {
  z-index: 1;
  opacity: calc(0.5 + (var(--preview-previous-lift) * 0.5));
  filter: saturate(calc(0.7 + (var(--preview-previous-lift) * 0.3)));
  transform:
    translate3d(
      calc(-1.2rem + (var(--preview-previous-lift) * 1.2rem)),
      calc(1.7rem - (var(--preview-previous-lift) * 1.7rem)),
      calc(-160px + (var(--preview-previous-lift) * 160px))
    )
    rotate(calc(-5deg + (var(--preview-previous-lift) * 3.5deg)))
    rotateY(calc(12deg - (var(--preview-previous-lift) * 12deg)))
    scale(calc(0.9 + (var(--preview-previous-lift) * 0.1)));
}

.public-product-preview.dragging-left .public-preview-card.next,
.public-product-preview.dragging-right .public-preview-card.previous {
  box-shadow: 0 34px 94px rgba(9, 25, 47, 0.3);
}

.public-preview-controls {
  position: absolute;
  right: 0.6rem;
  bottom: -3.1rem;
  left: 0.6rem;
  z-index: 5;
  justify-content: center;
  gap: 0.65rem;
}

.public-preview-controls > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(16, 38, 62, 0.8);
  color: #ffffff;
  cursor: pointer;
  backdrop-filter: blur(10px);
}

.public-preview-controls > div {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 2.15rem;
  padding: 0 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(16, 38, 62, 0.76);
  backdrop-filter: blur(10px);
}

.public-preview-controls > div button {
  width: 0.48rem;
  height: 0.48rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  padding: 0;
  cursor: pointer;
}

.public-preview-controls > div button.active {
  width: 1.35rem;
  background: #f0b456;
}

.public-preview-titlebar {
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.2rem;
  padding: 0 1rem;
  background: #1a2d45;
  color: rgba(248, 251, 255, 0.8);
  font-size: 0.82rem;
  font-weight: 800;
}

.public-preview-titlebar div {
  display: flex;
  gap: 0.35rem;
}

.public-preview-titlebar i {
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}

.public-preview-kpis {
  gap: 0.65rem;
  padding: 1rem;
}

.public-preview-kpis article {
  flex: 1;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-preview-kpis strong,
.public-preview-kpis span {
  display: block;
}

.public-preview-kpis strong {
  font-size: 1.6rem;
  line-height: 1;
}

.public-preview-kpis span {
  margin-top: 0.25rem;
  color: #62788c;
  font-size: 0.76rem;
  font-weight: 700;
}

.public-preview-panel {
  margin: 0 1rem 1rem;
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-preview-panel p,
.public-landing-section-heading p,
.public-waitlist-section > div > p {
  margin: 0 0 0.25rem;
  color: #8b6a19;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-preview-panel h2 {
  margin: 0 0 0.8rem;
  font-size: 1rem;
}

.public-preview-list {
  display: grid;
  gap: 0.55rem;
}

.public-preview-list article {
  gap: 0.75rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
}

.public-preview-list article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  background: #1e3a5f;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 900;
}

.public-preview-list article > div {
  flex: 1;
  min-width: 0;
}

.public-preview-list strong,
.public-preview-list small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-preview-list small {
  margin-top: 0.12rem;
  color: #62788c;
}

.public-preview-list mark {
  flex-shrink: 0;
  border-radius: 999px;
  padding: 0.25rem 0.48rem;
  font-size: 0.7rem;
  font-weight: 900;
}

.public-preview-list mark.danger {
  background: #fee2e2;
  color: #b91c1c;
}

.public-preview-list mark.warning {
  background: #ffefc2;
  color: #8b5d00;
}

.public-preview-list mark.info {
  background: #dcedf2;
  color: #124f62;
}

.public-preview-progress {
  height: 0.28rem;
  margin-top: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e6eef6;
}

.public-preview-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2f78a8;
}

.public-preview-evidence {
  gap: 0.65rem;
  margin: 0 1rem 1rem;
  padding: 0.85rem;
  border: 1px solid #f2d78b;
  border-radius: var(--radius-sm);
  background: #fffbeb;
  color: #8b5d00;
}

.public-preview-evidence strong,
.public-preview-evidence span {
  display: block;
  font-size: 0.78rem;
  line-height: 1.35;
}

.public-preview-evidence span {
  margin-top: 0.2rem;
  color: #926b13;
}

.public-preview-document-panel,
.public-preview-timeline-panel {
  margin-top: 1rem;
}

.public-preview-document-list,
.public-preview-timeline {
  display: grid;
  gap: 0.65rem;
}

.public-preview-document-list article {
  gap: 0.75rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #f8fbff;
}

.public-preview-document-list article > svg {
  flex-shrink: 0;
  color: #1e3a5f;
}

.public-preview-document-list article > div {
  flex: 1;
  min-width: 0;
}

.public-preview-document-list strong,
.public-preview-document-list small,
.public-preview-two-column strong,
.public-preview-two-column span,
.public-preview-timeline strong,
.public-preview-timeline small {
  display: block;
}

.public-preview-document-list strong,
.public-preview-document-list small,
.public-preview-timeline strong,
.public-preview-timeline small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-preview-document-list small,
.public-preview-two-column span,
.public-preview-timeline small {
  margin-top: 0.2rem;
  color: #62788c;
  font-size: 0.78rem;
  line-height: 1.35;
}

.public-preview-document-list mark {
  flex-shrink: 0;
  border-radius: 999px;
  padding: 0.25rem 0.52rem;
  font-size: 0.7rem;
  font-weight: 900;
}

.public-preview-document-list mark.warning {
  background: #ffefc2;
  color: #8b5d00;
}

.public-preview-document-list mark.info {
  background: #dcedf2;
  color: #124f62;
}

.public-preview-document-list mark.success {
  background: #deefe5;
  color: #215f44;
}

.public-preview-two-column {
  align-items: stretch;
  gap: 0.75rem;
  margin: 0 1rem 1rem;
}

.public-preview-two-column > div {
  flex: 1;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-preview-two-column p {
  margin: 0 0 0.35rem;
  color: #8b6a19;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-preview-timeline {
  position: relative;
  padding-left: 0.25rem;
}

.public-preview-timeline article {
  gap: 0.75rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-sm);
  background: #f8fbff;
}

.public-preview-timeline article > span {
  position: relative;
  flex-shrink: 0;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  background: #2f78a8;
  box-shadow: 0 0 0 5px rgba(47, 120, 168, 0.12);
}

.public-preview-timeline article > span.success {
  background: #2f8f46;
  box-shadow: 0 0 0 5px rgba(47, 143, 70, 0.12);
}

.public-preview-timeline article > span.warning {
  background: #d49a1f;
  box-shadow: 0 0 0 5px rgba(212, 154, 31, 0.14);
}

.public-landing-band,
.public-waitlist-section {
  padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 4vw, 4rem);
  background: #f7fbfd;
  color: #172f46;
}

.public-landing-band.public-landing-story-band {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(620px, 1.28fr);
  align-items: start;
  column-gap: clamp(1.5rem, 3.4vw, 4rem);
  z-index: 3;
  min-height: auto;
  margin-top: clamp(-1.25rem, -1.8vw, -0.5rem);
  padding-top: clamp(2.35rem, 4vw, 4rem);
  padding-right: clamp(1rem, 3vw, 3rem);
  padding-bottom: clamp(3rem, 7vw, 5rem);
  border-top: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  box-shadow: 0 -18px 50px rgba(9, 25, 47, 0.08);
}

.public-landing-story-copy-block,
.public-landing-story-band .public-landing-section-heading,
.public-landing-story-band .public-landing-feature-grid {
  width: min(560px, 100%);
}

.public-landing-story-band .public-landing-section-heading h2 {
  font-size: clamp(1.85rem, 3vw, 3rem);
}

.public-landing-story-band .public-landing-feature-grid {
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.public-landing-section-heading {
  max-width: 760px;
}

.public-landing-section-heading h2,
.public-waitlist-section h2 {
  margin: 0;
  color: #172f46;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
}

.public-landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.public-landing-feature-grid article {
  padding: 1.15rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.public-landing-feature-grid article span {
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--radius-sm);
  background: #e1eefa;
  color: #1e3a5f;
}

.public-landing-feature-grid h3 {
  margin: 1rem 0 0.45rem;
  font-size: 1rem;
}

.public-landing-feature-grid p,
.public-waitlist-section > div > span {
  margin: 0;
  color: #5e7388;
  line-height: 1.6;
}

.public-waitlist-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(320px, 0.55fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
  overflow: hidden;
  margin-top: 0;
  padding-top: clamp(4rem, 7vw, 6rem);
  border-top: 1px solid rgba(22, 50, 79, 0.12);
  background: linear-gradient(135deg, #10263e 0%, #16324f 48%, #1a375c 100%);
  color: #f8fbff;
}

.public-waitlist-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.public-waitlist-section > * {
  position: relative;
  z-index: 1;
}

.public-waitlist-section h2 {
  color: #ffffff;
}

.public-waitlist-section > div > span {
  color: rgba(248, 251, 255, 0.74);
}

.public-waitlist-form {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: 0 20px 58px rgba(15, 23, 42, 0.08);
}

.public-waitlist-form span {
  color: #5e7388;
}

.public-waitlist-form input,
.public-waitlist-form select {
  border-color: rgba(22, 50, 79, 0.14);
}

.public-waitlist-form button {
  width: 100%;
}

.public-waitlist-form small {
  color: #6b7280;
  text-align: center;
}

.public-waitlist-success {
  gap: 0.85rem;
  padding: 1.1rem;
  border: 1px solid rgba(47, 143, 70, 0.24);
  border-radius: var(--radius-sm);
  background: #deefe5;
  color: #215f44;
}

.public-waitlist-success strong,
.public-waitlist-success span {
  display: block;
}

.public-waitlist-success span {
  margin-top: 0.2rem;
}

@media (max-width: 1080px) {
  .public-landing-shell {
    background: linear-gradient(180deg, #16324f 0%, #1a375c 52%, #f7fbfd 52%, #fbf6ec 100%);
  }

  .public-landing-scroll-story {
    --public-story-width: min(760px, 100%);
    --public-story-gutter: 0px;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: auto;
    margin-bottom: 0;
    gap: 2rem;
  }

  .public-landing-copy,
  .public-timeline-story {
    position: relative;
    top: auto;
    grid-column: 1;
    grid-row: auto;
  }

  .public-landing-copy {
    order: 1;
  }

  .public-timeline-story {
    order: 2;
    width: min(760px, 100%);
    height: 700px;
    justify-self: stretch;
  }

  .public-landing-band.public-landing-story-band {
    order: 3;
    grid-column: 1;
    grid-row: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    min-height: auto;
    margin-top: 0;
    padding-right: clamp(1rem, 4vw, 4rem);
    padding-top: clamp(3rem, 7vw, 5rem);
    border-radius: 0;
    box-shadow: none;
  }

  .public-landing-story-band .public-landing-section-heading,
  .public-landing-story-band .public-landing-feature-grid {
    width: auto;
  }

  .public-landing-copy h1 {
    max-width: 14ch;
  }

  .public-landing-feature-grid,
  .public-waitlist-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .public-landing-nav {
    position: sticky;
    top: 0;
    align-items: center;
    flex-direction: row;
    min-height: 3.8rem;
    padding: 0.55rem 0.85rem;
  }

  .public-landing-nav nav {
    width: auto;
    justify-content: flex-end;
  }

  .public-landing-nav nav a {
    font-size: 0.8rem;
  }

  .public-landing-brand img {
    width: 2.25rem;
    height: 2.25rem;
  }

  .public-landing-brand strong {
    font-size: 0.92rem;
  }

  .public-landing-scroll-story {
    min-height: auto;
    margin-bottom: 0;
    padding-top: 2.5rem;
    padding-bottom: 1.2rem;
  }

  .public-landing-copy {
    position: sticky;
    top: 4.15rem;
    display: block;
    order: 1;
    z-index: 1;
    padding-bottom: 0.85rem;
    background: linear-gradient(180deg, rgba(22, 50, 79, 0.98) 0%, rgba(22, 50, 79, 0.88) 72%, rgba(22, 50, 79, 0) 100%);
  }

  .public-landing-eyebrow {
    order: 1;
  }

  .public-landing-copy h1 {
    order: 2;
  }

  .public-landing-copy > p {
    order: 3;
  }

  .public-timeline-story {
    order: 2;
    z-index: 6;
    height: clamp(360px, 92vw, 470px);
    min-height: 0;
    margin-top: -0.25rem;
    margin-bottom: 0;
  }

  .public-landing-band.public-landing-story-band {
    order: 3;
    margin-top: 0;
    padding-top: clamp(1rem, 4vw, 1.6rem);
  }

  .public-timeline-story-organized {
    order: 1;
  }

  .public-landing-story-copy-block {
    order: 2;
  }

  .public-landing-inline-form {
    display: none;
  }

  .public-landing-trust-row {
    display: none;
  }

  .public-landing-trust-row span {
    border-color: rgba(36, 91, 133, 0.16);
    background: rgba(255, 255, 255, 0.88);
    color: #31506d;
  }

  .public-timeline-story-chaos {
    inset: 0 -0.25rem 0 -0.25rem;
    z-index: 7;
    min-height: 0;
  }

  .public-timeline-story-chaos > .public-story-label {
    opacity: 0;
    visibility: hidden;
  }

  .public-loose-document {
    --mobile-doc-width: min(154px, 44vw);
    left: clamp(0.35rem, var(--doc-x), calc(100% - var(--mobile-doc-width) - 0.35rem));
    width: var(--mobile-doc-width);
    min-height: 6.15rem;
    padding: 0.58rem;
  }

  .public-paper-clutter {
    left: clamp(0.35rem, var(--paper-x), calc(100% - 5.8rem));
  }

  .public-loose-chip {
    left: clamp(0.35rem, var(--chip-x), calc(100% - min(8.25rem, 42vw) - 0.35rem));
    max-width: min(8.25rem, 42vw);
  }

  .public-loose-document strong,
  .public-loose-document small {
    white-space: normal;
  }

  .public-timeline-story-organized {
    z-index: 8;
    min-height: auto;
    padding: 0.85rem;
  }

  .public-story-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-story-topbar mark {
    align-self: flex-start;
  }

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

  .public-story-lane li {
    min-height: 3.9rem;
  }

  .public-story-lane em {
    display: none;
  }

  .public-landing-copy h1 {
    max-width: 100%;
    font-size: clamp(2.15rem, 11vw, 3rem);
  }

  .public-landing-inline-form {
    align-items: stretch;
    flex-direction: column;
  }

  .public-preview-kpis,
  .public-preview-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .public-preview-list mark {
    align-self: flex-start;
  }
}

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

.portal-nav,
.stack {
  display: grid;
  gap: var(--space-stack);
}

.district-sidebar-content {
  display: flex;
  flex: 1;
  min-width: 0;
  width: 100%;
  flex-direction: column;
}

.district-sidebar-content-collapsed {
  align-items: center;
}

.auth-summary-card {
  display: grid;
  gap: 0.35rem;
  margin-top: auto;
  padding: 0.8rem;
  border-radius: var(--radius-sm);
  color: #f8fbff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.auth-summary-card-collapsed {
  justify-items: center;
  padding: 0;
  background: transparent;
  border: 0;
}

.auth-summary-card small {
  color: rgba(248, 251, 255, 0.72);
  word-break: break-word;
}

.ghost-button {
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(22, 50, 79, 0.18);
  border-radius: var(--radius-xs);
  background: rgba(255, 255, 255, 0.92);
  color: var(--brand-navy);
  cursor: pointer;
}

.auth-summary-card-collapsed .ghost-button {
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.page-stack {
  display: grid;
  gap: var(--space-section);
}

.portal-link,
.student-subnav-link {
  display: grid;
  gap: 0.2rem;
  padding: 0.72rem 0.8rem;
  border-radius: var(--radius-sm);
  color: rgba(248, 251, 255, 0.9);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.portal-link.active,
.student-subnav-link.active {
  background: rgba(255, 255, 255, 0.22);
  color: #f8fbff;
  border-color: rgba(255, 255, 255, 0.28);
}

.portal-link:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateX(2px);
}

.portal-link.active:hover {
  background: rgba(255, 255, 255, 0.24);
}

.portal-nav-collapsed {
  justify-items: center;
  gap: 0.55rem;
}

.portal-nav-collapsed .portal-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1;
}

.portal-nav-collapsed .portal-link:hover {
  transform: none;
}

.student-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0 0 1.5rem;
}

.student-subnav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.7rem 1rem;
  color: #16324f;
  background: rgba(199, 225, 246, 0.78);
  border-color: rgba(36, 91, 133, 0.28);
  font-weight: 700;
}

.student-subnav-link:hover {
  color: #0f2d56;
  background: rgba(176, 214, 241, 0.9);
  border-color: rgba(36, 91, 133, 0.42);
}

.student-subnav-link.active,
.student-subnav-link.active:hover {
  color: #f8fbff;
  background: #245b85;
  border-color: #1b496d;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.2rem 0.65rem;
  border-radius: var(--radius-lg);
  background: rgba(199, 233, 255, 0.18);
  color: #edf7ff;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.hero-card,
.student-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.9fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.4rem;
  border-radius: var(--radius-2xl);
  background: linear-gradient(135deg, rgba(22, 50, 79, 0.98), rgba(36, 91, 133, 0.92));
  color: #f8fbff;
  box-shadow: 0 28px 64px rgba(22, 50, 79, 0.18);
}

.hero-card.district,
.student-hero.district {
  background:
    radial-gradient(circle at top right, rgba(199, 233, 255, 0.16), transparent 30%),
    linear-gradient(135deg, rgba(22, 50, 79, 0.98), rgba(47, 120, 168, 0.9));
}

.student-detail-shell {
  width: min(1280px, 100%);
  margin: 0 auto;
  overflow: visible;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

.student-hero.student-detail-header {
  display: block;
  margin: 0;
  padding: 0.9rem 1rem 0;
  border-radius: 8px;
  background:
    linear-gradient(112deg, rgba(16, 42, 70, 0.98), rgba(34, 77, 113, 0.96)),
    #102a46;
  box-shadow: 0 18px 42px rgba(22, 50, 79, 0.13);
}

.student-detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.78rem;
  color: rgba(199, 233, 255, 0.68);
  font-size: 0.78rem;
}

.student-detail-breadcrumb a {
  color: #80bdf1;
}

.student-detail-header-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.student-detail-identity {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
}

.student-detail-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(128, 189, 241, 0.48);
  border-radius: 8px;
  background: #f1b44c;
  color: #102a46;
  font-weight: 800;
}

.student-detail-kicker {
  display: block;
  margin-bottom: 0.3rem;
  color: #80bdf1;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.student-detail-identity .eyebrow {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #80bdf1;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.student-detail-identity h2 {
  margin: 0;
  font-size: clamp(1.55rem, 2.1vw, 2rem);
}

.student-detail-identity p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.2rem;
  color: rgba(229, 242, 255, 0.82);
  font-size: 0.9rem;
}

.student-detail-header-actions {
  display: flex;
  gap: 0.6rem;
}

.student-detail-action-card,
.student-detail-status-card {
  display: grid;
  gap: 0.24rem;
  min-width: 12.25rem;
  padding: 0.68rem 0.82rem;
  border: 1px solid rgba(226, 236, 246, 0.24);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: #eef7ff;
}

.student-detail-action-card > span,
.student-detail-status-card > span {
  color: #80bdf1;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.student-detail-action-card strong,
.student-detail-status-card strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #ffffff;
  font-size: 0.95rem;
}

.student-detail-action-card small,
.student-detail-status-card small {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: rgba(199, 233, 255, 0.72);
}

.student-detail-status-card {
  min-width: 7rem;
  border-color: rgba(31, 184, 122, 0.42);
  background: rgba(6, 116, 99, 0.34);
}

.student-detail-status-card strong {
  color: #80f2bd;
}

.student-detail-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.2rem;
  margin: 0.9rem -1rem 0;
  padding: 0.62rem 1rem 0;
  overflow: visible;
  background: rgba(12, 49, 80, 0.72);
  border-top: 1px solid rgba(128, 189, 241, 0.18);
}

.student-detail-tabs .student-subnav-link {
  position: relative;
  min-height: 38px;
  padding: 0.52rem 0.78rem 0.5rem;
  border: 1px solid rgba(199, 233, 255, 0.38);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: rgba(36, 91, 133, 0.74);
  color: #edf7ff;
  font-weight: 800;
  white-space: nowrap;
}

.student-detail-tabs .student-subnav-link:hover {
  background: rgba(50, 111, 156, 0.86);
  color: #ffffff;
}

.student-detail-tabs .student-subnav-link.active,
.student-detail-tabs .student-subnav-link.active:hover {
  border-color: #f1b44c;
  background: #f1b44c;
  color: #102a46;
  box-shadow: none;
  transform: translateY(1px);
}

.student-detail-tabs .student-subnav-count {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.08rem;
  height: 1.08rem;
  margin-left: 0.35rem;
  padding: 0 0 0 0.04rem;
  border-radius: 999px;
  background: #f5a524;
  color: #111827;
  font-size: 0.67rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

.student-detail-content {
  padding: 0;
}

.student-detail-content > .page-header {
  margin: 1.1rem 0 0.9rem;
}

.student-detail-content .metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.student-detail-content .metric-card,
.student-detail-content [class*="metric-card"] {
  border-radius: 8px;
}

.student-detail-content .panel-shell,
.student-document-action-strip,
.student-document-list-shell {
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(22, 50, 79, 0.08);
}

.student-command-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.student-command-strip article,
.district-product-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(22, 50, 79, 0.08);
}

.student-command-strip article {
  min-height: 150px;
  align-content: start;
}

.student-command-strip span,
.district-product-card span {
  color: #2f648f;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-command-strip strong,
.district-product-card h2 {
  margin: 0;
  color: #102a46;
  font-size: 1.05rem;
  line-height: 1.2;
}

.student-command-strip p,
.district-product-card p {
  margin: 0;
  color: #596b83;
  font-size: 0.9rem;
  line-height: 1.45;
}

.student-command-strip .text-link,
.district-product-card .text-link {
  align-self: end;
  width: fit-content;
  font-weight: 850;
}

.student-command-strip-note {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: #edf5fb;
  color: #254d70 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.student-overview-command {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  gap: 0.9rem;
  margin-bottom: 0.9rem;
}

.student-overview-next,
.student-overview-quick-links a,
.student-overview-health article,
.student-overview-health a,
.student-overview-service-snapshot {
  min-width: 0;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(22, 50, 79, 0.08);
}

.student-overview-next {
  display: grid;
  gap: 0.85rem;
  align-content: start;
  min-height: 16rem;
  padding: 1.15rem;
  border-left: 5px solid #2f789f;
}

.student-overview-next.blocked,
.student-overview-next.overdue {
  border-left-color: #b83225;
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 70%);
}

.student-overview-next.due_soon {
  border-left-color: #c58a14;
  background: linear-gradient(180deg, #fffdf7 0%, #ffffff 70%);
}

.student-overview-service-snapshot {
  display: grid;
  gap: 0.78rem;
  align-content: start;
  min-height: 16rem;
  padding: 1rem;
  background: #fffaf0;
}

.student-overview-section-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  justify-content: space-between;
}

.student-overview-section-label span,
.student-overview-quick-links span,
.student-overview-health span,
.student-overview-service-snapshot span,
.student-overview-need-list span {
  color: #2f648f;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-overview-section-label mark {
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border-radius: 5px;
  background: rgba(47, 120, 159, 0.12);
  color: #225d80;
  font-size: 0.72rem;
  font-weight: 800;
}

.student-overview-next.blocked .student-overview-section-label mark,
.student-overview-next.overdue .student-overview-section-label mark {
  background: rgba(184, 50, 37, 0.1);
  color: #b83225;
}

.student-overview-next.due_soon .student-overview-section-label mark {
  background: rgba(197, 138, 20, 0.13);
  color: #8a6010;
}

.student-overview-next h3 {
  margin: 0;
  color: #102a46;
  font-size: 1.45rem;
  line-height: 1.15;
}

.student-overview-next p,
.student-overview-health p,
.student-overview-quick-links small,
.student-overview-service-snapshot p {
  margin: 0;
  color: #596b83;
  font-size: 0.9rem;
  line-height: 1.42;
}

.student-overview-service-snapshot > div:not(.student-overview-section-label) {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.student-overview-service-snapshot strong {
  color: #102a46;
  font-size: 1rem;
  line-height: 1.25;
}

.student-overview-service-snapshot .secondary-button {
  width: fit-content;
  min-height: 36px;
  border-radius: 8px;
}

.student-overview-need-list {
  display: grid;
  gap: 0.7rem;
}

.student-overview-need-list > div {
  display: grid;
  gap: 0.18rem;
  padding: 0.72rem 0.8rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #f8fbff;
}

.student-overview-need-list strong {
  color: #102a46;
  font-size: 0.95rem;
  line-height: 1.25;
}

.student-service-log-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, auto);
  gap: 0.85rem;
  align-items: start;
}

.student-service-log-panel > div:first-child {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.student-service-log-panel strong {
  color: #102a46;
  font-size: 1rem;
  line-height: 1.25;
}

.student-service-log-panel p {
  max-width: 62rem;
  margin: 0;
  color: #596b83;
  font-size: 0.9rem;
  line-height: 1.42;
}

.student-service-log-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.student-service-log-actions .primary-button,
.student-service-log-actions .secondary-button {
  min-height: 36px;
  border-radius: 8px;
}

.student-service-log-support-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(22, 50, 79, 0.08);
}

.student-service-log-support-links a {
  color: #245b85;
  font-size: 0.82rem;
  font-weight: 850;
  text-decoration: none;
}

.student-service-log-support-links a:hover,
.student-service-log-support-links a:focus-visible {
  color: #16324f;
  text-decoration: underline;
}

.student-service-note-form {
  display: grid;
  gap: 1rem;
}

.student-service-note-intro {
  display: grid;
  gap: 0.28rem;
  max-width: 64rem;
}

.student-service-note-intro strong {
  color: #102a46;
  font-size: 1.05rem;
  line-height: 1.25;
}

.student-service-note-intro p,
.student-service-note-footer p,
.student-service-note-list > p {
  margin: 0;
  color: #596b83;
  font-size: 0.9rem;
  line-height: 1.45;
}

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

.student-service-note-grid .field-label.full {
  grid-column: 1 / -1;
}

.student-service-note-grid textarea.field-input {
  min-height: 7rem;
  resize: vertical;
}

.student-service-note-check {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  min-height: 2.25rem;
  color: #102a46;
  font-size: 0.9rem;
  font-weight: 800;
}

.student-service-note-check input {
  width: 1rem;
  height: 1rem;
  accent-color: #245b85;
}

.student-service-note-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(22, 50, 79, 0.08);
}

.student-service-note-list {
  display: grid;
  gap: 0.75rem;
}

.student-service-note-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: #f8fbff;
}

.student-service-note-card > div {
  display: grid;
  gap: 0.15rem;
}

.student-service-note-card span {
  color: #72839b;
  font-size: 0.78rem;
  font-weight: 800;
}

.student-service-note-card strong {
  color: #102a46;
  font-size: 0.98rem;
  line-height: 1.25;
}

.student-service-note-card small {
  color: #596b83;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
}

.student-service-note-card p {
  margin: 0;
  color: #24364c;
  font-size: 0.92rem;
  line-height: 1.45;
}

.student-service-note-card footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.student-service-note-card mark {
  padding: 0.16rem 0.42rem;
  border-radius: 999px;
  background: #fff3d7;
  color: #7b4a00;
  font-size: 0.72rem;
  font-weight: 850;
}

.service-note-support-links {
  padding-top: 0;
  border-top: 0;
}

.guardian-detail-list {
  display: grid;
  gap: 0.75rem;
}

.guardian-management-note {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(210, 143, 46, 0.18);
  border-radius: 8px;
  background: #fff9ed;
  color: #6f4b14;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.35;
}

.guardian-management-note svg {
  flex: 0 0 auto;
}

.guardian-detail-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #f8fbff;
}

.guardian-create-card {
  border-color: rgba(31, 95, 141, 0.22);
  background: linear-gradient(180deg, #ffffff 0%, #f4f9fd 100%);
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.07);
}

.guardian-empty-state {
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
  border: 1px dashed rgba(31, 95, 141, 0.32);
  border-radius: 8px;
  background: #f7fbff;
  color: #102a46;
}

.guardian-empty-state strong {
  font-size: 0.95rem;
}

.guardian-empty-state span {
  color: #5c6f88;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
}

.guardian-detail-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-start;
  justify-content: space-between;
}

.guardian-detail-heading strong {
  display: block;
  color: #102a46;
  font-size: 1rem;
  line-height: 1.2;
}

.guardian-detail-heading span,
.guardian-workflow-note span {
  color: #63758e;
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
}

.guardian-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.guardian-contact-grid div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.62rem 0.68rem;
  border-radius: 8px;
  background: #ffffff;
}

.guardian-contact-grid dt {
  color: #6f7f95;
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.guardian-contact-grid dd {
  min-width: 0;
  margin: 0;
  color: #14263d;
  font-size: 0.86rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.guardian-contact-grid .guardian-address-cell {
  grid-column: 1 / -1;
}

.guardian-contact-grid small {
  color: #6f7f95;
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.3;
}

.guardian-contact-grid a {
  color: #1f5f8d;
  text-decoration: none;
}

.guardian-contact-grid a:hover,
.guardian-contact-grid a:focus-visible {
  text-decoration: underline;
}

.guardian-edit-grid .checkbox-chip {
  align-self: end;
}

.guardian-edit-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.guardian-add-button {
  justify-self: start;
}

.guardian-workflow-note {
  display: grid;
  gap: 0.18rem;
  padding: 0.62rem 0.68rem;
  border-radius: 8px;
  background: #fffaf0;
  color: #102a46;
}

.guardian-workflow-note strong {
  font-size: 0.84rem;
  line-height: 1.32;
}

.student-overview-next-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.student-overview-next-meta div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.62rem 0.7rem;
  border-radius: 8px;
  background: #f3f8fc;
}

.student-overview-next-meta dt {
  color: #6b7e95;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.student-overview-next-meta dd {
  min-width: 0;
  margin: 0;
  color: #14263d;
  font-size: 0.86rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.student-overview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: auto;
}

.student-overview-actions .primary-button,
.student-overview-actions .secondary-button {
  min-height: 36px;
  border-radius: 8px;
}

.student-overview-quick-links {
  display: grid;
  gap: 0.65rem;
}

.student-overview-quick-links a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.18rem 0.65rem;
  min-height: 5rem;
  padding: 0.85rem;
  color: inherit;
  text-decoration: none;
}

.student-overview-quick-links a:hover,
.student-overview-quick-links a:focus-visible {
  border-color: rgba(47, 120, 159, 0.34);
  box-shadow: 0 0 0 3px rgba(47, 120, 159, 0.12), 0 14px 32px rgba(22, 50, 79, 0.08);
  outline: none;
}

.student-overview-quick-links svg {
  grid-row: 1 / span 3;
  margin-top: 0.1rem;
  color: #2f789f;
}

.student-overview-quick-links strong {
  color: #102a46;
  font-size: 0.96rem;
  line-height: 1.2;
}

.student-overview-health {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.student-overview-health article {
  display: grid;
  gap: 0.35rem;
  min-height: 7.2rem;
  align-content: start;
  padding: 0.9rem;
  border-top: 3px solid #2f789f;
}

.student-overview-health a {
  display: grid;
  gap: 0.35rem;
  min-height: 7.2rem;
  align-content: start;
  padding: 0.9rem;
  border-top: 3px solid #2f789f;
  color: inherit;
  text-decoration: none;
}

.student-overview-health a:hover,
.student-overview-health a:focus-visible {
  border-color: rgba(47, 120, 159, 0.34);
  box-shadow: 0 0 0 3px rgba(47, 120, 159, 0.12), 0 14px 32px rgba(22, 50, 79, 0.08);
  outline: none;
}

.student-overview-health article.warning,
.student-overview-health a.warning {
  border-top-color: #c58a14;
  background: #fffdf7;
}

.student-overview-health article.ready,
.student-overview-health a.ready {
  border-top-color: #2f7d71;
}

.student-overview-health strong {
  color: #102a46;
  font-size: 1.65rem;
  line-height: 1;
}

@media (max-width: 1100px) {
  .student-overview-command {
    grid-template-columns: 1fr;
  }

  .student-service-log-panel {
    grid-template-columns: 1fr;
  }

  .student-service-log-actions {
    justify-content: flex-start;
  }

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

  .student-overview-quick-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

@media (max-width: 720px) {
  .student-overview-quick-links,
  .student-overview-health,
  .student-service-note-grid,
  .student-overview-next-meta {
    grid-template-columns: 1fr;
  }

  .student-overview-next {
    min-height: 0;
  }

  .student-overview-actions .primary-button,
  .student-overview-actions .secondary-button,
  .student-service-log-actions .primary-button,
  .student-service-log-actions .secondary-button {
    width: 100%;
    justify-content: center;
  }

  .student-service-note-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .student-service-note-footer .button-row,
  .student-service-note-footer .primary-button,
  .student-service-note-footer .secondary-button {
    width: 100%;
  }

  .student-service-note-footer .primary-button,
  .student-service-note-footer .secondary-button {
    justify-content: center;
  }
}

.student-detail-content .student-portfolio-form .field-label {
  gap: 0.25rem;
}

.student-detail-content .student-portfolio-form .field-label > span {
  color: #72839b;
  font-size: 0.78rem;
  font-weight: 700;
}

.student-detail-content .student-portfolio-form .field-input {
  min-height: 36px;
  border-color: rgba(22, 50, 79, 0.12);
  border-radius: var(--radius-sm);
  background: #f9fbfd;
  color: #142339;
  font-weight: 650;
  box-shadow: none;
}

.student-detail-content .student-portfolio-form .field-input:disabled {
  opacity: 1;
  background: transparent;
  border-color: transparent;
  padding-inline: 0;
}

.student-detail-content .portfolio-field-grid {
  gap: 0.9rem 1.4rem;
}

.student-detail-content .activity-row {
  border: 1px solid rgba(22, 50, 79, 0.06);
  background: #f8fbff;
}

.hero-card h2,
.student-hero h2 {
  margin: 0.55rem 0 0.4rem;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.hero-card p,
.student-hero p {
  margin: 0;
  color: rgba(248, 251, 255, 0.86);
  line-height: 1.6;
}

.hero-actions,
.student-hero-meta {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.hero-action-link,
.student-summary-card,
.activity-row,
.risk-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-radius: var(--radius-xl);
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-strong);
}

.hero-action-link {
  flex-direction: column;
  background: rgba(255, 255, 255, 0.12);
  color: #f8fbff;
}

.hero-action-link.static {
  pointer-events: none;
}

.hero-action-link span,
.hero-action-link small {
  color: rgba(248, 251, 255, 0.82);
}

.student-summary-card {
  flex-direction: column;
  border: 1px solid var(--border-soft);
}

.student-summary-card small,
.activity-row p,
.risk-card p {
  margin: 0.2rem 0 0;
  color: var(--text-muted);
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-stack);
  margin-bottom: 1.5rem;
}

.deadline-metric-action {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.deadline-metric-action > div {
  height: 100%;
  transition: box-shadow 0.16s ease, transform 0.16s ease;
}

.deadline-metric-action:hover > div,
.deadline-metric-action:focus-visible > div {
  box-shadow: 0 14px 30px rgba(31, 45, 61, 0.1) !important;
  transform: translateY(-1px);
}

.deadline-metric-action:focus-visible,
.deadline-school-workboard:focus-visible,
.deadline-priority-work-focus:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.22);
  outline-offset: 3px;
}

.deadline-metric-action.is-selected > div {
  box-shadow: 0 0 0 3px rgba(36, 91, 133, 0.18), 0 12px 28px rgba(31, 45, 61, 0.08) !important;
}

.admin-metric-button {
  display: grid;
  gap: 0.32rem;
  min-height: 5rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(31, 45, 61, 0.08);
  border-radius: 8px;
  background: #ffffff;
  color: var(--text-strong);
  box-shadow: 0 10px 24px rgba(31, 45, 61, 0.05);
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.admin-metric-button span {
  color: var(--brand-blue);
  font-size: 0.86rem;
  font-weight: 800;
}

.admin-metric-button strong {
  color: var(--text-strong);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.1;
}

.admin-metric-button.warning span {
  color: #8d6900;
}

.admin-metric-button.success span {
  color: var(--status-green-text);
}

.admin-metric-button:focus-visible,
.admin-metric-button:hover {
  border-color: rgba(36, 91, 133, 0.3);
  box-shadow: 0 14px 28px rgba(31, 45, 61, 0.1);
  transform: translateY(-1px);
}

.two-column,
.three-column,
.document-grid {
  display: grid;
  gap: var(--space-stack);
}

.two-column {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-bottom: 1rem;
}

.overview-primary-grid,
.overview-secondary-grid {
  display: grid;
  gap: var(--space-stack);
  margin-bottom: 1rem;
  align-items: start;
}

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

.overview-secondary-grid {
  grid-template-columns: 1fr;
}

.iep-overview-status-strip {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.iep-overview-status-strip > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.88);
}

.iep-overview-status-strip small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.iep-overview-status-strip strong {
  color: var(--brand-navy);
  font-size: 0.96rem;
}

.iep-overview-status-strip span {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.35;
}

.iep-overview-rule-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.iep-overview-rule-card {
  appearance: none;
  display: grid;
  gap: 0.42rem;
  min-height: 8.75rem;
  min-width: 0;
  padding: 0.9rem 0.95rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--text-strong);
  cursor: pointer;
  text-align: left;
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.05);
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.iep-overview-rule-card:hover,
.iep-overview-rule-card:focus-visible {
  border-color: rgba(36, 91, 133, 0.34);
  box-shadow: 0 16px 32px rgba(22, 50, 79, 0.1);
  outline: none;
  transform: translateY(-1px);
}

.iep-overview-rule-card.is-blocked {
  border-left-color: #b84f4f;
  background: rgba(255, 248, 246, 0.96);
}

.iep-overview-rule-card.is-ready {
  border-left-color: #3f8b62;
}

.iep-overview-rule-card.is-waiting {
  border-left-color: #c59628;
  background: rgba(255, 252, 242, 0.96);
}

.iep-overview-rule-label {
  color: var(--brand-blue);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.iep-overview-rule-card strong {
  color: var(--brand-navy);
  font-size: 1.35rem;
  line-height: 1.05;
}

.iep-overview-rule-card p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
}

.iep-overview-rule-card small {
  align-self: end;
  color: var(--brand-blue);
  font-size: 0.8rem;
  font-weight: 850;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.iep-overview-supporting-tools {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-md);
  background: rgba(247, 251, 255, 0.82);
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.05);
}

.iep-overview-supporting-tools > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  min-height: 3.25rem;
  padding: 0.85rem 0.95rem;
  color: var(--brand-navy);
  cursor: pointer;
  list-style: none;
}

.iep-overview-supporting-tools > summary::-webkit-details-marker {
  display: none;
}

.iep-overview-supporting-tools > summary > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.iep-overview-supporting-tools > summary strong,
.iep-overview-supporting-tools > summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.iep-overview-supporting-tools > summary small {
  color: var(--text-muted);
  font-weight: 700;
}

.iep-overview-supporting-tools[open] > summary {
  border-bottom: 1px solid rgba(36, 91, 133, 0.12);
}

.iep-overview-supporting-body {
  display: grid;
  gap: var(--space-stack);
  padding: 0 0.95rem 0.95rem;
}

.three-column {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-bottom: 1rem;
}

.document-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.document-catalog-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  max-width: 1220px;
  align-items: start;
}

.district-document-hub {
  display: grid;
  gap: 1rem;
}

.district-document-hub-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  padding: 1.35rem;
  border-radius: 8px;
  background:
    linear-gradient(115deg, rgba(16, 42, 70, 0.96), rgba(33, 77, 113, 0.94)),
    #102a46;
  color: #ffffff;
  box-shadow: 0 18px 42px rgba(22, 50, 79, 0.14);
}

.district-document-hub-hero span {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(128, 189, 241, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #bfe1ff;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.district-document-hub-hero h1 {
  max-width: 740px;
  margin: 0.75rem 0 0;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.05;
}

.district-document-hub-hero p {
  max-width: 650px;
  margin: 0.65rem 0 0;
  color: rgba(239, 247, 255, 0.86);
  line-height: 1.55;
}

.district-document-hub-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

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

.district-product-card {
  min-height: 210px;
  align-content: start;
}

.district-product-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 8px;
  background: #f1b44c;
  color: #102a46;
}

.document-library-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(31, 45, 61, 0.06);
}

.document-search-field {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 46px;
  padding: 0 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--brand-blue);
}

.document-search-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--text-strong);
  background: transparent;
}

.document-school-year-field {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-md);
  display: flex;
  gap: 0.75rem;
  min-height: 46px;
  padding: 0 0.85rem;
}

.document-school-year-field span {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.document-school-year-field select {
  background: transparent;
  border: 0;
  color: var(--text-strong);
  font: inherit;
  font-weight: 700;
  outline: 0;
}

.document-category-filter,
.document-record-view-filter,
.document-library-summary,
.document-card-meta,
.document-card-footer,
.document-record-side {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.document-category-filter,
.document-record-view-filter,
.document-library-summary {
  grid-column: 1 / -1;
}

.document-record-view-filter {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.65rem;
  align-items: stretch;
}

.document-record-view-chip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 0.55rem;
  min-height: 58px;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: 8px;
  background: #f8fbfd;
  color: var(--brand-navy);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.document-record-view-chip:hover,
.document-record-view-chip:focus-visible {
  border-color: rgba(36, 91, 133, 0.38);
  background: #eef6fd;
}

.document-record-view-chip span {
  font-weight: 850;
}

.document-record-view-chip strong {
  font-size: 1.1rem;
  line-height: 1;
}

.document-record-view-chip small {
  grid-column: 1 / -1;
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.25;
}

.document-record-view-chip.active {
  border-color: var(--brand-blue);
  background: #eaf4ff;
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.18);
}

.document-category-filter {
  align-items: flex-end;
  gap: 0.15rem;
  padding-top: 0.2rem;
  border-bottom: 1px solid rgba(36, 91, 133, 0.22);
}

.document-record-school-year {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
  margin-top: 0.35rem;
}

.document-record-metadata-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.document-record-school-year span {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.document-record-school-year select,
.document-record-school-year input {
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: 8px;
  color: var(--text-strong);
  font: inherit;
  font-size: 0.82rem;
  padding: 0.25rem 0.45rem;
}

.document-category-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 38px;
  margin-bottom: -1px;
  padding: 0.48rem 0.75rem 0.44rem;
  border: 1px solid rgba(36, 91, 133, 0.24);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: rgba(225, 238, 250, 0.82);
  color: var(--brand-navy);
  cursor: pointer;
  font-weight: 700;
}

.document-category-chip:hover,
.document-category-chip:focus-visible {
  background: rgba(210, 230, 247, 0.96);
  border-color: rgba(36, 91, 133, 0.38);
}

.document-category-chip span,
.document-library-summary span,
.document-card-meta span,
.document-category-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.18rem 0.5rem;
  border-radius: var(--radius-sm);
  background: rgba(36, 91, 133, 0.08);
  color: var(--brand-blue);
  font-size: 0.78rem;
  font-weight: 800;
}

.document-category-chip.active {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: #fff;
  position: relative;
  z-index: 1;
}

.document-category-chip.active span {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.document-library-summary {
  color: var(--text-muted);
}

.document-library-grid {
  max-width: none;
}

.document-library-empty-state {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 2rem;
  border: 1px dashed rgba(36, 91, 133, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  text-align: center;
}

.document-library-empty-state > div {
  max-width: 420px;
}

.document-library-empty-state h3,
.document-library-empty-state p {
  margin: 0;
}

.document-library-empty-state h3 {
  color: var(--text-strong);
  font-size: 1.05rem;
}

.document-library-empty-state p {
  margin-top: 0.35rem;
  color: var(--text-muted);
}

.document-library-card {
  display: grid;
  gap: 0.85rem;
  min-height: 100%;
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 42px rgba(31, 45, 61, 0.06);
}

.student-document-action-strip {
  overflow: hidden;
  border-color: rgba(241, 180, 76, 0.28);
}

.student-document-action-strip-header {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(241, 180, 76, 0.24);
  background: #fff8e8;
  color: #7a470b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-document-action-strip-header strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(245, 165, 36, 0.18);
  color: #9a4b0d;
}

.student-document-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
}

.student-document-action-row + .student-document-action-row {
  border-top: 1px solid rgba(22, 50, 79, 0.08);
}

.student-document-action-row div {
  min-width: 0;
}

.student-document-action-row span:first-child {
  color: #1d5fd1;
  font-size: 0.76rem;
  font-weight: 800;
}

.student-document-action-row strong {
  display: block;
  margin-top: 0.25rem;
  color: #17253a;
}

.student-document-action-row p {
  margin: 0.3rem 0 0;
  color: #718198;
  font-size: 0.82rem;
}

.student-document-list-shell {
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.student-document-list-heading {
  display: none;
}

.student-document-list.document-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.8rem;
  padding: 0;
}

.student-document-list .document-library-card {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  min-height: 0;
  padding: 1rem;
  border: 1px solid rgba(22, 50, 79, 0.12);
  border-top: 4px solid #9dccf7;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(22, 50, 79, 0.06);
}

.student-document-list .document-library-card + .document-library-card {
  border-top-width: 4px;
}

.student-document-list .document-library-card:hover {
  border-top-color: #245b85;
  background: #fbfdff;
}

.student-document-list .document-library-card.focused {
  border-top-color: #f5a524;
  background: #fffdf7;
}

.student-document-list .document-library-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.student-document-list .document-library-card-header > div:first-child {
  grid-column: 1;
  min-width: 0;
}

.student-document-list .document-library-card-header > .document-primary-action {
  flex: 0 0 auto;
}

.student-document-list .document-category-label {
  display: block;
  width: fit-content;
  margin-bottom: 0.3rem;
  padding: 0;
  background: transparent;
  color: #1d5fd1;
}

.student-document-list .document-library-card h3 {
  margin: 0;
  color: #223049;
  font-size: 0.95rem;
}

.student-document-list .document-card-meta {
  display: flex;
}

.student-document-list .document-card-meta span {
  width: fit-content;
  max-width: 100%;
  padding: 0.28rem 0.48rem;
  border-radius: var(--radius-xs);
  background: #eef3f8;
  color: #53647a;
  font-size: 0.76rem;
  line-height: 1.35;
}

.student-document-list .document-card-meta span:nth-child(1) {
  grid-column: auto;
}

.student-document-list .document-card-meta span:nth-child(2) {
  grid-column: auto;
}

.student-document-list .document-card-meta span:nth-child(3) {
  grid-column: auto;
}

.student-document-list .document-option-records,
.student-document-list .document-option-empty {
  grid-column: 1 / -1;
  margin-top: 0.85rem;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: var(--radius-sm);
  background: #f6faff;
}

.student-document-list .document-option-empty {
  color: #53647a;
}

.student-document-list .document-record-row {
  grid-template-columns: 1fr;
  align-items: start;
  border-color: rgba(36, 91, 133, 0.14);
  background: #ffffff;
}

.student-document-list .document-record-side {
  justify-self: stretch;
  justify-content: flex-start;
}

.student-document-list .document-record-actions-with-revision {
  justify-items: start;
  width: 100%;
}

.student-document-list .document-card-footer {
  justify-self: start;
}

.student-document-list .document-primary-action {
  justify-self: start;
  min-height: 34px;
  padding: 0.45rem 0.75rem;
  font-size: 0.82rem;
}

.document-packet-download-panel {
  overflow: hidden;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.06);
}

.document-packet-download-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.2rem;
  padding: 0.8rem 1rem;
  cursor: pointer;
  list-style: none;
}

.document-packet-download-panel summary::-webkit-details-marker {
  display: none;
}

.document-packet-download-panel summary > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #17253a;
  font-weight: 850;
}

.document-packet-download-panel summary small {
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: #eef3f8;
  color: #53647a;
  font-weight: 800;
}

.document-packet-download-body {
  display: grid;
  gap: 0.85rem;
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(22, 50, 79, 0.08);
}

.document-packet-download-head,
.document-packet-download-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.85rem;
}

.document-packet-download-head strong {
  color: #17253a;
}

.document-packet-download-head p,
.document-packet-download-footer span {
  margin: 0.18rem 0 0;
  color: #53647a;
  font-size: 0.84rem;
}

.document-packet-download-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.45rem;
}

.document-packet-download-counts span {
  min-height: 1.55rem;
  padding: 0.24rem 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 999px;
  background: #f4f8fc;
  color: #365b86;
  font-size: 0.76rem;
  font-weight: 850;
}

.document-packet-download-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.document-packet-download-list {
  display: grid;
  gap: 0.45rem;
  max-height: 22rem;
  overflow: auto;
  padding-right: 0.2rem;
}

.document-packet-download-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  min-height: 3.35rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: #f8fbff;
}

.document-packet-download-option.selected {
  border-color: rgba(29, 95, 209, 0.34);
  background: #eef6ff;
}

.document-packet-download-option input {
  width: 1rem;
  height: 1rem;
  margin: 0;
}

.document-packet-download-option span {
  min-width: 0;
}

.document-packet-download-option strong,
.document-packet-download-option small {
  display: block;
}

.document-packet-download-option strong {
  overflow: hidden;
  color: #17253a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-packet-download-option small {
  margin-top: 0.16rem;
  color: #6a7890;
  font-size: 0.78rem;
}

.document-packet-download-option mark {
  padding: 0.26rem 0.5rem;
  border-radius: 999px;
  background: #fff7e8;
  color: #7a470b;
  font-size: 0.74rem;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .student-detail-header-grid,
  .student-detail-header-actions,
  .student-command-strip,
  .district-document-hub-hero,
  .district-document-hub-grid,
  .student-document-action-row {
    grid-template-columns: 1fr;
  }

  .district-document-hub-actions {
    justify-content: flex-start;
  }

  .document-library-toolbar {
    grid-template-columns: 1fr;
  }

  .student-detail-header-actions {
    display: grid;
  }

  .student-detail-action-card,
  .student-detail-status-card {
    min-width: 0;
  }

  .student-document-list-heading {
    display: none;
  }

  .student-document-list .document-library-card {
    grid-template-columns: 1fr;
  }

  .student-document-list .document-library-card-header > div:first-child,
  .student-document-list .document-library-card-header > .document-primary-action,
  .student-document-list .document-card-meta span:nth-child(1),
  .student-document-list .document-card-meta span:nth-child(2),
  .student-document-list .document-card-meta span:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }

  .student-document-list .document-card-meta {
    display: flex;
  }

  .student-document-list .document-card-footer {
    justify-self: start;
  }

  .document-packet-download-head,
  .document-packet-download-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .document-packet-download-actions {
    justify-content: flex-start;
  }

  .document-packet-download-option {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .document-packet-download-option mark {
    grid-column: 2;
    width: fit-content;
  }
}

.landing-dashboard-shell {
  min-height: 100vh;
  display: flex;
  background: #c9d6e4;
  color: #111827;
  font-family: "Aptos", "Segoe UI", sans-serif;
}

.landing-dashboard-shell * {
  box-sizing: border-box;
}

.landing-dashboard-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  width: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 1rem 0.75rem;
  background: #1a2d45;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  transition: width 160ms ease, align-items 160ms ease, padding 160ms ease;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-sidebar {
  width: 18.75rem;
  align-items: stretch;
  padding: 1rem;
}

.landing-dashboard-logo {
  width: 2.75rem;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  margin-bottom: 2rem;
  border-radius: 8px;
  background: transparent;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.landing-dashboard-logo img {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.16rem;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(4, 16, 31, 0.28);
  object-fit: contain;
}

.landing-dashboard-logo span {
  display: none;
  color: #ffffff;
  font-size: 0.95rem;
  letter-spacing: 0;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-logo {
  width: 100%;
  justify-content: flex-start;
  padding: 0;
  border-radius: 10px;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-logo span {
  display: inline;
}

.landing-dashboard-nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-nav {
  align-items: stretch;
  gap: 0.5rem;
}

.landing-dashboard-nav a,
.landing-dashboard-sidebar-icon {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(226, 232, 240, 0.52);
  cursor: pointer;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-nav a,
.landing-dashboard-shell.sidebar-expanded .landing-dashboard-sidebar-icon {
  width: 100%;
  height: auto;
  min-height: 2.75rem;
  justify-content: flex-start;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
}

.landing-dashboard-nav a:hover,
.landing-dashboard-sidebar-icon:hover {
  background: rgba(36, 61, 92, 0.72);
  color: #e2e8f0;
}

.landing-dashboard-nav a.active {
  background: #243d5c;
  color: #60a5fa;
}

.landing-dashboard-nav a span {
  position: absolute;
  left: calc(100% + 0.75rem);
  z-index: 60;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: #111827;
  color: #ffffff;
  font-size: 0.75rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-nav a span,
.landing-dashboard-shell.sidebar-expanded .landing-dashboard-sidebar-icon span {
  position: static;
  z-index: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  opacity: 1;
  pointer-events: auto;
}

.landing-dashboard-nav a:hover span {
  opacity: 1;
}

.landing-dashboard-auth {
  display: grid;
  gap: 0.25rem;
  margin-top: auto;
  padding: 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8fbff;
}

.landing-dashboard-auth strong,
.landing-dashboard-auth small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-dashboard-auth small {
  color: rgba(248, 251, 255, 0.68);
  font-size: 0.75rem;
}

.landing-dashboard-main {
  flex: 1;
  min-width: 0;
  margin-left: 4rem;
  overflow-x: clip;
  scrollbar-gutter: stable;
  transition: margin-left 160ms ease;
}

.landing-dashboard-shell.sidebar-expanded .landing-dashboard-main {
  margin-left: 18.75rem;
}

.landing-dashboard-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.5rem;
}

.landing-dashboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.25rem;
}

.landing-dashboard-header p,
.landing-section-header p,
.landing-evidence-toggle p {
  margin: 0 0 0.25rem;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-dashboard-header h1,
.landing-section-header h2,
.landing-evidence-toggle h2 {
  margin: 0;
  color: #111827;
  font-size: 1.5rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0;
}

.landing-dashboard-header span,
.landing-dashboard-date span {
  display: block;
  margin-top: 0.35rem;
  color: #6b7280;
  font-size: 0.88rem;
}

.landing-dashboard-date {
  flex-shrink: 0;
  margin-left: 1.5rem;
  text-align: right;
}

.landing-dashboard-date span {
  margin: 0;
  font-size: 0.78rem;
}

.landing-dashboard-date span + span {
  margin-top: 0.2rem;
}

.landing-dashboard-alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fef2f2;
  color: #b91c1c;
  font-size: 0.86rem;
  font-weight: 600;
}

.landing-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.landing-kpi-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.8rem 1rem;
  border: 1px solid;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.landing-kpi-card:hover,
.landing-kpi-card:focus-visible {
  box-shadow: 0 12px 24px rgba(22, 50, 79, 0.08);
  transform: translateY(-1px);
}

.landing-kpi-card:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.22);
  outline-offset: 2px;
}

.landing-kpi-card.critical {
  background: #fef2f2;
  border-color: #fee2e2;
  color: #b91c1c;
}

.landing-kpi-card.warning {
  background: #fffbeb;
  border-color: #fef3c7;
  color: #b45309;
}

.landing-kpi-card.info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #1d4ed8;
}

.landing-kpi-card.service-log {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

.landing-kpi-card.neutral {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.08);
  color: #334155;
}

.landing-kpi-card strong {
  display: block;
  margin-bottom: 0.1rem;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.landing-kpi-card span,
.landing-kpi-card small,
.landing-kpi-card em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1.25;
}

.landing-kpi-card span {
  font-weight: 650;
}

.landing-kpi-card small {
  opacity: 0.65;
}

.landing-kpi-card em,
.deadline-cascade-summary-card em {
  margin-top: 0.3rem;
  color: currentColor;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  opacity: 0.82;
}

.landing-dashboard-content {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

.landing-dashboard-primary {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.landing-panel,
.landing-followup,
.landing-dashboard-purpose {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #ffffff;
}

.landing-panel {
  padding: 1.25rem;
}

.landing-section-header,
.landing-work-header,
.landing-work-toggle,
.landing-evidence-toggle,
.landing-followup header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.landing-section-header h2,
.landing-work-toggle h2,
.landing-evidence-toggle h2 {
  font-size: 1rem;
}

.landing-section-header a,
.landing-work-header a,
.landing-work-toggle a,
.landing-evidence-toggle a {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #1e3a5f;
  font-size: 0.78rem;
  font-weight: 650;
}

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

.landing-priority-card,
.landing-lane-card,
.landing-school-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #ffffff;
  padding: 1rem;
  transition: box-shadow 140ms ease;
}

.landing-priority-card:hover,
.landing-lane-card:hover,
.landing-school-card:hover,
.landing-evidence-row:hover {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.landing-priority-card.first {
  border-color: rgba(30, 58, 95, 0.2);
  box-shadow: 0 2px 10px rgba(30, 58, 95, 0.05);
}

.landing-priority-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.landing-priority-top span {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e8ecf0;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 800;
}

.landing-priority-card.first .landing-priority-top span {
  background: #1e3a5f;
  color: #ffffff;
}

.landing-priority-top small {
  color: #6b7280;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.landing-priority-top mark {
  margin-left: auto;
}

.landing-priority-main {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.landing-priority-main > strong {
  color: #10263e;
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.landing-priority-card mark,
.landing-lane-card mark,
.landing-evidence-row mark {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: #eef2f7;
  color: #1e3a5f;
  font-size: 0.72rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-priority-card h3,
.landing-lane-card h3,
.landing-school-card h3,
.landing-followup h2,
.landing-followup h3,
.landing-dashboard-purpose h2 {
  margin: 0;
  color: #111827;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
}

.landing-priority-card p,
.landing-lane-card p,
.landing-school-card p,
.landing-followup p,
.landing-dashboard-purpose li {
  margin: 0;
  color: #6b7280;
  font-size: 0.78rem;
  line-height: 1.35;
}

.landing-priority-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid;
  border-radius: 8px;
  font-size: 0.75rem;
}

.landing-priority-alert strong,
.landing-priority-alert span {
  display: block;
}

.landing-priority-alert span {
  margin-top: 0.15rem;
  opacity: 0.82;
}

.landing-priority-alert.danger {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b91c1c;
}

.landing-priority-alert.warning {
  background: #fffbeb;
  border-color: #fde68a;
  color: #b45309;
}

.landing-priority-alert.info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #1d4ed8;
}

.landing-priority-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.landing-priority-next {
  padding: 0.7rem;
  border: 1px solid rgba(30, 58, 95, 0.1);
  border-radius: 8px;
  background: #f8fbff;
}

.landing-priority-card dt,
.landing-evidence-row dt {
  color: #6b7280;
  font-size: 0.72rem;
}

.landing-priority-card dd,
.landing-evidence-row dd {
  margin: 0.15rem 0 0;
  overflow: hidden;
  color: #111827;
  font-size: 0.76rem;
  font-weight: 650;
  text-overflow: ellipsis;
}

.landing-priority-card dd {
  white-space: nowrap;
}

.landing-priority-next dd,
.landing-priority-source dd {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

.landing-priority-card dd svg {
  vertical-align: -1px;
  color: #6b7280;
}

.landing-priority-source {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.6rem 0.7rem;
  border: 1px solid rgba(30, 58, 95, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.landing-priority-source summary {
  color: #1e3a5f;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 750;
}

.landing-priority-source > div {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.55rem;
  min-width: 0;
}

.landing-priority-source dl {
  grid-template-columns: 1fr;
  gap: 0.5rem;
}

.landing-priority-source p,
.landing-priority-source span {
  margin: 0;
  color: #5e7388;
  font-size: 0.76rem;
  line-height: 1.36;
  overflow-wrap: anywhere;
}

.landing-reference-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.25rem 0.55rem;
  width: 100%;
  margin-top: 0.65rem;
  padding: 0.58rem 0.68rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: 8px;
  background: rgba(232, 243, 255, 0.72);
  color: #183451;
  text-decoration: none;
}

.landing-reference-action span {
  grid-column: 1 / -1;
  color: #5e7388;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.landing-reference-action strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.82rem;
}

.landing-card-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: auto;
}

.landing-card-actions a {
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 650;
}

.landing-card-actions .primary {
  flex: 1;
  background: #1e3a5f;
  color: #ffffff;
}

.landing-card-actions .secondary {
  padding: 0 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: #4b5563;
}

.landing-work-header {
  margin-bottom: 1rem;
}

.landing-work-toggle {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin-bottom: 0.75rem;
}

.landing-work-toggle button {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.landing-work-toggle button:focus-visible,
.landing-work-toggle a:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.22);
  outline-offset: 3px;
}

.landing-work-toggle button > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.landing-work-toggle > a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.landing-work-toggle p span {
  margin-left: 0.5rem;
  padding: 0.1rem 0.5rem;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: none;
}

.landing-work-toggle small {
  color: #6b7280;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
}

.landing-review-collapsed-note {
  display: grid;
  gap: 0.28rem;
  padding: 0.85rem;
  border: 1px solid rgba(30, 58, 95, 0.12);
  border-radius: 8px;
  background: #f8fafc;
}

.landing-review-collapsed-note span {
  color: #1e3a5f;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.landing-review-collapsed-note strong {
  color: #111827;
  font-size: 0.9rem;
}

.landing-review-collapsed-note p {
  margin: 0;
  color: #6b7280;
  font-size: 0.82rem;
  line-height: 1.4;
}

.landing-segmented {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}

.landing-segmented button {
  min-height: 2rem;
  border: 0;
  background: #ffffff;
  color: #6b7280;
  padding: 0 1rem;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
}

.landing-segmented button.active {
  background: #1e3a5f;
  color: #ffffff;
}

.landing-lane-card-top,
.landing-school-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.landing-lane-card-top p {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

.landing-lane-card-top > div:last-child,
.landing-school-card-top > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.3rem;
}

.landing-lane-card-top span,
.landing-school-card-top span {
  display: inline-flex;
  align-items: center;
  min-height: 1.25rem;
  padding: 0 0.45rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
}

.landing-lane-card-top .danger,
.landing-school-card-top .critical {
  background: #fef2f2;
  border-color: #fee2e2;
  color: #dc2626;
}

.landing-lane-card-top .warning,
.landing-school-card-top .warning {
  background: #fffbeb;
  border-color: #fef3c7;
  color: #d97706;
}

.landing-lane-card-top .info,
.landing-school-card-top .info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #2563eb;
}

.landing-lane-meta {
  display: grid;
  gap: 0.18rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  color: #6b7280;
  font-size: 0.76rem;
  line-height: 1.35;
}

.landing-lane-meta strong {
  color: #111827;
}

.landing-school-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.landing-school-card > p {
  padding-top: 0.7rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  color: #111827;
}

.landing-school-card > p span,
.landing-school-card > p small {
  color: #6b7280;
}

.landing-evidence-toggle {
  width: 100%;
  margin-bottom: 0.25rem;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.landing-evidence-toggle > div:last-child {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.landing-evidence-toggle p span {
  margin-left: 0.5rem;
  padding: 0.1rem 0.5rem;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: none;
}

.landing-evidence-copy {
  margin: 0 0 1rem;
  color: #6b7280;
  font-size: 0.78rem;
}

.landing-evidence-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: #fffbeb;
  color: #92400e;
}

.landing-evidence-callout strong,
.landing-evidence-callout span {
  display: block;
  font-size: 0.78rem;
}

.landing-evidence-callout span {
  margin-top: 0.15rem;
  color: #b45309;
}

.landing-evidence-list {
  display: grid;
  gap: 0.5rem;
}

.landing-evidence-head,
.landing-evidence-row summary {
  display: grid;
  grid-template-columns: minmax(120px, 1.1fr) 0.55fr minmax(140px, 1fr) 0.65fr auto;
  gap: 0.75rem;
  align-items: center;
}

.landing-evidence-head {
  padding: 0 1rem;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 700;
}

.landing-evidence-row {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
}

.landing-evidence-row summary {
  list-style: none;
  cursor: pointer;
  padding: 0.75rem 1rem;
  color: #6b7280;
  font-size: 0.78rem;
}

.landing-evidence-row summary::-webkit-details-marker {
  display: none;
}

.landing-evidence-row summary > span,
.landing-evidence-row summary strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-evidence-row summary > span:first-child {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #111827;
  font-size: 0.88rem;
  font-weight: 650;
}

.landing-evidence-row i {
  width: 0.38rem;
  height: 0.38rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #ef4444;
}

.landing-evidence-row summary strong {
  color: #dc2626;
}

.landing-evidence-row summary a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 1.75rem;
  padding: 0 0.75rem;
  border-radius: 4px;
  background: #1e3a5f;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 650;
}

.landing-evidence-row > div {
  padding: 0.75rem 1rem 0.9rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(232, 236, 240, 0.28);
}

.landing-evidence-row dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}

.landing-dashboard-rail {
  width: 18rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.landing-quick-counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.landing-quick-counts a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0 0.55rem;
  align-items: center;
  min-height: 4.25rem;
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #ffffff;
}

.landing-quick-counts span {
  grid-row: span 2;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eff6ff;
  color: #2563eb;
}

.landing-quick-counts a:nth-child(2) span {
  background: #fffbeb;
  color: #d97706;
}

.landing-quick-counts strong {
  color: #111827;
  font-size: 1.25rem;
  line-height: 1;
}

.landing-quick-counts small {
  color: #6b7280;
  font-size: 0.72rem;
  line-height: 1.15;
}

.landing-followup,
.landing-dashboard-purpose {
  padding: 1rem;
}

.landing-followup header {
  margin-bottom: 0.75rem;
}

.landing-followup header span {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #ef4444;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
}

.landing-followup > div {
  display: grid;
  gap: 0.75rem;
}

.landing-followup article {
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}

.landing-followup article > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}

.landing-followup article span.warning,
.landing-followup article span.critical,
.landing-followup article span.info {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.1rem 0.4rem;
  border: 1px solid;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 650;
  text-transform: capitalize;
}

.landing-followup article span.critical {
  background: #fee2e2;
  border-color: #fecaca;
  color: #b91c1c;
}

.landing-followup article span.warning {
  background: #fef3c7;
  border-color: #fde68a;
  color: #b45309;
}

.landing-followup article span.info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #2563eb;
}

.landing-followup footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.landing-followup footer span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  color: #6b7280;
  font-size: 0.72rem;
}

.landing-followup footer button {
  min-height: 1.6rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  background: #ffffff;
  color: #4b5563;
  padding: 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 650;
  cursor: pointer;
}

.landing-dashboard-purpose h2 {
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
}

.landing-dashboard-purpose ul {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.landing-dashboard-purpose li {
  position: relative;
  padding-left: 0.75rem;
}

.landing-dashboard-purpose li::before {
  content: "";
  position: absolute;
  top: 0.48rem;
  left: 0;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 999px;
  background: rgba(30, 58, 95, 0.42);
}

.landing-empty {
  grid-column: 1 / -1;
  margin: 0;
  color: #6b7280;
  font-size: 0.88rem;
}

@media (max-width: 1180px) {
  .landing-dashboard-content {
    flex-direction: column;
  }

  .landing-dashboard-rail {
    width: 100%;
  }

  .landing-day-grid,
  .landing-lane-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .landing-dashboard-page {
    padding: 1rem;
  }

  .landing-dashboard-header,
  .landing-section-header,
  .landing-work-header,
  .landing-evidence-toggle {
    align-items: flex-start;
    flex-direction: column;
  }

  .landing-dashboard-date {
    margin-left: 0;
    text-align: left;
  }

  .landing-kpi-grid,
  .landing-school-grid,
  .landing-quick-counts {
    grid-template-columns: 1fr;
  }

  .landing-evidence-head {
    display: none;
  }

  .landing-evidence-row summary {
    grid-template-columns: 1fr;
  }

  .landing-evidence-row dl {
    grid-template-columns: 1fr;
  }
}

.landing-dashboard-shell {
  background:
    linear-gradient(135deg, rgba(243, 248, 252, 0.92), rgba(249, 252, 255, 0.98)),
    #f4f8fc;
  color: #172f46;
}

.landing-dashboard-sidebar {
  background: linear-gradient(180deg, #10263e 0%, #16324f 56%, #1a375c 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 12px 0 32px rgba(9, 25, 47, 0.18);
}

.landing-dashboard-logo {
  background: transparent;
  color: #ffffff;
  box-shadow: none;
}

.landing-dashboard-nav a,
.landing-dashboard-sidebar-icon {
  color: rgba(248, 251, 255, 0.58);
}

.landing-dashboard-nav a:hover,
.landing-dashboard-sidebar-icon:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.landing-dashboard-nav a.active {
  background: rgba(240, 180, 86, 0.16);
  color: #f7c46d;
}

.landing-dashboard-main {
  background: transparent;
}

.landing-dashboard-page {
  max-width: 1320px;
  padding: clamp(1rem, 2vw, 1.5rem);
}

.landing-dashboard-header {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(31, 45, 61, 0.055);
}

.landing-dashboard-header::after {
  display: none;
}

.landing-dashboard-header > * {
  position: relative;
  z-index: 1;
}

.landing-dashboard-header p,
.landing-section-header p,
.landing-work-toggle p,
.landing-evidence-toggle p {
  color: #245b85;
  letter-spacing: 0;
}

.landing-dashboard-header h1 {
  max-width: 16ch;
  color: #10263e;
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: 1.12;
}

.landing-dashboard-header span {
  color: #5e7388;
}

.landing-dashboard-date {
  padding: 0.65rem 0.8rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #f8fbff;
}

.landing-dashboard-date span {
  color: #5e7388;
}

.landing-kpi-grid {
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.landing-kpi-card {
  min-height: 5rem;
  padding: 0.9rem;
  border-radius: 8px;
  background: #ffffff;
  border-color: rgba(22, 50, 79, 0.08);
  box-shadow: 0 8px 18px rgba(31, 45, 61, 0.05);
}

.landing-kpi-card.critical,
.landing-kpi-card.warning,
.landing-kpi-card.info,
.landing-kpi-card.neutral {
  background: #ffffff;
}

.landing-kpi-card.critical {
  border-left: 4px solid #d76f68;
  color: #9f342e;
}

.landing-kpi-card.warning {
  border-left: 4px solid #f0b456;
  color: #8b5d00;
}

.landing-kpi-card.info {
  border-left: 4px solid #2f78a8;
  color: #124f62;
}

.landing-kpi-card.neutral {
  border-left: 4px solid #90c0eb;
  color: #17324a;
}

.landing-kpi-card strong {
  color: #10263e;
  font-size: 1.7rem;
}

.landing-kpi-card span {
  color: #172f46;
}

.landing-kpi-card small {
  color: #62788c;
  opacity: 1;
}

.landing-dashboard-content {
  gap: 1rem;
}

.landing-dashboard-primary {
  gap: 1rem;
}

.landing-panel,
.landing-followup,
.landing-dashboard-purpose {
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 24px rgba(31, 45, 61, 0.055);
}

.landing-panel {
  padding: 1rem;
}

.landing-section-header,
.landing-work-header,
.landing-work-toggle,
.landing-evidence-toggle,
.landing-followup header {
  margin-bottom: 0.8rem;
}

.landing-section-header h2,
.landing-work-toggle h2,
.landing-evidence-toggle h2 {
  color: #10263e;
  font-size: 0.98rem;
}

.landing-priority-card,
.landing-lane-card,
.landing-school-card {
  gap: 0.65rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  padding: 0.85rem;
}

.landing-priority-card:hover,
.landing-lane-card:hover,
.landing-school-card:hover,
.landing-evidence-row:hover {
  box-shadow: 0 8px 18px rgba(31, 45, 61, 0.06);
}

.landing-priority-card.first {
  border-color: rgba(47, 120, 168, 0.22);
  box-shadow: 0 8px 18px rgba(31, 45, 61, 0.06);
}

.landing-priority-top span,
.landing-priority-card.first .landing-priority-top span {
  background: #1e3a5f;
  color: #ffffff;
}

.landing-priority-card mark,
.landing-lane-card mark,
.landing-evidence-row mark {
  border-radius: 999px;
  background: #e1eefa;
  color: #1e3a5f;
  font-weight: 750;
}

.landing-priority-card h3,
.landing-lane-card h3,
.landing-school-card h3,
.landing-followup h2,
.landing-followup h3,
.landing-dashboard-purpose h2 {
  color: #10263e;
}

.landing-priority-card p,
.landing-lane-card p,
.landing-school-card p,
.landing-followup p,
.landing-dashboard-purpose li {
  color: #5e7388;
}

.landing-card-actions .primary {
  background: #10263e;
  color: #ffffff;
}

.landing-card-actions .secondary,
.landing-followup footer button {
  border-color: rgba(22, 50, 79, 0.12);
  background: #f8fbff;
  color: #1e3a5f;
}

.landing-segmented {
  border-color: rgba(22, 50, 79, 0.12);
  background: #f8fbff;
}

.landing-segmented button {
  background: transparent;
}

.landing-segmented button.active {
  background: #10263e;
}

.landing-lane-meta,
.landing-school-card > p {
  border-top-color: rgba(22, 50, 79, 0.08);
}

.landing-evidence-callout,
.landing-preview-evidence {
  border-color: rgba(240, 180, 86, 0.44);
}

.landing-evidence-row {
  border-color: rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
}

.landing-dashboard-rail {
  width: 17rem;
  gap: 0.9rem;
}

.landing-quick-counts a {
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(31, 45, 61, 0.05);
}

.landing-followup,
.landing-dashboard-purpose {
  padding: 0.9rem;
}

.landing-followup article {
  border-color: rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #f8fbff;
}

.landing-dashboard-purpose li::before {
  background: #2f78a8;
}

.landing-kpi-action-group {
  cursor: default;
}

.landing-kpi-mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.landing-kpi-mini-actions a {
  min-height: 1.55rem;
  display: inline-flex;
  align-items: center;
  padding: 0 0.5rem;
  border-radius: 4px;
  background: #f8fbff;
  color: #1e3a5f;
  font-size: 0.72rem;
  font-weight: 750;
  text-decoration: none;
}

.landing-health-panel {
  display: grid;
  gap: 1rem;
}

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

.landing-status-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  color: #172f46;
  text-decoration: none;
}

.landing-status-card.danger {
  border-left: 4px solid #d76f68;
}

.landing-status-card.warning {
  border-left: 4px solid #f0b456;
}

.landing-status-card.info {
  border-left: 4px solid #2f78a8;
}

.landing-status-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.landing-status-card-top span {
  color: #5e7388;
  font-size: 0.76rem;
  font-weight: 750;
}

.landing-status-card-top strong {
  color: #10263e;
  font-size: 1.45rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.landing-status-meter,
.landing-stacked-bar {
  height: 0.55rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef5;
}

.landing-status-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
}

.landing-status-card p,
.landing-status-card small,
.landing-reporting-summary,
.landing-evidence-card p,
.landing-evidence-card small,
.landing-role-list p,
.landing-role-list small,
.landing-role-list em {
  margin: 0;
  color: #5e7388;
  font-size: 0.78rem;
  line-height: 1.36;
}

.landing-status-card small,
.landing-evidence-card small {
  color: #637a91;
}

.landing-school-reporting,
.landing-chart-grid,
.landing-evidence-rollup {
  display: grid;
  gap: 0.9rem;
}

.landing-reporting-summary {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(47, 120, 168, 0.14);
  border-radius: 8px;
  background: #f8fbff;
  color: #17324a;
  font-weight: 650;
}

.landing-school-report-table {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.landing-school-report-head,
.landing-school-report-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1.1fr) minmax(12rem, 1.4fr) minmax(8.5rem, 0.85fr) minmax(11rem, 1.1fr) minmax(6rem, 0.6fr);
  gap: 0.85rem;
  align-items: center;
}

.landing-school-report-head {
  padding: 0 0.75rem;
  color: #637a91;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.landing-school-report-row {
  padding: 0.8rem 0.75rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  align-items: start;
}

.landing-school-report-row strong,
.landing-school-report-row small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.landing-school-report-row strong {
  color: #10263e;
  font-size: 0.84rem;
}

.landing-school-report-row small {
  margin-top: 0.2rem;
  color: #637a91;
  font-size: 0.74rem;
  line-height: 1.3;
}

.landing-stacked-health {
  display: grid;
  gap: 0.35rem;
}

.landing-stacked-bar {
  display: flex;
  min-width: 8rem;
}

.landing-stacked-bar span {
  display: block;
  height: 100%;
}

.landing-stacked-bar .blocked {
  background: #9f342e;
}

.landing-stacked-bar .overdue {
  background: #d76f68;
}

.landing-stacked-bar .due-soon {
  background: #f0b456;
}

.landing-stacked-bar .open {
  background: #2f78a8;
}

.landing-school-window-summary {
  display: grid;
  gap: 0.2rem;
}

.landing-school-report-row .secondary,
.landing-followup footer a {
  min-height: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(22, 50, 79, 0.12);
  border-radius: 4px;
  background: #f8fbff;
  color: #1e3a5f;
  padding: 0 0.7rem;
  font-size: 0.74rem;
  font-weight: 750;
  text-decoration: none;
}

.landing-school-report-row .secondary {
  align-self: start;
}

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

.landing-chart-panel {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0.85rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
}

.landing-chart-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.landing-chart-header p {
  margin: 0 0 0.2rem;
  color: #245b85;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.landing-chart-header h2 {
  margin: 0;
  color: #10263e;
  font-size: 0.95rem;
}

.landing-chart-header svg {
  color: #2f78a8;
}

.landing-histogram {
  width: 100%;
  min-height: 9rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  align-items: stretch;
}

.landing-histogram-bin {
  display: grid;
  grid-template-rows: auto 6.4rem auto;
  gap: 0.35rem;
  min-width: 0;
  text-align: center;
}

.landing-histogram-bin strong {
  color: #17324a;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.landing-histogram-bin > span:last-child {
  min-width: 0;
  color: #637a91;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.landing-histogram-track {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
  height: 6.4rem;
  border-bottom: 1px solid #dbe6ef;
  background:
    linear-gradient(to top, rgba(219, 230, 239, 0.52) 1px, transparent 1px) 0 0 / 100% 50%,
    linear-gradient(to bottom, rgba(248, 251, 255, 0), rgba(248, 251, 255, 0.82));
}

.landing-histogram-bar {
  width: min(2.15rem, 68%);
  border-radius: 4px 4px 0 0;
  background: #2f78a8;
}

.landing-histogram-bar.past {
  background: #d76f68;
}

.landing-histogram-bar.week1,
.landing-histogram-bar.week2 {
  background: #f0b456;
}

.landing-histogram-bar.month {
  background: #2f78a8;
}

.landing-histogram-bar.later {
  background: #637a91;
}

.landing-mix-chart {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  min-height: 9rem;
}

.landing-donut-chart {
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  position: relative;
}

.landing-donut-chart::after {
  content: "";
  position: absolute;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: inherit;
  background: #ffffff;
}

.landing-donut-chart span {
  position: relative;
  z-index: 1;
  color: #10263e;
  font-size: 1.35rem;
  font-weight: 800;
}

.landing-mix-legend {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.landing-mix-legend a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.45rem;
  align-items: center;
  color: #17324a;
  font-size: 0.78rem;
  text-decoration: none;
}

.landing-mix-legend i {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
}

.landing-mix-legend span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-mix-legend strong {
  color: #10263e;
  font-variant-numeric: tabular-nums;
}

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

.landing-evidence-card {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #ffffff;
  color: #172f46;
  text-decoration: none;
}

.landing-evidence-card.danger {
  border-left: 4px solid #d76f68;
}

.landing-evidence-card.warning {
  border-left: 4px solid #f0b456;
}

.landing-evidence-card.info {
  border-left: 4px solid #2f78a8;
}

.landing-evidence-card span {
  color: #5e7388;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.landing-evidence-card strong {
  color: #10263e;
  font-size: 1.45rem;
  line-height: 1;
}

.landing-rotate-down {
  transform: rotate(90deg);
}

.landing-role-panel header span {
  width: 1.45rem;
  height: 1.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eff6ff;
  color: #2f78a8;
}

.landing-role-list {
  display: grid;
  gap: 0.55rem;
}

.landing-role-list button {
  width: 100%;
  padding: 0.65rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: #f8fbff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 0 0 0 rgba(47, 120, 168, 0);
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.landing-role-list strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #10263e;
  font-size: 0.8rem;
}

.landing-role-list small {
  display: block;
  margin-top: 0.4rem;
  color: #245b85;
  font-weight: 750;
}

.landing-role-list em {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.55rem;
  padding: 0.12rem 0.42rem;
  border: 1px solid rgba(47, 120, 168, 0.18);
  border-radius: 4px;
  background: #f8fbff;
  color: #245b85;
  font-style: normal;
  font-weight: 750;
}

.landing-role-list button:hover,
.landing-role-list button:focus-visible,
.landing-role-list button.is-active {
  border-color: rgba(47, 120, 168, 0.3);
  background: #ffffff;
  box-shadow: inset 3px 0 0 rgba(47, 120, 168, 0.78);
}

.landing-role-list button.is-active em {
  border-color: rgba(47, 120, 168, 0.28);
  background: #eef7ff;
}

.landing-role-list button:focus-visible {
  outline: 2px solid rgba(47, 120, 168, 0.26);
  outline-offset: 2px;
}

@media (max-width: 820px) {
  .landing-dashboard-header {
    padding: 1rem;
  }

  .landing-dashboard-header h1 {
    max-width: 100%;
  }

  .landing-dashboard-date {
    width: 100%;
  }

  .landing-status-grid,
  .landing-chart-grid,
  .landing-evidence-card-grid {
    grid-template-columns: 1fr;
  }

  .landing-school-report-head {
    display: none;
  }

  .landing-school-report-row {
    grid-template-columns: 1fr;
  }

  .landing-mix-chart {
    grid-template-columns: 1fr;
  }

  .landing-donut-chart {
    width: 6rem;
    height: 6rem;
  }
}

.document-library-card.focused {
  border-color: rgba(36, 91, 133, 0.32);
  border-left: 4px solid var(--brand-blue);
  box-shadow: 0 18px 42px rgba(31, 45, 61, 0.1);
}

.document-library-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: start;
}

.document-library-card h3 {
  margin: 0.35rem 0 0;
  color: var(--text-strong);
  font-size: 1.05rem;
  line-height: 1.25;
}

.document-primary-action,
.document-record-action {
  min-width: 84px;
  min-height: 38px;
  padding: 0.55rem 0.8rem;
  white-space: nowrap;
}

.document-card-meta {
  gap: 0.4rem;
}

.document-record-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-md);
  background: rgba(246, 251, 255, 0.92);
}

.document-record-row strong,
.document-record-row p {
  margin: 0;
}

.document-record-row p {
  margin-top: 0.2rem;
  color: var(--text-muted);
}

.document-record-side {
  justify-content: flex-end;
}

.document-card-footer {
  justify-content: space-between;
  padding-top: 0.15rem;
}

.document-category-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}

.document-category-overview button {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 72px;
  padding: 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.74);
  color: var(--text-strong);
  cursor: pointer;
  text-align: left;
}

.document-category-overview small {
  display: block;
  margin-top: 0.2rem;
  color: var(--text-muted);
}

.document-accordion {
  border-radius: var(--radius-2xl);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 20px 48px rgba(31, 45, 61, 0.06);
  padding: 0.5rem;
}

.document-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-xl);
}

.document-accordion-summary::-webkit-details-marker {
  display: none;
}

.document-accordion-summary > div {
  display: grid;
  gap: 0.2rem;
}

.document-accordion-summary strong {
  font-size: 1.05rem;
}

.document-accordion-summary small {
  color: #67798d;
  font-weight: 600;
}

.document-accordion-indicator {
  color: #7f481a;
  font-weight: 700;
}

.document-accordion[open] .document-accordion-indicator::before {
  content: "Hide";
}

.document-accordion:not([open]) .document-accordion-indicator::before {
  content: "Show";
}

.document-accordion-indicator {
  font-size: 0;
}

.document-accordion .document-catalog-grid {
  padding: 0.25rem 0.25rem 0.5rem;
}

.document-option-records {
  display: grid;
  gap: 0.75rem;
}

.document-option-records .secondary-button {
  justify-self: start;
}

.document-option-empty {
  margin: 0;
  color: var(--text-muted);
}

.document-upload-button {
  justify-self: start;
  cursor: pointer;
}

.document-upload-button input {
  display: none;
}

.document-upload-button.is-disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.document-record-actions-with-revision {
  display: grid;
  gap: 0.65rem;
  justify-items: end;
  width: min(100%, 360px);
  min-width: 0;
}

.document-record-revision-start {
  display: grid;
  gap: 0.65rem;
  width: min(100%, 520px);
  padding-top: 0.65rem;
  border-top: 1px solid rgba(64, 117, 157, 0.16);
}

.document-record-revision-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.65rem;
}

.document-record-revision-status {
  color: var(--text-muted);
}

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

.revision-start-panel {
  display: grid;
  flex: 1 1 100%;
  gap: 0.85rem;
  min-width: min(100%, 680px);
  padding: 0.95rem;
  border: 1px solid rgba(64, 117, 157, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.revision-admin-lock-note {
  display: grid;
  gap: 0.25rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.92);
}

.revision-admin-lock-note p {
  margin: 0;
  color: var(--text-muted);
}

.document-lifecycle-strip {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.92);
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.06);
}

.document-lifecycle-strip.is-finalized {
  border-color: rgba(12, 39, 63, 0.26);
  background: linear-gradient(180deg, rgba(246, 250, 253, 0.98), rgba(235, 243, 249, 0.94));
}

.document-lifecycle-summary {
  display: grid;
  gap: 0.65rem;
  align-items: start;
  grid-template-columns: auto 1fr;
  min-width: 0;
}

.document-lifecycle-summary strong {
  color: var(--brand-navy);
  font-size: 1rem;
}

.document-lifecycle-summary p {
  margin: 0.12rem 0 0;
  color: var(--text-muted);
}

.document-finalized-lock-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.95rem;
  padding: 1rem;
  border: 1px solid rgba(9, 25, 47, 0.28);
  border-left: 6px solid #173a5f;
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(16, 42, 70, 0.98), rgba(29, 71, 107, 0.94)),
    #102a46;
  color: #f7fbff;
  box-shadow: 0 18px 38px rgba(9, 25, 47, 0.2);
}

.document-finalized-lock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.12);
  color: #f7fbff;
}

.document-finalized-lock-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.document-lock-eyebrow {
  color: rgba(223, 236, 250, 0.86);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.document-finalized-lock-copy strong {
  color: #ffffff;
  font-size: 1.18rem;
  line-height: 1.2;
}

.document-finalized-lock-copy p,
.document-finalized-lock-copy small {
  margin: 0;
  color: rgba(247, 251, 255, 0.84);
  line-height: 1.4;
}

.document-finalized-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
  min-width: min(100%, 15rem);
}

.document-finalized-lock-actions .primary-button,
.document-finalized-lock-actions .secondary-button {
  box-shadow: none;
}

.document-finalized-lock-note {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius-md);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 850;
}

.document-lifecycle-details {
  display: grid;
  gap: 0.65rem;
}

.document-lifecycle-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
  color: var(--brand-navy);
  cursor: pointer;
  list-style: none;
}

.document-lifecycle-details > summary::-webkit-details-marker {
  display: none;
}

.document-lifecycle-details > summary > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.document-lifecycle-details > summary strong,
.document-lifecycle-details > summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-lifecycle-details > summary small {
  color: var(--text-muted);
  font-weight: 700;
}

.document-lifecycle-details > summary svg {
  flex: 0 0 auto;
  transition: transform 140ms ease;
}

.document-lifecycle-details[open] > summary svg {
  transform: rotate(90deg);
}

.document-lifecycle-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
}

.document-lifecycle-grid > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(64, 117, 157, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.74);
}

.document-lifecycle-grid small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.document-lifecycle-grid strong {
  color: var(--brand-navy);
  font-size: 0.92rem;
}

.document-lifecycle-grid span {
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.document-final-copy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid rgba(32, 116, 93, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.document-final-copy-actions > div:first-child {
  display: grid;
  gap: 0.18rem;
  min-width: min(100%, 18rem);
}

.document-final-copy-actions strong {
  color: var(--brand-navy);
}

.document-final-copy-actions span {
  color: var(--text-muted);
  overflow-wrap: anywhere;
}

.document-editor-finalized-view .field-input:disabled,
.document-editor-finalized-view .editor-textarea:disabled,
.document-editor-finalized-view select:disabled,
.document-editor-finalized-view textarea:disabled {
  border-color: rgba(9, 25, 47, 0.18);
  background: rgba(239, 244, 248, 0.76);
  color: var(--text-muted);
}

.document-editor-finalized-view .field-label,
.document-editor-finalized-view .editor-section-card,
.document-editor-finalized-view .iep-form-card {
  box-shadow:
    inset 0 0 0 1px rgba(36, 91, 133, 0.12),
    0 8px 20px rgba(22, 50, 79, 0.05);
}

.chip-row,
.button-row,
.filter-row,
.editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.finalize-readiness-card {
  display: grid;
  gap: 0.65rem;
  min-width: min(100%, 26rem);
  padding: 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.06);
}

.finalize-readiness-copy {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.finalize-readiness-copy strong {
  color: var(--brand-navy);
  font-size: 0.94rem;
}

.finalize-readiness-copy small {
  color: var(--text-muted);
  font-weight: 650;
  line-height: 1.35;
}

.finalize-readiness-list {
  display: grid;
  gap: 0.4rem;
}

.finalize-readiness-row {
  display: grid;
  grid-template-columns: auto minmax(7rem, 0.8fr) minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.48rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.86);
}

.finalize-readiness-row.is-ready {
  border-color: rgba(32, 116, 93, 0.18);
  background: rgba(241, 250, 246, 0.88);
}

.finalize-readiness-row.is-blocked {
  border-color: rgba(187, 79, 79, 0.16);
  background: rgba(255, 248, 246, 0.9);
}

.finalize-readiness-row span,
.finalize-readiness-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.finalize-readiness-row span {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.finalize-readiness-row strong {
  color: var(--brand-navy);
  font-size: 0.86rem;
}

.finalize-readiness-blocker-list {
  display: grid;
  gap: 0.35rem;
}

.finalize-readiness-blocker-heading {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.finalize-readiness-blocker-link {
  display: grid;
  gap: 0.16rem;
  width: 100%;
  padding: 0.48rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.94);
  color: var(--brand-navy);
  font: inherit;
  text-align: left;
}

.finalize-readiness-blocker-link:not(.is-static) {
  cursor: pointer;
}

.finalize-readiness-blocker-link:not(.is-static):hover,
.finalize-readiness-blocker-link:not(.is-static):focus-visible {
  border-color: rgba(17, 92, 139, 0.35);
  background: rgba(239, 247, 252, 0.95);
}

.finalize-readiness-blocker-link span,
.finalize-readiness-blocker-link small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.finalize-readiness-blocker-link span {
  font-size: 0.84rem;
  font-weight: 800;
}

.finalize-readiness-blocker-link small,
.finalize-readiness-blocker-more {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.finalize-readiness-card > .primary-button {
  justify-self: start;
}

.info-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.2rem 0.7rem;
  border-radius: var(--radius-lg);
  background: rgba(199, 233, 255, 0.45);
  color: var(--brand-blue);
  font-size: 0.82rem;
  font-weight: 700;
}

.plain-list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding-left: 1.1rem;
}

.calendar-filter-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
}

.calendar-filter-label {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.school-calendar-settings {
  display: grid;
  gap: 0.8rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(64, 117, 157, 0.18);
}

.school-calendar-settings-header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-start;
  justify-content: space-between;
}

.school-calendar-settings-header > div {
  display: grid;
  gap: 0.18rem;
}

.school-calendar-settings-header strong {
  color: var(--text-strong);
}

.school-calendar-settings-header small,
.school-calendar-status {
  color: var(--text-muted);
  font-weight: 650;
  line-height: 1.35;
}

.school-calendar-year-list {
  display: grid;
  gap: 0.7rem;
}

.school-calendar-year-row {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(10rem, 0.9fr) minmax(13rem, 1fr) minmax(13rem, 1fr) auto;
  align-items: end;
}

.school-calendar-year-row .field-label {
  min-width: 0;
}

.school-calendar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.school-calendar-remove-button {
  align-self: end;
}

@media (max-width: 820px) {
  .school-calendar-year-row {
    grid-template-columns: 1fr;
  }

  .school-calendar-remove-button {
    justify-self: start;
  }
}

.calendar-filter-label span {
  color: var(--text-strong);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.deadline-workspace-grid {
  display: grid;
  gap: var(--space-stack);
  align-items: start;
  margin-bottom: 1rem;
}

.student-timeline-redesign {
  gap: 1rem;
  width: 100%;
  margin: 0 auto;
}

.student-timeline-workflow-spines {
  display: grid;
  gap: 0;
  padding: 0;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-xl);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(22, 50, 79, 0.07);
}

.student-timeline-records-disclosure {
  min-width: 0;
}

.student-timeline-records-summary {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 0.86rem 1rem;
  cursor: pointer;
  list-style: none;
}

.student-timeline-records-summary::-webkit-details-marker {
  display: none;
}

.student-timeline-records-summary > div:first-child {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.student-timeline-records-summary strong {
  overflow: hidden;
  color: #13233a;
  font-size: 1.02rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.student-timeline-records-summary-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.42rem;
  align-items: center;
  justify-content: flex-end;
}

.student-timeline-records-summary-actions mark,
.student-timeline-records-summary-actions small {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 999px;
  background: #f6f9fc;
  color: #52637a;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.15;
}

.student-timeline-records-summary-actions small::after {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-left: 0.42rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.08rem);
}

.student-timeline-records-disclosure[open] .student-timeline-records-summary {
  border-bottom: 1px solid rgba(36, 91, 133, 0.1);
}

.student-timeline-records-disclosure[open] .student-timeline-records-summary-actions small::after {
  transform: rotate(225deg) translate(-0.02rem, -0.02rem);
}

.student-timeline-workflow-spines-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.student-timeline-workflow-spines-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.student-timeline-workflow-spines-header > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.student-timeline-records-summary span,
.student-timeline-workflow-spines-header span,
.student-timeline-workflow-spine span {
  color: #1d5fd1;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.student-timeline-workflow-spines-header strong {
  color: #13233a;
  font-size: 1.02rem;
  line-height: 1.2;
}

.student-timeline-records-summary small,
.student-timeline-workflow-spines-header small {
  color: #66758a;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.35;
  text-align: right;
}

.student-timeline-records-summary .student-timeline-record-mix,
.student-timeline-workflow-spines-header .student-timeline-record-mix {
  color: #50637a;
  text-align: left;
}

.student-timeline-record-view-tabs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
  min-width: 0;
}

.student-timeline-workflow-spines-header > .student-timeline-record-view-tabs {
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: nowrap;
  max-width: min(100%, 40rem);
  overflow-x: auto;
  scrollbar-width: none;
}

.student-timeline-workflow-spines-header > .student-timeline-record-view-tabs::-webkit-scrollbar {
  display: none;
}

.student-timeline-record-view-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-height: 2rem;
  padding: 0.28rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: 999px;
  background: #f6f9fc;
  color: #263a52;
  font-size: 0.74rem;
  font-weight: 820;
  white-space: nowrap;
}

.student-timeline-record-view-tabs button:hover,
.student-timeline-record-view-tabs button:focus-visible,
.student-timeline-record-view-tabs button.is-selected {
  border-color: rgba(35, 105, 255, 0.34);
  background: #edf4ff;
  color: #0f438f;
  outline: none;
}

.student-timeline-record-view-tabs small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.28rem;
  min-height: 1.28rem;
  padding: 0 0.28rem;
  border-radius: 999px;
  background: #ffffff;
  color: inherit;
  font-size: 0.68rem;
  line-height: 1;
  text-align: center;
}

.student-timeline-workflow-spines-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.6rem;
}

.student-timeline-workflow-spine {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.72rem 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-md);
  background: #f8fbfe;
  color: inherit;
  text-decoration: none;
}

.student-timeline-workflow-spine:hover,
.student-timeline-workflow-spine:focus-visible,
.student-timeline-workflow-spine.active {
  border-color: rgba(35, 105, 255, 0.34);
  background: #edf4ff;
  outline: none;
}

.student-timeline-workflow-spine.linked-revision {
  border-left: 3px solid rgba(35, 105, 255, 0.48);
}

.student-timeline-workflow-spine strong {
  overflow: hidden;
  color: #182940;
  font-size: 0.9rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.student-timeline-workflow-spine small,
.student-timeline-workflow-spine em {
  color: #5e6f84;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.25;
}

.student-timeline-launcher {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-xl);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(22, 50, 79, 0.07);
}

.student-timeline-launcher-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
}

.student-timeline-launcher-header > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.student-timeline-launcher-header span {
  color: #1d5fd1;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.student-timeline-launcher-header strong {
  color: #13233a;
  font-size: 1.04rem;
  line-height: 1.2;
}

.student-timeline-launcher-header small {
  color: #66758a;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.35;
}

.student-timeline-launcher-header mark {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0.24rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 999px;
  background: #f6f9fc;
  color: #52637a;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.15;
  white-space: nowrap;
}

.student-timeline-launcher-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-end;
}

.student-timeline-launcher-actions .primary-button {
  gap: 0.38rem;
  white-space: nowrap;
}

.student-timeline-launcher-suggestions {
  display: grid;
  gap: 0.62rem;
}

.student-timeline-launcher-suggestions-heading {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  justify-content: space-between;
}

.student-timeline-launcher-suggestions-heading span {
  color: #245b85;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.student-timeline-launcher-suggestions-heading small {
  color: #66758a;
  font-size: 0.76rem;
  font-weight: 760;
}

.student-timeline-launcher-suggestion {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 0.72rem 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-left: 4px solid #245b85;
  border-radius: var(--radius-md);
  background: #f8fbff;
}

.student-timeline-launcher-suggestion.warning {
  border-left-color: #d39a26;
  background: #fffbf2;
}

.student-timeline-launcher-suggestion.danger {
  border-left-color: #c44b4b;
  background: #fff7f6;
}

.student-timeline-launcher-suggestion.idle {
  border-left-color: rgba(80, 99, 122, 0.34);
  background: #f8fbfe;
}

.student-timeline-launcher-suggestion.idle span {
  color: #50637a;
}

.student-timeline-launcher-suggestion > div {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.student-timeline-launcher-suggestion span {
  color: #1d5fd1;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.student-timeline-launcher-suggestion strong {
  color: #17263d;
  font-size: 0.92rem;
  line-height: 1.2;
}

.student-timeline-launcher-suggestion small {
  color: #5e6f84;
  font-size: 0.76rem;
  font-weight: 760;
  line-height: 1.35;
}

.student-timeline-launcher-suggestion .secondary-button {
  gap: 0.35rem;
  white-space: nowrap;
}

.student-timeline-launcher-chooser {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(220px, 0.85fr) minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: end;
  min-width: 0;
  padding: 0.88rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-md);
  background: #f8fbff;
}

.student-timeline-launcher-selection {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.62rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.student-timeline-launcher-selection span {
  color: #1d5fd1;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.student-timeline-launcher-selection strong {
  color: #27364c;
  font-size: 0.94rem;
  line-height: 1.22;
}

.student-timeline-launcher-selection small {
  color: #66758a;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.35;
}

.student-timeline-launcher-chooser .primary-button {
  gap: 0.38rem;
  justify-self: end;
  white-space: nowrap;
}

.student-timeline-launcher-error {
  margin: 0;
  color: #a24545;
  font-size: 0.78rem;
  font-weight: 780;
}

.student-timeline-admin-closeout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.72fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 0.86rem 0.95rem;
  border: 1px solid rgba(54, 126, 90, 0.18);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #f4fbf7 0%, #ffffff 100%);
}

.student-timeline-admin-closeout.is-finalized {
  border-color: rgba(36, 91, 133, 0.16);
  background: #f6f9fc;
}

.student-timeline-admin-closeout.is-closed-error {
  border-color: rgba(139, 92, 54, 0.22);
  background: #fff9f2;
}

.student-timeline-admin-closeout-main {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.student-timeline-admin-closeout-main span {
  color: #2f6d4e;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.student-timeline-admin-closeout-main strong {
  color: #13233a;
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.student-timeline-admin-closeout-main small,
.student-timeline-admin-closeout-checks small {
  color: #52637a;
  font-size: 0.77rem;
  font-weight: 730;
  line-height: 1.25;
}

.student-timeline-admin-closeout-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  align-items: center;
  min-width: 0;
}

.student-timeline-admin-closeout-checks small,
.student-timeline-admin-closeout-checks mark {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.18rem 0.48rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 999px;
  background: #ffffff;
}

.student-timeline-admin-closeout-checks mark {
  color: #2f6d4e;
  font-size: 0.74rem;
  font-weight: 860;
}

.student-timeline-admin-closeout-reason {
  flex-basis: 100%;
  margin: 0.12rem 0 0;
  color: #3f5168;
  font-size: 0.76rem;
  font-weight: 760;
  line-height: 1.35;
}

.student-timeline-admin-closeout .primary-button,
.student-timeline-admin-closeout .secondary-button {
  min-height: 2.35rem;
  white-space: nowrap;
}

.student-timeline-admin-closeout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.student-timeline-section-card {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(22, 50, 79, 0.12);
  border-radius: var(--radius-xl);
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.08);
}

.student-timeline-section-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid rgba(22, 50, 79, 0.08);
  background: #fbfdff;
}

.student-timeline-section-header.compact {
  border-bottom: 0;
}

.student-timeline-section-header > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
}

.student-timeline-section-header strong {
  color: #27364c;
  font-size: 0.95rem;
  line-height: 1.2;
}

.student-timeline-section-header span:not(.student-timeline-warning-badge) {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.5rem;
  border-radius: 999px;
  background: #edf3f8;
  color: #53647a;
  font-size: 0.75rem;
  font-weight: 820;
}

.student-timeline-section-header svg {
  color: #9aabc0;
  flex: 0 0 auto;
}

.student-timeline-warning-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.5rem;
  border: 1px solid rgba(201, 151, 46, 0.36);
  border-radius: 999px;
  background: #fff7df;
  color: #b46c18;
  font-size: 0.75rem;
  font-weight: 820;
}

.student-timeline-board {
  --student-timeline-progress: 0%;
  display: grid;
  gap: 1rem;
  padding: 1.05rem 1.1rem 1.15rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-xl);
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(22, 50, 79, 0.075);
}

.student-timeline-board-header,
.student-timeline-current-header,
.student-timeline-current-items-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.student-timeline-board-header > div:first-child,
.student-timeline-current-header > div:first-child {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.student-timeline-board-header span,
.student-timeline-current-header span {
  color: #1d5fd1;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.student-timeline-board-header strong,
.student-timeline-current-header strong,
.student-timeline-current-items-header strong {
  color: #13233a;
  font-size: 1.04rem;
  line-height: 1.2;
}

.student-timeline-board-score,
.student-timeline-current-badges,
.student-timeline-current-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.student-timeline-board-score small,
.student-timeline-current-badges small,
.student-timeline-current-checks span,
.student-timeline-current-checks a {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 999px;
  background: #f6f9fc;
  color: #52637a;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
}

.student-timeline-current-checks a {
  border-color: rgba(35, 105, 255, 0.18);
  background: #edf4ff;
  color: #1f56c4;
}

.student-timeline-current-checks a:hover,
.student-timeline-current-checks a:focus-visible {
  border-color: rgba(35, 105, 255, 0.34);
  background: #e4efff;
  color: #143e92;
}

.student-timeline-board-meter {
  position: relative;
  min-height: 2rem;
}

.student-timeline-board-meter::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 0.55rem;
  border-radius: 999px;
  background: #e7eef6;
  content: "";
  transform: translateY(-50%);
}

.student-timeline-board-meter-segment {
  position: absolute;
  top: 50%;
  left: var(--student-timeline-segment-left);
  display: block;
  width: var(--student-timeline-segment-width);
  height: 0.55rem;
  border-radius: 999px;
  background: #e7eef6;
  transform: translateY(-50%);
}

.student-timeline-board-meter-segment.done {
  background: #367e5a;
}

.student-timeline-board-meter-segment.transition {
  background: repeating-linear-gradient(
    90deg,
    #367e5a 0,
    #367e5a 0.75rem,
    transparent 0.75rem,
    transparent 1.25rem
  );
}

.student-timeline-board-meter-steps {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.student-timeline-board-meter-step {
  position: absolute;
  top: 50%;
  left: var(--student-timeline-step-position);
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border: 2px solid #c8d5e3;
  border-radius: 999px;
  background: #ffffff;
  color: #6d7c90;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(22, 50, 79, 0.08);
  transform: translate(-50%, -50%);
}

.student-timeline-board-meter-step:first-child {
  transform: translate(0, -50%);
}

.student-timeline-board-meter-step:last-child {
  transform: translate(-100%, -50%);
}

.student-timeline-board-meter-step.done {
  border-color: #367e5a;
  background: #367e5a;
  color: #ffffff;
}

.student-timeline-board-meter-step.active,
.student-timeline-board-meter-step.current:not(.done):not(.blocked) {
  border-color: #2369ff;
  background: #ffffff;
  color: #2369ff;
}

.student-timeline-board-meter-step.confirm {
  border-color: #b26f08;
  background: #ffffff;
  color: #8f5a07;
}

.student-timeline-board-meter-step.blocked {
  border-color: #b84d4d;
  background: #b84d4d;
  color: #ffffff;
}

.student-timeline-step-tracker {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.58rem;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.student-timeline-step-tracker li {
  display: flex;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.student-timeline-step-tracker li.done .student-timeline-step-button {
  border-top-color: #367e5a;
}

.student-timeline-step-tracker li.active .student-timeline-step-button {
  border-top-color: #2369ff;
}

.student-timeline-step-tracker li.confirm .student-timeline-step-button {
  border-top-color: #b26f08;
}

.student-timeline-step-tracker li.blocked .student-timeline-step-button {
  border-top-color: #b84d4d;
}

.student-timeline-step-tracker li.current .student-timeline-step-button {
  border-color: rgba(35, 105, 255, 0.34);
  border-top-color: #2369ff;
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(35, 105, 255, 0.09);
}

.student-timeline-step-tracker li.selected .student-timeline-step-button {
  border-color: rgba(31, 86, 196, 0.44);
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(35, 105, 255, 0.12);
}

.student-timeline-step-button {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  gap: 0.52rem;
  align-items: start;
  width: 100%;
  align-self: stretch;
  height: 100%;
  min-width: 0;
  min-height: 6rem;
  padding: 0.62rem 0.58rem 0.68rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-top: 4px solid #c8d5e3;
  border-radius: var(--radius-sm);
  background: #f8fbff;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.student-timeline-step-button:hover {
  border-color: rgba(36, 91, 133, 0.26);
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(22, 50, 79, 0.07);
  transform: translateY(-1px);
}

.student-timeline-step-button * {
  pointer-events: none;
}

.student-timeline-step-button:focus-visible {
  outline: 3px solid rgba(35, 105, 255, 0.26);
  outline-offset: 3px;
}

.student-timeline-step-node {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border: 2px solid #c8d5e3;
  border-radius: 999px;
  background: #ffffff;
  color: #6d7c90;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(22, 50, 79, 0.08);
}

.student-timeline-step-node::before {
  content: attr(data-step);
}

.student-timeline-step-tracker li.done .student-timeline-step-node {
  border-color: #367e5a;
  background: #367e5a;
  color: #ffffff;
}

.student-timeline-step-tracker li.active .student-timeline-step-node {
  border-color: #2369ff;
  background: #ffffff;
  color: #2369ff;
}

.student-timeline-step-tracker li.confirm .student-timeline-step-node {
  border-color: #b26f08;
  background: #ffffff;
  color: #8f5a07;
}

.student-timeline-step-tracker li.blocked .student-timeline-step-node {
  border-color: #b84d4d;
  background: #b84d4d;
  color: #ffffff;
}

.student-timeline-step-copy {
  display: grid;
  gap: 0.2rem;
  align-content: start;
  min-width: 0;
}

.student-timeline-step-copy span {
  color: #52637a;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.student-timeline-step-copy > span:not(.student-timeline-step-review) {
  order: 1;
}

.student-timeline-step-copy > small {
  order: 2;
}

.student-timeline-step-copy > .student-timeline-step-review {
  order: 3;
}

.student-timeline-step-copy > .student-timeline-step-review {
  display: block;
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #607188;
  font-size: 0.68rem;
  font-weight: 760;
  line-height: 1.18;
  text-transform: none;
}

.student-timeline-step-copy > .student-timeline-step-review.needs-review {
  color: #8a5b13;
  font-weight: 820;
}

.student-timeline-step-copy strong {
  color: #27364c;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1.16;
  hyphens: none;
  order: 0;
  overflow-wrap: normal;
  word-break: normal;
}

.student-timeline-step-copy small,
.student-timeline-current-header small,
.student-timeline-current-items-header small {
  color: #69788f;
  font-size: 0.73rem;
  font-weight: 760;
  line-height: 1.16;
}

.student-timeline-current-work {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-md);
  background: #f6f9fc;
}

.student-timeline-review-callout {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 1.8rem;
  margin-top: 0.28rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid rgba(201, 151, 46, 0.32);
  border-radius: 999px;
  background: #fff7df;
  color: #8a5b13;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none;
}

.student-timeline-review-callout:hover,
.student-timeline-review-callout:focus-visible {
  border-color: rgba(201, 151, 46, 0.5);
  background: #ffefbd;
  color: #67420b;
}

.student-timeline-current-items {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
}

.student-timeline-clock-review {
  display: grid;
  gap: 0.9rem;
  padding: 0.95rem;
  border: 1px solid rgba(201, 151, 46, 0.24);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.student-timeline-step-completion {
  display: grid;
  gap: 0.86rem;
  padding: 0.95rem;
  border: 1px solid rgba(54, 126, 90, 0.18);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #f4fbf7 0%, #ffffff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.student-timeline-request-intake {
  display: grid;
  gap: 0.86rem;
  padding: 0.95rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.student-timeline-request-intake-heading,
.student-timeline-step-completion-heading {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
  justify-content: space-between;
}

.student-timeline-request-intake-heading span,
.student-timeline-step-completion-heading span {
  display: block;
  color: #245b85;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.student-timeline-step-completion-heading span {
  color: #2f6d4e;
}

.student-timeline-request-intake-heading strong,
.student-timeline-step-completion-heading strong {
  display: block;
  color: #13233a;
  font-size: 1rem;
  line-height: 1.2;
}

.student-timeline-step-completion-heading p {
  max-width: 60rem;
  margin: 0.22rem 0 0;
  color: #52637a;
  font-size: 0.82rem;
  font-weight: 720;
  line-height: 1.35;
}

.student-timeline-request-intake-heading mark,
.student-timeline-step-completion-heading mark {
  display: inline-flex;
  align-items: center;
  max-width: 22rem;
  min-height: 1.7rem;
  padding: 0.25rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: #33455c;
  font-size: 0.73rem;
  font-weight: 850;
  line-height: 1.2;
}

.student-timeline-step-completion-heading mark {
  border-color: rgba(54, 126, 90, 0.22);
  color: #2f6d4e;
}

.student-timeline-step-closeout-checks {
  display: grid;
  gap: 0.46rem;
  padding: 0;
  border: 1px solid rgba(54, 126, 90, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.student-timeline-step-closeout-checks summary {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 0.62rem 0.72rem;
  cursor: pointer;
  list-style: none;
}

.student-timeline-step-closeout-checks summary::-webkit-details-marker {
  display: none;
}

.student-timeline-step-closeout-checks summary::after {
  content: "";
  flex: 0 0 auto;
  width: 0.46rem;
  height: 0.46rem;
  border-right: 2px solid #2f6d4e;
  border-bottom: 2px solid #2f6d4e;
  transform: rotate(45deg) translateY(-0.1rem);
}

.student-timeline-step-closeout-checks[open] summary {
  border-bottom: 1px solid rgba(54, 126, 90, 0.12);
}

.student-timeline-step-closeout-checks[open] summary::after {
  transform: rotate(225deg) translate(-0.03rem, -0.03rem);
}

.student-timeline-step-closeout-checks summary span {
  color: #2f6d4e;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-timeline-step-closeout-checks summary small {
  color: #52637a;
  font-size: 0.75rem;
  font-weight: 760;
  line-height: 1.25;
  text-align: right;
}

.student-timeline-step-closeout-checks ul {
  display: grid;
  gap: 0.34rem;
  margin: 0;
  padding: 0.62rem 0.8rem 0.72rem 1.85rem;
  color: #33455c;
  font-size: 0.8rem;
  font-weight: 760;
  line-height: 1.34;
}

.student-timeline-step-closeout-missing {
  display: grid;
  gap: 0.46rem;
  padding: 0.72rem;
  border: 1px solid rgba(201, 151, 46, 0.24);
  border-radius: var(--radius-sm);
  background: #fffaf0;
}

.student-timeline-step-closeout-missing > span {
  color: #8a5b13;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-timeline-step-closeout-missing ul {
  display: grid;
  gap: 0.32rem;
  margin: 0;
  padding-left: 1.1rem;
  color: #4f3c1d;
  font-size: 0.8rem;
  font-weight: 760;
  line-height: 1.34;
}

.student-timeline-step-completion .primary-button,
.student-timeline-step-completion .secondary-button {
  min-height: 2.35rem;
  white-space: normal;
  line-height: 1.18;
}

.student-timeline-request-grid,
.student-timeline-step-completion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.78rem;
}

.student-timeline-request-grid .field-label,
.student-timeline-step-completion-grid .field-label {
  min-width: 0;
}

.student-timeline-request-grid .field-label > span,
.student-timeline-clock-review .field-label > span,
.student-timeline-step-completion-grid .field-label > span,
.student-timeline-step-reopen .field-label > span {
  color: #243650;
  font-size: 0.78rem;
  font-weight: 850;
}

.student-timeline-request-grid .field-input,
.student-timeline-clock-review .field-input,
.student-timeline-step-completion-grid .field-input,
.student-timeline-step-reopen .field-input {
  min-height: 2.95rem;
  border: 1px solid rgba(36, 91, 133, 0.28);
  border-radius: var(--radius-sm);
  padding: 0.68rem 0.78rem;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(22, 50, 79, 0.05);
}

.student-timeline-request-grid .field-input:focus,
.student-timeline-clock-review .field-input:focus,
.student-timeline-step-completion-grid .field-input:focus,
.student-timeline-step-reopen .field-input:focus {
  border-color: rgba(36, 91, 133, 0.65);
  box-shadow: 0 0 0 3px rgba(36, 91, 133, 0.14);
}

.student-timeline-request-grid .field-label.wide,
.student-timeline-step-completion-grid .field-label.wide {
  grid-column: span 2;
}

.student-timeline-request-grid .field-label.full,
.student-timeline-step-completion-grid .field-label.full {
  grid-column: 1 / -1;
}

.student-timeline-request-grid textarea.field-input,
.student-timeline-step-completion-grid textarea.field-input,
.student-timeline-step-reopen textarea.field-input {
  min-height: 5.6rem;
  resize: vertical;
}

.student-timeline-request-actions,
.student-timeline-step-completion-actions {
  display: grid;
  grid-template-columns: auto minmax(18rem, 1fr) auto auto minmax(14rem, 1fr);
  gap: 0.72rem;
  align-items: center;
}

.student-timeline-request-actions .secondary-button input[type="file"],
.student-timeline-step-completion-actions .secondary-button input[type="file"] {
  display: none;
}

.student-timeline-step-downloads {
  display: grid;
  gap: 0.62rem;
  padding: 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.student-timeline-step-downloads-heading {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  justify-content: space-between;
}

.student-timeline-step-downloads-heading strong {
  color: #13233a;
}

.student-timeline-step-downloads-heading small,
.student-timeline-step-downloads p {
  margin: 0;
  color: #65758d;
  font-size: 0.78rem;
  font-weight: 720;
  line-height: 1.35;
}

.student-timeline-step-download-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: center;
  padding: 0.65rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: #f8fbff;
}

.student-timeline-step-download-row > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.student-timeline-step-download-row span {
  color: #2f6d4e;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.student-timeline-step-download-row strong {
  color: #13233a;
  overflow-wrap: anywhere;
}

.student-timeline-step-download-row small {
  color: #65758d;
  font-size: 0.76rem;
  font-weight: 720;
}

.student-timeline-step-reopen {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: end;
  padding: 0.72rem;
  border: 1px solid rgba(201, 151, 46, 0.2);
  border-radius: var(--radius-sm);
  background: #fffaf0;
}

.student-timeline-step-history {
  padding: 0.62rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.student-timeline-step-history summary {
  cursor: pointer;
  color: #33455c;
  font-size: 0.8rem;
  font-weight: 850;
}

.student-timeline-step-history div {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.5rem;
}

.student-timeline-step-history small {
  color: #52637a;
  font-size: 0.76rem;
  font-weight: 720;
}

.student-timeline-request-finalize-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  max-width: 48rem;
}

.student-timeline-clock-review-heading {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
  justify-content: space-between;
}

.student-timeline-clock-review-heading span {
  display: block;
  color: #8a5b13;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.student-timeline-clock-review-heading p {
  max-width: 64rem;
  margin: 0.22rem 0 0;
  color: #52637a;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.student-timeline-clock-review-heading mark {
  display: inline-flex;
  align-items: center;
  max-width: 24rem;
  min-height: 1.7rem;
  padding: 0.25rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: #33455c;
  font-size: 0.73rem;
  font-weight: 850;
  line-height: 1.2;
}

.student-timeline-clock-card {
  display: grid;
  gap: 0.78rem;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid rgba(201, 151, 46, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.student-timeline-clock-card-heading {
  display: grid;
  gap: 0.2rem;
}

.student-timeline-clock-card-heading span {
  color: #8a5b13;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-timeline-clock-card-heading strong {
  color: #13233a;
  font-size: 0.95rem;
  line-height: 1.24;
}

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

.student-timeline-clock-grid .field-label small {
  color: #69788f;
  font-size: 0.7rem;
  font-weight: 720;
  line-height: 1.25;
}

.student-timeline-clock-grid .field-label.emphasized {
  padding: 0.68rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-sm);
  background: #f7fbff;
}

.student-timeline-clock-evidence-row {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto;
  gap: 0.78rem;
  align-items: end;
}

.student-timeline-clock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.58rem;
  align-items: flex-end;
  justify-content: flex-end;
}

.student-timeline-clock-actions .secondary-button input[type="file"] {
  display: none;
}

.student-timeline-clock-verify {
  display: inline-flex;
  gap: 0.48rem;
  align-items: center;
  min-height: 2.35rem;
  color: #33455c;
  font-size: 0.8rem;
  font-weight: 800;
}

.student-timeline-clock-verify input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: #245b85;
}

.student-timeline-clock-complete {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.student-timeline-clock-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  color: #52637a;
  font-size: 0.78rem;
  font-weight: 760;
}

.student-timeline-clock-proof span {
  color: #69788f;
  font-weight: 900;
  text-transform: uppercase;
}

.student-timeline-clock-proof strong {
  color: #13233a;
}

.student-timeline-current-row {
  display: grid;
  grid-template-columns: 4.35rem minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.74rem 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-md);
  background: #ffffff;
}

.student-timeline-current-row.warning {
  border-left: 4px solid #c9972e;
}

.student-timeline-current-row.danger {
  border-left: 4px solid #b84d4d;
}

.student-timeline-current-row.success {
  border-left: 4px solid #367e5a;
}

.student-timeline-current-row.is-finalized-document {
  border-left: 4px solid #367e5a;
  background: #fbfffc;
}

.student-timeline-current-row time {
  display: grid;
  place-items: center;
  gap: 0.04rem;
  min-width: 3.85rem;
  min-height: 3.2rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: #f5f9fc;
}

.student-timeline-current-row time span {
  color: #7f90a8;
  font-size: 0.66rem;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.student-timeline-current-row time strong {
  color: #27364c;
  font-size: 1.16rem;
  line-height: 1;
}

.student-timeline-current-main {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.student-timeline-current-main > span {
  color: #255dff;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.student-timeline-current-main strong {
  color: #27364c;
  font-size: 0.96rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.student-timeline-current-main small,
.student-timeline-empty {
  color: #65758d;
  font-size: 0.78rem;
  font-weight: 700;
}

.student-timeline-current-main .student-timeline-current-review-note {
  color: #8a4b05;
}

.student-timeline-current-main .student-timeline-current-start-note {
  color: #2f6d4e;
}

.student-timeline-current-main .student-timeline-current-action-status {
  color: #52637a;
  font-weight: 800;
}

.student-timeline-current-main .student-timeline-current-lock-note,
.student-timeline-step-download-row .student-timeline-final-lock-note {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  width: fit-content;
  max-width: 100%;
  color: #2f6d4e;
  font-weight: 850;
}

.student-timeline-current-lock-note svg,
.student-timeline-final-lock-note svg {
  flex: 0 0 auto;
}

.student-timeline-locked-document-action {
  gap: 0.38rem;
}

.student-timeline-locked-document-action svg {
  flex: 0 0 auto;
}

.student-timeline-info-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.5rem 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: #f6f9fc;
  color: #33455c;
  font-size: 0.78rem;
  font-weight: 850;
  text-align: center;
}

.student-timeline-empty {
  margin: 0;
}

.student-timeline-due-window {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 1.6rem;
  padding: 0.22rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 999px;
  background: #edf4ff;
  color: #1f56c4;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

.student-timeline-due-window.danger {
  border-color: rgba(184, 77, 77, 0.24);
  background: #fff1f1;
  color: #a24545;
}

.student-timeline-due-window.warning {
  border-color: rgba(201, 151, 46, 0.3);
  background: #fff7df;
  color: #8a5b13;
}

.student-timeline-due-window.success {
  border-color: rgba(54, 126, 90, 0.24);
  background: #eef8f2;
  color: #2f6d4e;
}

@media (max-width: 1120px) {
  .student-timeline-step-tracker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .student-timeline-request-grid,
  .student-timeline-clock-grid,
  .student-timeline-step-completion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-timeline-request-actions,
  .student-timeline-clock-evidence-row,
  .student-timeline-step-completion-actions,
  .student-timeline-step-download-row,
  .student-timeline-admin-closeout,
  .student-timeline-launcher-chooser,
  .student-timeline-step-reopen {
    grid-template-columns: 1fr;
  }

  .student-timeline-clock-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .student-detail-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .student-detail-tabs::-webkit-scrollbar {
    display: none;
  }

  .student-timeline-board-header,
  .student-timeline-current-header,
  .student-timeline-current-items-header,
  .student-timeline-launcher-header,
  .student-timeline-launcher-suggestion,
  .student-timeline-launcher-suggestions-heading,
  .student-timeline-request-intake-heading,
  .student-timeline-clock-review-heading,
  .student-timeline-step-completion-heading,
  .student-timeline-step-downloads-heading {
    align-items: start;
    flex-direction: column;
  }

  .student-timeline-board-score,
  .student-timeline-current-badges,
  .student-timeline-current-checks {
    justify-content: flex-start;
  }

  .student-timeline-workflow-spines-header > .student-timeline-record-view-tabs {
    width: 100%;
    justify-content: flex-start;
  }

  .student-timeline-step-tracker,
  .student-timeline-current-row,
  .student-timeline-launcher-chooser,
  .student-timeline-request-grid,
  .student-timeline-request-actions,
  .student-timeline-clock-grid,
  .student-timeline-clock-evidence-row,
  .student-timeline-step-completion-grid,
  .student-timeline-step-completion-actions,
  .student-timeline-step-download-row,
  .student-timeline-admin-closeout,
  .student-timeline-step-reopen,
  .student-timeline-blocker-card .student-timeline-worklist-snapshot,
  .student-timeline-blocker-card .student-timeline-evidence-queue-card {
    grid-template-columns: 1fr;
  }

  .student-timeline-launcher-actions,
  .student-timeline-admin-closeout .primary-button,
  .student-timeline-admin-closeout .secondary-button,
  .student-timeline-launcher-suggestion .secondary-button,
  .student-timeline-launcher-chooser .primary-button {
    justify-self: start;
    justify-content: flex-start;
  }

  .student-timeline-request-grid .field-label.wide,
  .student-timeline-request-grid .field-label.full,
  .student-timeline-step-completion-grid .field-label.wide,
  .student-timeline-step-completion-grid .field-label.full {
    grid-column: 1;
  }

  .student-timeline-blocker-card .student-timeline-evidence-queue-grid,
  .student-timeline-blocker-card .student-timeline-evidence-source,
  .student-timeline-blocker-card .student-timeline-evidence-example {
    grid-column: 1;
  }

  .student-timeline-current-row .primary-button,
  .student-timeline-current-row .secondary-button,
  .student-timeline-clock-actions {
    justify-self: start;
    justify-content: flex-start;
  }
}

.student-timeline-redesign > .panel-shell {
  overflow: hidden;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: var(--radius-xl);
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.07);
}

.student-timeline-redesign > .panel-shell > header,
.student-timeline-redesign > .panel-shell .panel-header {
  border-bottom: 1px solid rgba(22, 50, 79, 0.08);
  background: #fbfdff;
}

.student-timeline-calendar-shell {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.student-timeline-calendar-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-md);
  background: rgba(248, 251, 252, 0.94);
}

.student-timeline-calendar-hero > div {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.student-timeline-calendar-hero strong {
  color: var(--brand-navy);
  font-size: 1.12rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.student-timeline-calendar-hero p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.42;
}

.student-timeline-calendar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 0.8rem;
  min-width: 0;
}

.student-timeline-calendar-date {
  display: grid;
  grid-template-columns: 3.65rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  min-height: 5.5rem;
  padding: 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-left: 4px solid #f5a524;
  border-radius: var(--radius-md);
  background: #fffdf7;
  color: inherit;
  text-decoration: none;
}

.student-timeline-calendar-date:hover {
  border-color: rgba(36, 91, 133, 0.28);
  box-shadow: 0 12px 22px rgba(20, 42, 61, 0.08);
  transform: translateY(-1px);
}

.student-timeline-calendar-date.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.96);
}

.student-timeline-calendar-date.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.96);
}

.student-timeline-calendar-date.success {
  border-left-color: #367e5a;
  background: rgba(247, 252, 249, 0.96);
}

.student-timeline-calendar-date time,
.student-timeline-agenda-date {
  display: grid;
  place-items: center;
  gap: 0.05rem;
  min-width: 3.45rem;
  min-height: 3.45rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(245, 249, 251, 0.96);
  color: var(--brand-navy);
}

.student-timeline-calendar-date time span,
.student-timeline-agenda-date span {
  font-size: 0.66rem;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.student-timeline-calendar-date time strong,
.student-timeline-agenda-date strong {
  color: var(--text-strong);
  font-size: 1.25rem;
  line-height: 1;
}

.student-timeline-calendar-date > div,
.student-timeline-agenda-main {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.student-timeline-calendar-date > div > span,
.student-timeline-agenda-main > span {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.student-timeline-calendar-date > div > strong,
.student-timeline-agenda-main > strong {
  color: var(--brand-navy);
  font-size: 0.92rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.student-timeline-calendar-date small,
.student-timeline-agenda-main small,
.student-timeline-agenda-header small {
  color: var(--text-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
}

.student-timeline-agenda {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}

.student-timeline-agenda-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.student-timeline-agenda-header > div {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.student-timeline-agenda-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.2;
}

.student-timeline-agenda-list {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
}

.student-timeline-agenda-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: center;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-left: 4px solid #9dccf7;
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(22, 50, 79, 0.04);
}

.student-timeline-agenda-item.danger {
  border-left-color: #b84d4d;
}

.student-timeline-agenda-item.warning {
  border-left-color: #c9972e;
}

.student-timeline-agenda-item.success {
  border-left-color: #367e5a;
}

.student-timeline-agenda-main p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 620;
  line-height: 1.35;
}

.student-timeline-review-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(201, 151, 46, 0.24);
  border-left: 4px solid #c9972e;
  border-radius: var(--radius-md);
  background: rgba(255, 252, 243, 0.94);
}

.student-timeline-review-note > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.student-timeline-review-note strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-timeline-review-note p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
}

.student-timeline-scope-trail {
  display: grid;
  grid-template-columns: minmax(13rem, 0.85fr) minmax(0, 1.2fr) auto;
  gap: 0.68rem;
  align-items: stretch;
  min-width: 0;
  margin-bottom: 0.75rem;
  padding: 0.76rem;
  border: 1px solid rgba(20, 42, 61, 0.14);
  border-left: 4px solid #c9972e;
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(15, 55, 64, 0.95), rgba(24, 78, 84, 0.92)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 18px);
  box-shadow: 0 16px 30px rgba(20, 42, 61, 0.1);
}

.student-timeline-scope-trail.warning {
  border-left-color: #d8a33b;
}

.student-timeline-scope-trail.info {
  border-left-color: #7fd0b6;
}

.student-timeline-scope-main {
  display: grid;
  align-content: start;
  gap: 0.28rem;
  min-width: 0;
}

.student-timeline-scope-main strong {
  color: #fffaf0;
  font-size: 0.98rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.student-timeline-scope-main p {
  margin: 0;
  color: rgba(255, 250, 240, 0.74);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.35;
}

.student-timeline-scope-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
}

.student-timeline-scope-grid div {
  min-width: 0;
  padding: 0.48rem 0.54rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.1);
}

.student-timeline-scope-grid dt,
.student-timeline-scope-grid dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.student-timeline-scope-grid dt {
  margin-bottom: 0.14rem;
  color: rgba(255, 250, 240, 0.62);
  font-size: 0.64rem;
  font-weight: 880;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-scope-grid dd {
  color: #fffaf0;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
}

.student-timeline-scope-actions {
  display: grid;
  align-content: start;
  gap: 0.36rem;
  min-width: 8rem;
}

.student-timeline-scope-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  padding: 0.22rem 0.6rem;
  border: 1px solid rgba(255, 210, 130, 0.3);
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.12);
  color: #ffe4a8;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.18;
  text-decoration: none;
}

.student-timeline-scope-actions a:hover {
  background: rgba(255, 252, 243, 0.18);
  color: #fffaf0;
}

.student-timeline-evidence-handoff {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  margin-bottom: 0.75rem;
  padding: 0.68rem 0.74rem;
  border: 1px solid rgba(201, 151, 46, 0.24);
  border-left: 4px solid #c9972e;
  border-radius: var(--radius-md);
  background: rgba(255, 252, 243, 0.92);
}

.student-timeline-evidence-handoff.info {
  border-left-color: #2f7d71;
  background: rgba(245, 251, 249, 0.94);
}

.student-timeline-evidence-handoff > div {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}

.student-timeline-evidence-handoff strong {
  color: var(--brand-navy);
  font-size: 0.94rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-handoff p,
.student-timeline-evidence-handoff small {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 680;
  line-height: 1.36;
}

.student-timeline-evidence-handoff small {
  grid-column: 1 / -1;
  color: var(--brand-blue);
}

.student-timeline-attention-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.75rem;
  min-width: 0;
}

.student-timeline-worklist-snapshot {
  display: grid;
  grid-template-columns: minmax(13rem, 0.8fr) minmax(0, 1.45fr);
  gap: 0.72rem;
  align-items: stretch;
  min-width: 0;
  margin-top: 0.75rem;
  padding: 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.15);
  border-left: 4px solid #c9972e;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(255, 252, 243, 0.96), rgba(248, 251, 252, 0.9));
  box-shadow: 0 14px 28px rgba(20, 42, 61, 0.06);
}

.student-timeline-worklist-main {
  display: grid;
  align-content: start;
  gap: 0.32rem;
  min-width: 0;
}

.student-timeline-worklist-main strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-timeline-worklist-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.38;
}

.student-timeline-worklist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
}

.student-timeline-worklist-grid div {
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.74);
}

.student-timeline-worklist-grid dt {
  margin: 0 0 0.14rem;
  color: var(--text-muted);
  font-size: 0.65rem;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-worklist-grid dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-timeline-worklist-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.36rem;
  min-width: 0;
}

.student-timeline-worklist-footer span {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.82);
  color: var(--brand-blue);
  font-size: 0.72rem;
  font-weight: 820;
  line-height: 1.18;
}

.student-timeline-confidence-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
  padding: 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(248, 251, 252, 0.72)),
    repeating-linear-gradient(90deg, rgba(36, 91, 133, 0.04) 0, rgba(36, 91, 133, 0.04) 1px, transparent 1px, transparent 18px);
}

.student-timeline-confidence-strip div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.42rem 0.46rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.58);
}

.student-timeline-confidence-strip dt,
.student-timeline-confidence-strip dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.student-timeline-confidence-strip dt {
  color: var(--text-muted);
  font-size: 0.64rem;
  font-weight: 880;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-confidence-strip dd {
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 780;
  line-height: 1.25;
}

.student-timeline-evidence-queue {
  display: grid;
  gap: 0.66rem;
  min-width: 0;
  margin-top: 0.75rem;
  padding: 0.78rem;
  border: 1px solid rgba(20, 42, 61, 0.14);
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(15, 55, 64, 0.95), rgba(24, 78, 84, 0.92)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0, rgba(255, 255, 255, 0.055) 1px, transparent 1px, transparent 18px);
  box-shadow: 0 16px 30px rgba(20, 42, 61, 0.12);
}

.student-timeline-evidence-queue-header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: start;
  min-width: 0;
}

.student-timeline-evidence-queue-header > div {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
}

.student-timeline-evidence-queue-header strong {
  color: #fffaf0;
  font-size: 1rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-queue-header p,
.student-timeline-evidence-queue-header small {
  margin: 0;
  color: rgba(255, 250, 240, 0.74);
  font-size: 0.8rem;
  font-weight: 680;
  line-height: 1.36;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-queue-header small {
  max-width: 12rem;
  text-align: right;
  font-weight: 820;
}

.student-timeline-evidence-queue-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.52rem;
  min-width: 0;
}

.student-timeline-evidence-queue-card {
  display: grid;
  align-content: start;
  gap: 0.52rem;
  min-width: 0;
  padding: 0.64rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-top: 4px solid #7fd0b6;
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.1);
}

.student-timeline-evidence-queue-card.danger {
  border-top-color: #c9972e;
}

.student-timeline-evidence-queue-card.warning {
  border-top-color: #ffe4a8;
}

.student-timeline-evidence-queue-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.24rem 0.5rem;
  align-items: start;
  min-width: 0;
}

.student-timeline-evidence-queue-main span {
  color: #ffe4a8;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-evidence-queue-main strong {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  min-height: 2rem;
  border-radius: 999px;
  background: rgba(255, 228, 168, 0.16);
  color: #fffaf0;
  font-size: 0.95rem;
}

.student-timeline-evidence-queue-main p,
.student-timeline-evidence-queue-main small {
  grid-column: 1 / -1;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-queue-main p {
  color: #fffaf0;
  font-size: 0.86rem;
  font-weight: 780;
  line-height: 1.28;
}

.student-timeline-evidence-queue-main small {
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.74rem;
  font-weight: 680;
  line-height: 1.34;
}

.student-timeline-evidence-queue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.34rem;
  margin: 0;
  min-width: 0;
}

.student-timeline-evidence-queue-grid div,
.student-timeline-evidence-source,
.student-timeline-evidence-example {
  min-width: 0;
  padding: 0.46rem 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.1);
}

.student-timeline-evidence-queue-grid dt,
.student-timeline-evidence-queue-grid dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-queue-grid dt,
.student-timeline-evidence-source span,
.student-timeline-evidence-example span {
  color: rgba(255, 250, 240, 0.58);
  font-size: 0.63rem;
  font-weight: 880;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-evidence-queue-grid dd,
.student-timeline-evidence-source strong,
.student-timeline-evidence-example strong {
  color: #fffaf0;
  font-size: 0.74rem;
  font-weight: 780;
  line-height: 1.24;
}

.student-timeline-evidence-source,
.student-timeline-evidence-example {
  display: grid;
  gap: 0.32rem;
}

.student-timeline-evidence-source div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.student-timeline-evidence-source p,
.student-timeline-evidence-example small {
  margin: 0;
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.72rem;
  font-weight: 680;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.student-timeline-evidence-queue-card .primary-button,
.student-timeline-evidence-queue-card .secondary-button {
  justify-content: center;
  width: 100%;
  min-height: 2.2rem;
  white-space: normal;
}

.student-timeline-blocker-card {
  gap: 0;
}

.student-timeline-blocker-card > .student-timeline-review-note,
.student-timeline-blocker-card > .student-timeline-worklist-snapshot,
.student-timeline-blocker-card > .student-timeline-evidence-queue {
  margin: 1rem 1.1rem 0;
}

.student-timeline-blocker-card > .student-timeline-evidence-queue {
  margin-bottom: 1.1rem;
}

.student-timeline-blocker-card .student-timeline-review-note {
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(201, 151, 46, 0.34);
  border-radius: var(--radius-md);
  background: #fff9e9;
}

.student-timeline-blocker-card .student-timeline-worklist-snapshot {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.student-timeline-blocker-card .student-timeline-worklist-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-timeline-blocker-card .student-timeline-worklist-grid div,
.student-timeline-blocker-card .student-timeline-confidence-strip div {
  background: #ffffff;
}

.student-timeline-blocker-card .student-timeline-confidence-strip {
  background: #ffffff;
}

.student-timeline-blocker-card .student-timeline-evidence-queue {
  padding: 0.9rem;
  border: 0;
  border-radius: var(--radius-md);
  background: #101827;
  box-shadow: none;
}

.student-timeline-blocker-card .student-timeline-evidence-queue-list {
  grid-template-columns: 1fr;
}

.student-timeline-blocker-card .student-timeline-evidence-queue-card {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr);
  align-items: start;
  border-top-width: 0;
  border-left: 3px solid #f5c76f;
  background: rgba(255, 255, 255, 0.07);
}

.student-timeline-blocker-card .student-timeline-evidence-queue-main,
.student-timeline-blocker-card .student-timeline-evidence-queue-card > .secondary-button,
.student-timeline-blocker-card .student-timeline-evidence-queue-card > .primary-button {
  grid-column: 1;
}

.student-timeline-blocker-card .student-timeline-evidence-queue-grid,
.student-timeline-blocker-card .student-timeline-evidence-source,
.student-timeline-blocker-card .student-timeline-evidence-example {
  grid-column: 2;
}

.student-timeline-blocker-card .student-timeline-evidence-queue-card > .secondary-button,
.student-timeline-blocker-card .student-timeline-evidence-queue-card > .primary-button {
  align-self: end;
}

.student-timeline-warning-panel {
  padding: 0;
}

.student-timeline-warning-panel .plain-list {
  margin: 0;
  padding: 0 1.1rem 1rem 1.6rem;
}

.student-timeline-history-collapsed {
  min-height: 3.2rem;
}

.student-timeline-closeout-strip {
  display: grid;
  grid-template-columns: minmax(13rem, 0.92fr) minmax(0, 1.35fr);
  gap: 0.72rem;
  align-items: stretch;
  min-width: 0;
  margin-top: 0.75rem;
  padding: 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.15);
  border-left: 4px solid #2f7d71;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(245, 251, 249, 0.96), rgba(255, 255, 255, 0.9));
  box-shadow: 0 14px 28px rgba(20, 42, 61, 0.06);
}

.student-timeline-closeout-main {
  display: grid;
  align-content: start;
  gap: 0.32rem;
  min-width: 0;
}

.student-timeline-closeout-main strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.26;
  overflow-wrap: anywhere;
}

.student-timeline-closeout-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.38;
}

.student-timeline-closeout-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
}

.student-timeline-closeout-grid div {
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.student-timeline-closeout-grid dt {
  margin: 0 0 0.14rem;
  color: var(--text-muted);
  font-size: 0.65rem;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.student-timeline-closeout-grid dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-timeline-closeout-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.36rem;
  min-width: 0;
}

.student-timeline-closeout-footer span {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.82);
  color: var(--brand-blue);
  font-size: 0.72rem;
  font-weight: 820;
  line-height: 1.18;
}

.student-timeline-decision-path {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
  margin-top: 0.75rem;
  padding: 0.78rem;
  border: 1px solid rgba(20, 42, 61, 0.14);
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(15, 55, 64, 0.96), rgba(24, 78, 84, 0.94)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 18px);
  box-shadow: 0 16px 30px rgba(20, 42, 61, 0.12);
}

.student-timeline-decision-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: start;
  min-width: 0;
}

.student-timeline-decision-header > div {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
}

.student-timeline-decision-header strong {
  color: #fffaf0;
  font-size: 1rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.student-timeline-decision-header p {
  margin: 0;
  color: rgba(255, 250, 240, 0.76);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.36;
}

.student-timeline-decision-header > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  max-width: 16rem;
  padding: 0.18rem 0.52rem;
  border: 1px solid rgba(255, 210, 130, 0.32);
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.12);
  color: #ffe4a8;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.student-timeline-decision-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.46rem;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}

.student-timeline-decision-steps li {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: 0.48rem;
  align-items: start;
  min-width: 0;
  min-height: 7rem;
  padding: 0.58rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 252, 243, 0.1);
}

.student-timeline-decision-steps li > span {
  display: inline-grid;
  place-items: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: rgba(255, 252, 243, 0.14);
  color: #fffaf0;
  font-size: 0.78rem;
  font-weight: 900;
}

.student-timeline-decision-steps li.danger > span {
  background: #c9972e;
  color: var(--brand-navy);
}

.student-timeline-decision-steps li.warning > span {
  background: #ffe4a8;
  color: var(--brand-navy);
}

.student-timeline-decision-steps li.ready > span {
  background: #7fd0b6;
  color: var(--brand-navy);
}

.student-timeline-decision-steps div {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.student-timeline-decision-steps strong {
  color: #fffaf0;
  font-size: 0.82rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.student-timeline-decision-steps small {
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.72rem;
  font-weight: 720;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.student-timeline-attention-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border: 1px solid rgba(201, 151, 46, 0.22);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
}

.student-timeline-attention-item > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.student-timeline-attention-item strong {
  color: var(--brand-navy);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-timeline-attention-item p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 640;
  line-height: 1.35;
}

.student-timeline-attention-item small {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.student-timeline-advanced {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}

.student-timeline-advanced > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
  color: var(--brand-navy);
  cursor: pointer;
  font-weight: 850;
}

.student-timeline-advanced > summary strong {
  color: var(--text-muted);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.student-timeline-advanced[open] > summary {
  margin-bottom: 0.7rem;
}

.deadline-cascade-command {
  display: grid;
  gap: 0.9rem;
}

.deadline-cascade-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.deadline-cascade-summary-card {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.72rem 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
  border-top: 4px solid var(--brand-blue);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-decoration: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.deadline-cascade-summary-card:hover,
.deadline-cascade-summary-card:focus-visible {
  border-color: rgba(36, 91, 133, 0.32);
  box-shadow: 0 10px 22px rgba(22, 50, 79, 0.08);
  transform: translateY(-1px);
}

.deadline-cascade-summary-card:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.22);
  outline-offset: 2px;
}

.deadline-cascade-summary-card small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.deadline-cascade-summary-card strong {
  color: var(--brand-navy);
  font-size: 1.55rem;
  line-height: 1;
}

.deadline-cascade-summary-card em {
  display: block;
}

.deadline-cascade-summary-card.blocked,
.deadline-cascade-summary-card.overdue {
  border-top-color: #b84d4d;
}

.deadline-cascade-summary-card.due-soon {
  border-top-color: #c9972e;
}

.deadline-cascade-summary-card.active {
  border-top-color: #367e5a;
}

.deadline-cascade-worklist-snapshot {
  display: grid;
  grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
  gap: 0.78rem;
  align-items: stretch;
  padding: 0.86rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.94));
  box-shadow: 0 14px 28px rgba(20, 42, 61, 0.07);
}

.deadline-cascade-worklist-snapshot-main {
  display: grid;
  align-content: start;
  gap: 0.38rem;
  min-width: 0;
}

.deadline-cascade-worklist-snapshot-main strong {
  color: var(--brand-navy);
  font-size: 1.05rem;
  line-height: 1.22;
}

.deadline-cascade-worklist-snapshot-main p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.38;
}

.deadline-cascade-worklist-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.52rem;
  margin: 0;
  min-width: 0;
}

.deadline-cascade-worklist-snapshot-grid div {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
  padding: 0.58rem 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.deadline-cascade-worklist-snapshot-grid dt {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
  text-transform: uppercase;
}

.deadline-cascade-worklist-snapshot-grid dd {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.79rem;
  font-weight: 720;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.deadline-cascade-action-list {
  display: grid;
  gap: 0.65rem;
}

.deadline-cascade-evidence-queue {
  display: grid;
  gap: 0.68rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.deadline-cascade-evidence-queue-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-header > div {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.deadline-cascade-evidence-queue-header small {
  max-width: 32rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.34;
  text-align: right;
}

.deadline-cascade-evidence-queue-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.62rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-card {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
}

.deadline-cascade-evidence-queue-card.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.deadline-cascade-evidence-queue-card.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.deadline-cascade-evidence-queue-main {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-main > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-main span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.deadline-cascade-evidence-queue-main strong {
  color: var(--brand-navy);
  font-size: 1.28rem;
  line-height: 1;
}

.deadline-cascade-evidence-queue-main p,
.deadline-cascade-evidence-queue-main small,
.deadline-cascade-evidence-queue-review {
  margin: 0;
  overflow-wrap: anywhere;
  line-height: 1.36;
}

.deadline-cascade-evidence-queue-main p {
  color: var(--brand-navy);
  font-size: 0.86rem;
  font-weight: 850;
}

.deadline-cascade-evidence-queue-main small {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.deadline-cascade-evidence-queue-meta {
  display: grid;
  gap: 0.32rem;
  margin: 0;
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.11);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.86);
}

.deadline-cascade-evidence-queue-meta div {
  display: grid;
  grid-template-columns: 4.7rem minmax(0, 1fr);
  gap: 0.4rem;
  min-width: 0;
}

.deadline-cascade-evidence-queue-meta dt,
.deadline-cascade-evidence-queue-meta dd {
  margin: 0;
  min-width: 0;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.deadline-cascade-evidence-queue-meta dt {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.deadline-cascade-evidence-queue-meta dd {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 800;
}

.deadline-cascade-evidence-queue-review {
  color: var(--text-strong);
  font-size: 0.79rem;
  font-weight: 720;
}

.deadline-cascade-evidence-source-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.36rem;
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-xs);
  background: rgba(255, 255, 255, 0.72);
}

.deadline-cascade-evidence-source-detail div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.deadline-cascade-evidence-source-detail span {
  color: var(--text-muted);
  font-size: 0.64rem;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.deadline-cascade-evidence-source-detail strong,
.deadline-cascade-evidence-source-detail a {
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 780;
  line-height: 1.24;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16rem;
}

.deadline-cascade-evidence-source-detail p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--text-strong);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.deadline-cascade-evidence-queue-card .primary-button,
.deadline-cascade-evidence-queue-card .secondary-button {
  justify-content: center;
  width: 100%;
  min-height: 2.2rem;
  padding: 0.52rem 0.72rem;
}

.deadline-cascade-workflow-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.65rem;
}

.deadline-cascade-workflow-strip button {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
  padding: 0.78rem 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-left: 4px solid rgba(54, 126, 90, 0.78);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.94);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.deadline-cascade-workflow-strip button.is-urgent {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.92);
}

.deadline-cascade-workflow-strip button.active {
  border-color: rgba(36, 91, 133, 0.38);
  box-shadow: 0 0 0 3px rgba(36, 91, 133, 0.12);
  transform: translateY(-1px);
}

.deadline-cascade-workflow-strip button:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.28);
  outline-offset: 2px;
}

.deadline-cascade-workflow-strip button > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.deadline-cascade-workflow-strip span,
.deadline-cascade-workflow-strip small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-cascade-workflow-strip strong {
  color: var(--brand-navy);
  font-size: 0.96rem;
}

.deadline-cascade-workflow-strip p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.86rem;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.deadline-cascade-status-lanes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
}

.deadline-cascade-status-lanes button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.55rem;
  min-width: 0;
  min-height: 4.85rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-top: 4px solid rgba(36, 91, 133, 0.45);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.deadline-cascade-status-lanes button.danger {
  border-top-color: #b84d4d;
}

.deadline-cascade-status-lanes button.warning {
  border-top-color: #c9972e;
}

.deadline-cascade-status-lanes button.ready {
  border-top-color: #367e5a;
}

.deadline-cascade-status-lanes button.retained {
  border-top-color: #6b7280;
}

.deadline-cascade-status-lanes button.active {
  border-color: rgba(36, 91, 133, 0.38);
  box-shadow: 0 0 0 3px rgba(36, 91, 133, 0.12);
  transform: translateY(-1px);
}

.deadline-cascade-status-lanes button:focus-visible {
  outline: 3px solid rgba(36, 91, 133, 0.28);
  outline-offset: 2px;
}

.deadline-cascade-status-lanes span {
  min-width: 0;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
  text-transform: uppercase;
}

.deadline-cascade-status-lanes strong {
  color: var(--brand-navy);
  font-size: 1.08rem;
  line-height: 1.1;
}

.deadline-cascade-status-lanes small {
  grid-column: 1 / -1;
  color: var(--text-strong);
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.26;
  overflow-wrap: anywhere;
}

.deadline-cascade-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(245, 250, 252, 0.76);
}

.deadline-cascade-list-toolbar > div {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.deadline-cascade-list-toolbar strong {
  color: var(--brand-navy);
  font-size: 0.92rem;
}

.deadline-cascade-list-toolbar .secondary-button {
  min-height: 2.1rem;
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}

.deadline-cascade-toolbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.deadline-cascade-route-context {
  display: grid;
  gap: 0.35rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid rgba(36, 91, 133, 0.58);
  border-radius: 8px;
  background: rgba(247, 251, 253, 0.94);
}

.deadline-cascade-route-context > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.deadline-cascade-route-context strong {
  color: var(--brand-navy);
  font-size: 0.92rem;
}

.deadline-cascade-route-context p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.86rem;
  line-height: 1.42;
}

.deadline-cascade-route-context.evidence-danger {
  border-color: rgba(185, 52, 52, 0.18);
  border-left-color: rgba(185, 52, 52, 0.68);
  background: rgba(255, 248, 246, 0.96);
}

.deadline-cascade-route-context.evidence-warning {
  border-color: rgba(177, 126, 31, 0.18);
  border-left-color: rgba(177, 126, 31, 0.68);
  background: rgba(255, 251, 240, 0.96);
}

.deadline-cascade-route-context.evidence-info {
  border-color: rgba(36, 91, 133, 0.16);
  border-left-color: rgba(36, 91, 133, 0.58);
}

.deadline-cascade-scope-trail {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.42rem 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 760;
  line-height: 1.35;
}

.deadline-cascade-scope-trail a,
.deadline-cascade-scope-trail strong,
.deadline-cascade-scope-trail span,
.deadline-cascade-scope-trail small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.deadline-cascade-scope-trail a,
.deadline-cascade-scope-trail strong {
  color: var(--brand-navy);
}

.deadline-cascade-scope-trail small {
  flex-basis: 100%;
  color: var(--text-muted);
  font-size: 0.74rem;
  font-weight: 650;
}

.deadline-cascade-scope-trail.danger {
  border-color: rgba(185, 52, 52, 0.16);
}

.deadline-cascade-scope-trail.warning {
  border-color: rgba(177, 126, 31, 0.18);
}

.deadline-cascade-action-plan {
  display: grid;
  grid-template-columns: minmax(16rem, 0.9fr) minmax(0, 1.5fr);
  gap: 0.85rem;
  align-items: stretch;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(245, 250, 252, 0.96), rgba(255, 255, 255, 0.9));
}

.deadline-cascade-checklist {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.deadline-cascade-checklist li,
.deadline-cascade-card-checklist li {
  min-width: 0;
  padding: 0.5rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
  color: var(--text-strong);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.deadline-cascade-action-plan-main {
  display: grid;
  align-content: start;
  gap: 0.42rem;
  min-width: 0;
}

.deadline-cascade-action-plan-main strong {
  color: var(--brand-navy);
  font-size: 1.05rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-cascade-action-plan-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.9rem;
  line-height: 1.42;
}

.deadline-cascade-action-plan-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  min-width: 0;
}

.deadline-cascade-action-plan-grid div {
  min-width: 0;
  padding: 0.55rem 0.6rem;
  border: 1px solid rgba(36, 91, 133, 0.11);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.deadline-cascade-action-plan-grid dt {
  margin: 0 0 0.16rem;
  color: var(--text-muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-cascade-action-plan-grid dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.8rem;
  font-weight: 750;
  line-height: 1.26;
  overflow-wrap: anywhere;
}

.deadline-cascade-review-packet {
  display: grid;
  grid-template-columns: minmax(14rem, 0.95fr) minmax(0, 1.6fr);
  gap: 0.75rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-left: 4px solid #2f7d71;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(245, 251, 249, 0.98), rgba(255, 255, 255, 0.9));
}

.deadline-cascade-review-packet-main {
  display: grid;
  align-content: start;
  gap: 0.4rem;
  min-width: 0;
}

.deadline-cascade-review-packet-main strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.deadline-cascade-review-packet-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.86rem;
  line-height: 1.42;
}

.deadline-cascade-review-packet-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
}

.deadline-cascade-review-packet-grid div {
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.11);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.deadline-cascade-review-packet-grid dt {
  margin: 0 0 0.14rem;
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-cascade-review-packet-grid dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.79rem;
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-cascade-review-packet-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  min-width: 0;
  padding-top: 0.08rem;
}

.deadline-cascade-review-packet-footer > div:first-child {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.deadline-cascade-review-packet-footer strong {
  color: var(--brand-navy);
  font-size: 0.82rem;
  line-height: 1.25;
}

.deadline-cascade-review-packet-footer span {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.32;
}

.deadline-cascade-source-detail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.42rem;
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.76);
}

.deadline-cascade-source-detail.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0.58rem;
  background: rgba(248, 251, 252, 0.82);
}

.deadline-cascade-source-detail div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.deadline-cascade-source-detail span {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
  text-transform: uppercase;
}

.deadline-cascade-source-detail strong,
.deadline-cascade-source-detail a {
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 780;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18rem;
}

.deadline-cascade-source-detail p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--text-strong);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.36;
}

.deadline-cascade-action-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.deadline-cascade-action-card.blocked,
.deadline-cascade-action-card.overdue {
  border-left-color: #b84d4d;
}

.deadline-cascade-action-card.due_soon {
  border-left-color: #c9972e;
}

.deadline-cascade-action-card.completed {
  border-left-color: #367e5a;
  background: rgba(248, 252, 250, 0.84);
}

.deadline-cascade-action-main {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.deadline-cascade-action-main p {
  margin: 0;
  color: var(--text-strong);
  line-height: 1.45;
}

.deadline-cascade-status-lead {
  color: var(--text-muted) !important;
  font-size: 0.88rem;
}

.deadline-cascade-evidence-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.deadline-cascade-evidence-grid div {
  min-width: 0;
  padding: 0.55rem 0.6rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(245, 250, 252, 0.78);
}

.deadline-cascade-evidence-grid dt {
  margin: 0 0 0.14rem;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-cascade-evidence-grid dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-cascade-action-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.deadline-cascade-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  min-width: 0;
}

.deadline-cascade-trust-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.18rem 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
  color: var(--brand-blue);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.2;
}

.deadline-cascade-human-review {
  color: var(--brand-navy) !important;
  font-size: 0.84rem;
  font-weight: 750;
}

.deadline-cascade-action-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: cascade-action-step;
}

.deadline-cascade-action-steps li {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: start;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.5rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
  color: var(--text-strong);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.32;
}

.deadline-cascade-action-steps li::before {
  counter-increment: cascade-action-step;
  content: counter(cascade-action-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.18rem;
  height: 1.18rem;
  border-radius: 999px;
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-blue);
  font-size: 0.68rem;
  font-weight: 900;
}

.deadline-cascade-route-proof {
  display: grid;
  gap: 0.42rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(244, 249, 252, 0.86);
}

.deadline-cascade-route-proof strong {
  color: var(--brand-navy);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.25;
}

.deadline-cascade-route-proof ul {
  display: grid;
  gap: 0.34rem;
  margin: 0;
  padding-left: 1rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.32;
}

.deadline-cascade-closeout-decision {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
  padding: 0.68rem 0.74rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.9);
}

.deadline-cascade-closeout-decision.blocked {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.92);
}

.deadline-cascade-closeout-decision.danger {
  border-left-color: #a94747;
  background: rgba(255, 248, 247, 0.9);
}

.deadline-cascade-closeout-decision.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.92);
}

.deadline-cascade-closeout-decision.ready {
  border-left-color: #2f7d71;
  background: rgba(245, 251, 249, 0.92);
}

.deadline-cascade-closeout-decision.retained {
  border-left-color: #367e5a;
  background: rgba(248, 252, 250, 0.92);
}

.deadline-cascade-closeout-decision span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: uppercase;
}

.deadline-cascade-closeout-decision strong {
  color: var(--brand-navy);
  font-size: 0.88rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-cascade-closeout-decision p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.36;
}

.deadline-cascade-workflow-launch {
  display: grid;
  align-content: start;
  gap: 0.62rem;
  min-width: 15rem;
  max-width: 18rem;
  padding: 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.92);
}

.deadline-cascade-workflow-launch > div:first-child {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
}

.deadline-cascade-workflow-launch strong {
  color: var(--brand-navy);
  font-size: 0.88rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-cascade-workflow-launch p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.36;
}

.deadline-cascade-workflow-launch small {
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1.32;
}

.deadline-cascade-workflow-launch-actions {
  display: grid;
  gap: 0.42rem;
}

.deadline-cascade-card-checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.deadline-cascade-action-card .primary-button,
.deadline-cascade-action-card .secondary-button {
  min-height: 2.35rem;
  padding: 0.52rem 0.78rem;
  white-space: nowrap;
}

.deadline-roster-command {
  display: grid;
  gap: 0.85rem;
}

.deadline-school-workboard {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.deadline-school-workboard.roster {
  margin-bottom: 0;
}

.deadline-school-workboard.timeline-page {
  margin-bottom: 1rem;
}

.deadline-school-workboard:focus-visible,
.deadline-priority-work-focus:focus-visible {
  border-radius: var(--radius-sm);
}

.deadline-school-workboard-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-width: 0;
}

.deadline-school-workboard-header > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.deadline-school-workboard-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.deadline-school-workboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0.68rem;
  min-width: 0;
}

.deadline-school-card {
  display: grid;
  align-content: start;
  gap: 0.58rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.94);
}

.deadline-school-card.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.deadline-school-card.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.deadline-school-card-heading {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  min-width: 0;
}

.deadline-school-card-heading svg {
  flex: 0 0 auto;
  color: var(--brand-blue);
  margin-top: 0.08rem;
}

.deadline-school-card-heading > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.deadline-school-card-heading strong {
  color: var(--brand-navy);
  font-size: 0.96rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.deadline-school-card-heading span,
.deadline-school-card small {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.deadline-school-card-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
  min-width: 0;
}

.deadline-school-card-counts span {
  min-height: 1.55rem;
  padding: 0.24rem 0.5rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 999px;
  background: rgba(248, 251, 252, 0.88);
  color: var(--text-strong);
  font-size: 0.7rem;
  font-weight: 850;
  line-height: 1.2;
}

.deadline-school-card p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.84rem;
  font-weight: 820;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.deadline-school-current-work {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
  padding: 0.58rem 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.82);
}

.deadline-school-current-work span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-school-current-work strong {
  color: var(--brand-navy);
  font-size: 0.86rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.deadline-school-current-work small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-school-current-work p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.36;
}

.deadline-school-current-work-list {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.deadline-school-current-work-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 0.52rem;
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.76);
}

.deadline-school-current-work-row > div {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.deadline-school-current-work-row span,
.deadline-school-current-work-row small {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-school-current-work-row strong {
  color: var(--brand-navy);
  font-size: 0.78rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.deadline-school-current-work-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  justify-content: flex-start;
  min-width: 0;
}

.deadline-school-current-work-actions .secondary-button {
  min-height: 1.85rem;
  padding: 0.32rem 0.58rem;
  border-radius: 8px;
  font-size: 0.72rem;
  line-height: 1.16;
  text-align: center;
  white-space: normal;
}

.deadline-priority-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  align-items: stretch;
  gap: 0.72rem;
}

.deadline-calendar-overview {
  margin-bottom: 1rem;
}

.deadline-calendar-overview .landing-panel {
  padding: 1rem;
}

.deadline-roster-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.deadline-roster-filter-bar {
  display: grid;
  gap: 0.72rem;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(11rem, 1fr) minmax(0, 2fr);
  align-items: end;
  margin-bottom: 0.85rem;
}

.deadline-roster-filter {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.deadline-roster-filter span {
  color: var(--text-strong);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.deadline-roster-family-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}

.deadline-roster-family-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.38rem;
  padding: 0.38rem 0.62rem;
  border: 1px solid rgba(64, 117, 157, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.94);
  color: var(--text-strong);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
}

.deadline-roster-family-chip strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45rem;
  min-height: 1.45rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-blue);
  font-size: 0.72rem;
}

.deadline-roster-family-chip.active {
  border-color: rgba(36, 91, 133, 0.5);
  background: rgba(228, 241, 248, 0.98);
  box-shadow: 0 0 0 2px rgba(36, 91, 133, 0.12);
}

.deadline-roster-scope-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.74rem 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.94);
  color: var(--text-muted);
}

.deadline-roster-scope-strip > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.deadline-roster-scope-strip strong {
  color: var(--brand-navy);
  font-size: 0.82rem;
}

.deadline-roster-scope-strip span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.82rem;
  font-weight: 700;
}

.deadline-roster-scope-strip .secondary-button {
  justify-content: center;
  min-height: 2.25rem;
  white-space: nowrap;
}

.deadline-roster-handoff {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.98));
  box-shadow: 0 12px 26px rgba(25, 54, 79, 0.06);
}

.deadline-roster-handoff-main {
  display: grid;
  align-content: start;
  gap: 0.42rem;
  min-width: 0;
}

.deadline-roster-handoff-main strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-roster-handoff-main p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.deadline-roster-handoff-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.2rem;
}

.deadline-roster-handoff-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
  min-width: 0;
}

.deadline-roster-handoff-grid div {
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid rgba(64, 117, 157, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.deadline-roster-handoff-grid dt {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-roster-handoff-grid dd {
  margin: 0.18rem 0 0;
  color: var(--text-strong);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-roster-closeout-packet {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
  gap: 0.72rem;
  align-items: stretch;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.15);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.deadline-roster-closeout-main {
  display: grid;
  align-content: start;
  gap: 0.38rem;
  min-width: 0;
}

.deadline-roster-closeout-main strong {
  color: var(--brand-navy);
  font-size: 0.96rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-roster-closeout-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.deadline-roster-closeout-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.48rem;
  margin: 0;
  min-width: 0;
}

.deadline-roster-closeout-grid div {
  min-width: 0;
  padding: 0.52rem 0.58rem;
  border: 1px solid rgba(64, 117, 157, 0.13);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.deadline-roster-closeout-grid dt {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-roster-closeout-grid dd {
  margin: 0.16rem 0 0;
  color: var(--brand-navy);
  font-size: 0.79rem;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-roster-live-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  align-items: center;
  min-width: 0;
  margin: 0.45rem 0 0.85rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.deadline-roster-live-proof span {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  padding: 0.22rem 0.55rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--brand-navy);
}

.deadline-roster-live-proof strong {
  color: var(--text-strong);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-rollup {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: #fff;
}

.dashboard-deadline-evidence-rollup-header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  min-width: 0;
}

.dashboard-deadline-evidence-rollup-header > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.dashboard-deadline-evidence-rollup-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-rollup-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.72rem;
}

.dashboard-deadline-evidence-rollup-card {
  display: grid;
  gap: 0.58rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.96);
}

.dashboard-deadline-evidence-rollup-card.danger {
  border-left-color: var(--danger);
  background: rgba(254, 242, 242, 0.94);
}

.dashboard-deadline-evidence-rollup-card.warning {
  border-left-color: #d97706;
  background: rgba(255, 251, 235, 0.94);
}

.dashboard-deadline-evidence-rollup-card.info {
  border-left-color: var(--brand-blue);
  background: rgba(239, 246, 255, 0.94);
}

.dashboard-deadline-evidence-rollup-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
}

.dashboard-deadline-evidence-rollup-card span {
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dashboard-deadline-evidence-rollup-card strong {
  color: var(--brand-navy);
  font-size: 1.4rem;
  line-height: 1;
}

.dashboard-deadline-evidence-rollup-card p,
.dashboard-deadline-evidence-rollup-card small {
  margin: 0;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-rollup-card p {
  color: var(--brand-navy);
  font-weight: 800;
  line-height: 1.35;
}

.dashboard-deadline-evidence-rollup-card small {
  color: var(--text-muted);
  line-height: 1.45;
}

.dashboard-deadline-evidence-source {
  display: grid;
  gap: 0.48rem;
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.dashboard-deadline-evidence-source div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.dashboard-deadline-evidence-source span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dashboard-deadline-evidence-source strong,
.dashboard-deadline-evidence-source a {
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-source p {
  color: var(--text-muted);
  font-size: 0.76rem;
  line-height: 1.45;
}

.dashboard-deadline-evidence-affected {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.dashboard-deadline-evidence-affected-row {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
  padding: 0.56rem 0.6rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
  color: inherit;
  text-decoration: none;
}

.dashboard-deadline-evidence-affected-row:hover,
.dashboard-deadline-evidence-affected-row:focus-visible {
  border-color: rgba(36, 91, 133, 0.28);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.dashboard-deadline-evidence-affected-row > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.dashboard-deadline-evidence-affected-row strong {
  color: var(--brand-navy);
  font-size: 0.82rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-affected-row span,
.dashboard-deadline-evidence-affected-row small,
.dashboard-deadline-evidence-more,
.dashboard-deadline-evidence-overflow span,
.dashboard-deadline-evidence-overflow small {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-affected-row small:first-of-type {
  color: var(--text-strong);
  font-weight: 850;
}

.dashboard-deadline-evidence-more {
  color: var(--brand-blue);
  text-decoration: none;
}

.dashboard-deadline-evidence-more:hover,
.dashboard-deadline-evidence-more:focus-visible {
  color: var(--brand-navy);
  text-decoration: underline;
}

.dashboard-deadline-evidence-overflow {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
  margin-top: 0.1rem;
  padding: 0.58rem 0.62rem;
  border: 1px dashed rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(247, 250, 252, 0.78);
}

.dashboard-deadline-evidence-overflow > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.48rem;
  min-width: 0;
}

.dashboard-deadline-evidence-overflow strong {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 880;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-deadline-evidence-overflow-row {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.42rem 0;
  border-top: 1px solid rgba(36, 91, 133, 0.1);
  color: inherit;
  text-decoration: none;
}

.dashboard-deadline-evidence-overflow-row:hover strong,
.dashboard-deadline-evidence-overflow-row:focus-visible strong {
  color: var(--brand-blue);
}

.deadline-evidence-comparison {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
  padding: 0.64rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.deadline-evidence-comparison.roster {
  background: rgba(247, 250, 252, 0.82);
}

.deadline-evidence-comparison.student {
  background: rgba(250, 252, 252, 0.86);
}

.deadline-evidence-comparison > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

.deadline-evidence-comparison > div:first-child span,
.deadline-evidence-comparison-row small {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-evidence-comparison > div:first-child strong,
.deadline-evidence-comparison-row strong {
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 880;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-evidence-comparison-row {
  display: grid;
  grid-template-columns: minmax(9rem, 1.2fr) minmax(8rem, 1fr) minmax(8rem, 1fr) minmax(6rem, 0.8fr);
  gap: 0.5rem;
  align-items: start;
  min-width: 0;
  padding: 0.48rem 0;
  border-top: 1px solid rgba(36, 91, 133, 0.1);
  color: inherit;
}

.deadline-evidence-comparison-row > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.deadline-evidence-comparison-row span {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 780;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-evidence-comparison-row:hover strong,
.deadline-evidence-comparison-row:focus-visible strong {
  color: var(--brand-blue);
}

.deadline-evidence-comparison-route {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.deadline-evidence-comparison-route a,
.deadline-evidence-row-detail a {
  color: var(--brand-blue);
  font-size: 0.72rem;
  font-weight: 860;
  text-decoration: none;
}

.deadline-evidence-comparison-route .secondary-button {
  min-height: 1.85rem;
  padding: 0.34rem 0.6rem;
  color: var(--brand-navy);
  text-align: center;
}

.deadline-evidence-comparison-route a:hover,
.deadline-evidence-comparison-route a:focus-visible,
.deadline-evidence-row-detail a:hover,
.deadline-evidence-row-detail a:focus-visible {
  text-decoration: underline;
}

.deadline-evidence-row-detail {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 0.48rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.68);
}

.deadline-evidence-row-detail summary {
  cursor: pointer;
  color: var(--brand-navy);
  font-size: 0.72rem;
  font-weight: 880;
  line-height: 1.3;
}

.deadline-evidence-row-detail dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.42rem;
  margin: 0.48rem 0;
}

.deadline-evidence-row-detail dt {
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 820;
  text-transform: uppercase;
}

.deadline-evidence-row-detail dd {
  margin: 0.12rem 0 0;
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-evidence-row-detail p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  margin-bottom: 0.85rem;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.dashboard-deadline-day-plan-header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  min-width: 0;
}

.dashboard-deadline-day-plan-header > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-header p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.62rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-card {
  display: grid;
  align-content: start;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.74rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
}

.dashboard-deadline-day-plan-card.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.dashboard-deadline-day-plan-card.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.dashboard-deadline-day-plan-card.info {
  border-left-color: var(--brand-blue);
}

.dashboard-deadline-day-plan-main {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-kicker span {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.12rem 0.42rem;
  border-radius: var(--radius-sm);
  background: rgba(225, 238, 250, 0.78);
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dashboard-deadline-day-plan-main strong {
  color: var(--brand-navy);
  font-size: 1.05rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-main h3 {
  margin: 0;
  color: var(--brand-blue);
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-main p {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-next {
  display: grid;
  gap: 0.42rem;
  margin: 0;
  min-width: 0;
  padding: 0.58rem 0.62rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.dashboard-deadline-day-plan-next div {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-next dt,
.dashboard-deadline-day-plan-next dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-next dt {
  color: var(--brand-blue);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dashboard-deadline-day-plan-next dd {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 820;
  line-height: 1.36;
}

.dashboard-deadline-day-plan-source {
  display: grid;
  gap: 0.48rem;
  min-width: 0;
  padding-top: 0.1rem;
}

.dashboard-deadline-day-plan-source summary {
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-source p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.74rem;
  font-weight: 740;
  line-height: 1.36;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-meta {
  display: grid;
  gap: 0.34rem;
  margin: 0;
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.11);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.86);
}

.dashboard-deadline-day-plan-meta div {
  display: grid;
  grid-template-columns: 4.3rem minmax(0, 1fr);
  gap: 0.42rem;
  min-width: 0;
}

.dashboard-deadline-day-plan-meta dt,
.dashboard-deadline-day-plan-meta dd {
  margin: 0;
  min-width: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-deadline-day-plan-meta dt {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.dashboard-deadline-day-plan-meta dd {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 800;
}

.dashboard-deadline-review-details {
  min-width: 0;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
}

.dashboard-deadline-review-details summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding: 0.78rem 0.85rem;
  cursor: pointer;
  list-style: none;
}

.dashboard-deadline-review-details summary::-webkit-details-marker {
  display: none;
}

.dashboard-deadline-review-details summary > div {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.dashboard-deadline-review-details summary strong {
  color: var(--brand-navy);
  font-size: 0.94rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.dashboard-deadline-review-details summary p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.dashboard-deadline-review-details-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.28rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-sm);
  color: var(--brand-blue);
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
}

.dashboard-deadline-review-details[open] {
  background: rgba(248, 251, 252, 0.96);
}

.dashboard-deadline-review-details[open] .dashboard-deadline-review-details-action {
  background: rgba(36, 91, 133, 0.09);
  color: var(--brand-navy);
}

.dashboard-deadline-review-details > section,
.dashboard-deadline-review-details > div {
  margin: 0.72rem;
}

.deadline-closeout-readiness {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.62rem;
  min-width: 0;
}

.deadline-closeout-readiness-card {
  display: grid;
  align-content: start;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.74rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-top: 4px solid rgba(36, 91, 133, 0.44);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 20px rgba(18, 51, 77, 0.05);
}

.deadline-closeout-readiness-card.danger {
  border-top-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.deadline-closeout-readiness-card.warning {
  border-top-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.deadline-closeout-readiness-card.ready {
  border-top-color: #367e5a;
  background: rgba(248, 252, 250, 0.94);
}

.deadline-closeout-readiness-card > div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
}

.deadline-closeout-readiness-card span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-closeout-readiness-card strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  border-radius: 999px;
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-navy);
  font-size: 0.96rem;
}

.deadline-closeout-readiness-card p,
.deadline-closeout-readiness-card small {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.deadline-closeout-readiness-card p {
  color: var(--text-strong);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.35;
}

.deadline-closeout-readiness-card small {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}

.deadline-closeout-readiness-meta {
  display: grid;
  gap: 0.36rem;
  margin: 0;
  min-width: 0;
  padding: 0.48rem 0.54rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.82);
}

.deadline-closeout-readiness-meta div {
  display: grid;
  grid-template-columns: 5.4rem minmax(0, 1fr);
  gap: 0.42rem;
  align-items: baseline;
  min-width: 0;
}

.deadline-closeout-readiness-meta dt,
.deadline-closeout-readiness-meta dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.deadline-closeout-readiness-meta dt {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.deadline-closeout-readiness-meta dd {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 800;
}

.deadline-closeout-readiness-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.38rem;
  min-width: 0;
  margin-top: 0.1rem;
}

.deadline-closeout-readiness-actions .primary-button,
.deadline-closeout-readiness-actions .secondary-button {
  justify-content: center;
  width: 100%;
  min-height: 2.18rem;
  white-space: normal;
}

.deadline-roster-evidence-scope {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: center;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.deadline-roster-evidence-scope.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.deadline-roster-evidence-scope.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.deadline-roster-evidence-scope > div:first-child {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.deadline-roster-evidence-scope strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-roster-evidence-scope p,
.deadline-roster-evidence-scope small {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 720;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.deadline-roster-evidence-scope small {
  color: var(--text-strong);
  max-width: 24rem;
}

.deadline-roster-evidence-scope-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.46rem;
  min-width: 0;
}

.deadline-roster-source-assurance {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.94);
}

.deadline-roster-source-assurance-header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  min-width: 0;
}

.deadline-roster-source-assurance-header > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.deadline-roster-source-assurance-header strong {
  color: var(--brand-navy);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.deadline-roster-source-assurance-header p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.deadline-roster-source-assurance-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.68rem;
  min-width: 0;
}

.deadline-roster-source-assurance-card {
  display: grid;
  align-content: start;
  gap: 0.56rem;
  min-width: 0;
  padding: 0.74rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
}

.deadline-roster-source-assurance-card.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.deadline-roster-source-assurance-card.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.deadline-roster-source-assurance-card.info {
  border-left-color: var(--brand-blue);
}

.deadline-roster-source-assurance-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
}

.deadline-roster-source-assurance-card span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.deadline-roster-source-assurance-card > div:first-child strong {
  color: var(--brand-navy);
  font-size: 1.35rem;
  line-height: 1;
}

.deadline-roster-source-assurance-card p,
.deadline-roster-source-assurance-card small {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.deadline-roster-source-assurance-card p {
  color: var(--brand-navy);
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1.35;
}

.deadline-roster-source-assurance-card small {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.4;
}

.deadline-roster-source-trail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.36rem;
  min-width: 0;
}

.deadline-roster-source-trail a {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.48rem 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.84);
  color: inherit;
  text-decoration: none;
}

.deadline-roster-source-trail a:hover,
.deadline-roster-source-trail a:focus-visible {
  border-color: rgba(36, 91, 133, 0.3);
  outline: none;
}

.deadline-roster-source-trail span {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.deadline-roster-source-trail strong {
  color: var(--brand-navy);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.deadline-roster-source-detail {
  display: grid;
  gap: 0.44rem;
  min-width: 0;
  padding: 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.76);
}

.deadline-roster-source-detail div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.deadline-roster-source-detail strong,
.deadline-roster-source-detail a {
  color: var(--brand-navy);
  font-size: 0.77rem;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.deadline-roster-source-detail p {
  color: var(--text-muted);
  font-size: 0.75rem;
  line-height: 1.38;
}

.deadline-roster-source-closeout {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
  margin: 0;
  padding: 0.58rem 0.64rem 0.58rem 1.55rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(248, 251, 252, 0.82);
}

.deadline-roster-source-closeout li {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.deadline-roster-source-affected {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
}

.deadline-roster-source-affected-row {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
  color: inherit;
  text-decoration: none;
}

.deadline-roster-source-affected-row:hover,
.deadline-roster-source-affected-row:focus-visible {
  border-color: rgba(36, 91, 133, 0.3);
  box-shadow: 0 8px 18px rgba(24, 52, 72, 0.08);
  outline: none;
}

.deadline-roster-source-affected-row > div {
  display: flex;
  justify-content: space-between;
  gap: 0.54rem;
  min-width: 0;
}

.deadline-roster-source-affected-row strong {
  color: var(--brand-navy);
  font-size: 0.78rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.deadline-roster-source-affected-row span,
.deadline-roster-source-affected-row small,
.deadline-roster-source-more,
.deadline-roster-source-overflow span,
.deadline-roster-source-overflow small {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.deadline-roster-source-affected-row small {
  color: var(--brand-blue);
}

.deadline-roster-source-more {
  justify-self: start;
  color: var(--brand-blue);
  text-decoration: none;
}

.deadline-roster-source-more:hover,
.deadline-roster-source-more:focus-visible {
  color: var(--brand-navy);
  outline: none;
  text-decoration: underline;
}

.deadline-roster-source-overflow {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
  padding: 0.54rem 0.58rem;
  border: 1px solid rgba(36, 91, 133, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(247, 250, 252, 0.82);
}

.deadline-roster-source-overflow > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.48rem;
  min-width: 0;
}

.deadline-roster-source-overflow strong {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 880;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.deadline-roster-source-overflow-row {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.4rem 0;
  border-top: 1px solid rgba(36, 91, 133, 0.1);
  color: inherit;
  text-decoration: none;
}

.deadline-roster-source-overflow-row:hover strong,
.deadline-roster-source-overflow-row:focus-visible strong {
  color: var(--brand-blue);
}

.deadline-roster-source-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.38rem;
  min-width: 0;
}

.deadline-roster-source-actions .primary-button,
.deadline-roster-source-actions .secondary-button {
  justify-content: center;
  width: 100%;
  min-height: 2.18rem;
  white-space: normal;
}

.deadline-roster-queue-list {
  display: grid;
  gap: 0.7rem;
}

.deadline-roster-queue-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.84);
}

.deadline-roster-queue-card.blocked,
.deadline-roster-queue-card.overdue {
  border-left-color: #b84d4d;
}

.deadline-roster-queue-card.due_soon {
  border-left-color: #c9972e;
}

.deadline-roster-queue-main {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.deadline-roster-queue-main p,
.deadline-roster-queue-main small {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.deadline-roster-queue-main p {
  color: var(--text-strong);
  line-height: 1.4;
}

.deadline-roster-queue-main small {
  color: var(--text-muted);
  font-weight: 700;
  line-height: 1.35;
}

.deadline-roster-queue-card .primary-button,
.deadline-roster-queue-card .secondary-button {
  min-height: 2.35rem;
  padding: 0.52rem 0.78rem;
  white-space: nowrap;
}

.deadline-roster-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-self: end;
  min-width: 10rem;
}

.deadline-roster-actions .primary-button,
.deadline-roster-actions .secondary-button {
  justify-content: center;
  width: 100%;
}

.dashboard-deadline-command {
  display: grid;
  gap: 0.85rem;
}

.dashboard-deadline-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  min-width: 0;
  padding: 0.95rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.92);
}

.dashboard-deadline-status.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.92);
}

.dashboard-deadline-status.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.92);
}

.dashboard-deadline-status.success {
  border-left-color: #367e5a;
  background: rgba(248, 252, 250, 0.92);
}

.dashboard-deadline-status > div {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
}

.dashboard-deadline-status strong {
  color: var(--brand-navy);
  font-size: 1.05rem;
}

.dashboard-deadline-status p {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.42;
}

.dashboard-deadline-status-lanes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.68rem;
  min-width: 0;
}

.dashboard-deadline-status-lane {
  display: grid;
  gap: 0.5rem;
  align-content: start;
  min-width: 0;
  min-height: 12rem;
  padding: 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-top: 4px solid rgba(36, 91, 133, 0.45);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
}

.dashboard-deadline-status-lane.danger {
  border-top-color: #b84d4d;
  background: rgba(255, 249, 248, 0.9);
}

.dashboard-deadline-status-lane.warning {
  border-top-color: #c9972e;
  background: rgba(255, 252, 243, 0.9);
}

.dashboard-deadline-status-lane.info {
  border-top-color: #2d6f95;
  background: rgba(246, 251, 253, 0.92);
}

.dashboard-deadline-status-lane > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  min-width: 0;
}

.dashboard-deadline-status-lane span {
  color: var(--brand-navy);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.dashboard-deadline-status-lane strong {
  color: var(--brand-navy);
  font-size: 1.4rem;
  line-height: 1;
}

.dashboard-deadline-status-lane p,
.dashboard-deadline-status-lane small {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.36;
  overflow-wrap: anywhere;
}

.dashboard-deadline-status-lane p {
  color: var(--text-strong);
  font-weight: 850;
}

.dashboard-deadline-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

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

.dashboard-director-worklist-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.13);
  border-left: 4px solid rgba(36, 91, 133, 0.45);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 22px rgba(18, 51, 77, 0.06);
}

.dashboard-director-worklist-card.danger {
  border-left-color: #b84d4d;
  background: rgba(255, 249, 248, 0.94);
}

.dashboard-director-worklist-card.warning {
  border-left-color: #c9972e;
  background: rgba(255, 252, 243, 0.94);
}

.dashboard-director-worklist-card > div:first-child {
  display: grid;
  gap: 0.36rem;
  min-width: 0;
}

.dashboard-director-worklist-card strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-director-worklist-card p,
.dashboard-director-worklist-card small {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.dashboard-director-worklist-card p {
  color: var(--text-strong);
  font-size: 0.88rem;
  line-height: 1.42;
}

.dashboard-director-worklist-card small {
  color: var(--text-muted);
  font-weight: 750;
  line-height: 1.35;
}

.dashboard-director-worklist-packet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.15rem 0 0;
}

.dashboard-director-worklist-packet div {
  min-width: 0;
  padding: 0.46rem 0.52rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-xs);
  background: rgba(255, 255, 255, 0.72);
}

.dashboard-director-worklist-packet dt {
  margin: 0 0 0.18rem;
  color: var(--text-muted);
  font-size: 0.69rem;
  font-weight: 850;
  text-transform: uppercase;
}

.dashboard-director-worklist-packet dd {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.dashboard-director-evidence {
  padding: 0.5rem 0.6rem;
  border-radius: var(--radius-xs);
  background: rgba(36, 91, 133, 0.08);
  color: var(--brand-navy) !important;
  font-weight: 780;
}

.staff-calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2rem;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
  color: var(--brand-navy);
}

.staff-calendar-nav {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.staff-calendar-header strong {
  overflow: hidden;
  color: var(--brand-navy);
  font-size: 1.08rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-today-button {
  min-height: 2.25rem;
  padding: 0.35rem 0.75rem;
  white-space: nowrap;
}

.staff-calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.35rem;
  margin-bottom: 0.35rem;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.staff-calendar-grid {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.staff-calendar-grid.day {
  grid-template-columns: minmax(0, 1fr);
}

.staff-calendar-grid.day .staff-calendar-day {
  min-height: 18rem;
}

.staff-calendar-grid.week .staff-calendar-day {
  min-height: 14rem;
}

.staff-calendar-day {
  display: grid;
  align-content: start;
  min-height: 6.6rem;
  gap: 0.34rem;
  padding: 0.48rem;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.staff-calendar-day.outside-month {
  background: rgba(247, 250, 253, 0.48);
}

.staff-calendar-day.outside-month .staff-calendar-day-heading {
  opacity: 0.58;
}

.staff-calendar-day.today {
  border-color: rgba(31, 93, 134, 0.42);
  background: rgba(232, 247, 252, 0.56);
  box-shadow: inset 0 0 0 1px rgba(31, 93, 134, 0.16);
}

.staff-calendar-day.today .staff-calendar-day-heading strong {
  display: inline-grid;
  min-width: 1.85rem;
  min-height: 1.85rem;
  place-items: center;
  border-radius: 999px;
  background: var(--brand-blue);
  color: #fff;
}

.staff-calendar-day-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem;
  color: var(--text-muted);
}

.staff-calendar-day-heading span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.staff-calendar-day-heading em {
  display: inline-flex;
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  background: rgba(31, 93, 134, 0.12);
  color: var(--brand-blue);
  font-size: 0.64rem;
  font-style: normal;
  line-height: 1;
}

.staff-calendar-day-heading strong {
  color: var(--brand-navy);
  font-size: 0.9rem;
}

.staff-calendar-chip {
  display: grid;
  gap: 0.1rem;
  min-height: 2.25rem;
  padding: 0.32rem 0.38rem;
  border-left: 3px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  background: rgba(241, 248, 253, 0.94);
  color: var(--text-strong);
  text-decoration: none;
}

.staff-calendar-chip span,
.staff-calendar-chip small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.staff-calendar-chip span {
  font-size: 0.72rem;
  font-weight: 800;
}

.staff-calendar-chip small {
  color: var(--text-muted);
  font-size: 0.68rem;
}

.staff-calendar-grid.month .staff-calendar-chip-target {
  display: none;
}

.staff-calendar-more {
  align-self: start;
  color: var(--brand-blue);
  font-size: 0.74rem;
  font-weight: 800;
}

.staff-calendar-chip.missed,
.staff-calendar-chip.blocked {
  border-left-color: var(--status-red-text);
  background: rgba(255, 244, 244, 0.96);
}

.staff-calendar-chip.due_soon {
  border-left-color: var(--status-yellow-text);
  background: rgba(255, 249, 231, 0.96);
}

.staff-calendar-chip.meeting {
  border-left-color: #2f7d5b;
  background: rgba(240, 249, 244, 0.96);
}

.staff-calendar-event-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  min-width: 0;
  height: 100%;
  gap: 0.58rem;
  padding: 0.92rem;
  border: 1px solid rgba(143, 99, 45, 0.14);
  border-radius: var(--radius-sm);
  background: #fffaf0;
  box-shadow: 0 10px 22px rgba(31, 45, 61, 0.05);
}

.staff-calendar-event-card.meeting {
  border-color: rgba(47, 125, 91, 0.2);
  background: #f6fbf7;
}

.staff-calendar-event-card > div:first-child {
  display: grid;
  align-content: start;
  gap: 0.46rem;
  min-width: 0;
}

.staff-calendar-event-card .cascade-admin-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
}

.staff-calendar-event-card .section-pill {
  justify-self: start;
  max-width: 100%;
  min-height: 1.45rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.staff-calendar-event-card strong {
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.staff-calendar-event-card p {
  color: var(--text-muted);
  font-size: 0.88rem;
  line-height: 1.34;
}

.staff-calendar-event-card small {
  color: var(--text-strong);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.3;
}

.staff-calendar-event-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-self: end;
  gap: 0.5rem;
  min-width: 0;
  text-align: left;
}

.staff-calendar-event-actions strong {
  min-width: 0;
  color: var(--brand-navy);
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}

.staff-calendar-event-actions .primary-button,
.staff-calendar-event-actions .secondary-button {
  width: 100%;
  min-height: 2.2rem;
  justify-content: center;
  padding: 0.45rem 0.7rem;
  border-radius: 8px;
  font-size: 0.82rem;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

.segmented-control.compact button {
  min-width: 4.5rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.65rem;
}

@media (max-width: 1120px) {
  .deadline-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .shared-document-workflow-role-card,
  .shared-document-workflow-role-detail {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .shared-document-workflow-role-detail .primary-button {
    justify-content: center;
    width: 100%;
    white-space: normal;
  }

  .student-timeline-calendar-hero,
  .student-timeline-agenda-item,
  .student-timeline-scope-trail,
  .student-timeline-evidence-handoff,
  .student-timeline-review-note,
  .student-timeline-worklist-snapshot,
  .student-timeline-closeout-strip,
  .student-timeline-decision-header,
  .student-timeline-evidence-queue-header,
  .student-timeline-attention-item {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .student-timeline-evidence-queue-header {
    flex-direction: column;
  }

  .student-timeline-evidence-queue-header small {
    max-width: none;
    text-align: left;
  }

  .student-timeline-decision-header > span {
    max-width: none;
  }

  .student-timeline-scope-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
  }

  .student-timeline-decision-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-timeline-evidence-queue-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .student-timeline-calendar-hero .primary-button,
  .student-timeline-calendar-hero .secondary-button,
  .student-timeline-agenda-item .primary-button,
  .student-timeline-agenda-item .secondary-button,
  .student-timeline-evidence-handoff .secondary-button,
  .student-timeline-review-note .primary-button,
  .student-timeline-evidence-queue-card .primary-button,
  .student-timeline-evidence-queue-card .secondary-button,
  .student-timeline-attention-item .secondary-button {
    justify-content: center;
    width: 100%;
    white-space: normal;
  }

  .student-timeline-agenda-header,
  .student-timeline-advanced > summary {
    align-items: stretch;
    flex-direction: column;
  }

  .deadline-roster-summary-grid,
  .deadline-cascade-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-deadline-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-director-worklist {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-deadline-day-plan-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-deadline-status-lanes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-deadline-day-plan-header {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-deadline-review-details summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-deadline-review-details-action {
    justify-self: start;
    white-space: normal;
  }

  .deadline-cascade-evidence-queue-header {
    align-items: stretch;
    flex-direction: column;
  }

  .deadline-cascade-evidence-queue-header small {
    max-width: none;
    text-align: left;
  }

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

  .dashboard-director-worklist-packet {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-roster-filter-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-roster-queue-card,
  .dashboard-deadline-status,
  .deadline-cascade-action-card,
  .deadline-roster-scope-strip,
  .deadline-roster-handoff,
  .deadline-roster-evidence-scope,
  .deadline-roster-source-trail,
  .deadline-roster-closeout-packet {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-cascade-evidence-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-cascade-list-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .deadline-cascade-list-toolbar > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .deadline-cascade-action-plan {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-cascade-action-plan-grid,
  .student-timeline-scope-grid,
  .student-timeline-worklist-grid,
  .student-timeline-confidence-strip,
  .student-timeline-closeout-grid,
  .student-timeline-decision-steps,
  .deadline-cascade-review-packet,
  .deadline-cascade-review-packet-grid,
  .deadline-cascade-worklist-snapshot,
  .deadline-cascade-worklist-snapshot-grid,
  .deadline-cascade-source-detail,
  .deadline-cascade-source-detail.compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-cascade-checklist,
  .deadline-cascade-action-steps,
  .deadline-cascade-card-checklist {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-roster-handoff-grid,
  .deadline-roster-closeout-grid,
  .deadline-evidence-comparison-row,
  .deadline-evidence-row-detail dl,
  .deadline-cascade-evidence-queue-meta div,
  .deadline-cascade-evidence-source-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .deadline-cascade-review-packet-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .deadline-roster-queue-card .primary-button,
  .deadline-roster-queue-card .secondary-button,
  .deadline-cascade-action-card .primary-button,
  .deadline-cascade-action-card .secondary-button {
    justify-content: center;
    width: 100%;
    white-space: normal;
  }

  .deadline-cascade-workflow-launch {
    max-width: none;
    min-width: 0;
  }

  .deadline-roster-actions {
    justify-self: stretch;
    min-width: 0;
  }

  .deadline-closeout-readiness-card .secondary-button {
    white-space: normal;
  }

  .staff-calendar-header {
    align-items: stretch;
    flex-direction: column;
  }

  .staff-calendar-nav {
    justify-content: space-between;
  }

  .calendar-today-button {
    justify-content: center;
  }

  .staff-calendar-weekdays {
    display: none;
  }

  .staff-calendar-grid,
  .staff-calendar-grid.week {
    grid-template-columns: minmax(0, 1fr);
  }

  .staff-calendar-grid.month .staff-calendar-day.outside-month {
    display: none;
  }

  .staff-calendar-grid.week .staff-calendar-day,
  .staff-calendar-grid.day .staff-calendar-day {
    min-height: 9rem;
  }
}

.field-label,
.editor-label {
  display: grid;
  gap: 0.45rem;
  align-content: start;
  min-width: 0;
}

.field-label {
  pointer-events: auto;
}

label.field-label {
  pointer-events: none;
}

label.field-label > * {
  pointer-events: auto;
}

label.field-label > span {
  justify-self: start;
  max-width: 100%;
}

.editor-label {
  gap: 0.75rem;
  padding: 0.7rem 0.25rem;
}

.field-label > span {
  display: block;
  color: var(--text-strong);
  font-weight: 700;
  line-height: 1.35;
}

.compact-grid .field-label > span {
  min-height: 2.45rem;
  display: flex;
  align-items: flex-end;
}

.narrative-editor-field {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  position: relative;
  isolation: isolate;
}

.narrative-editor-field > span {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0 0.15rem;
  background: linear-gradient(180deg, rgba(243, 248, 253, 0.96), rgba(243, 248, 253, 0.9));
  border-radius: var(--radius-xs);
}

.editor-section-stack {
  gap: 1.2rem;
}

.editor-label-head {
  display: grid;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0.25rem 0.35rem 0.1rem;
  align-content: start;
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, rgba(243, 248, 253, 0.96), rgba(243, 248, 253, 0.88));
  border-radius: var(--radius-sm);
}

.editor-label-title {
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
}

.editor-collab-note {
  color: var(--brand-blue);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
  min-height: 1.1rem;
}

.field-input,
.entry-textarea,
.editor-textarea {
  width: 100%;
  border: 2px solid rgba(22, 50, 79, 0.48);
  border-radius: var(--radius-md);
  padding: 0.85rem 0.95rem;
  background: #ffffff;
  color: var(--text-strong);
  box-shadow:
    0 10px 22px rgba(22, 50, 79, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]),
textarea,
.field-input:not(select),
.entry-textarea,
.editor-textarea,
.shared-structured-wrap-input,
.shared-other-custom-detail-input,
[contenteditable="true"] {
  cursor: text;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

select,
select.field-input {
  cursor: pointer;
  pointer-events: auto;
  user-select: auto;
  -webkit-user-select: auto;
}

.field-label > .field-input,
.field-label > .entry-textarea,
.field-label > .editor-textarea,
.field-label > .quill-editor-host,
.field-label > .chip-row,
.field-label > .checkbox-row,
.field-label > .shared-structured-checklist,
.field-label > .shared-structured-segmented,
.field-label > .shared-structured-table-control,
.field-label > .shared-structured-rich-text-control,
.field-label > .evaluation-report-team-roster-control,
.field-label > .evaluation-report-lea-contact-control {
  pointer-events: auto;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.field-input:focus,
.entry-textarea:focus,
.editor-textarea:focus {
  border-color: rgba(20, 67, 112, 0.88);
  box-shadow:
    0 0 0 3px rgba(15, 45, 86, 0.42),
    0 14px 30px rgba(8, 25, 47, 0.26);
  outline: none;
}

.entry-textarea,
.editor-textarea {
  min-height: 130px;
  resize: vertical;
}

.field-label > .field-input,
.field-label > .entry-textarea,
.field-label > .editor-textarea,
.field-label > .quill-editor-host {
  margin-top: 0.1rem;
}

.assessment-section-block {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid rgba(22, 50, 79, 0.16);
  border-radius: var(--radius-md);
  background: rgba(247, 250, 253, 0.78);
}

.assessment-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  flex-wrap: wrap;
  padding-bottom: 0.15rem;
}

.assessment-section-heading strong {
  color: var(--text-strong);
  font-size: 1rem;
}

.assessment-section-heading span {
  flex: 1 1 24rem;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.assessment-participation-widget {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.assessment-widget-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  flex-wrap: wrap;
}

.assessment-widget-header strong {
  color: var(--text-strong);
  font-size: 0.98rem;
}

.assessment-widget-header span {
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.assessment-widget-table {
  display: grid;
  overflow-x: auto;
  border: 1px solid rgba(22, 50, 79, 0.18);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.assessment-widget-row {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(8rem, 0.9fr) minmax(12rem, 1.1fr) minmax(12rem, 1.1fr) minmax(14rem, 1.3fr);
  gap: 0.55rem;
  align-items: start;
  min-width: 920px;
  padding: 0.55rem;
  border-top: 1px solid rgba(22, 50, 79, 0.12);
}

.assessment-widget-row:first-child {
  border-top: 0;
}

.assessment-widget-group {
  display: grid;
  border-top: 1px solid rgba(22, 50, 79, 0.16);
}

.assessment-widget-group:first-of-type {
  border-top: 0;
}

.assessment-widget-group-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 920px;
  padding: 0.6rem 0.55rem;
  background: rgba(22, 50, 79, 0.055);
}

.assessment-widget-group-row strong {
  color: var(--text-strong);
  font-size: 0.9rem;
}

.assessment-widget-group-row label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assessment-widget-group-row .field-input {
  width: min(22rem, 48vw);
  padding-block: 0.55rem;
}

.assessment-widget-head {
  align-items: center;
  background: rgba(22, 50, 79, 0.08);
  color: var(--text-strong);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assessment-widget-assessment {
  color: var(--text-strong);
  font-weight: 800;
}

.assessment-widget-pathway {
  color: var(--text-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.assessment-widget-textarea {
  width: 100%;
  min-height: 44px;
  resize: vertical;
  border: 1px solid rgba(22, 50, 79, 0.38);
  border-radius: var(--radius-sm);
  padding: 0.55rem 0.65rem;
  color: var(--text-strong);
  background: #ffffff;
}

.assessment-widget-row .field-input,
.assessment-widget-textarea {
  box-shadow: none;
}

.state-widget-board {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid rgba(22, 50, 79, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.86);
}

.state-widget-board-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.state-widget-board-header > div {
  display: grid;
  gap: 0.2rem;
}

.state-widget-board-header strong {
  color: var(--text-strong);
  font-size: 1rem;
}

.state-widget-board-header span:not(.section-pill) {
  color: var(--text-muted);
  font-size: 0.84rem;
}

.state-widget-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 0.75rem;
}

.state-workflow-card {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 0.7rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid rgba(22, 50, 79, 0.13);
  border-radius: var(--radius-xs);
  background: rgba(246, 250, 253, 0.92);
}

.state-workflow-copy {
  display: grid;
  gap: 0.25rem;
}

.state-workflow-copy strong {
  color: var(--text-strong);
  font-size: 0.9rem;
}

.state-workflow-copy small {
  color: #4b6075;
  font-size: 0.82rem;
  line-height: 1.35;
}

.state-workflow-field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.state-workflow-field > span {
  color: var(--text-strong);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.state-workflow-field .field-input {
  width: 100%;
  min-width: 0;
  min-height: 2.7rem;
  padding-right: 2.2rem;
  text-overflow: ellipsis;
}

.state-workflow-actions {
  display: flex;
  justify-content: flex-start;
}

.state-widget-jump {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(36, 91, 133, 0.32);
  border-radius: var(--radius-xs);
  color: var(--brand-navy);
  background: #ffffff;
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}

.state-widget-jump:hover {
  border-color: rgba(36, 91, 133, 0.52);
  background: rgba(225, 238, 250, 0.72);
}

.field-label-heading,
.iep-page-header-meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.field-label-heading {
  justify-content: space-between;
  position: relative;
}

.iep-page-header-meta {
  justify-content: space-between;
}

.field-label-heading-main,
.iep-page-header-meta > span {
  min-width: 0;
}

.field-label-heading-main {
  align-items: center;
  display: inline-flex;
  flex: 1 1 18rem;
  gap: 0.65rem;
}

.field-label-heading-copy,
.document-box-heading-copy {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.field-label-heading-copy small,
.document-box-heading-copy small {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.28;
}

.field-label-heading-action {
  flex: 0 0 auto;
  margin-left: auto;
  min-width: 0;
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  pointer-events: auto;
}

.field-import-button {
  font-size: 0.8rem;
  padding: 0.4rem 0.65rem;
  position: relative;
  z-index: 21;
  pointer-events: auto;
  user-select: none;
  white-space: nowrap;
  max-width: min(100%, 18rem);
}

.field-sync-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.18rem 0.55rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(22, 50, 79, 0.12);
  background: rgba(225, 238, 250, 0.75);
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.field-label-heading .field-sync-badge {
  position: static;
  transform: none;
}

.iep-page-header-meta .field-sync-badge {
  flex: 0 0 auto;
}

.field-sync-badge.is-live {
  background: rgba(225, 238, 250, 0.75);
  color: var(--brand-blue);
}

.field-sync-badge.is-syncing {
  background: rgba(255, 239, 190, 0.85);
  color: #8a5c00;
}

.field-sync-badge.is-synced {
  background: rgba(220, 245, 228, 0.92);
  color: #1c6a37;
}

.field-sync-badge.is-rebased {
  background: rgba(255, 226, 228, 0.92);
  color: #a73d48;
}

.quill-editor-host {
  display: grid;
  align-content: start;
  min-width: 0;
  position: relative;
  z-index: 1;
  border-radius: var(--radius-md);
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.quill-editor-host > div {
  display: grid;
  align-content: stretch;
  min-width: 0;
  min-height: inherit;
  width: 100%;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.narrative-editor-field > .quill-editor-host {
  position: relative;
  z-index: 1;
}

.quill-editor-host .ql-container.ql-snow {
  border: 2px solid rgba(22, 50, 79, 0.48);
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: #ffffff;
  color: var(--text-strong);
  font-family: "Aptos", "Segoe UI", sans-serif;
  box-shadow: 0 10px 22px rgba(22, 50, 79, 0.13);
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  height: auto;
  min-height: 190px;
  overflow: hidden;
  cursor: text;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.quill-editor-host .ql-toolbar.ql-snow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
  border: 2px solid rgba(22, 50, 79, 0.48);
  border-bottom: 1px solid rgba(22, 50, 79, 0.18);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: linear-gradient(180deg, #eef6fd 0%, #ddebf7 100%);
  padding: 0.38rem 0.5rem;
  position: relative;
  z-index: 1;
  overflow: visible;
  transition:
    max-height 160ms ease,
    opacity 140ms ease,
    padding 160ms ease,
    border-color 120ms ease,
    transform 160ms ease;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-formats {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  margin-right: 0;
  white-space: nowrap;
  padding-right: 0.32rem;
  border-right: 1px solid rgba(22, 50, 79, 0.18);
}

.quill-editor-host .ql-toolbar.ql-snow .ql-formats:last-child {
  border-right: 0;
  padding-right: 0;
}

.quill-editor-host .ql-toolbar.ql-snow button,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker {
  flex: 0 0 auto;
}

.quill-editor-host .ql-toolbar.ql-snow button {
  appearance: none;
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  margin: 0;
  padding: 3px;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  transition: background-color 120ms ease, box-shadow 120ms ease;
}

.quill-editor-host .ql-toolbar.ql-snow button,
.quill-editor-host .ql-toolbar.ql-snow button:hover,
.quill-editor-host .ql-toolbar.ql-snow button:focus,
.quill-editor-host .ql-toolbar.ql-snow button:focus-visible,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker:hover,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker.ql-expanded,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker-label,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker-label:hover,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  background: rgba(255, 255, 255, 0.62) !important;
  box-shadow: none !important;
  color: #34495f !important;
  outline: none !important;
}

.quill-editor-host .ql-toolbar.ql-snow button .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button:hover .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button:focus .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button:focus-visible .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker:hover .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-stroke {
  stroke: #34495f !important;
}

.quill-editor-host .ql-toolbar.ql-snow button .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button:hover .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button:focus .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button:focus-visible .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker:hover .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-fill {
  fill: #34495f !important;
}

.quill-editor-host .ql-toolbar.ql-snow button.ql-active,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:hover,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus-visible {
  background: rgba(40, 103, 158, 0.14) !important;
  box-shadow: inset 0 0 0 1px rgba(15, 45, 86, 0.22) !important;
  color: var(--brand-navy) !important;
}

.quill-editor-host .ql-toolbar.ql-snow button.ql-active .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:hover .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus .ql-stroke,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus-visible .ql-stroke {
  stroke: var(--brand-navy) !important;
}

.quill-editor-host .ql-toolbar.ql-snow button.ql-active .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:hover .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus .ql-fill,
.quill-editor-host .ql-toolbar.ql-snow button.ql-active:focus-visible .ql-fill {
  fill: var(--brand-navy) !important;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-formats > button + button {
  margin-left: 0;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-picker {
  height: 24px;
  display: inline-flex;
  align-items: center;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-picker-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 6px;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-size {
  min-width: 68px;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-color,
.quill-editor-host .ql-toolbar.ql-snow .ql-background {
  min-width: 32px;
}

.quill-editor-host .ql-toolbar.ql-snow .ql-picker-options {
  z-index: 9;
  border-color: rgba(20, 67, 112, 0.28);
  border-radius: var(--radius-sm);
  background: #fff;
  box-shadow: 0 12px 28px rgba(8, 25, 47, 0.18);
}

.quill-editor-host .ql-editor {
  box-sizing: border-box;
  flex: 1 1 auto;
  align-self: stretch;
  min-height: inherit;
  height: 100%;
  width: 100%;
  padding: 0.85rem 0.95rem;
  font-size: 1rem;
  line-height: 1.5;
  white-space: pre-wrap;
  cursor: text;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.quill-editor-host:hover .ql-toolbar.ql-snow,
.quill-editor-host:hover .ql-container.ql-snow {
  border-color: rgba(15, 45, 86, 0.72);
}

.quill-editor-host:hover .ql-container.ql-snow {
  box-shadow:
    0 14px 26px rgba(8, 25, 47, 0.16),
    inset 0 0 0 1px rgba(15, 45, 86, 0.18);
}

.quill-editor-host .ql-editor img {
  max-width: min(100%, 600px);
  max-inline-size: min(100%, 600px);
  max-height: 600px;
  height: auto;
  object-fit: contain;
  display: block;
  pointer-events: auto;
}

.quill-editor-host .ql-editor [class^="ql-image-align-"] {
  max-width: min(100%, 600px);
  max-inline-size: min(100%, 600px);
}

.blot-formatter__overlay,
.blot-formatter__toolbar,
.blot-formatter__resize-handle {
  pointer-events: auto;
  z-index: 1000;
}

.blot-formatter__overlay [data-image-resize-limited="true"] {
  background: rgba(255, 248, 230, 0.97) !important;
  border: 1px solid rgba(186, 125, 31, 0.34);
  color: #744b00 !important;
  font-weight: 800;
}

.rich-text-image-upload-input {
  display: none;
}

.locked-quill-editor-host {
  position: relative;
}

.locked-quill-editor-host .ql-toolbar.ql-snow,
.locked-quill-editor-host .ql-container.ql-snow {
  background: rgba(247, 250, 253, 0.98);
  border-color: rgba(117, 72, 26, 0.7);
  box-shadow:
    0 0 0 2px rgba(185, 116, 46, 0.16),
    inset 0 0 0 1px rgba(117, 72, 26, 0.12);
}

.locked-quill-editor-host .ql-toolbar.ql-snow {
  opacity: 0.82;
}

.locked-quill-editor-host .ql-editor {
  cursor: not-allowed;
  opacity: 0.84;
}

.locked-quill-editor-host::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 2px solid rgba(117, 72, 26, 0.78);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 249, 239, 0.18), rgba(255, 255, 255, 0.04));
  pointer-events: none;
}

.locked-quill-editor-host::after {
  content: attr(data-lock-message);
  position: absolute;
  top: 0.55rem;
  right: 0.65rem;
  z-index: 3;
  max-width: min(28rem, calc(100% - 1.3rem));
  padding: 0.38rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--radius-sm);
  background: #533714;
  color: #fff8ed;
  box-shadow: 0 10px 24px rgba(46, 29, 9, 0.22);
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  pointer-events: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.editor-card {
  display: grid;
  gap: 0.45rem;
  padding: 0.95rem;
  border-radius: var(--radius-xl);
  background: var(--surface-panel);
  border: 2px solid rgba(36, 91, 133, 0.2);
  box-shadow:
    0 8px 18px rgba(22, 50, 79, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.pbsp-section-block {
  display: grid;
  gap: 0.85rem;
  padding-block: 0.95rem;
  border-top: 2px solid rgba(36, 91, 133, 0.18);
}

.pbsp-section-block > strong {
  color: var(--text-strong);
  font-size: 1.02rem;
}

.pbsp-section-block:last-child {
  border-bottom: 2px solid rgba(36, 91, 133, 0.18);
}

.fba-editor-stack {
  display: grid;
  gap: 1rem;
}

.fba-section-band {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(236, 244, 252, 0.92), rgba(220, 235, 247, 0.94));
  border: 2px solid rgba(36, 91, 133, 0.18);
  box-shadow: 0 8px 20px rgba(22, 50, 79, 0.06);
  scroll-margin-top: 1rem;
}

.fba-section-band.status-complete {
  background: linear-gradient(180deg, rgba(226, 246, 234, 0.94), rgba(210, 236, 222, 0.96));
  border-color: rgba(45, 128, 83, 0.24);
}

.fba-section-band.status-in-progress {
  background: linear-gradient(180deg, rgba(255, 248, 226, 0.94), rgba(243, 230, 190, 0.96));
  border-color: rgba(169, 121, 30, 0.26);
}

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

.fba-section-heading strong {
  color: var(--text-strong);
  font-size: 1.05rem;
}

.inline-button {
  display: inline;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.docling-progress {
  display: grid;
  gap: 0.35rem;
  margin: 0.15rem 0;
}

.docling-progress-track {
  width: 100%;
  height: 0.72rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(21, 47, 74, 0.12);
  box-shadow: inset 0 1px 3px rgba(21, 47, 74, 0.18);
}

.docling-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2a8f4f, #76c56c);
  transition: width 420ms ease;
}

.docling-progress.status-failed .docling-progress-fill {
  background: linear-gradient(90deg, #b8333f, #e07a82);
}

.docling-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.docling-section-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.5rem;
}

.docling-section-picker .checkbox-row {
  align-items: flex-start;
  min-height: 72px;
  padding: 0.65rem;
}

.docling-section-picker .checkbox-row > span {
  display: grid;
  gap: 0.2rem;
}

.docling-section-picker small {
  color: var(--text-muted);
  font-weight: 500;
  line-height: 1.35;
}

.section-pdf-import {
  align-items: center;
  background: rgba(226, 240, 252, 0.9);
  border: 1px solid rgba(40, 103, 158, 0.22);
  border-radius: 10px;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0.75rem 0 1rem;
  padding: 0.85rem 1rem;
}

.section-pdf-import > div:first-child {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.section-pdf-import small {
  color: var(--text-muted);
  line-height: 1.35;
}

.section-pdf-import-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.section-pdf-import.is-compact {
  flex: 1 1 32rem;
  margin: 0;
  padding: 0.45rem 0.55rem;
  background: rgba(226, 240, 252, 0.72);
  border-color: rgba(40, 103, 158, 0.16);
  border-radius: var(--radius-md);
}

.section-pdf-import.is-compact strong {
  font-size: 0.78rem;
}

.section-pdf-import.is-compact small {
  display: none;
}

.section-pdf-import.is-compact .secondary-button {
  padding: 0.36rem 0.55rem;
  white-space: nowrap;
}

.transition-meta-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.transition-meta-stack .field-label {
  width: 100%;
}

.transition-meta-stack .quill-editor-host .ql-container.ql-snow {
  min-height: 260px;
}

.transition-meta-stack #transition-requirement-check {
  max-width: 38rem;
}

.transition-goal-stack {
  display: grid;
  gap: 1rem;
}

.transition-goal-card {
  display: grid;
  gap: 0.65rem;
  overflow: hidden;
  border: 1px solid rgba(36, 91, 133, 0.24);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(159, 196, 224, 0.98), rgba(139, 183, 216, 0.96));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32);
}

.transition-goal-header-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9rem, 12rem);
  gap: 0;
  border-bottom: 1px solid rgba(36, 91, 133, 0.28);
}

.transition-goal-main,
.transition-courses-field {
  padding: 0.65rem;
}

.transition-goal-main .quill-editor-host .ql-container.ql-snow,
.transition-courses-field .quill-editor-host .ql-container.ql-snow {
  min-height: 64px;
  box-shadow: none;
}

.transition-goal-main .ql-editor,
.transition-courses-field .ql-editor {
  min-height: 42px;
  padding: 0.55rem 0.65rem;
}

.transition-goal-annual-box {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.35rem;
  padding: 0.65rem;
  border-left: 1px solid rgba(36, 91, 133, 0.24);
  color: var(--brand-navy);
  text-align: center;
}

.transition-goal-annual-box label {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  width: 100%;
}

.transition-goal-annual-box strong,
.transition-goal-annual-box small {
  font-size: 0.78rem;
  line-height: 1.15;
}

.transition-goal-annual-box .field-input {
  min-height: 2.6rem;
  padding: 0.45rem 0.55rem;
  font-size: 0.9rem;
  font-weight: 800;
  text-align: center;
  box-shadow: none;
}

.transition-courses-field {
  border-bottom: 1px solid rgba(36, 91, 133, 0.24);
}

.transition-service-table {
  overflow-x: auto;
}

.transition-service-grid {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(130px, 1fr) minmax(130px, 1fr) 9.5rem 9.5rem minmax(190px, 1.35fr) 3.2rem;
  min-width: 980px;
}

.transition-service-head {
  background: rgba(238, 247, 252, 0.92);
  border-bottom: 1px solid rgba(21, 64, 105, 0.34);
}

.transition-service-head span {
  display: grid;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.35rem 0.45rem;
  border-right: 1px solid rgba(21, 64, 105, 0.26);
  color: var(--brand-navy);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
}

.transition-service-row {
  border-bottom: 1px solid rgba(21, 64, 105, 0.26);
}

.transition-service-row:last-child {
  border-bottom: 0;
}

.transition-service-cell {
  min-width: 0;
  padding: 0.3rem;
  border-right: 1px solid rgba(21, 64, 105, 0.2);
}

.transition-service-cell .field-input {
  min-height: 3.2rem;
  padding: 0.45rem 0.5rem;
  font-size: 0.86rem;
  box-shadow: none;
}

.transition-service-cell .quill-editor-host .ql-container.ql-snow {
  min-height: 3.2rem;
  box-shadow: none;
}

.transition-service-cell .ql-editor {
  min-height: 2.35rem;
  padding: 0.45rem 0.5rem;
  font-size: 0.86rem;
  line-height: 1.25;
}

.transition-service-actions {
  display: grid;
  place-items: center;
}

.transition-empty-note {
  margin: 0;
  padding: 0.75rem;
  color: var(--text-muted);
}

.compact-row-action-bar {
  padding: 0 0.65rem 0.65rem;
}

.workflow-status-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.workflow-status-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  width: 100%;
  padding: 0.8rem 0.9rem;
  border-radius: var(--radius-lg);
  border: 2px solid rgba(36, 91, 133, 0.2);
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 8px 18px rgba(22, 50, 79, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
  text-align: left;
  min-width: 0;
}

.workflow-status-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  gap: 0.45rem;
  min-width: 0;
}

.workflow-status-card.status-complete {
  background: linear-gradient(180deg, rgba(201, 232, 211, 0.98), rgba(224, 242, 231, 0.96));
  border-color: rgba(46, 142, 79, 0.42);
}

.workflow-status-card.status-in-progress,
.workflow-status-card.status-needs-review {
  background: linear-gradient(180deg, rgba(243, 225, 165, 0.98), rgba(250, 237, 194, 0.96));
  border-color: rgba(181, 137, 0, 0.44);
}

.workflow-status-card.status-not-started {
  background: linear-gradient(180deg, rgba(242, 205, 207, 0.98), rgba(250, 225, 227, 0.96));
  border-color: rgba(191, 74, 86, 0.44);
}

.workflow-status-card strong,
.workflow-status-card small {
  display: block;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.workflow-status-card small {
  color: var(--text-muted);
  margin-top: 0.2rem;
}

.workflow-status-card.is-clickable {
  cursor: pointer;
  transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.workflow-status-card.is-clickable:hover,
.workflow-status-card.is-clickable:focus-visible {
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px rgba(47, 120, 168, 0.28), 0 10px 22px rgba(22, 50, 79, 0.08);
  outline: none;
}

.workflow-status-copy {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  width: 100%;
}

.workflow-status-detail {
  margin: 0;
  color: #35526c;
  font-size: 0.9rem;
  line-height: 1.35;
  width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.workflow-status-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

.workflow-status-note {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.22rem 0.5rem;
  border-radius: var(--radius-md);
  background: rgba(199, 233, 255, 0.5);
  color: var(--brand-blue);
  font-size: 0.78rem;
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none;
}

.workflow-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 28px;
  padding: 0.25rem 0.7rem;
  border-radius: var(--radius-lg);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.workflow-status-pill,
.field-sync-badge,
.section-pill,
.info-chip,
.checkbox-row,
.iep-section-nav-button,
.primary-button,
.secondary-button {
  border-radius: var(--radius-md);
}

.workflow-status-pill.required {
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-blue);
}

.workflow-status-pill.conditional {
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-blue);
}

.workflow-status-pill.audit {
  background: rgba(36, 91, 133, 0.1);
  color: var(--brand-blue);
}

.workflow-status-card.status-complete {
  box-shadow: inset 0 0 0 1px rgba(89, 173, 114, 0.22);
}

.workflow-status-card.status-in-progress,
.workflow-status-card.status-needs-review {
  box-shadow: inset 0 0 0 1px rgba(212, 173, 36, 0.28);
}

.workflow-status-card.status-not-started {
  box-shadow: inset 0 0 0 1px rgba(215, 111, 104, 0.24);
}

.workflow-status-pill.status-complete {
  background: var(--status-green-bg);
  color: var(--status-green-text);
}

.workflow-status-pill.status-in-progress,
.workflow-status-pill.status-needs-review {
  background: var(--status-yellow-bg);
  color: var(--status-yellow-text);
}

.workflow-status-pill.status-not-started {
  background: var(--status-red-bg);
  color: var(--status-red-text);
}

.editor-compact-card p,
.editor-compact-card small,
.signature-row p,
.signature-row small,
.editor-section-detail {
  margin: 0;
}

.readiness-source-details {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.readiness-source-details summary {
  color: var(--brand-blue);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
}

.editor-section-card {
  padding: 0.8rem;
  border-radius: var(--radius-2xl);
  background: rgba(247, 251, 255, 0.84);
  box-shadow: inset 0 0 0 1px var(--border-soft);
}

.editor-section-header,
.signature-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.9rem;
}

.structured-section {
  display: grid;
  gap: 0.9rem;
}

.section-heading-row,
.row-card-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.85rem;
}

.structured-grid {
  display: grid;
  gap: 0.85rem;
}

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

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

.structured-grid.three-column:has(.compact-rich-field),
.structured-grid.three-column:has(.quill-editor-host),
.structured-grid.four-column:has(.compact-rich-field),
.structured-grid.four-column:has(.quill-editor-host) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.structured-row-card {
  display: grid;
  gap: 0.8rem;
  padding: 0.95rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(184, 212, 235, 0.98), rgba(159, 196, 224, 0.96));
  box-shadow:
    0 14px 32px rgba(22, 50, 79, 0.08),
    inset 0 0 0 1px rgba(36, 91, 133, 0.22);
  transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.structured-row-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(174, 204, 229, 0.99), rgba(145, 185, 216, 0.98));
  box-shadow:
    0 20px 40px rgba(8, 25, 47, 0.18),
    inset 0 0 0 1px rgba(21, 64, 105, 0.32);
}

.special-consideration-card {
  background:
    linear-gradient(180deg, rgba(236, 244, 252, 0.82), rgba(244, 248, 253, 0.92));
  box-shadow:
    0 10px 24px rgba(22, 50, 79, 0.04),
    inset 0 0 0 1px rgba(36, 91, 133, 0.09);
}

.special-consideration-card .field-label > .field-input,
.special-consideration-card .field-label > .entry-textarea,
.special-consideration-card .field-label > .editor-textarea,
.special-consideration-card .field-label > .quill-editor-host {
  background: rgba(255, 255, 255, 0.96);
}

.structured-row-header {
  display: grid;
  gap: 0.2rem;
}

.checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 32px;
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-lg);
  background: rgba(225, 238, 250, 0.92);
  color: var(--brand-navy);
  font-weight: 600;
}

.editor-section-detail {
  color: #5f6f81;
  font-size: 0.84rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.45;
  max-width: 64rem;
}

.section-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0.25rem 0.7rem;
  border-radius: var(--radius-lg);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.section-pill.required,
.section-pill.audit {
  background: rgba(199, 233, 255, 0.5);
  color: var(--brand-blue);
}

.section-pill.source-backed {
  background: rgba(89, 173, 114, 0.16);
  color: var(--status-green-text);
}

.section-pill.ready {
  background: var(--status-green-bg);
  color: var(--status-green-text);
}

.section-pill.conditional {
  background: rgba(212, 173, 36, 0.18);
  color: var(--status-yellow-text);
}

.section-pill.blocker {
  background: rgba(187, 79, 79, 0.14);
  color: #934343;
}

.section-pill.state-local {
  background: rgba(82, 120, 166, 0.14);
  color: #365b86;
}

.qa-gate-panel {
  display: grid;
  gap: 0.65rem;
}

.iep-name-mismatch-alert {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(187, 79, 79, 0.2);
  border-radius: var(--radius-lg);
  background: rgba(255, 247, 242, 0.9);
  color: var(--text-strong);
}

.iep-name-mismatch-alert strong,
.iep-name-mismatch-alert p {
  margin: 0;
}

.iep-name-mismatch-alert p {
  margin-top: 0.25rem;
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
}

.qa-gate-summary {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.75rem;
  padding: 0.8rem;
  border-radius: var(--radius-lg);
  background: rgba(246, 250, 253, 0.86);
  border: 1px solid rgba(36, 91, 133, 0.12);
}

.qa-gate-summary strong,
.qa-gate-summary p {
  margin: 0;
}

.qa-gate-summary p {
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.35;
}

.qa-gate-start-button {
  appearance: none;
  border: 1px solid rgba(36, 91, 133, 0.22);
  border-radius: var(--radius-md);
  background: rgba(217, 236, 255, 0.72);
  color: var(--brand-blue);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  min-height: 2.25rem;
  padding: 0.45rem 0.75rem;
  white-space: nowrap;
}

.qa-gate-start-button:hover,
.qa-gate-start-button:focus-visible {
  border-color: rgba(36, 91, 133, 0.36);
  background: rgba(217, 236, 255, 0.95);
  outline: none;
}

.qa-gate-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: stretch;
  max-height: 18rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.05rem 0.15rem 0.05rem 0;
}

.qa-gate-item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-strong);
  text-align: left;
  overflow: hidden;
}

.qa-gate-item:hover,
.qa-gate-item:focus-within {
  border-color: rgba(36, 91, 133, 0.28);
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.08);
}

.qa-gate-item-severity {
  flex: 0 0 auto;
  padding: 0.2rem 0.45rem;
  border-radius: var(--radius-sm);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0;
}

.qa-gate-item-copy {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.qa-gate-item-copy strong {
  font-size: 0.9rem;
  line-height: 1.25;
}

.qa-gate-item-copy small {
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  display: block;
  max-width: 100%;
  overflow: visible;
  overflow-wrap: anywhere;
  white-space: normal;
}

.qa-gate-item-action {
  align-self: flex-start;
  appearance: none;
  border: 0;
  background: transparent;
  flex: 0 0 auto;
  color: var(--brand-blue);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  padding: 0.1rem 0;
  text-align: right;
}

.qa-gate-item-action:focus-visible {
  outline: 2px solid rgba(36, 91, 133, 0.36);
  outline-offset: 3px;
}

.qa-gate-item.severity-blocker .qa-gate-item-severity {
  background: rgba(187, 79, 79, 0.14);
  color: #934343;
}

.qa-gate-item.severity-missing .qa-gate-item-severity {
  background: rgba(212, 173, 36, 0.18);
  color: var(--status-yellow-text);
}

.qa-walkthrough-bar {
  position: sticky;
  top: 3.8rem;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.08);
  backdrop-filter: blur(10px);
}

.qa-walkthrough-copy {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.qa-walkthrough-copy div {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

.qa-walkthrough-copy strong,
.qa-walkthrough-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qa-walkthrough-copy strong {
  color: var(--text-strong);
  font-size: 0.88rem;
  line-height: 1.2;
}

.qa-walkthrough-copy small {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.qa-walkthrough-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.qa-walkthrough-actions .primary-button,
.qa-walkthrough-actions .secondary-button {
  min-height: 2.2rem;
  padding: 0.45rem 0.7rem;
  border-radius: var(--radius-md);
  box-shadow: none;
}

.qa-walkthrough-actions .primary-button:disabled,
.qa-walkthrough-actions .secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.import-walkthrough-bar {
  position: fixed;
  top: max(5.5rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 40;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  width: min(34rem, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 54px rgba(22, 50, 79, 0.22);
  backdrop-filter: blur(12px);
  overflow: hidden;
}

.import-walkthrough-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  gap: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(36, 91, 133, 0.12);
}

.import-walkthrough-header div,
.import-walkthrough-body,
.import-walkthrough-target-card,
.import-walkthrough-value-card {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.import-walkthrough-header strong,
.import-walkthrough-header small,
.import-walkthrough-target-card strong,
.import-walkthrough-target-card small,
.import-walkthrough-target-card p,
.import-walkthrough-value-card strong,
.import-walkthrough-value-card small,
.import-walkthrough-value-card p {
  margin: 0;
}

.import-walkthrough-header strong {
  color: var(--text-strong);
  font-size: 1rem;
  line-height: 1.25;
}

.import-walkthrough-header small,
.import-walkthrough-target-card small,
.import-walkthrough-value-card small {
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.import-walkthrough-body {
  align-content: start;
  overflow: auto;
  padding-right: 0.15rem;
}

.import-walkthrough-target-card,
.import-walkthrough-value-card,
.import-walkthrough-prerequisite,
.import-walkthrough-review-notes {
  padding: 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-md);
  background: rgba(246, 250, 253, 0.92);
}

.import-walkthrough-prerequisite {
  display: grid;
  gap: 0.25rem;
  border-color: rgba(164, 71, 71, 0.2);
  background: rgba(255, 244, 244, 0.88);
}

.import-walkthrough-prerequisite strong,
.import-walkthrough-prerequisite p {
  margin: 0;
}

.import-walkthrough-prerequisite strong {
  color: #9f3a3a;
  font-size: 0.84rem;
}

.import-walkthrough-prerequisite p {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.38;
}

.import-walkthrough-target-card {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
}

.import-walkthrough-target-card small,
.import-walkthrough-target-card strong,
.import-walkthrough-target-card p {
  grid-column: 1;
}

.import-walkthrough-target-card .secondary-button {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
}

.import-walkthrough-target-card strong,
.import-walkthrough-value-card strong {
  color: var(--text-strong);
  font-size: 0.9rem;
  line-height: 1.25;
}

.import-walkthrough-target-card p,
.import-walkthrough-value-card p,
.import-walkthrough-review-notes li {
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 620;
  line-height: 1.42;
}

.import-walkthrough-value-grid {
  display: grid;
  gap: 0.65rem;
}

.import-walkthrough-value-card.is-suggested {
  border-color: rgba(27, 126, 64, 0.2);
  background: rgba(236, 250, 241, 0.86);
}

.import-walkthrough-review-notes summary {
  color: var(--text-strong);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
}

.import-walkthrough-review-notes ul {
  display: grid;
  gap: 0.35rem;
  margin: 0.6rem 0 0;
  padding-left: 1.1rem;
}

.import-walkthrough-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.import-walkthrough-actions .primary-button,
.import-walkthrough-actions .secondary-button {
  min-height: 2.2rem;
  padding: 0.45rem 0.7rem;
  border-radius: var(--radius-md);
  box-shadow: none;
  white-space: nowrap;
}

.import-walkthrough-actions .primary-button:disabled,
.import-walkthrough-actions .secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.source-import-status-button {
  appearance: none;
  min-height: 2.25rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(27, 126, 64, 0.22);
  border-radius: var(--radius-md);
  background: rgba(226, 246, 235, 0.92);
  color: #1b7e40;
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
}

.source-import-status-button.is-imported {
  cursor: default;
}

.paperwork-map-page {
  min-width: 0;
}

.paperwork-layer-grid,
.paperwork-detail-grid {
  display: grid;
  gap: 0.85rem;
}

.paperwork-layer-card,
.paperwork-detail-row {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.9rem;
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.88);
  border: 1px solid rgba(22, 50, 79, 0.08);
}

.paperwork-layer-card strong,
.paperwork-layer-card span,
.paperwork-table-cell strong,
.paperwork-table-cell small,
.paperwork-detail-row strong,
.paperwork-detail-row p,
.paperwork-detail-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.paperwork-layer-card span,
.paperwork-table-cell small,
.paperwork-detail-row p {
  color: var(--text-muted);
}

.paperwork-table-cell {
  display: grid;
  gap: 0.25rem;
  min-width: min(22rem, 70vw);
}

.paperwork-detail-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
  min-width: 0;
}

.paperwork-detail-heading > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.paperwork-detail-heading p {
  margin: 0;
  line-height: 1.4;
}

.paperwork-source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.paperwork-source-list a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-xs);
  background: rgba(223, 239, 252, 0.82);
  color: var(--brand-blue);
  font-weight: 700;
}

.paperwork-issue-list {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--text-muted);
  line-height: 1.4;
}

.paperwork-issue-list li {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .overview-primary-grid,
  .overview-secondary-grid {
    grid-template-columns: 1fr;
  }

  .document-finalized-lock-banner {
    grid-template-columns: 1fr;
  }

  .document-finalized-lock-actions {
    justify-content: stretch;
  }

  .document-finalized-lock-actions .primary-button,
  .document-finalized-lock-actions .secondary-button {
    flex: 1 1 10rem;
  }

  .document-lifecycle-details > summary,
  .iep-overview-supporting-tools > summary {
    align-items: flex-start;
  }

  .document-lifecycle-details > summary strong,
  .document-lifecycle-details > summary small,
  .iep-overview-supporting-tools > summary strong,
  .iep-overview-supporting-tools > summary small {
    white-space: normal;
  }

  .qa-walkthrough-bar {
    grid-template-columns: 1fr;
  }

  .qa-walkthrough-actions {
    justify-content: stretch;
  }

  .qa-walkthrough-actions .primary-button,
  .qa-walkthrough-actions .secondary-button {
    flex: 1 1 0;
  }

  .import-walkthrough-bar {
    top: auto;
    left: max(0.75rem, env(safe-area-inset-left));
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    width: auto;
    max-height: calc(100vh - 1.5rem);
  }

  .import-walkthrough-actions {
    flex-wrap: wrap;
    justify-content: stretch;
  }

  .import-walkthrough-actions .primary-button,
  .import-walkthrough-actions .secondary-button {
    flex: 1 1 9rem;
  }

  .import-walkthrough-target-card {
    grid-template-columns: 1fr;
  }

  .import-walkthrough-target-card .secondary-button {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 560px) {
  .iep-name-mismatch-alert {
    grid-template-columns: 1fr;
  }

  .section-pdf-import.is-compact {
    flex: 1 1 100%;
  }

  .field-label-heading-action {
    flex-basis: 100%;
    justify-content: flex-start;
    margin-left: 0;
    min-width: 0;
  }

  .field-import-button {
    max-width: 100%;
    white-space: normal;
  }

  .qa-gate-summary {
    grid-template-columns: 1fr;
  }

  .finalize-readiness-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .finalize-readiness-blocker-link {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .finalize-readiness-card > .primary-button {
    justify-self: stretch;
  }

  .qa-gate-start-button {
    width: 100%;
  }

  .qa-gate-item {
    flex-wrap: wrap;
  }

  .qa-gate-item-severity {
    order: 1;
  }

  .qa-gate-item-copy {
    order: 3;
    flex-basis: 100%;
  }

  .qa-gate-item-action {
    order: 2;
    margin-left: auto;
  }
}

.signature-row {
  padding: 0.9rem 1rem;
  border-radius: var(--radius-xl);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--border-soft);
}

.field-jump-highlight {
  outline: 3px solid rgba(36, 91, 133, 0.35);
  outline-offset: 4px;
  border-radius: var(--radius-md);
  transition: outline-color 0.2s ease;
}

.walkthrough-target-highlight {
  position: relative;
  outline: 3px solid rgba(19, 83, 131, 0.78);
  outline-offset: 5px;
  border-radius: var(--radius-md);
  box-shadow: 0 0 0 7px rgba(130, 202, 255, 0.2), 0 14px 34px rgba(22, 50, 79, 0.18);
}

.walkthrough-target-highlight::before {
  content: attr(data-walkthrough-target);
  position: absolute;
  top: -0.85rem;
  left: 0.75rem;
  z-index: 8;
  padding: 0.2rem 0.45rem;
  border-radius: var(--radius-sm);
  background: var(--brand-blue);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(22, 50, 79, 0.16);
}

.iep-page.walkthrough-target-highlight::before {
  content: none;
}

.accepted-import-review-panel {
  display: grid;
  gap: 0.7rem;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-lg);
  background: rgba(240, 248, 255, 0.92);
}

.accepted-import-review-list {
  display: grid;
  gap: 0.55rem;
}

.accepted-import-review-card {
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.9);
}

.accepted-import-review-card small,
.accepted-import-review-card strong,
.accepted-import-review-card p {
  margin: 0;
}

.accepted-import-review-card small {
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: 850;
}

.accepted-import-review-card strong {
  color: var(--text-strong);
  font-size: 0.9rem;
}

.accepted-import-review-card p {
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 620;
  line-height: 1.42;
  white-space: pre-wrap;
}

.iep-form-stack {
  gap: 1.2rem;
}

.iep-page-turn-shell {
  display: grid;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  align-items: start;
  align-content: start;
}

.iep-page-turn-stage {
  grid-area: 1 / 1;
  display: grid;
  gap: 0.85rem;
  position: relative;
  align-self: start;
  width: 100%;
  will-change: transform, opacity, filter;
}

.iep-page-turn-stage:not(:first-child) {
  z-index: 1;
}

.iep-page-step-controls {
  display: grid;
  grid-template-columns: minmax(8.5rem, max-content) minmax(0, 1fr) minmax(8.5rem, max-content);
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 24px rgba(31, 45, 61, 0.05);
}

.iep-document-sticky-nav {
  position: sticky;
  top: 0.65rem;
  z-index: 60;
  display: grid;
  gap: 0.45rem;
  align-self: start;
  isolation: isolate;
}

.iep-document-sticky-nav .iep-section-nav,
.iep-document-sticky-nav .iep-page-step-controls.is-sticky {
  position: static;
  top: auto;
  z-index: auto;
}

.iep-document-sticky-nav .iep-section-nav-header {
  box-shadow:
    0 18px 38px rgba(9, 25, 47, 0.22),
    inset 0 0 0 1px rgba(163, 201, 240, 0.24);
}

.iep-document-sticky-nav .iep-page-step-controls.is-sticky {
  border-color: rgba(22, 50, 79, 0.1);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(16px);
  box-shadow:
    0 16px 34px rgba(9, 25, 47, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.64);
}

.iep-page-step-controls.is-sticky,
.iep-form-stack.is-section-workspace > .iep-page-step-controls:not(.is-bottom) {
  position: sticky;
  top: 4.95rem;
  z-index: 29;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  box-shadow:
    0 18px 38px rgba(22, 50, 79, 0.16),
    inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.iep-page-step-controls.is-bottom {
  margin-top: 0.25rem;
}

.iep-page-step-controls .primary-button,
.iep-page-step-controls .secondary-button {
  min-height: 2.35rem;
  padding: 0.5rem 0.85rem;
  border-radius: var(--radius-md);
  box-shadow: none;
}

.iep-page-step-controls .primary-button:disabled,
.iep-page-step-controls .secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.iep-page-step-status {
  display: grid;
  gap: 0.12rem;
  justify-items: center;
  min-width: 0;
  color: var(--text-strong);
  text-align: center;
}

.iep-page-step-status strong {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.iep-page-step-status span {
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.iep-page {
  display: grid;
  gap: 0.85rem;
  scroll-margin-top: 8rem;
}

.iep-page-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.iep-page-header h3,
.iep-page-header span {
  margin: 0;
}

.iep-page-header span {
  color: var(--text-muted);
  font-size: 0.9rem;
}

.iep-form-card {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border-radius: var(--radius-2xl);
  background: linear-gradient(180deg, rgba(184, 212, 235, 0.98), rgba(159, 196, 224, 0.96));
  box-shadow:
    0 18px 40px rgba(22, 50, 79, 0.12),
    inset 0 0 0 1px rgba(36, 91, 133, 0.22);
}

.iep-document-control-card {
  gap: 0.8rem;
  padding: 1rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(236, 246, 255, 0.98), rgba(211, 231, 247, 0.96));
  color: var(--text-strong);
  font-size: 0.92rem;
  box-shadow:
    0 16px 34px rgba(22, 50, 79, 0.12),
    inset 0 0 0 1px rgba(36, 91, 133, 0.2);
}

.iep-document-title-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.76);
  color: var(--brand-navy);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.14);
  line-height: 1.2;
}

.iep-document-title-main {
  display: grid;
  flex: 0 0 auto;
  gap: 0.2rem;
  min-width: 9rem;
}

.iep-document-title-bar strong {
  font-size: 1rem;
  font-weight: 800;
}

.iep-document-title-bar span {
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 700;
  white-space: nowrap;
}

.iep-document-section-heading {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.2rem;
  color: var(--brand-navy);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.iep-document-section-heading::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(36, 91, 133, 0.18);
}

.iep-document-control-card .structured-grid {
  gap: 0.55rem 1rem;
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.11);
}

.iep-document-control-card .structured-grid.four-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iep-document-control-card .field-label {
  grid-template-columns: minmax(9rem, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
  min-height: 2.1rem;
}

.iep-document-control-card .field-label > span,
.iep-document-control-card .compact-grid .field-label > span {
  display: block;
  min-height: 0;
  color: var(--brand-navy);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
}

.iep-document-control-card .field-input,
.iep-document-control-card .quill-editor-host .ql-container.ql-snow {
  border: 0;
  border-bottom: 1px solid rgba(36, 91, 133, 0.38);
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
  background: rgba(255, 255, 255, 0.24);
  box-shadow: none;
  color: var(--text-strong);
}

.iep-document-control-card .field-input {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
  line-height: 1.2;
}

.iep-document-control-card select.field-input {
  appearance: auto;
}

.iep-document-control-card .quill-editor-host {
  min-height: 2rem;
  border-radius: var(--radius-xs);
}

.iep-document-control-card .quill-editor-host .ql-container.ql-snow {
  min-height: 2rem;
  overflow: visible;
}

.iep-document-control-card .quill-editor-host .ql-editor {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
  font-size: 0.92rem;
  line-height: 1.25;
}

.iep-document-control-card .single-line-quill-editor-host .ql-container.ql-snow,
.iep-document-control-card .single-line-quill-editor-host .ql-editor {
  min-height: 2rem;
}

.iep-document-control-card .field-input:hover,
.iep-document-control-card .quill-editor-host:hover .ql-container.ql-snow {
  background: rgba(218, 235, 248, 0.38);
  border-bottom-color: var(--brand-blue);
}

.iep-document-control-card .field-input:focus,
.iep-document-control-card .quill-editor-host:focus-within .ql-container.ql-snow {
  border: 1px solid rgba(20, 67, 112, 0.88);
  border-radius: var(--radius-xs);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.18);
}

.iep-document-control-card > .field-label {
  grid-template-columns: minmax(13rem, max-content) minmax(0, 1fr);
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.11);
}

.iep-document-control-card > .field-label .quill-editor-host .ql-container.ql-snow,
.iep-document-control-card > .field-label .quill-editor-host .ql-editor {
  min-height: 3.2rem;
}

.iep-revision-note {
  color: var(--text-muted);
  font-size: 0.84rem;
  line-height: 1.25;
}

.iep-revision-table {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.55);
  color: var(--text-strong);
  font-size: 0.82rem;
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.18);
}

.iep-revision-table > div,
.iep-revision-table > label {
  min-height: 2.1rem;
  margin: 0;
  padding: 0.35rem 0.55rem;
  border-right: 1px solid rgba(36, 91, 133, 0.16);
  border-bottom: 1px solid rgba(36, 91, 133, 0.16);
}

.iep-revision-table > div:nth-child(-n + 3) {
  text-align: center;
  font-weight: 800;
}

.iep-revision-table .field-label {
  display: block;
}

.iep-revision-table .field-input {
  border-bottom: 0;
  text-align: center;
}

.iep-revision-date-value {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-strong);
  font-weight: 700;
}

.iep-form-stack.is-section-workspace .iep-page.is-inactive {
  display: none;
}

.iep-form-stack.is-section-workspace .iep-page.is-active {
  display: grid;
}

.iep-section-nav {
  position: sticky;
  top: 0.65rem;
  z-index: 30;
  display: block;
  padding: 0;
  border-radius: var(--radius-xl);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow: visible;
}

.iep-section-nav[open] {
  z-index: 40;
}

.iep-section-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  list-style: none;
  padding: 0.7rem 0.85rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(26, 69, 122, 0.96), rgba(18, 52, 95, 0.98));
  box-shadow:
    0 12px 28px rgba(22, 50, 79, 0.07),
    inset 0 0 0 1px rgba(163, 201, 240, 0.2);
  backdrop-filter: blur(12px);
}

.iep-section-nav-header::-webkit-details-marker {
  display: none;
}

.iep-section-nav-header strong,
.iep-section-nav-header span {
  margin: 0;
}

.iep-section-nav-title-group {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  flex: 1 1 auto;
}

.iep-section-nav-header strong {
  font-size: 1rem;
  color: #f7fbff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.iep-section-nav-title-group small {
  color: rgba(223, 236, 250, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.iep-section-nav-header span {
  color: rgba(223, 236, 250, 0.88);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.iep-section-nav-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0.28rem;
  border-radius: var(--radius-lg);
  background: rgba(217, 236, 255, 0.18);
  color: #f7fbff;
  flex: 0 0 auto;
  transition: transform 140ms ease, background 140ms ease;
}

.iep-section-nav[open] .iep-section-nav-plus {
  transform: rotate(45deg);
  background: rgba(217, 236, 255, 0.24);
}

.iep-section-nav-list {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
  padding: 0.8rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(145deg, rgba(22, 60, 108, 0.98), rgba(15, 45, 86, 0.99));
  box-shadow:
    0 18px 40px rgba(42, 33, 25, 0.12),
    inset 0 0 0 1px rgba(173, 209, 245, 0.18);
  backdrop-filter: blur(14px);
}

.iep-section-nav-button {
  display: grid;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  min-height: 2.2rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(173, 209, 245, 0.16);
  border-radius: var(--radius-lg);
  background: rgba(236, 245, 255, 0.12);
  color: #f7fbff;
  cursor: pointer;
  text-align: center;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease,
    background 160ms ease;
}

.iep-section-nav-button:hover,
.iep-section-nav-button:focus-visible,
.iep-section-nav-button.is-active {
  transform: translateY(-1px);
  border-color: rgba(198, 226, 252, 0.34);
  background: rgba(236, 245, 255, 0.2);
  box-shadow: 0 6px 14px rgba(8, 25, 47, 0.22);
  outline: none;
}

.iep-section-nav-button.is-active {
  background: rgba(236, 245, 255, 0.28);
  border-color: rgba(198, 226, 252, 0.5);
}

.iep-section-nav-button strong {
  color: rgba(247, 251, 255, 0.82);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
}

.iep-section-nav-button span {
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.15;
}

.iep-report-inline-frame-shell {
  display: grid;
  grid-template-rows: auto minmax(28rem, 64vh);
  min-height: 32rem;
  overflow: hidden;
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #ffffff;
}

.iep-report-inline-frame-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #dbe7f3;
}

.iep-report-inline-frame {
  width: 100%;
  height: 100%;
  border: 0;
  background: #f8fbfd;
}

.shared-document-overview-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 3rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.9);
  color: var(--brand-navy);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(22, 50, 79, 0.06);
  text-align: left;
}

.shared-document-workflow-role-card {
  display: grid;
  grid-template-columns: minmax(18rem, 0.95fr) minmax(20rem, 1.45fr);
  gap: 1rem;
  align-items: stretch;
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-left: 5px solid #2369ff;
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(22, 50, 79, 0.08);
}

.shared-document-workflow-role-copy,
.shared-document-workflow-role-detail {
  min-width: 0;
}

.shared-document-workflow-role-copy {
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

.shared-document-workflow-role-copy h2 {
  margin: 0;
  color: var(--brand-navy);
  font-size: 1.35rem;
  line-height: 1.15;
  letter-spacing: 0;
}

.shared-document-workflow-role-copy p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.shared-document-workflow-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.32rem 0.62rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.1;
}

.shared-document-workflow-status.is-done {
  background: rgba(24, 128, 94, 0.12);
  color: #0f6b4f;
}

.shared-document-workflow-status.is-warning {
  background: rgba(185, 111, 28, 0.14);
  color: #8b5317;
}

.shared-document-workflow-status.is-info {
  background: rgba(35, 105, 255, 0.1);
  color: #1f56c4;
}

.shared-document-workflow-status.is-blocked {
  background: rgba(172, 54, 54, 0.12);
  color: #9a2f2f;
}

.shared-document-workflow-role-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: end;
}

.shared-document-workflow-role-detail dl {
  display: grid;
  gap: 0.6rem;
  margin: 0;
}

.shared-document-workflow-role-detail div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.shared-document-workflow-role-detail dt {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.shared-document-workflow-role-detail dd {
  margin: 0;
  color: var(--text-strong);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
}

.shared-document-workflow-role-detail .primary-button {
  align-self: end;
  white-space: normal;
}

.shared-document-overview-toggle > span:first-child {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.shared-document-overview-toggle strong {
  font-size: 0.95rem;
}

.shared-document-overview-toggle small {
  color: var(--text-muted);
  font-weight: 700;
}

.shared-document-overview-toggle .chip-row {
  justify-content: flex-end;
  flex: 0 0 auto;
}

.shared-document-overview-panels {
  display: grid;
  gap: var(--space-section);
}

.shared-document-overview-panels.is-hidden {
  display: none;
}

.shared-document-draft-grid {
  display: grid;
  align-items: start;
  gap: var(--space-stack);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

.shared-document-draft-grid > section {
  min-width: 0;
}

.shared-document-draft-grid > section:has(.import-suggestion-drawer),
.shared-document-draft-grid > section:has(.cross-document-source-links) {
  grid-column: 1 / -1;
}

.shared-document-draft-grid > section:has(.import-suggestion-drawer) {
  background: linear-gradient(180deg, #ffffff 0%, rgba(247, 251, 255, 0.96) 100%) !important;
}

.source-upload-panel {
  display: grid;
  gap: 0.8rem;
}

.source-upload-panel p {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.45;
}

.source-upload-control {
  display: grid;
  gap: 0.7rem;
  align-items: center;
  grid-template-columns: max-content minmax(0, 1fr);
  padding: 0.7rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.92);
}

.source-upload-native-input {
  display: none;
}

.source-upload-trigger {
  min-height: 2.45rem;
  border-radius: var(--radius-md);
  white-space: nowrap;
}

.source-upload-file-summary {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.source-upload-file-summary strong,
.source-upload-file-summary small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.source-upload-file-summary strong {
  color: var(--text-strong);
  font-size: 0.9rem;
  white-space: nowrap;
}

.source-upload-file-summary small {
  color: var(--text-muted);
  line-height: 1.35;
}

.shared-structured-control-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  margin-top: 0.65rem;
}

.shared-structured-control-grid.is-document-form {
  align-items: start;
  gap: 0.95rem 1.05rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  --document-control-label-min-height: 2.75rem;
  --document-control-subfield-label-min-height: 1.75rem;
}

.shared-structured-control {
  min-width: 0;
}

.shared-structured-control-grid.is-document-form .shared-structured-control {
  align-content: start;
  display: grid;
  gap: 0.35rem;
  grid-column: span 2;
  padding: 0.1rem 0;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-compact,
.shared-structured-control-grid.is-document-form .shared-structured-control-prose {
  grid-column: span 2;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-full,
.shared-structured-control-grid.is-document-form .shared-structured-control-table,
.shared-structured-control-grid.is-document-form .shared-structured-control-checklist,
.shared-structured-control-grid.is-document-form .shared-structured-control-segmented {
  grid-column: 1 / -1;
}

.shared-structured-control-label {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.24rem 0.42rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-label {
  align-content: start;
  align-items: flex-start;
  min-height: var(--document-control-label-min-height);
}

.shared-structured-control-grid.is-document-form .shared-structured-control-label > span:first-child {
  color: var(--brand-navy);
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.24;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-title {
  display: grid;
  gap: 0.22rem;
  max-width: 72rem;
  min-width: 0;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-full > .shared-structured-control-label > .shared-structured-control-title,
.shared-structured-control-grid.is-document-form .shared-structured-control-table > .shared-structured-control-label > .shared-structured-control-title,
.shared-structured-control-grid.is-document-form .shared-structured-control-checklist > .shared-structured-control-label > .shared-structured-control-title,
.shared-structured-control-grid.is-document-form .shared-structured-control-segmented > .shared-structured-control-label > .shared-structured-control-title,
.shared-structured-control-grid.is-document-form .shared-structured-control-prose > .shared-structured-control-label > .shared-structured-control-title {
  font-size: 1.04rem;
  line-height: 1.22;
  padding-left: 0.62rem;
  position: relative;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-full > .shared-structured-control-label > .shared-structured-control-title::before,
.shared-structured-control-grid.is-document-form .shared-structured-control-table > .shared-structured-control-label > .shared-structured-control-title::before,
.shared-structured-control-grid.is-document-form .shared-structured-control-checklist > .shared-structured-control-label > .shared-structured-control-title::before,
.shared-structured-control-grid.is-document-form .shared-structured-control-segmented > .shared-structured-control-label > .shared-structured-control-title::before,
.shared-structured-control-grid.is-document-form .shared-structured-control-prose > .shared-structured-control-label > .shared-structured-control-title::before {
  background: rgba(19, 105, 148, 0.58);
  border-radius: 999px;
  bottom: 0.08rem;
  content: "";
  left: 0;
  position: absolute;
  top: 0.08rem;
  width: 3px;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-helper {
  color: rgba(31, 49, 73, 0.72);
  font-size: 0.78rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.35;
}

.shared-structured-control-grid.is-document-form .shared-structured-control .field-input {
  border: 0;
  border-bottom: 1px solid rgba(36, 91, 133, 0.34);
  border-radius: 3px 3px 0 0;
  background: rgba(255, 255, 255, 0.38);
  box-shadow: none;
  min-height: 2.28rem;
  padding: 0.42rem 0.5rem 0.32rem;
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease;
}

.shared-structured-control-grid.is-document-form .shared-structured-control .field-input:hover {
  background: rgba(255, 255, 255, 0.58);
  border-bottom-color: rgba(36, 91, 133, 0.5);
}

.shared-structured-control-grid.is-document-form .shared-structured-control .field-input:focus {
  border-bottom-color: var(--brand-blue);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 -2px 0 rgba(19, 105, 148, 0.22);
}

.shared-structured-control-grid.is-document-form .shared-structured-control.is-readiness-blocker-target {
  background: rgba(255, 251, 235, 0.94);
  border: 1px solid rgba(202, 117, 27, 0.42);
  border-radius: var(--radius-sm);
  box-shadow: 0 0 0 4px rgba(241, 167, 75, 0.18), 0 12px 26px rgba(65, 45, 20, 0.12);
  outline: 3px solid rgba(202, 117, 27, 0.24);
  outline-offset: 3px;
  padding: 0.68rem;
  position: relative;
  scroll-margin-top: 8rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control.is-readiness-blocker-target::before {
  background: #8b4b10;
  border-radius: var(--radius-sm);
  color: #fff;
  content: attr(data-readiness-target);
  font-size: 0.68rem;
  font-weight: 850;
  left: 0.7rem;
  letter-spacing: 0;
  line-height: 1.2;
  max-width: min(28rem, calc(100% - 1.4rem));
  overflow-wrap: anywhere;
  padding: 0.22rem 0.48rem;
  position: absolute;
  top: -0.82rem;
  z-index: 8;
}

.shared-structured-control-grid.is-document-form .shared-structured-control.is-readiness-blocker-target .field-input,
.shared-structured-control-grid.is-document-form .shared-structured-control.is-readiness-blocker-target .shared-structured-table-fields,
.shared-structured-control-grid.is-document-form .shared-structured-control.is-readiness-blocker-target .notice-recipient-card {
  border-color: rgba(202, 117, 27, 0.5);
}

.shared-structured-control-label .shared-readiness-target-note {
  background: rgba(255, 248, 224, 0.98);
  border-color: rgba(202, 117, 27, 0.34);
  color: #7a3f0b;
}

.shared-structured-control-grid.is-document-form .shared-structured-control .field-input::placeholder {
  color: rgba(70, 91, 118, 0.74);
}

.shared-structured-control-grid.is-document-form .shared-structured-control .shared-structured-wrap-input {
  line-height: 1.34;
  max-height: 8.5rem;
  min-height: 3.2rem;
  overflow-y: auto;
  resize: vertical;
  white-space: pre-wrap;
}

.shared-other-custom-select-control {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.shared-other-custom-detail-input {
  font-style: italic;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-full,
.shared-structured-control-grid.is-document-form .shared-structured-control-table,
.shared-structured-control-grid.is-document-form .shared-structured-control-checklist,
.shared-structured-control-grid.is-document-form .shared-structured-control-segmented {
  padding-top: 0.35rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-table,
.shared-structured-control-grid.is-document-form .shared-structured-control-checklist,
.shared-structured-control-grid.is-document-form .shared-structured-control-segmented {
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(64, 117, 157, 0.13);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
}

.shared-structured-control-label small {
  align-self: flex-start;
  background: rgba(233, 245, 238, 0.95);
  border: 1px solid rgba(89, 173, 114, 0.18);
  border-radius: var(--radius-sm);
  color: #26713a;
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.2;
  max-width: 100%;
  padding: 0.16rem 0.42rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.shared-structured-control-grid.is-document-form .shared-structured-table-fields > .field-label > span:first-child,
.shared-structured-control-grid.is-document-form .pte-mailing-address-field > span:first-child,
.shared-structured-control-grid.is-document-form .report-identity-fields > .field-label > span:first-child,
.shared-structured-control-grid.is-document-form .evaluation-report-team-roster-control .iep-team-member-main > .field-label > span,
.shared-structured-control-grid.is-document-form .evaluation-report-lea-contact-control .iep-team-member-main > .field-label > span {
  align-items: flex-start;
  display: flex;
  line-height: 1.28;
  min-height: var(--document-control-subfield-label-min-height);
}

.shared-structured-control-table,
.shared-structured-control-checklist,
.shared-structured-control:has(.shared-structured-rich-text-control) {
  grid-column: 1 / -1;
}

.shared-structured-control-table .shared-structured-table-fields {
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.pte-mailing-address-control {
  align-items: start;
  background: rgba(255, 255, 255, 0.28);
  border: 1px solid rgba(64, 117, 157, 0.11);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 0.65rem 0.8rem;
  grid-template-columns: minmax(0, 1.55fr) minmax(6.5rem, 0.34fr) minmax(7rem, 0.42fr);
  padding: 0.65rem 0.75rem 0.72rem;
}

.pte-mailing-address-field {
  align-content: start;
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.pte-mailing-address-field.is-parent-guardian-surrogate-name,
.pte-mailing-address-field.is-address-line-1,
.pte-mailing-address-field.is-address-line-2 {
  grid-column: 1 / -1;
}

.pte-mailing-address-field.is-state,
.pte-mailing-address-field.is-zip {
  min-width: 7rem;
}

@media (max-width: 760px) {
  .pte-mailing-address-control {
    grid-template-columns: 1fr;
  }

  .pte-mailing-address-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1080px) {
  .shared-structured-control-grid.is-document-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shared-structured-control-grid.is-document-form .shared-structured-control,
  .shared-structured-control-grid.is-document-form .shared-structured-control-compact,
  .shared-structured-control-grid.is-document-form .shared-structured-control-prose {
    grid-column: span 1;
  }

  .shared-structured-control-grid.is-document-form .shared-structured-control-full,
  .shared-structured-control-grid.is-document-form .shared-structured-control-table,
  .shared-structured-control-grid.is-document-form .shared-structured-control-checklist,
  .shared-structured-control-grid.is-document-form .shared-structured-control-segmented {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .shared-structured-control-grid.is-document-form {
    grid-template-columns: 1fr;
  }

  .shared-structured-control-grid.is-document-form .shared-structured-control,
  .shared-structured-control-grid.is-document-form .shared-structured-control-compact,
  .shared-structured-control-grid.is-document-form .shared-structured-control-prose,
  .shared-structured-control-grid.is-document-form .shared-structured-control-full,
  .shared-structured-control-grid.is-document-form .shared-structured-control-table,
  .shared-structured-control-grid.is-document-form .shared-structured-control-checklist,
  .shared-structured-control-grid.is-document-form .shared-structured-control-segmented {
    grid-column: 1 / -1;
  }

  .shared-structured-control-grid.is-document-form .shared-structured-control-label {
    min-height: var(--document-control-label-min-height);
  }
}

.shared-structured-control .field-input {
  min-height: 2.45rem;
}

.shared-structured-control .shared-structured-textarea {
  line-height: 1.45;
  min-height: 3.45rem;
  resize: vertical;
}

.shared-structured-control-full .shared-structured-textarea {
  min-height: 4.35rem;
}

.shared-structured-control .field-checkbox-input {
  inline-size: 1.15rem;
  block-size: 1.15rem;
  margin: 0.55rem 0.2rem;
  accent-color: var(--brand-blue);
}

.evaluation-report-team-roster-control,
.evaluation-report-lea-contact-control {
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid rgba(64, 117, 157, 0.12);
  border-radius: var(--radius-sm);
  padding: 0.7rem;
}

.evaluation-report-team-roster-control .iep-team-member-card,
.evaluation-report-lea-contact-control .iep-team-member-card {
  background: rgba(255, 255, 255, 0.38);
  border: 1px solid rgba(64, 117, 157, 0.12);
}

.evaluation-report-team-roster-control .iep-team-member-main,
.evaluation-report-lea-contact-control .iep-team-member-main {
  align-items: start;
}

.report-identity-fields {
  align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.report-identity-fields .field-label {
  display: grid;
  gap: 0.22rem;
}

.shared-structured-rich-text-control .quill-editor-host {
  width: 100%;
}

.shared-structured-rich-text-control,
.shared-structured-rich-text-control .quill-editor-host,
.shared-structured-rich-text-control .ql-container.ql-snow,
.shared-structured-rich-text-control .ql-editor {
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.shared-structured-rich-text-control .quill-editor-host .ql-container.ql-snow {
  min-height: 7.25rem;
}

.shared-structured-rich-text-control .quill-editor-host .ql-editor {
  min-height: 6.8rem;
  line-height: 1.45;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-rich-narrative {
  grid-column: 1 / -1;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-rich-narrative .shared-structured-control-label > span:first-child {
  max-width: 70rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-rich-narrative .shared-structured-rich-text-control .quill-editor-host .ql-container.ql-snow {
  min-height: 13.5rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-rich-narrative .shared-structured-rich-text-control .quill-editor-host .ql-editor {
  min-height: 13rem;
}

.shared-progress-bridge-action {
  align-items: center;
  background: rgba(245, 250, 254, 0.95);
  border: 1px solid rgba(64, 117, 157, 0.2);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 0.65rem;
  padding: 0.75rem;
}

.shared-progress-bridge-action p {
  margin: 0.2rem 0;
}

.shared-progress-bridge-action small {
  color: var(--text-muted);
  font-weight: 700;
}

.shared-structured-table-control {
  display: grid;
  gap: 0.6rem;
}

.shared-structured-table-row {
  background: rgba(245, 250, 254, 0.86);
  border: 1px solid rgba(64, 117, 157, 0.18);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 0.55rem;
  padding: 0.65rem;
}

.shared-structured-table-row-header {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.shared-structured-table-row-header strong {
  color: var(--brand-navy);
  font-size: 0.84rem;
}

.shared-structured-table-row-header .secondary-button,
.shared-structured-table-add-row {
  min-height: 2rem;
  padding: 0.38rem 0.62rem;
}

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

.shared-structured-table-fields .field-label:has(.shared-structured-wrap-input) {
  align-self: start;
}

.shared-structured-table-fields:has(.field-checkbox-input) {
  align-items: end;
}

.shared-structured-table-add-row {
  justify-self: start;
}

.notice-recipient-list-control {
  display: grid;
  gap: 0.7rem;
}

.notice-recipient-card {
  background: rgba(245, 250, 254, 0.9);
  border: 1px solid rgba(64, 117, 157, 0.18);
  border-radius: 8px;
  display: grid;
  gap: 0.65rem;
  padding: 0.72rem;
}

.notice-recipient-card-header {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.notice-recipient-card-header strong {
  color: var(--brand-navy);
  font-size: 0.84rem;
}

.notice-recipient-card-header .secondary-button {
  min-height: 2rem;
  padding: 0.38rem 0.62rem;
}

.notice-recipient-fields {
  display: grid;
  gap: 0.58rem 0.72rem;
  grid-template-columns: minmax(12rem, 1.15fr) minmax(9rem, 0.85fr) minmax(13rem, 1fr);
}

.notice-recipient-field {
  align-content: start;
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}

.notice-recipient-field > span:first-child {
  min-height: auto;
}

.notice-recipient-field.is-authority,
.notice-recipient-field.is-mailing-address {
  grid-column: 1 / -1;
}

.notice-recipient-address-input {
  line-height: 1.35;
  min-height: 3.2rem;
  resize: vertical;
}

@media (max-width: 900px) {
  .notice-recipient-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .notice-recipient-field.is-authority,
  .notice-recipient-field.is-mailing-address {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .notice-recipient-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .notice-recipient-fields {
    grid-template-columns: 1fr;
  }

  .notice-recipient-field {
    grid-column: 1 / -1;
  }
}

.shared-structured-checklist,
.shared-structured-segmented {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.shared-structured-checklist .checkbox-row,
.shared-structured-segmented .checkbox-row {
  align-items: flex-start;
  background: rgba(245, 250, 254, 0.95);
  border: 1px solid rgba(64, 117, 157, 0.22);
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  flex: 1 1 16rem;
  font-weight: 540;
  gap: 0.5rem;
  line-height: 1.35;
  padding: 0.55rem 0.7rem;
}

.shared-structured-segmented .checkbox-row.is-selected {
  background: rgba(198, 229, 242, 0.98);
  border-color: rgba(19, 105, 148, 0.5);
  box-shadow: 0 0 0 2px rgba(19, 105, 148, 0.14);
}

.shared-structured-checklist .checkbox-row.is-selected {
  background: rgba(218, 239, 229, 0.98);
  border-color: rgba(42, 133, 88, 0.45);
  box-shadow: 0 0 0 2px rgba(42, 133, 88, 0.12);
}

.shared-structured-control-grid.is-document-form .shared-structured-control-evaluation-checklist {
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(64, 117, 157, 0.16);
  gap: 0.55rem;
  padding: 0.65rem 0.7rem 0.72rem;
}

.shared-structured-control-grid.is-document-form .shared-structured-control-evaluation-checklist .shared-structured-control-label {
  border-bottom: 1px solid rgba(64, 117, 157, 0.16);
  padding-bottom: 0.42rem;
}

.shared-structured-checklist.is-evaluation-checklist {
  display: grid;
  gap: 0.36rem 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
}

.shared-structured-checklist.is-evaluation-checklist .checkbox-row {
  align-items: start;
  background: transparent;
  border-color: rgba(64, 117, 157, 0.18);
  border-radius: 6px;
  box-shadow: none;
  display: grid;
  flex: initial;
  font-weight: 560;
  gap: 0.52rem;
  grid-template-columns: 1rem minmax(0, 1fr);
  min-height: 2.55rem;
  padding: 0.45rem 0.58rem;
}

.shared-structured-checklist.is-evaluation-checklist .checkbox-row input {
  height: 0.95rem;
  margin: 0.13rem 0 0;
  width: 0.95rem;
}

.shared-structured-checklist.is-evaluation-checklist .checkbox-row:hover {
  background: rgba(245, 250, 254, 0.78);
  border-color: rgba(64, 117, 157, 0.32);
}

.shared-structured-checklist.is-evaluation-checklist .checkbox-row.is-selected {
  background: rgba(220, 241, 231, 0.78);
  border-color: rgba(42, 133, 88, 0.36);
  box-shadow: inset 3px 0 0 rgba(42, 133, 88, 0.44);
}

.cross-document-source-links {
  display: grid;
  gap: 0.65rem;
}

.cross-document-source-links.is-compact {
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(64, 117, 157, 0.18);
  border-radius: var(--radius-sm);
  margin-top: 0.75rem;
  padding: 0.65rem 0.75rem;
}

.cross-document-source-links.is-compact .editor-section-header p {
  margin: 0;
}

.cross-document-source-chip-list {
  display: grid;
  gap: 0.55rem;
}

.cross-document-source-chip {
  align-items: flex-start;
  background: rgba(246, 251, 253, 0.94);
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-sm);
  color: var(--brand-navy);
  display: grid;
  gap: 0.6rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.65rem 0.75rem;
}

.cross-document-source-chip.needs-refresh {
  background: rgba(255, 248, 230, 0.96);
  border-color: rgba(186, 125, 31, 0.34);
}

.cross-document-source-chip > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.cross-document-source-chip span,
.cross-document-source-chip small {
  color: var(--text-muted);
}

.import-suggestion-drawer {
  display: grid;
  gap: 0.75rem;
}

.import-source-family-list {
  display: grid;
  gap: 0.55rem;
}

.import-source-family-row {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid rgba(64, 117, 157, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.import-source-family-row > .editor-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
}

.import-source-family-row > .editor-section-header > .button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 0.5rem;
  justify-self: start;
  width: 100%;
}

.import-source-family-row > .editor-section-header > .button-row .secondary-button,
.import-source-family-row > .editor-section-header > .button-row .source-import-status-button {
  width: auto;
  justify-content: center;
}

.import-source-family-row .editor-section-header p {
  margin: 0;
  overflow-wrap: anywhere;
}

.import-suggestion-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.94);
}

.import-suggestion-card > .editor-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.import-suggestion-section-group {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.25rem;
}

.import-suggestion-section-group > .editor-section-header p {
  margin: 0;
}

.import-suggestion-stale-row {
  align-items: center;
  border: 1px solid rgba(186, 125, 31, 0.24);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.65rem;
}

.import-suggestion-stale-row > div {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.import-suggestion-value-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.import-suggestion-value-grid > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.65rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(64, 117, 157, 0.16);
}

.import-suggestion-value-grid p {
  margin: 0;
  overflow-wrap: anywhere;
}

.summary-distribution-drawer {
  display: grid;
  gap: 0.75rem;
}

.summary-distribution-field-list {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.summary-distribution-field-row {
  align-items: flex-start;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.55rem 0.6rem;
  border: 1px solid rgba(64, 117, 157, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.76);
}

.summary-distribution-field-row span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.summary-distribution-release-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.8rem;
  border: 1px solid rgba(36, 91, 133, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(246, 251, 253, 0.94);
}

.summary-distribution-release-card.needs-refresh {
  border-color: rgba(186, 125, 31, 0.34);
  background: rgba(255, 248, 230, 0.96);
}

.alignment-decision-form {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid rgba(64, 117, 157, 0.16);
}

.alignment-decision-form .secondary-button {
  justify-self: start;
}

.alignment-target-picker {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
  padding: 0.55rem;
  border: 1px solid rgba(64, 117, 157, 0.2);
  border-radius: var(--radius-sm);
}

.alignment-target-picker legend {
  padding: 0 0.25rem;
  color: var(--brand-navy);
  font-weight: 800;
}

.alignment-target-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.45rem;
}

.alignment-target-option span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.alignment-target-option small {
  overflow-wrap: anywhere;
}

.shared-narrative-lane-label {
  display: grid;
  gap: 0.16rem;
  margin: 0.35rem 0 0.5rem;
  color: var(--brand-navy);
}

.shared-narrative-lane-label small {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.28;
  max-width: 62rem;
}

.editor-section-card.has-structured-controls .quill-editor-host .ql-editor {
  min-height: 8.5rem;
}

.structured-entry-draft {
  border-left: 3px solid rgba(19, 105, 148, 0.45);
  margin: 0 0 0.85rem;
  padding-left: 0.75rem;
}

.iep-form-table-block {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.iep-form-table-title {
  font-weight: 800;
  color: var(--brand-navy);
}

.iep-report-goal-import-panel {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.56);
}

.iep-report-goal-import-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
}

.iep-report-goal-import-header > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.iep-report-goal-import-header strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
}

.iep-report-goal-import-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.iep-report-goal-import-header small,
.iep-report-goal-import-option small {
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.35;
}

.iep-report-goal-import-list {
  display: grid;
  gap: 0.45rem;
}

.iep-report-goal-import-linked {
  display: grid;
  gap: 0.45rem;
}

.iep-report-goal-import-linked-list {
  display: grid;
  gap: 0.36rem;
}

.iep-report-goal-import-linked-row {
  display: grid;
  gap: 0.18rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 8px;
  background: rgba(246, 250, 253, 0.66);
}

.iep-report-goal-import-linked-row strong {
  color: var(--text-strong);
  font-size: 0.86rem;
  line-height: 1.35;
}

.iep-report-goal-import-linked-row small {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.3;
}

.iep-report-goal-import-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.65rem 0.72rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: 8px;
  background: rgba(246, 250, 253, 0.9);
  cursor: pointer;
}

.iep-report-goal-import-option.is-selected {
  border-color: rgba(31, 91, 137, 0.42);
  background: #eef6fb;
  box-shadow: inset 0 0 0 1px rgba(31, 91, 137, 0.12);
}

.iep-report-goal-import-option input {
  width: 1rem;
  height: 1rem;
  margin-top: 0.16rem;
}

.iep-report-goal-import-option > span {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.iep-report-goal-import-option strong {
  color: var(--text-strong);
  font-size: 0.92rem;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .iep-report-goal-import-header {
    grid-template-columns: 1fr;
  }

  .iep-report-goal-import-header .secondary-button {
    justify-self: start;
  }

  .iep-report-goal-import-actions {
    justify-content: flex-start;
  }
}

.iep-grid-table {
  display: grid;
  gap: 0.2rem;
}

.iep-grid-table-scroll {
  overflow-x: auto;
  padding-bottom: 0.2rem;
}

.iep-grid-table-scroll .iep-grid-table {
  min-width: max-content;
}

.iep-grid-row {
  display: grid;
  gap: 0.5rem;
  padding: 0.7rem;
  border-radius: var(--radius-md);
  background: rgba(232, 242, 251, 0.96);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.22);
}

.iep-grid-header {
  background: linear-gradient(180deg, rgba(225, 238, 250, 0.96), rgba(208, 226, 241, 0.9));
  color: var(--brand-navy);
  font-weight: 700;
}

.iep-signature-grid {
  grid-template-columns: 1.2fr 1fr 1.2fr;
}

.iep-signature-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.iep-grid-cell {
  min-width: 0;
}

.iep-grid-cell .field-input,
.iep-grid-cell select.field-input {
  min-width: 100%;
}

.iep-team-card {
  gap: 1rem;
}

.iep-team-card .field-input,
.iep-team-card .quill-editor-host .ql-container.ql-snow {
  border: 0;
  border-bottom: 1px solid rgba(36, 91, 133, 0.38);
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
  background: rgba(255, 255, 255, 0.18);
  box-shadow: none;
  color: var(--text-strong);
}

.iep-team-card .field-input {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
}

.iep-team-card .quill-editor-host {
  min-height: 2rem;
  border-radius: var(--radius-xs);
  box-shadow: none;
}

.iep-team-card .toolbar-hidden-quill-editor-host .ql-container.ql-snow,
.iep-team-card .single-line-quill-editor-host .ql-container.ql-snow {
  min-height: 2rem;
  border-top: 0;
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}

.iep-team-card .single-line-quill-editor-host .ql-editor,
.iep-team-card .quill-editor-host .ql-editor {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
  font-size: 0.92rem;
  line-height: 1.25;
}

.iep-team-card .field-input:hover,
.iep-team-card .quill-editor-host:hover .ql-container.ql-snow {
  background: rgba(255, 255, 255, 0.36);
  border-bottom-color: var(--brand-blue);
}

.iep-team-card .field-input:focus,
.iep-team-card .quill-editor-host:focus-within .ql-container.ql-snow {
  border: 1px solid rgba(20, 67, 112, 0.88);
  border-radius: var(--radius-xs);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.18);
}

.iep-team-card .quill-editor-host:focus-within {
  box-shadow: none;
}

.iep-team-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.14);
}

.iep-team-toolbar > div {
  display: grid;
  gap: 0.18rem;
  order: 1;
}

.iep-team-send-all-button {
  order: 2;
  white-space: nowrap;
}

.iep-team-toolbar strong {
  color: var(--brand-navy);
  font-size: 1rem;
}

.iep-team-toolbar span {
  color: var(--text-muted);
  font-size: 0.86rem;
}

.iep-team-roster {
  display: grid;
  gap: 0.25rem;
  padding-bottom: 0.2rem;
}

.iep-team-list-header,
.iep-team-member-main {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(17rem, 1.45fr) minmax(6rem, 0.45fr);
  gap: 0.55rem;
  align-items: center;
}

.iep-team-list-header {
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: rgba(255, 255, 255, 0.62);
  color: var(--brand-navy);
  font-size: 0.82rem;
  font-weight: 800;
}

.iep-team-list-header span:nth-child(n + 5) {
  display: none;
}

.iep-team-member-card {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: var(--radius-xs);
  background: rgba(255, 255, 255, 0.34);
  box-shadow: inset 0 -1px 0 rgba(36, 91, 133, 0.13);
}

.iep-team-member-main {
  grid-template-areas:
    "role name signature actions"
    "email phone attendance input";
  grid-template-rows: auto auto;
  padding: 0.65rem 0.75rem;
}

.iep-team-member-main > .field-label,
.iep-team-attendance .field-label {
  gap: 0.28rem;
}

.iep-team-member-main > .field-label:nth-child(1) {
  grid-area: role;
}

.iep-team-member-main > .field-label:nth-child(2) {
  grid-area: name;
}

.iep-team-member-main > .field-label:nth-child(5) {
  grid-area: email;
}

.iep-team-member-main > .field-label:nth-child(6) {
  grid-area: phone;
}

.iep-team-member-main > .field-label:nth-child(7) {
  grid-area: attendance;
}

.iep-team-member-main > .field-label:nth-child(8) {
  grid-area: input;
}

.iep-team-member-main > .field-label:nth-child(7) .field-input,
.iep-team-member-main > .field-label:nth-child(8) .field-input {
  min-width: 100%;
}

.iep-team-member-main > .field-label > span {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.iep-team-attendance {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0.35rem;
}

.iep-team-signature {
  grid-area: signature;
  display: grid;
  grid-template-columns: minmax(5rem, 1fr) auto auto;
  align-items: center;
  gap: 0.35rem 0.55rem;
}

.iep-team-signature small {
  grid-column: 1 / -1;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.iep-team-row-actions {
  grid-area: actions;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.iep-team-add-row {
  display: flex;
  justify-content: flex-start;
  padding: 0.75rem 0.25rem 0.25rem;
}

.iep-team-signature .primary-button,
.iep-team-signature .secondary-button,
.iep-team-row-actions .icon-button {
  min-height: 2.25rem;
}

.iep-team-signature .secondary-button {
  background: transparent;
}

.signature-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.85rem;
  padding: 0.25rem 0.65rem;
  border-radius: var(--radius-lg);
  font-size: 0.8rem;
  font-weight: 800;
}

.signature-status-pill.is-received {
  background: var(--status-green-bg);
  color: var(--status-green-text);
}

.signature-status-pill.is-pending {
  background: var(--status-yellow-bg);
  color: var(--status-yellow-text);
}

.signature-status-pill.is-sent {
  background: #e7f0fb;
  color: #1f5787;
}

.signature-status-pill.is-ready {
  background: #e6f7ed;
  color: #216b3a;
}

.signature-status-pill.is-missing {
  background: #fff3d9;
  color: #7a4a0b;
}

.signature-status-pill.is-complete {
  background: var(--status-green-bg);
  color: var(--status-green-text);
}

.shared-signature-request-panel {
  display: grid;
  gap: 0.85rem;
}

.shared-signature-request-list {
  display: grid;
  gap: 0.65rem;
}

.shared-signature-add-form {
  align-items: end;
  background: rgba(239, 247, 252, 0.72);
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-md);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(12rem, 0.9fr) repeat(3, minmax(11rem, 1fr)) auto;
  padding: 0.85rem;
}

.shared-signature-add-heading {
  display: grid;
  gap: 0.18rem;
}

.shared-signature-add-heading strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
}

.shared-signature-add-heading small {
  color: var(--text-muted);
  font-weight: 650;
  line-height: 1.35;
}

.shared-signature-request-card {
  align-items: end;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: var(--radius-md);
  display: grid;
  gap: 0.7rem;
  grid-template-columns: minmax(13rem, 1fr) minmax(15rem, 1.15fr) auto;
  padding: 0.78rem;
}

.shared-signature-request-person {
  display: grid;
  gap: 0.18rem;
}

.shared-signature-request-person strong {
  color: var(--brand-navy);
  font-size: 0.98rem;
}

.shared-signature-request-person small {
  color: var(--text-muted);
  font-weight: 650;
}

@media (max-width: 760px) {
  .shared-signature-add-form,
  .shared-signature-request-card {
    grid-template-columns: 1fr;
  }
}

.iep-revision-signature-setup {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(14rem, 0.7fr) auto;
  gap: 0.85rem;
  align-items: end;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62);
}

.iep-revision-signature-setup.needs-confirmation {
  border-color: rgba(176, 120, 31, 0.25);
  background: #fff8e7;
}

.iep-revision-signature-setup.is-confirmed {
  border-color: rgba(54, 126, 90, 0.2);
  background: #f4fbf7;
}

.iep-revision-signature-setup > div:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.iep-revision-signature-setup span {
  color: #1d5f91;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.iep-revision-signature-setup strong {
  color: var(--brand-navy);
  font-size: 0.96rem;
  line-height: 1.18;
}

.iep-revision-signature-setup p,
.iep-revision-signature-setup small {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 720;
  line-height: 1.35;
}

.iep-revision-signature-setup .field-label {
  gap: 0.25rem;
}

.iep-revision-signature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.iep-team-notes .field-label {
  display: grid;
  grid-template-columns: minmax(12rem, max-content) minmax(0, 1fr);
  align-items: start;
  padding: 0.2rem 0.75rem 0.75rem;
}

.iep-team-notes {
  border-top: 1px solid rgba(36, 91, 133, 0.09);
}

.iep-team-notes summary {
  width: max-content;
  margin: 0 0.75rem 0.65rem;
  padding-top: 0.42rem;
  cursor: pointer;
  color: var(--brand-blue);
  font-size: 0.86rem;
  font-weight: 800;
}

.iep-team-notes summary:focus-visible {
  outline: 3px solid rgba(47, 120, 168, 0.24);
  outline-offset: 3px;
  border-radius: var(--radius-xs);
}

.rich-row-card {
  display: grid;
  gap: 0.9rem;
  padding: 0.9rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(184, 212, 235, 0.98), rgba(159, 196, 224, 0.96));
  box-shadow:
    0 18px 40px rgba(22, 50, 79, 0.1),
    inset 0 0 0 1px rgba(36, 91, 133, 0.24);
  transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.rich-row-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(174, 204, 229, 0.99), rgba(145, 185, 216, 0.98));
  box-shadow:
    0 22px 44px rgba(8, 25, 47, 0.2),
    inset 0 0 0 1px rgba(21, 64, 105, 0.34);
}

.rich-row-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 44px;
}

.rich-row-card-header > span {
  color: var(--brand-navy);
  font-weight: 800;
}

.compact-row-stack {
  gap: 0.7rem;
}

.service-row-stack {
  gap: 0.4rem;
}

.service-row-card {
  gap: 0.42rem;
  padding: 0.48rem 0.58rem 0.58rem;
  border-radius: var(--radius-sm);
  box-shadow:
    0 8px 18px rgba(22, 50, 79, 0.08),
    inset 0 0 0 1px rgba(36, 91, 133, 0.2);
}

.service-row-card:hover {
  transform: none;
  box-shadow:
    0 10px 22px rgba(8, 25, 47, 0.12),
    inset 0 0 0 1px rgba(21, 64, 105, 0.3);
}

.service-row-card .rich-row-card-header {
  min-height: 2rem;
}

.service-row-card .rich-row-card-header > span {
  font-size: 0.88rem;
}

.service-row-card .icon-button {
  min-height: 2rem;
  width: 2rem;
}

.service-row-field-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 1.7fr) repeat(2, minmax(8rem, 0.82fr)) repeat(2, minmax(9.2rem, 0.75fr));
  gap: 0.45rem;
  align-items: end;
}

.service-row-field-grid-3 {
  grid-template-columns: minmax(13rem, 1.45fr) repeat(3, minmax(7.5rem, 0.8fr)) repeat(2, minmax(8.8rem, 0.68fr));
}

.service-row-card .field-label,
.service-row-card .narrative-editor-field,
.service-row-card .compact-rich-field,
.service-row-card .rich-row-primary-field {
  gap: 0.2rem;
}

.service-row-card .field-label-heading {
  min-height: 1.1rem;
}

.service-row-card .field-label-heading > span,
.service-row-card .field-label > span {
  color: var(--text-muted);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.15;
}

.service-row-card .field-label-heading .field-sync-badge {
  right: -0.2rem;
}

.service-row-card .field-input,
.service-row-card .quill-editor-host .ql-container.ql-snow {
  border: 0;
  border-bottom: 1px solid rgba(36, 91, 133, 0.38);
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
  background: rgba(255, 255, 255, 0.34);
  box-shadow: none;
}

.service-row-card .field-input {
  min-height: 2.3rem;
  padding: 0.42rem 0.45rem 0.28rem;
  font-size: 0.9rem;
}

.service-row-card .quill-editor-host {
  min-height: 2.3rem;
  border-radius: var(--radius-xs);
  box-shadow: none;
}

.service-row-card .compact-quill-editor-host .ql-container.ql-snow,
.service-row-card .toolbar-hidden-quill-editor-host .ql-container.ql-snow {
  min-height: 2.3rem;
  border-top: 0;
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}

.service-row-card .compact-quill-editor-host .ql-editor,
.service-row-card .quill-editor-host .ql-editor {
  min-height: 2.3rem;
  padding: 0.42rem 0.45rem 0.28rem;
  font-size: 0.9rem;
  line-height: 1.25;
}

.service-row-card .quill-editor-host.has-formatting-toolbar .ql-editor {
  padding-left: 0.45rem;
}

.service-row-card .rich-text-toolbar-trigger {
  top: 0.22rem;
  left: 0.25rem;
  right: auto;
  width: 1.45rem;
  height: 1.45rem;
  min-height: 1.45rem;
  font-size: 0.64rem;
}

.service-row-card .ql-editor.ql-blank::before {
  left: 0.45rem;
  right: 0.45rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-row-card .field-input:hover,
.service-row-card .quill-editor-host:hover .ql-container.ql-snow {
  background: rgba(255, 255, 255, 0.48);
  border-bottom-color: var(--brand-blue);
}

.service-row-card .field-input:focus,
.service-row-card .quill-editor-host:focus-within .ql-container.ql-snow {
  border: 1px solid rgba(20, 67, 112, 0.88);
  border-radius: var(--radius-xs);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.18);
}

.service-row-card .quill-editor-host:focus-within {
  box-shadow: none;
}

.rich-row-primary-field {
  gap: 0.5rem;
}

.rich-row-secondary-grid {
  display: grid;
  gap: 0.85rem;
}

.compact-rich-field {
  gap: 0.35rem;
}

.card-quill-editor-host .ql-editor {
  min-height: 120px;
}

.compact-quill-editor-host .ql-toolbar.ql-snow {
  gap: 0.35rem;
  padding: 0.5rem 0.65rem;
}

.compact-quill-editor-host .ql-toolbar.ql-snow .ql-formats {
  gap: 0.25rem;
}

.compact-quill-editor-host .ql-container.ql-snow {
  min-height: 88px;
}

.compact-quill-editor-host .ql-editor {
  min-height: inherit;
  padding: 0.65rem 0.75rem;
  font-size: 0.95rem;
}

.toolbar-hidden-quill-editor-host .ql-container.ql-snow {
  border-top: 2px solid rgba(22, 50, 79, 0.48);
  border-radius: var(--radius-md);
  min-height: 56px;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow {
  position: relative;
  inset: auto;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  max-height: 8rem;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  border-top-width: 2px;
  border-bottom-width: 1px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
  opacity: 1;
  overflow: visible;
  padding-top: 0.38rem;
  padding-bottom: 0.38rem;
  pointer-events: none;
  transform: none;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow > * {
  opacity: 0;
  transition: opacity 120ms ease;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-container.ql-snow {
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  transition:
    border-color 120ms ease,
    border-radius 160ms ease,
    box-shadow 120ms ease;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host):focus-within .ql-toolbar.ql-snow {
  background: linear-gradient(180deg, #eef6fd 0%, #ddebf7 100%);
  pointer-events: auto;
  transform: none;
}

.quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow {
  background: linear-gradient(180deg, #eef6fd 0%, #ddebf7 100%);
  pointer-events: auto;
  transform: none;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host):focus-within .ql-toolbar.ql-snow > *,
.quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow > * {
  opacity: 1;
}

.quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-editor {
  padding-top: 0.85rem;
}

.compact-quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-editor {
  padding-top: 0.65rem;
}

.compact-quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow {
  max-height: 8rem;
}

.mini-quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow {
  gap: 0.18rem;
  max-width: 100%;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.mini-quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-editor {
  padding-top: 0.65rem;
}

.mini-quill-editor-host .ql-toolbar.ql-snow .ql-formats {
  gap: 0.2rem;
  padding-right: 0.35rem;
}

.mini-quill-editor-host .ql-toolbar.ql-snow .ql-size {
  min-width: 68px;
}

.quill-editor-host:not(.toolbar-hidden-quill-editor-host):focus-within .ql-container.ql-snow {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  border-top: 0;
}

.quill-editor-host.is-toolbar-open:not(.toolbar-hidden-quill-editor-host) .ql-container.ql-snow {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  border-top: 0;
}

.quill-editor-host:focus-within .ql-container.ql-snow,
.quill-editor-host:focus-within .ql-toolbar.ql-snow {
  border-color: rgba(20, 67, 112, 0.88);
}

.rich-text-toolbar-trigger {
  display: none;
  position: absolute;
  top: 0.45rem;
  left: 0.45rem;
  right: auto;
  z-index: 7;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  min-height: 1.65rem;
  padding: 0;
  border: 1px solid rgba(20, 67, 112, 0.36);
  border-radius: 999px;
  background: rgba(238, 247, 252, 0.9);
  color: var(--brand-navy);
  box-shadow: 0 8px 18px rgba(8, 25, 47, 0.12);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0.78;
  transition: background-color 120ms ease, box-shadow 120ms ease, opacity 120ms ease, transform 120ms ease;
}

.quill-editor-host.has-formatting-toolbar .ql-editor {
  padding-top: 0.85rem;
}

.compact-quill-editor-host.has-formatting-toolbar .ql-editor {
  padding-top: 0.65rem;
}

.mini-quill-editor-host.has-formatting-toolbar .ql-editor {
  padding-top: 0.65rem;
}

.rich-text-toolbar-trigger:hover,
.rich-text-toolbar-trigger:focus-visible,
.quill-editor-host.is-toolbar-open .rich-text-toolbar-trigger {
  background: #fff;
  box-shadow:
    0 10px 22px rgba(8, 25, 47, 0.16),
    inset 0 0 0 1px rgba(15, 45, 86, 0.16);
  opacity: 1;
  outline: none;
  transform: translateY(-1px);
}

.toolbar-hidden-quill-editor-host .rich-text-toolbar-trigger {
  display: none;
}

.quill-editor-host:focus-within {
  box-shadow:
    0 0 0 3px rgba(15, 45, 86, 0.42),
    0 14px 30px rgba(8, 25, 47, 0.26);
}

.quill-editor-host:focus-within .ql-container.ql-snow {
  box-shadow: none;
}

.quill-editor-host .ql-container.ql-snow > .ql-editor {
  min-height: inherit;
  min-block-size: inherit;
  cursor: text;
  user-select: text;
  -webkit-user-select: text;
}

.single-line-quill-editor-host .ql-container.ql-snow {
  min-height: 52px;
}

.single-line-quill-editor-host .ql-editor {
  min-height: 52px;
  padding: 0.7rem 0.85rem;
  white-space: normal;
  overflow-x: hidden;
  overflow-y: hidden;
  word-break: break-word;
}

.single-line-quill-editor-host .ql-editor p {
  margin: 0;
}

.iep-team-card .toolbar-hidden-quill-editor-host .ql-container.ql-snow,
.iep-team-card .single-line-quill-editor-host .ql-container.ql-snow,
.iep-team-card .compact-quill-editor-host .ql-container.ql-snow {
  min-height: 2rem;
  border-top: 0;
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}

.iep-team-card .single-line-quill-editor-host .ql-editor,
.iep-team-card .compact-quill-editor-host .ql-editor {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
}

.iep-team-card .quill-editor-host:focus-within {
  box-shadow: none;
}

.iep-team-card .quill-editor-host:focus-within .ql-container.ql-snow {
  border: 1px solid rgba(20, 67, 112, 0.88);
  border-radius: var(--radius-xs);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.18);
}

.iep-team-notes .compact-quill-editor-host .ql-container.ql-snow,
.iep-team-notes .compact-quill-editor-host .ql-editor {
  min-height: 3.3rem;
}

.present-levels-input-list {
  display: grid;
  gap: 0.75rem;
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.11);
}

.present-levels-input-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  color: var(--brand-navy);
}

.present-levels-input-header span {
  color: var(--text-muted);
  font-size: 0.84rem;
}

.present-levels-input-card {
  display: grid;
  gap: 0.75rem;
  position: relative;
  padding: 0.8rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.58);
  box-shadow: inset 0 0 0 1px rgba(36, 91, 133, 0.12);
}

.present-levels-input-card-actions {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  right: 0.8rem;
  top: 0.8rem;
  z-index: 1;
}

.present-levels-remove-input {
  min-height: 2.2rem;
  padding-inline: 0.7rem;
}

.iep-document-control-card .toolbar-hidden-quill-editor-host .ql-container.ql-snow,
.iep-document-control-card .single-line-quill-editor-host .ql-container.ql-snow {
  min-height: 2rem;
  border-top: 0;
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}

.iep-document-control-card .single-line-quill-editor-host .ql-editor {
  min-height: 2rem;
  padding: 0.32rem 0.42rem 0.24rem;
}

.iep-document-control-card .quill-editor-host:focus-within {
  box-shadow: none;
}

.iep-document-control-card .quill-editor-host:focus-within .ql-container.ql-snow {
  border: 1px solid rgba(20, 67, 112, 0.88);
  border-radius: var(--radius-xs);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.18);
}

.live-state-card {
  display: grid;
  gap: 0.9rem;
  grid-template-rows: auto minmax(4.75rem, 4.75rem);
}

.editor-status-block {
  display: grid;
  gap: 0.3rem;
  height: 4.75rem;
  min-height: 4.75rem;
  max-height: 4.75rem;
  padding-top: 0.2rem;
  overflow: hidden;
  align-content: start;
}

.editor-status-label {
  color: #67798d;
  font-weight: 600;
}

.editor-status-value {
  margin: 0;
  line-height: 1.45;
  min-height: 0;
  overflow: auto;
  padding-right: 0.15rem;
  scrollbar-width: thin;
}

.primary-button,
.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.7rem 1rem;
  border-radius: var(--radius-lg);
  border: 0;
  cursor: pointer;
}

.hero-card,
.student-hero,
.document-accordion,
.editor-section-card,
.iep-form-card,
.panel-shell,
.data-table-shell {
  border-radius: var(--radius-2xl);
}

.primary-button {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-blue) 100%);
  color: #f8fbff;
}

.primary-button:disabled,
.secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.icon-text-button {
  gap: 0.45rem;
}

.inline-error {
  color: #9b2f2a;
  font-weight: 700;
}

.secondary-button {
  background: var(--brand-blue-mist);
  color: var(--brand-navy);
  border: 1px solid rgba(36, 91, 133, 0.14);
}

.danger-button {
  background: #fff0ef;
  border-color: rgba(155, 47, 42, 0.28);
  color: #9b2f2a;
}

.row-action-bar {
  display: flex;
  justify-content: flex-start;
  padding-top: 0.25rem;
}

.add-row-button {
  gap: 0.45rem;
  min-height: 46px;
  padding-inline: 1.15rem;
  box-shadow: 0 12px 24px rgba(22, 50, 79, 0.18);
}

.icon-button {
  width: 44px;
  min-width: 44px;
  padding: 0;
}

.danger-icon-button {
  color: #8f2e2e;
  background: rgba(255, 239, 239, 0.86);
  border-color: rgba(143, 46, 46, 0.22);
}

.danger-action-button {
  gap: 0.4rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.65rem;
  color: #8f2e2e;
  background: rgba(255, 239, 239, 0.86);
  border: 1px solid rgba(143, 46, 46, 0.22);
}

.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
}

.button-link {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.danger-text-link {
  color: #8f2e2e;
}

.document-record-actions {
  gap: 0.9rem;
}

.admin-command-page,
.cascade-admin-workbench,
.cascade-admin-list {
  display: grid;
  gap: 1rem;
}

.admin-scope-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-left: 5px solid var(--brand-blue);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.96), rgba(240, 247, 252, 0.9));
  box-shadow: 0 12px 28px rgba(22, 50, 79, 0.06);
}

.admin-scope-banner h2,
.admin-scope-banner p {
  margin: 0;
}

.admin-scope-banner h2 {
  margin-top: 0.5rem;
  color: var(--brand-navy);
  font-size: 1.32rem;
}

.admin-scope-banner p {
  margin-top: 0.25rem;
  color: var(--text-muted);
  font-weight: 650;
  line-height: 1.4;
}

.admin-task-grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
}

.admin-task-card {
  display: grid;
  gap: 0.42rem;
  min-height: 11rem;
  padding: 0.9rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-top: 4px solid var(--brand-blue);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(31, 45, 61, 0.06);
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.admin-task-card:hover,
.admin-task-card:focus-visible {
  border-color: rgba(36, 91, 133, 0.3);
  box-shadow: 0 16px 32px rgba(31, 45, 61, 0.1);
  outline: none;
  transform: translateY(-1px);
}

.admin-task-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 8px;
  background: rgba(225, 238, 250, 0.78);
  color: var(--brand-blue);
}

.admin-task-card strong {
  color: var(--brand-navy);
  font-size: 1rem;
}

.admin-task-card p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
}

.admin-task-card small {
  align-self: end;
  color: var(--brand-blue);
  font-weight: 850;
}

.admin-priority-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: start;
}

.admin-attention-list {
  display: grid;
  gap: 0.55rem;
}

.admin-attention-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: rgba(248, 251, 252, 0.94);
  color: inherit;
  text-decoration: none;
}

.admin-attention-row:hover,
.admin-attention-row:focus-visible {
  border-color: rgba(36, 91, 133, 0.28);
  outline: none;
}

.admin-attention-row strong,
.admin-attention-row small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-attention-row strong {
  color: var(--brand-navy);
}

.admin-attention-row small {
  margin-top: 0.12rem;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.admin-coverage-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(9.75rem, 1fr));
}

.admin-coverage-button {
  display: grid;
  gap: 0.18rem;
  min-height: 5.8rem;
  padding: 0.72rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: rgba(248, 251, 252, 0.94);
  color: inherit;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.admin-coverage-button.has-attention {
  border-color: rgba(181, 137, 0, 0.28);
  background: rgba(255, 249, 234, 0.9);
}

.admin-coverage-button:hover,
.admin-coverage-button:focus-visible {
  border-color: rgba(36, 91, 133, 0.28);
  outline: none;
}

.admin-coverage-button span {
  color: var(--brand-blue);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-coverage-button strong {
  color: var(--brand-navy);
  font-size: 1.5rem;
  line-height: 1.1;
}

.admin-coverage-button small {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.cascade-filter-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.segmented-control {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(22, 50, 79, 0.16);
  border-radius: 8px;
  background: rgba(243, 248, 252, 0.92);
}

.segmented-control button {
  min-width: 64px;
  min-height: 38px;
  padding: 0.55rem 0.8rem;
  border: 0;
  border-left: 1px solid rgba(22, 50, 79, 0.12);
  color: #35526c;
  background: transparent;
  font-weight: 800;
  cursor: pointer;
}

.segmented-control button:first-child {
  border-left: 0;
}

.segmented-control button.is-selected {
  color: #ffffff;
  background: var(--brand-navy);
}

.cascade-owner-filter {
  width: min(260px, 100%);
}

.admin-rule-details {
  display: grid;
  gap: 0.75rem;
}

.admin-rule-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-height: 3rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.14);
  border-radius: 8px;
  background: rgba(248, 251, 252, 0.94);
  color: var(--brand-navy);
  cursor: pointer;
  list-style: none;
}

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

.admin-rule-details > summary strong,
.admin-rule-details > summary small {
  display: block;
}

.admin-rule-details > summary small {
  margin-top: 0.16rem;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.admin-rule-details[open] > summary {
  margin-bottom: 0.75rem;
}

.cascade-admin-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(15rem, 0.34fr);
  gap: 0.85rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid rgba(22, 50, 79, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 26px rgba(31, 45, 61, 0.06);
}

.cascade-admin-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: 8px;
  color: var(--brand-navy);
  background: rgba(225, 238, 250, 0.72);
}

.cascade-admin-main {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.cascade-admin-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.cascade-admin-title strong {
  color: var(--text-strong);
  font-size: 0.98rem;
}

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

.cascade-admin-grid div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 8px;
  background: rgba(246, 250, 253, 0.78);
}

.cascade-admin-grid span,
.cascade-admin-controls .field-label > span {
  color: #5d748a;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cascade-admin-grid p {
  margin: 0;
  color: #263f56;
  font-size: 0.86rem;
  line-height: 1.42;
}

.cascade-admin-controls {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  min-width: 0;
}

.cascade-admin-controls .field-input,
.cascade-admin-controls .secondary-button,
.cascade-owner-filter .field-input {
  min-height: 38px;
  border-radius: 8px;
  box-shadow: none;
}

.cascade-admin-controls .secondary-button {
  gap: 0.4rem;
  padding: 0.55rem 0.8rem;
}

@media (max-width: 1080px) {
  .admin-priority-grid,
  .cascade-admin-row,
  .cascade-admin-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cascade-admin-icon {
    display: none;
  }

  .cascade-admin-controls {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
  }
}

@media (max-width: 720px) {
  .admin-scope-banner,
  .admin-priority-grid,
  .admin-attention-row,
  .cascade-filter-row,
  .cascade-admin-row,
  .cascade-admin-grid,
  .cascade-admin-controls {
    grid-template-columns: 1fr;
  }

  .cascade-filter-row {
    display: grid;
  }

  .segmented-control {
    width: 100%;
  }

  .segmented-control button {
    min-width: 0;
  }
}

.students-admin-page {
  display: grid;
  gap: 1rem;
  color: #111827;
}

.students-redesign-header {
  display: grid;
  gap: 1.2rem;
  margin: -0.35rem -0.35rem 0;
  padding: 0 0 0.05rem;
}

.students-redesign-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.students-redesign-title-row h1 {
  margin: 0 0 0.35rem;
  color: #0d1b2f;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.students-redesign-title-row p {
  color: #3d5268;
  font-size: 0.86rem;
}

.students-redesign-alert {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.2rem;
  padding: 0 0.8rem;
  border: 1px solid rgba(184, 50, 37, 0.24);
  border-radius: 8px;
  background: rgba(255, 242, 238, 0.92);
  color: #b83225;
  font-size: 0.82rem;
  font-weight: 700;
}

.students-redesign-tabs {
  display: flex;
  gap: 0.15rem;
  margin-bottom: -1rem;
  border-bottom: 1px solid rgba(13, 27, 47, 0.14);
}

.students-redesign-tabs button {
  display: grid;
  gap: 0.2rem;
  min-width: 10rem;
  padding: 0.75rem 1.25rem 0.7rem;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: transparent;
  color: #42576d;
  text-align: left;
  cursor: pointer;
}

.students-redesign-tabs button.active {
  background: #ffffff;
  border-color: rgba(13, 27, 47, 0.12);
  color: #0d1b2f;
}

.students-redesign-tabs span {
  font-size: 0.88rem;
  font-weight: 800;
}

.students-redesign-tabs small {
  color: #40658d;
  font-size: 0.72rem;
  font-weight: 650;
}

.students-admin-page .deadline-school-workboard.roster {
  padding: 1.35rem !important;
  background: transparent !important;
  border: 0;
  box-shadow: none !important;
}

.students-admin-page .deadline-school-workboard.roster .deadline-school-workboard-header {
  margin-bottom: 1.15rem !important;
}

.students-admin-page .deadline-school-workboard.roster .section-pill {
  display: block;
  min-height: auto;
  padding: 0;
  background: transparent;
  color: #30465d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.students-admin-page .deadline-school-workboard.roster .deadline-school-workboard-header strong {
  display: block;
  margin-top: 0.2rem;
  color: #0d1b2f;
  font-size: 1rem;
}

.students-admin-page .deadline-school-workboard.roster .deadline-school-workboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(250px, 1fr));
  gap: 1rem;
}

.student-overview-school-card {
  display: grid;
  gap: 0.85rem;
  min-height: 0;
  padding: 1rem 1.1rem !important;
  border: 1px solid rgba(13, 27, 47, 0.1) !important;
  border-left: 0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07) !important;
}

.student-overview-school-card::before {
  content: none !important;
}

.student-overview-school-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: start;
}

.student-overview-school-heading svg {
  display: none;
}

.student-overview-school-heading > div:first-of-type {
  min-width: 0;
}

.student-overview-school-heading strong {
  display: block;
  color: #0d1b2f;
  font-size: 0.95rem;
  line-height: 1.2;
}

.student-overview-school-heading span {
  display: block;
  margin-top: 0.25rem;
  color: #4c5f73;
  font-size: 0.78rem;
  line-height: 1.25;
}

.student-overview-school-heading::after {
  content: "Due soon\A" attr(data-queue);
  white-space: pre;
}

.student-overview-school-card.danger .student-overview-school-heading::after,
.student-overview-school-card.warning .student-overview-school-heading::after,
.student-overview-school-card.info .student-overview-school-heading::after {
  justify-self: end;
  min-width: 4.9rem;
  padding-top: 0.15rem;
  color: #6b7280;
  font-family: "Aptos", "Segoe UI", sans-serif;
  font-size: 0.7rem;
  line-height: 1.45;
  text-align: right;
}

.student-overview-school-card.danger .student-overview-school-heading::after {
  content: "Overdue";
  padding: 0.18rem 0.5rem;
  border-radius: 5px;
  background: rgba(184, 50, 37, 0.1);
  color: #b83225;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.student-overview-school-card.warning .student-overview-school-heading::after,
.student-overview-school-card.info .student-overview-school-heading::after {
  content: "Due soon";
  padding: 0.18rem 0.5rem;
  border-radius: 5px;
  background: rgba(196, 146, 42, 0.13);
  color: #8a6010;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.student-overview-school-card .deadline-school-card-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.student-overview-school-card .deadline-school-card-counts span {
  display: grid;
  gap: 0.15rem;
  min-height: 3.45rem;
  align-content: center;
  justify-items: center;
  padding: 0.45rem;
  border: 0;
  border-radius: 7px;
  background: #edf3f8;
  color: #0d1b2f;
  font-size: 0;
  font-weight: 700;
  text-align: center;
}

.student-overview-school-card .deadline-school-card-counts span::first-letter {
  font-size: 0;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(1)::before,
.student-overview-school-card .deadline-school-card-counts span:nth-child(2)::before,
.student-overview-school-card .deadline-school-card-counts span:nth-child(3)::before {
  display: block;
  font-size: 1.25rem;
  line-height: 1;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(1)::before {
  content: attr(data-count);
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(2)::before {
  content: attr(data-count);
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(3)::before {
  content: attr(data-count);
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(1) {
  color: #b83225;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(2) {
  color: #b87c1a;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(3) {
  color: #1a2d5a;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(1)::after {
  content: "Blocked";
  color: #4c5f73;
  font-size: 0.72rem;
  font-weight: 500;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(2)::after {
  content: "Due soon";
  color: #4c5f73;
  font-size: 0.72rem;
  font-weight: 500;
}

.student-overview-school-card .deadline-school-card-counts span:nth-child(3)::after {
  content: "Open";
  color: #4c5f73;
  font-size: 0.72rem;
  font-weight: 500;
}

.student-overview-school-card > p {
  margin-top: 0.25rem !important;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(13, 27, 47, 0.1);
  color: #0d1b2f !important;
  font-size: 0.84rem;
  font-weight: 700;
}

.student-overview-school-card > small {
  margin-top: -0.65rem;
  color: #4c5f73;
  font-size: 0.78rem;
}

.student-overview-school-card .deadline-roster-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  margin-top: auto;
}

.student-overview-school-card .deadline-roster-actions a {
  min-height: 2.1rem;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.82rem;
}

.student-overview-school-card .deadline-roster-actions .primary-button {
  background: #1a2d5a;
}

.student-overview-school-card .deadline-roster-actions .secondary-button {
  min-width: 5.6rem;
  background: #ffffff;
  border-color: rgba(26, 45, 90, 0.28);
}

.students-admin-page section,
.students-admin-page [style*="rgba(255, 255, 255, 0.82)"] {
  border-radius: 10px !important;
}

.students-admin-page section {
  padding: 1rem 1.1rem !important;
  border: 1px solid rgba(13, 27, 47, 0.1);
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08) !important;
}

.students-admin-page section > div:first-child {
  margin-bottom: 0.8rem !important;
}

.students-admin-page .filter-row {
  align-items: flex-end;
  gap: 0.75rem;
}

.students-admin-page .field-label {
  gap: 0.35rem;
}

.students-admin-page .field-label > span {
  font-size: 0.86rem;
}

.students-admin-page .roster-filter-row .field-label:first-child {
  width: min(320px, 100%);
}

.students-admin-page .roster-filter-row .field-label:nth-child(2),
.students-admin-page .roster-filter-row .field-label:nth-child(3) {
  width: 130px;
}

.students-admin-page .assignment-control-row .field-label {
  width: min(300px, 100%);
}

.students-urgent-work {
  display: grid;
  gap: 0.75rem;
}

.students-urgent-work .deadline-roster-filter-bar {
  grid-template-columns: repeat(4, minmax(10rem, 1fr));
  gap: 0.65rem;
  margin-bottom: 0;
  padding: 0.85rem;
  border: 1px solid rgba(13, 27, 47, 0.08);
  border-radius: 8px;
  background: #f7fafc;
}

.students-urgent-work .deadline-roster-family-chips {
  grid-column: 1 / -1;
  gap: 0.4rem;
}

.students-urgent-work .deadline-roster-family-chip {
  min-height: 2rem;
  padding: 0.3rem 0.55rem;
  border-color: rgba(13, 27, 47, 0.1);
  background: #ffffff;
  font-size: 0.78rem;
}

.students-urgent-work .deadline-roster-family-chip strong {
  min-width: 1.35rem;
  min-height: 1.35rem;
  background: #edf3f8;
  color: #1a2d5a;
}

.students-urgent-work .deadline-roster-family-chip.active {
  border-color: rgba(184, 50, 37, 0.32);
  background: rgba(255, 246, 244, 0.95);
  box-shadow: 0 0 0 2px rgba(184, 50, 37, 0.08);
}

.students-urgent-work .deadline-roster-scope-strip {
  grid-template-columns: minmax(0, 1fr) auto auto;
  margin-bottom: 0;
  border-color: rgba(26, 45, 90, 0.14);
  background: #ffffff;
}

.students-urgent-work .deadline-roster-handoff {
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.42fr);
  margin-bottom: 0;
  padding: 1.1rem;
  border-color: rgba(184, 50, 37, 0.22);
  border-left-color: #b83225;
  border-radius: 8px;
  background: linear-gradient(135deg, #fffafa 0%, #ffffff 58%);
  box-shadow: 0 12px 26px rgba(68, 34, 30, 0.06);
}

.students-urgent-work .deadline-roster-handoff .section-pill,
.students-urgent-work .deadline-roster-closeout-main .section-pill.source-backed {
  justify-self: start;
  min-height: 1.45rem;
  padding: 0.18rem 0.48rem;
  border: 1px solid rgba(184, 50, 37, 0.18);
  border-radius: 5px;
  background: rgba(184, 50, 37, 0.08);
  color: #b83225;
  font-size: 0.68rem;
  font-weight: 850;
}

.students-urgent-work .deadline-roster-handoff-main strong {
  font-size: 1.12rem;
}

.students-urgent-work .deadline-roster-handoff-main p {
  color: #42576d;
  font-size: 0.86rem;
  font-weight: 600;
}

.students-urgent-work .deadline-roster-handoff-grid {
  align-content: start;
  gap: 0;
  padding: 0.7rem;
  border-radius: 8px;
  background: #f1ede6;
}

.students-urgent-work .deadline-roster-handoff-grid div {
  padding: 0.42rem 0;
  border: 0;
  border-bottom: 1px solid rgba(13, 27, 47, 0.1);
  border-radius: 0;
  background: transparent;
}

.students-urgent-work .deadline-roster-handoff-grid div:last-child {
  border-bottom: 0;
}

.students-urgent-work .deadline-roster-closeout-packet {
  grid-template-columns: minmax(16rem, 0.48fr) minmax(0, 1fr);
  margin-bottom: 0;
  padding: 0.9rem;
  border-color: rgba(13, 27, 47, 0.1);
  border-left: 4px solid #b83225;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.students-urgent-work .deadline-roster-closeout-grid div,
.students-urgent-work .deadline-closeout-readiness-meta {
  border-color: rgba(13, 27, 47, 0.09);
  background: #f7fafc;
}

.students-urgent-work .deadline-closeout-readiness {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.students-urgent-work .deadline-closeout-readiness-card {
  border-top-width: 3px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.students-urgent-work .deadline-closeout-readiness-card.danger {
  border-top-color: #b83225;
  background: #fffafa;
}

.students-urgent-work .deadline-closeout-readiness-card.danger span,
.students-urgent-work .deadline-roster-queue-card.overdue .deadline-roster-queue-main > div:first-child,
.students-urgent-work .deadline-roster-queue-card.blocked .deadline-roster-queue-main > div:first-child {
  color: #b83225;
}

.students-urgent-work .deadline-closeout-readiness-card.danger strong {
  background: rgba(184, 50, 37, 0.1);
  color: #b83225;
}

.students-urgent-work .deadline-closeout-readiness-card.warning {
  border-top-color: #c58a14;
  background: #fffdf7;
}

.students-urgent-work .deadline-closeout-readiness-card.ready {
  border-top-color: #2f7d71;
}

.students-urgent-work .deadline-roster-queue-list {
  gap: 0.55rem;
}

.students-urgent-work .deadline-roster-queue-card {
  min-height: 4.5rem;
  padding: 0.78rem 0.85rem;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.students-urgent-work .deadline-roster-queue-card.blocked,
.students-urgent-work .deadline-roster-queue-card.overdue {
  border-left-color: #b83225;
}

.students-urgent-work .deadline-roster-queue-card.due_soon {
  border-left-color: #c58a14;
}

.students-urgent-work .deadline-roster-queue-card.blocked,
.students-urgent-work .deadline-roster-queue-card.overdue {
  background: #fffafa;
}

.students-urgent-work .deadline-roster-queue-card.due_soon {
  background: #fffdf7;
}

.students-urgent-work .deadline-roster-queue-main p {
  color: #0d1b2f;
  font-size: 0.92rem;
}

.students-urgent-work .deadline-roster-queue-main small {
  color: #42576d;
  font-size: 0.78rem;
}

.students-action-accordion {
  overflow: hidden;
  border: 1px solid rgba(13, 27, 47, 0.1);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.students-action-accordion summary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.65rem 0.95rem;
  list-style: none;
  cursor: pointer;
}

.students-action-accordion summary::-webkit-details-marker {
  display: none;
}

.students-action-accordion summary > strong {
  color: #0d1b2f;
  font-size: 0.88rem;
}

.students-action-accordion summary > svg {
  margin-left: auto;
  color: #42576d;
  transition: transform 150ms ease;
}

.students-action-accordion[open] summary > svg {
  transform: rotate(90deg);
}

.students-action-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b87c1a;
}

.students-action-accordion em {
  display: inline-flex;
  align-items: center;
  min-height: 1.25rem;
  padding: 0 0.45rem;
  border-radius: 5px;
  background: #edf3f8;
  color: #42576d;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 700;
}

.students-action-accordion em.ready {
  background: rgba(26, 45, 90, 0.12);
  color: #1a2d5a;
}

.students-action-body {
  display: grid;
  gap: 0.8rem;
  padding: 0.85rem 0.95rem 1rem;
  border-top: 1px solid rgba(13, 27, 47, 0.08);
  background: #f7fafc;
}

.students-action-body > p,
.students-action-body > small {
  color: #42576d;
  font-size: 0.84rem;
}

.students-action-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-end;
}

.students-action-controls .field-label {
  width: min(17rem, 100%);
}

.students-action-controls .primary-button,
.students-action-controls .secondary-button {
  min-height: 2.35rem;
}

.pa-pims-action-body {
  gap: 0.75rem;
}

.students-admin-page .pa-pims-export-row {
  display: grid;
  grid-template-columns: minmax(16rem, 1.1fr) minmax(14rem, 1fr) minmax(8rem, 0.45fr) minmax(11rem, 0.55fr) auto;
  align-items: flex-end;
  gap: 0.65rem;
}

.students-admin-page .pa-pims-export-row .field-label:first-child {
  width: auto;
}

.students-admin-page .pa-pims-export-row .field-label:nth-child(2) {
  width: auto;
}

.students-admin-page .pa-pims-export-row .field-label:nth-child(3) {
  width: auto;
}

.students-admin-page .pa-pims-export-row .field-label:nth-child(4) {
  width: auto;
}

.pa-pims-freeze-chip {
  min-height: 38px;
  width: auto;
}

.pa-pims-cohort-actions {
  gap: 0.55rem;
  margin-top: 0;
}

.pa-pims-export-summary {
  display: grid;
  gap: 0.3rem;
  margin-top: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(36, 91, 133, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.pa-pims-export-summary p {
  margin: 0;
  color: #42576d;
  font-size: 0.84rem;
}

.pa-pims-calendar-status {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  max-width: 52rem;
}

.pa-pims-calendar-status > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.pa-pims-calendar-status span,
.pa-pims-calendar-status small {
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .students-admin-page .pa-pims-export-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .students-admin-page .pa-pims-export-row .primary-button {
    width: 100%;
  }
}

.pa-pims-export-result {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.85rem;
}

.pa-pims-export-files {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.pa-pims-export-confidence-files {
  display: grid;
  gap: 0.4rem;
  max-width: 62rem;
}

.pa-pims-export-confidence-files > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.5rem;
  align-items: start;
}

.pa-pims-export-confidence-files span {
  color: var(--text-muted);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.pa-pims-export-download-blocked {
  display: grid;
  gap: 0.2rem;
  max-width: 62rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(170, 74, 38, 0.26);
  border-radius: var(--radius-sm);
  background: rgba(255, 248, 242, 0.96);
}

.pa-pims-export-download-blocked span {
  color: var(--text-muted);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.pa-pims-export-files > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.92);
}

.pa-pims-export-file-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 0.75rem;
  align-items: start;
}

.pa-pims-export-file-header > div {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.pa-pims-file-download-button {
  min-height: 34px;
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}

.pa-pims-export-files strong,
.pa-pims-export-files span,
.pa-pims-export-files small {
  overflow-wrap: anywhere;
}

.pa-pims-export-files span {
  color: var(--text-muted);
  font-size: 0.8rem;
}

.pa-pims-export-files small {
  color: var(--text-muted);
  font-size: 0.75rem;
}

.pa-pims-export-issues {
  display: grid;
  gap: 0.65rem;
}

.pa-pims-next-fix-actions {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.55rem;
}

.pa-pims-affected-students {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.pa-pims-fix-action {
  min-height: 32px;
  padding: 0.4rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  line-height: 1.15;
}

.pa-pims-fix-action svg {
  flex: 0 0 auto;
}

.pa-pims-fix-more {
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.pa-pims-student-review-card > div {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.pa-pims-student-issue-fixes {
  display: grid;
  gap: 0.45rem;
}

.pa-pims-student-issue-fix {
  display: grid;
  gap: 0.15rem;
  padding: 0.5rem 0.6rem;
  border: 1px solid rgba(36, 91, 133, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(247, 251, 255, 0.82);
}

.pa-pims-student-issue-fix strong,
.pa-pims-student-issue-fix p {
  overflow-wrap: anywhere;
}

.pa-pims-student-issue-fix p {
  margin: 0;
}

.students-admin-page .field-input,
.students-admin-page .primary-button,
.students-admin-page .secondary-button {
  min-height: 38px;
  border-radius: 8px;
  box-shadow: none;
}

.students-admin-page .field-input {
  border: 1px solid rgba(22, 50, 79, 0.28);
  padding: 0.55rem 0.75rem;
  background: rgba(255, 255, 255, 0.96);
  color: #111827;
}

.students-admin-page .field-input:focus {
  border-color: rgba(36, 91, 133, 0.82);
  box-shadow: 0 0 0 3px rgba(47, 120, 168, 0.16);
}

.students-admin-page .primary-button,
.students-admin-page .secondary-button {
  padding: 0.55rem 0.85rem;
}

.students-admin-page .primary-button {
  background: var(--brand-navy);
}

.students-admin-page .secondary-button {
  background: rgba(223, 239, 252, 0.74);
  border-color: rgba(36, 91, 133, 0.18);
}

.students-admin-page .student-assignment-actions {
  gap: 0.55rem;
}

.students-admin-page p {
  margin: 0;
  color: #35526c;
}

.student-roster-table {
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(13, 27, 47, 0.1);
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.student-roster-table > div {
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  max-height: 560px;
  overflow: auto !important;
}

.student-roster-table table {
  font-size: 0.95rem;
  min-width: 1080px;
  table-layout: fixed;
}

.student-roster-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #edf3f8;
}

.student-roster-table th:first-child,
.student-roster-table td:first-child {
  width: 48px;
}

.student-roster-table th:nth-child(2),
.student-roster-table td:nth-child(2) {
  width: 22%;
}

.student-roster-table th:nth-child(3),
.student-roster-table td:nth-child(3) {
  width: 24%;
}

.student-roster-table th:nth-child(4),
.student-roster-table td:nth-child(4) {
  width: 96px;
}

.student-roster-table th:nth-child(5),
.student-roster-table td:nth-child(5) {
  width: 260px;
}

.student-roster-table th:nth-child(6),
.student-roster-table td:nth-child(6) {
  width: 140px;
}

.student-roster-table th:nth-child(7),
.student-roster-table td:nth-child(7) {
  width: 110px;
}

.student-roster-table th,
.student-roster-table td {
  padding: 0.75rem 0.95rem !important;
  vertical-align: middle;
}

.student-roster-table .field-input {
  width: 100%;
  min-width: 220px;
  min-height: 34px;
  padding: 0.4rem 2rem 0.4rem 0.65rem;
  text-overflow: ellipsis;
}

.student-roster-table input[type="checkbox"] {
  width: 0.95rem;
  height: 0.95rem;
  accent-color: var(--brand-blue);
}

.student-portfolio-form {
  display: grid;
  gap: 0.85rem;
}

.portfolio-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem 0.8rem;
}

.portfolio-field-grid.compact {
  gap: 0.65rem;
}

.portfolio-field-grid .field-label {
  min-width: 0;
}

.portfolio-field-grid .field-label.wide {
  grid-column: 1 / -1;
}

.portfolio-field-grid .field-input {
  width: 100%;
  min-height: 38px;
}

.portfolio-subsection {
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 0.7rem;
  padding-top: 0.85rem;
}

.portfolio-subsection-heading {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
}

.portfolio-subsection-heading strong {
  color: var(--text-strong);
  font-size: 0.92rem;
}

.portfolio-subsection-heading small {
  color: var(--text-muted);
  font-size: 0.78rem;
}

.checkbox-chip {
  align-items: center;
  background: rgba(247, 251, 255, 0.9);
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  color: var(--text-strong);
  display: inline-flex;
  gap: 0.45rem;
  min-height: 34px;
  padding: 0.35rem 0.65rem;
}

.checkbox-chip input {
  accent-color: var(--brand-blue);
}

.pa-profile-template-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.compact-list {
  color: var(--text-strong);
  margin: 0;
  padding-left: 1.1rem;
}

.compact-list li + li {
  margin-top: 0.35rem;
}

.pa-profile-import-panel .button-row {
  align-items: center;
}

.pa-profile-import-table {
  border: 1px solid rgba(36, 91, 133, 0.18);
  border-radius: var(--radius-sm);
  display: grid;
  overflow-x: auto;
}

.pa-profile-import-table > div {
  display: grid;
  grid-template-columns: minmax(3.5rem, 0.35fr) minmax(13rem, 1fr) minmax(7rem, 0.65fr) minmax(18rem, 1.4fr);
  min-width: 48rem;
}

.pa-profile-import-table > div:first-child {
  background: rgba(225, 238, 250, 0.9);
}

.pa-profile-import-table strong,
.pa-profile-import-table span {
  border-bottom: 1px solid rgba(36, 91, 133, 0.14);
  color: var(--text-strong);
  font-size: 0.78rem;
  line-height: 1.4;
  padding: 0.5rem 0.6rem;
}

.pa-profile-import-table > div:last-child span {
  border-bottom: 0;
}

@media print {
  :root,
  body {
    background: #fff !important;
    color: #111 !important;
  }

  body {
    min-height: auto;
  }

  nav,
  .portal-nav,
  .student-subnav,
  .auth-summary-card,
  .editor-actions,
  .button-row,
  .document-upload-button,
  .revision-start-panel,
  .iep-section-nav,
  .iep-page-step-controls,
  .ql-toolbar {
    display: none !important;
  }

  section,
  article,
  .editor-card,
  .editor-section-card,
  .iep-form-card,
  .structured-row-card {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .page-stack,
  .stack,
  .editor-section-stack {
    gap: 0.7rem;
  }

  .rich-row-card .rich-row-secondary-grid,
  .rich-row-secondary-grid.three-column,
  .rich-row-secondary-grid.two-column {
    grid-template-columns: 1fr !important;
  }

  .rich-row-card,
  .rich-row-primary-field,
  .compact-rich-field {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .info-chip,
  .section-pill,
  .status-badge {
    border: 1px solid #777;
    background: #fff !important;
    color: #111 !important;
  }

  a {
    color: #111;
  }
}

@media (max-width: 900px) {
  .hero-card,
  .student-hero,
  .three-column,
  .rich-row-secondary-grid,
  .service-row-field-grid,
  .service-row-field-grid-3 {
    grid-template-columns: 1fr;
  }

  .quill-editor-host:not(.toolbar-hidden-quill-editor-host) .ql-toolbar.ql-snow {
    top: 0.45rem;
    right: auto;
    left: 2.75rem;
    width: max-content;
    max-width: calc(100% - 3.1rem);
    justify-content: center;
  }

  .iep-section-nav-header {
    display: grid;
    justify-content: flex-start;
  }

  .iep-section-nav-header span {
    justify-self: flex-start;
  }

  .iep-section-nav-list {
    position: static;
    margin-top: 0.55rem;
  }

  .iep-section-nav-button {
    min-width: auto;
  }

  .iep-page-step-controls {
    grid-template-columns: 1fr 1fr;
  }

  .iep-page-step-controls.is-sticky,
  .iep-form-stack.is-section-workspace > .iep-page-step-controls:not(.is-bottom) {
    top: 0.65rem;
  }

  .iep-document-sticky-nav {
    top: 0.45rem;
    gap: 0.35rem;
  }

  .iep-page-step-status {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .iep-page-step-controls .secondary-button {
    grid-column: 1;
    grid-row: 2;
  }

  .iep-page-step-controls .primary-button {
    grid-column: 2;
    grid-row: 2;
  }

  .import-source-family-row > .editor-section-header,
  .import-source-family-row > .editor-section-header > .button-row {
    grid-template-columns: 1fr;
    justify-self: stretch;
  }

  .source-upload-control {
    grid-template-columns: 1fr;
  }

  .source-upload-trigger {
    justify-self: start;
    white-space: normal;
  }

  .workflow-status-card {
    grid-template-columns: 1fr;
  }

  .workflow-status-pill {
    justify-self: start;
  }

  .iep-team-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .iep-team-send-all-button {
    order: 2;
    justify-content: center;
    white-space: normal;
  }

  .iep-revision-signature-setup {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .iep-revision-signature-actions {
    justify-content: flex-start;
  }

  .iep-team-member-main,
  .iep-team-notes .field-label {
    grid-template-columns: 1fr;
  }

  .iep-team-member-main .icon-button {
    justify-self: start;
  }

  .iep-document-control-card {
    padding: 0.9rem;
  }

  .iep-document-title-bar {
    font-size: 0.86rem;
  }

  .iep-document-control-card .field-label,
  .iep-document-control-card > .field-label {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .iep-revision-table {
    grid-template-columns: 1fr;
  }

  .iep-revision-table > div:nth-child(-n + 3) {
    text-align: left;
  }
}

/* Calm default layer: keep detailed workflows available, but make first views scan like product cards. */
.landing-dashboard-page,
.student-detail-shell,
.district-document-hub {
  --calm-ink: #14263d;
  --calm-muted: #6b7e95;
  --calm-line: rgba(31, 45, 61, 0.08);
  --calm-soft: #f3f8fc;
  --calm-cream: #fffaf0;
  --calm-cream-strong: #fff6e3;
  --calm-cream-line: rgba(201, 151, 46, 0.22);
  --calm-card-shadow: 0 10px 24px rgba(31, 45, 61, 0.055);
}

.landing-dashboard-header {
  min-height: 4.2rem;
  padding: 1rem 1.15rem;
}

.landing-dashboard-header h1 {
  max-width: 32ch;
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
}

.landing-dashboard-header span,
.landing-dashboard-date span + span,
.student-detail-identity p,
.student-detail-action-card small,
.student-detail-status-card small {
  display: none;
}

.landing-kpi-grid,
.student-detail-content .metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-kpi-card,
.student-command-strip article,
.student-detail-content .panel-shell,
.document-library-toolbar,
.document-library-card,
.student-timeline-section-card,
.district-product-card {
  border: 1px solid var(--calm-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--calm-card-shadow);
}

.landing-kpi-card {
  min-height: 4.5rem;
  align-items: center;
}

.district-timeline-board .landing-kpi-card.service-log {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #047857;
}

.landing-kpi-card svg,
.landing-priority-alert,
.landing-lane-meta,
.landing-school-card > p,
.landing-evidence-copy,
.landing-evidence-head,
.landing-dashboard-purpose {
  display: none;
}

.landing-kpi-card strong {
  font-size: 1.8rem;
}

.landing-kpi-card span,
.landing-priority-card h3,
.landing-lane-card h3,
.landing-school-card h3,
.student-timeline-current-main strong,
.document-library-card h3 {
  color: var(--calm-ink);
}

.landing-kpi-card small,
.landing-priority-card p,
.landing-lane-card p,
.landing-school-card p,
.student-command-strip p,
.document-option-empty,
.student-timeline-current-main small {
  color: var(--calm-muted);
}

.landing-dashboard-content {
  grid-template-columns: minmax(0, 1fr);
}

.landing-dashboard-rail {
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.landing-quick-counts {
  grid-template-columns: repeat(2, minmax(9rem, 1fr));
}

.landing-quick-counts a {
  min-height: 4.25rem;
  align-content: center;
}

.landing-panel,
.landing-followup {
  padding: 1rem;
  border-radius: 8px;
}

.landing-day-grid,
.landing-lane-grid,
.landing-school-grid {
  gap: 0.6rem;
}

.landing-priority-card,
.landing-lane-card,
.landing-school-card,
.landing-followup article {
  min-height: 4.9rem;
  padding: 0.85rem;
  border-radius: 8px;
  box-shadow: none;
}

.landing-priority-card.first {
  box-shadow: none;
}

.landing-priority-top {
  align-items: center;
}

.landing-priority-top small,
.landing-priority-card mark,
.landing-lane-card mark,
.document-category-label,
.student-timeline-current-main > span {
  font-size: 0.7rem;
}

.landing-card-actions {
  margin-top: 0.1rem;
}

.landing-card-actions .primary,
.landing-card-actions .secondary,
.document-primary-action,
.document-record-action,
.primary-button,
.secondary-button {
  min-height: 34px;
  padding: 0.46rem 0.72rem;
  border-radius: 8px;
}

.landing-evidence-callout {
  margin-top: 0;
  border-radius: 8px;
  background: #fffaf0;
}

.landing-evidence-list {
  gap: 0.5rem;
}

.landing-evidence-row summary {
  grid-template-columns: minmax(0, 1fr) auto;
}

.landing-evidence-row summary mark,
.landing-evidence-row summary > span:nth-of-type(2) {
  display: none;
}

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

.landing-quick-counts a,
.landing-followup article {
  box-shadow: none;
}

.district-timeline-board {
  --district-board-ink: #10263e;
  --district-board-muted: #5f7288;
  --district-board-line: rgba(22, 50, 79, 0.11);
  --district-board-paper: #fffdf8;
  --district-board-soft: #f7fbff;
  --district-board-gold: #f0b456;
}

.district-timeline-board .landing-dashboard-header {
  min-height: 0;
  padding: 1.15rem 1.25rem;
  border-color: var(--district-board-line);
  border-top: 4px solid var(--district-board-gold);
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(248, 251, 255, 0.98)),
    var(--district-board-paper);
  box-shadow: 0 12px 26px rgba(31, 45, 61, 0.065);
}

.district-timeline-board .landing-dashboard-header h1 {
  max-width: 18ch;
  color: var(--district-board-ink);
  font-size: clamp(1.9rem, 4vw, 3.1rem);
}

.district-timeline-board .landing-dashboard-header span,
.district-timeline-board .landing-dashboard-date span + span {
  display: block;
}

.district-timeline-board .landing-dashboard-header span {
  max-width: 58ch;
  color: var(--district-board-muted);
}

.district-timeline-board .landing-dashboard-date {
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--district-board-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: inset 4px 0 0 rgba(240, 180, 86, 0.45);
}

.district-timeline-board .landing-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.district-timeline-board .landing-kpi-card {
  min-height: 6rem;
  align-items: flex-start;
  background: var(--district-board-paper);
  box-shadow: 0 9px 20px rgba(31, 45, 61, 0.055);
}

.district-timeline-board .landing-kpi-card svg {
  display: block;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.district-timeline-board .landing-kpi-card small,
.district-timeline-board .landing-kpi-card em {
  white-space: normal;
}

.landing-kpi-rhythm {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 0.35rem;
  padding: 0.12rem 0.42rem;
  border: 1px solid rgba(240, 180, 86, 0.36);
  border-radius: 4px;
  background: #fff8e8;
  color: #8b5d00;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.district-timeline-board .landing-dashboard-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

.district-timeline-board .landing-dashboard-rail {
  width: 18rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.district-timeline-board .landing-panel,
.district-timeline-board .landing-followup,
.district-timeline-board .landing-dashboard-purpose {
  border-color: var(--district-board-line);
  background: var(--district-board-paper);
  box-shadow: 0 10px 24px rgba(31, 45, 61, 0.055);
}

.district-timeline-board .landing-dashboard-purpose {
  display: block;
}

.district-timeline-board .landing-dashboard-primary,
.district-timeline-board .landing-school-reporting,
.district-timeline-board .landing-school-report-table {
  min-width: 0;
  max-width: 100%;
}

.district-timeline-board .landing-status-card,
.district-timeline-board .landing-school-report-row,
.district-timeline-board .landing-chart-panel,
.district-timeline-board .landing-evidence-card,
.district-timeline-board .landing-role-list button,
.district-timeline-board .landing-followup article {
  border-color: var(--district-board-line);
  background: #ffffff;
}

.district-timeline-board .landing-school-report-row {
  box-shadow: inset 3px 0 0 rgba(47, 120, 168, 0.16);
}

.district-timeline-board .landing-school-report-head,
.district-timeline-board .landing-school-report-row {
  grid-template-columns: minmax(7.2rem, 1fr) minmax(9rem, 1.15fr) minmax(7.25rem, 0.9fr) minmax(8.75rem, 1fr) minmax(4.75rem, 0.55fr);
  gap: 0.65rem;
  min-width: 0;
}

.district-timeline-board .landing-school-report-head > *,
.district-timeline-board .landing-school-report-row > * {
  min-width: 0;
}

.district-timeline-board .landing-stacked-bar {
  width: 100%;
  min-width: 0;
}

.district-timeline-board .landing-school-report-row .secondary {
  width: 100%;
  min-width: 0;
  padding: 0 0.45rem;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}

.district-timeline-board .landing-reporting-summary {
  border-color: rgba(240, 180, 86, 0.34);
  background: #fff8e8;
  color: var(--district-board-ink);
}

.district-timeline-board .landing-chart-panel,
.district-timeline-board .landing-evidence-card {
  background:
    repeating-linear-gradient(180deg, rgba(47, 120, 168, 0.035) 0 1px, transparent 1px 2.2rem),
    #ffffff;
}

@media (max-width: 1020px) {
  .district-timeline-board .landing-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .district-timeline-board .landing-dashboard-content {
    flex-direction: column;
  }

  .district-timeline-board .landing-dashboard-rail {
    width: 100%;
  }
}

@media (max-width: 820px) {
  .district-timeline-board .landing-kpi-grid {
    grid-template-columns: 1fr;
  }

  .district-timeline-board .landing-work-toggle {
    align-items: stretch;
    flex-direction: column;
  }

  .district-timeline-board .landing-work-toggle > a {
    justify-content: center;
    width: fit-content;
  }
}

.student-command-strip,
.district-document-hub-grid {
  gap: 0.7rem;
}

.student-command-strip article,
.district-product-card {
  min-height: 8.25rem;
}

.student-detail-header-actions {
  grid-template-columns: repeat(2, minmax(8rem, auto));
}

.student-detail-action-card,
.student-detail-status-card {
  min-width: 0;
  padding: 0.72rem 0.85rem;
}

.student-detail-tabs {
  gap: 0.2rem;
  overflow: visible;
  padding-bottom: 0;
}

.student-detail-tabs .student-subnav-link {
  min-height: 40px;
  white-space: nowrap;
}

.student-hero.student-detail-header {
  margin-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.student-detail-tabs {
  margin: 0 0 0.95rem;
  padding: 0.62rem 1rem 0;
  border-top: 1px solid rgba(128, 189, 241, 0.16);
  border-radius: 0 0 8px 8px;
  background:
    linear-gradient(180deg, rgba(20, 62, 96, 0.98), rgba(23, 69, 106, 0.96)),
    #143e60;
  box-shadow: 0 16px 36px rgba(22, 50, 79, 0.11);
}

.student-detail-tabs .student-subnav-link {
  border: 1px solid rgba(215, 235, 255, 0.32);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: rgba(255, 255, 255, 0.1);
  color: #f2f8ff;
  box-shadow: none;
}

.student-detail-tabs .student-subnav-link:hover,
.student-detail-tabs .student-subnav-link:focus-visible {
  border-color: rgba(241, 180, 76, 0.65);
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.student-detail-tabs .student-subnav-link.active,
.student-detail-tabs .student-subnav-link.active:hover,
.student-detail-tabs .student-subnav-link.active:focus-visible {
  border-color: #f1b44c;
  border-bottom: 0;
  background: #f1b44c;
  color: #102a46;
  transform: translateY(1px);
}

.student-detail-header-grid {
  min-height: 4.1rem;
  align-items: center;
}

.student-detail-content,
.student-detail-content-timeline {
  min-height: 28rem;
  padding: 0;
  background: transparent;
}

.student-tab-loading {
  min-height: 34rem;
}

.student-tab-loading .panel-shell {
  min-height: 12rem;
}

.student-tab-body {
  width: 100%;
  min-width: 0;
}

.student-detail-content > .page-header {
  min-height: 3.75rem;
  margin: 0.9rem 0 0.85rem;
}

.document-library-toolbar {
  padding: 0.85rem;
}

.document-category-filter {
  max-height: none;
  overflow: visible;
  padding-bottom: 0;
}

.document-category-chip {
  min-height: 38px;
  padding: 0.48rem 0.75rem 0.44rem;
}

.student-document-action-strip {
  background: #fffaf0;
}

.student-document-action-row {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.8rem 0.9rem;
}

.student-document-action-row > .primary-button {
  justify-self: end;
}

.student-document-list.document-library-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.student-document-list .document-library-card {
  gap: 0.7rem;
  border-top-width: 0;
}

.student-document-list .document-library-card + .document-library-card {
  border-top-width: 0;
}

.student-document-list .document-card-meta span:nth-child(1),
.student-document-list .document-card-meta span:nth-child(2) {
  display: none;
}

.student-document-list .document-option-records {
  display: none;
}

.student-document-list .document-library-card:focus-within .document-option-records,
.student-document-list .document-library-card:hover .document-option-records {
  display: grid;
}

.document-card-footer {
  margin-top: 0.1rem;
}

.student-timeline-redesign {
  width: 100%;
  gap: 0.75rem;
}

.student-timeline-redesign > .student-timeline-workflow-spines,
.student-timeline-redesign > .student-timeline-launcher,
.student-timeline-redesign > .student-timeline-section-card {
  overflow: hidden;
  border-color: var(--calm-cream-line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.98), rgba(255, 255, 255, 0.96)),
    var(--calm-cream);
  box-shadow: 0 12px 26px rgba(31, 45, 61, 0.055);
}

.student-timeline-records-summary,
.student-timeline-launcher-header,
.student-timeline-section-header {
  border-bottom: 1px solid rgba(201, 151, 46, 0.14);
  background: rgba(255, 250, 240, 0.7);
}

.student-timeline-redesign .student-timeline-workflow-spines-panel,
.student-timeline-redesign .student-timeline-launcher-suggestions,
.student-timeline-redesign .student-timeline-current-items {
  background: rgba(255, 253, 248, 0.68);
}

.student-timeline-records-summary-actions mark,
.student-timeline-records-summary-actions small,
.student-timeline-launcher-header mark,
.student-timeline-current-row time {
  border-color: rgba(201, 151, 46, 0.2);
  background: #fffdf8;
}

.student-timeline-workflow-spine,
.student-timeline-launcher-suggestion,
.student-timeline-launcher-selection,
.student-timeline-launcher-chooser {
  border-color: rgba(201, 151, 46, 0.18);
  background: #fffdf8;
}

.student-timeline-workflow-spine:hover,
.student-timeline-workflow-spine:focus-visible,
.student-timeline-workflow-spine.active {
  border-color: rgba(35, 105, 255, 0.34);
  background: #f2f7ff;
}

.student-timeline-launcher-suggestion.warning {
  background: var(--calm-cream-strong);
}

.student-timeline-launcher-suggestion.idle {
  border-left-color: rgba(201, 151, 46, 0.5);
  background: #fffdf8;
}

.student-timeline-admin-closeout {
  border-color: rgba(54, 126, 90, 0.22);
  background:
    linear-gradient(180deg, rgba(246, 251, 247, 0.98), rgba(255, 250, 240, 0.88)),
    #f6fbf7;
}

.student-timeline-admin-closeout-checks small,
.student-timeline-admin-closeout-checks mark {
  border-color: rgba(54, 126, 90, 0.18);
  background: #ffffff;
}

.student-timeline-section-header {
  min-height: 3.7rem;
  padding: 0.85rem 1rem;
}

.student-timeline-current-items {
  padding: 0.85rem;
}

.student-timeline-current-row {
  grid-template-columns: 4.45rem minmax(0, 1fr) auto;
  min-height: 4.7rem;
  border-left-width: 0 !important;
  border-radius: 8px;
  background: #fffdf8;
}

.student-timeline-current-row time {
  min-width: 4rem;
  min-height: 2.75rem;
  border-radius: 8px;
  background: #ffffff;
}

.student-timeline-current-row time span {
  display: block;
}

.student-timeline-current-row time strong {
  font-size: 1rem;
}

.student-timeline-current-main > span {
  color: var(--calm-muted);
  letter-spacing: 0;
  text-transform: none;
}

.student-timeline-disclosure {
  display: block;
}

.student-timeline-disclosure > summary {
  cursor: pointer;
  list-style: none;
}

.student-timeline-disclosure > summary::-webkit-details-marker {
  display: none;
}

.student-timeline-disclosure:not([open]) > summary {
  border-bottom: 0;
}

.student-timeline-disclosure[open] > summary svg {
  transform: rotate(180deg);
}

.student-timeline-blocker-card .student-timeline-worklist-snapshot,
.student-timeline-blocker-card .student-timeline-evidence-queue,
.student-timeline-warning-panel .plain-list {
  margin: 0.85rem;
}

.landing-dashboard-content {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.landing-dashboard-primary {
  flex: 1 1 44rem;
  min-width: min(100%, 36rem);
}

.landing-dashboard-rail {
  flex: 0 1 24rem;
  width: auto;
  min-width: min(100%, 20rem);
}

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

.landing-priority-card {
  min-height: 0;
}

.landing-priority-card p,
.landing-priority-card h3,
.landing-lane-card p,
.landing-lane-card h3,
.landing-followup p,
.landing-followup h3 {
  overflow-wrap: anywhere;
}

.landing-card-actions {
  flex-wrap: wrap;
}

.landing-card-actions .primary,
.landing-card-actions .secondary {
  min-width: 8.5rem;
  white-space: normal;
}

@media (max-width: 1180px) {
  .landing-dashboard-content {
    flex-direction: column;
  }

  .landing-dashboard-primary,
  .landing-dashboard-rail {
    flex-basis: auto;
    width: 100%;
    min-width: 0;
  }

  .landing-dashboard-rail,
  .landing-quick-counts {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 980px) {
  .landing-kpi-grid,
  .student-detail-content .metric-grid,
  .student-command-strip,
  .district-document-hub-grid,
  .landing-dashboard-rail {
    grid-template-columns: 1fr;
  }

  .landing-dashboard-header span,
  .landing-dashboard-date {
    display: none;
  }
}

.signature-page {
  align-items: center;
  background: linear-gradient(180deg, #eef6f5 0%, #f8fafc 48%, #ffffff 100%);
  color: #0f172a;
  display: flex;
  min-height: 100vh;
  padding: 40px 20px;
}

.signature-shell {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
  display: grid;
  gap: 22px;
  margin: 0 auto;
  max-width: 760px;
  padding: 30px;
  width: 100%;
}

.signature-brand {
  align-items: center;
  color: #0f766e;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.signature-heading {
  display: grid;
  gap: 6px;
}

.signature-heading p {
  color: #0f766e;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.signature-heading h1,
.signature-status-panel h1 {
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  line-height: 1.08;
  margin: 0;
}

.signature-heading span {
  color: #475569;
  font-weight: 700;
}

.signature-instructions {
  color: #334155;
  line-height: 1.45;
  max-width: 62ch;
}

.signature-summary-grid {
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
}

.signature-summary-grid div {
  border-bottom: 1px solid #d8e2ec;
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px 16px;
}

.signature-summary-grid div:nth-child(odd) {
  border-right: 1px solid #d8e2ec;
}

.signature-summary-grid div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.signature-summary-grid dt {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.signature-summary-grid dd {
  font-weight: 800;
  margin: 0;
  overflow-wrap: anywhere;
}

.signature-form {
  display: grid;
  gap: 16px;
}

.signature-attestation-input {
  min-height: 96px;
  resize: vertical;
}

.signature-confirm-row {
  align-items: flex-start;
  background: #f0fdfa;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  color: #134e4a;
  display: flex;
  gap: 12px;
  line-height: 1.4;
  padding: 14px;
}

.signature-confirm-row input {
  margin-top: 3px;
}

.signature-status-panel {
  background: #f8fafc;
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 18px;
}

.signature-status-panel h2,
.signature-status-panel p {
  margin: 0;
}

.signature-status-panel.is-complete {
  background: #ecfdf5;
  border-color: #86efac;
  color: #14532d;
}

.signature-status-panel.is-error {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #7c2d12;
}

@media (max-width: 640px) {
  .signature-page {
    align-items: stretch;
    padding: 16px;
  }

  .signature-shell {
    padding: 22px;
  }

  .signature-summary-grid {
    grid-template-columns: 1fr;
  }

  .signature-summary-grid div,
  .signature-summary-grid div:nth-child(odd),
  .signature-summary-grid div:nth-last-child(-n + 2) {
    border-bottom: 1px solid #d8e2ec;
    border-right: 0;
  }

  .signature-summary-grid div:last-child {
    border-bottom: 0;
  }
}
