:root {
  --color-black: #000;
  --color-white: #fff;
  --color-ink: #111;
  --color-muted: #5a5a5a;
  --color-border: #d9dde3;
  --color-surface: #f7f8fa;
  --color-navy: #0b1f3a;
  --color-navy-hover: #12345a;
  --color-navy-soft: #e8eef6;
  --color-success: #17633a;
  --color-warning: #8a5a00;
  --color-danger: #8a1f11;
  --radius: 8px;
  --max: 1180px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--color-ink);
  background: var(--color-white);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  letter-spacing: 0;
}

a { color: var(--color-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--color-navy-hover); }

.skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  background: var(--color-navy);
  color: white;
  padding: 8px 10px;
  z-index: 20;
}
.skip-link:focus { left: 8px; }

.site-header {
  border-bottom: 1px solid var(--color-border);
  background: rgba(255,255,255,0.97);
  position: sticky;
  top: 0;
  z-index: 10;
}

.nav-shell {
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas: "nav-brand-left brand nav-action" "nav nav nav";
  column-gap: 22px;
  row-gap: 10px;
  align-items: center;
}

.brand {
  grid-area: brand;
  justify-self: center;
  font-size: 21px;
  font-weight: 750;
  color: var(--color-navy);
  text-decoration: none;
}

.main-nav,
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
}

.main-nav {
  grid-area: nav;
}

.main-nav a,
.footer-nav a {
  color: var(--color-ink);
  text-decoration: none;
  font-size: 14px;
}

.main-nav a[aria-current="page"],
.main-nav a:hover,
.footer-nav a:hover {
  color: var(--color-navy);
  text-decoration: underline;
}

.nav-action {
  grid-area: nav-action;
  justify-self: end;
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  padding: 6px 12px;
  background: var(--color-navy);
  color: white;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
}

.nav-action:hover { background: var(--color-navy-hover); color: white; }

.page {
  max-width: var(--max);
  margin: 0 auto;
  padding: 42px 22px 56px;
}

.page-header {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 24px;
  margin-bottom: 30px;
}

.hero {
  min-height: calc(100vh - 165px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 42px;
  align-items: center;
  padding-bottom: 38px;
}

.eyebrow {
  color: var(--color-muted);
  font-size: 14px;
  margin: 0 0 12px;
}

h1 {
  font-size: 42px;
  line-height: 1.12;
  margin: 0 0 18px;
  font-weight: 760;
  max-width: 840px;
}

h2 {
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 12px;
}

h3 {
  font-size: 17px;
  line-height: 1.3;
  margin: 0 0 8px;
}

.lead {
  font-size: 18px;
  color: var(--color-muted);
  max-width: 760px;
  margin: 0 0 24px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 1px solid var(--color-navy);
  padding: 8px 14px;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}

.button.primary {
  background: var(--color-navy);
  color: white;
}

.button.secondary {
  background: white;
  color: var(--color-navy);
}

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

.source-viewer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.source-viewer-actions button {
  min-height: 42px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: var(--color-navy);
  color: white;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  padding: 8px 14px;
}

.source-viewer-frame-section {
  padding-top: 0;
}

.source-viewer-frame-section iframe {
  display: block;
  width: 100%;
  min-height: 68vh;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: white;
}

.cart-panel {
  display: grid;
  gap: 14px;
}

.cart-empty {
  color: var(--color-muted);
  margin: 0;
}

.selected-course-list {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.selected-course-list li {
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.selected-course-list button {
  background: white;
  border: 1px solid var(--color-border);
  border-radius: 5px;
  color: var(--color-navy);
  cursor: pointer;
  font-weight: 650;
  padding: 4px 8px;
}

.cart-learner-details {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cart-learner-details label {
  color: var(--color-muted);
  display: grid;
  font-size: 14px;
  gap: 6px;
}

.cart-learner-details input {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  min-width: 0;
  padding: 10px 12px;
}

.cart-summary {
  display: grid;
  gap: 4px;
  color: var(--color-muted);
}

.cart-summary strong {
  color: var(--color-ink);
}

.account-panel {
  display: grid;
  gap: 18px;
}

.profile-type-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.profile-type-button {
  min-height: 42px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: white;
  color: var(--color-navy);
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  padding: 8px 12px;
}

.profile-type-button.active {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: white;
}

.profile-field-grid {
  display: grid;
  gap: 14px;
}

.profile-module {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin: 0;
  padding: 14px;
}

.profile-module legend {
  color: var(--color-ink);
  font-weight: 700;
  padding: 0 4px;
}

.profile-module-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.profile-module-fields label {
  color: var(--color-muted);
  display: grid;
  font-size: 14px;
  gap: 6px;
}

.profile-module-fields input {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  min-width: 0;
  padding: 10px 12px;
}

.course-ai-bridge {
  display: grid;
  gap: 16px;
}

.course-ai-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.course-ai-result {
  gap: 12px;
}

.course-ai-draft {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: white;
  padding: 16px;
}

.course-ai-draft:empty {
  display: none;
}

.course-ai-draft pre {
  margin: 10px 0 0;
  overflow: auto;
  white-space: pre-wrap;
  font: inherit;
  color: var(--color-ink);
}

.page-editor {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
}

.edit-status {
  color: var(--color-muted);
  font-size: 14px;
}

.editable-block {
  position: relative;
  border-radius: var(--radius);
}

.edit-block-controls {
  display: none;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
}

.edit-block-controls button {
  border: 1px solid var(--color-border);
  border-radius: 5px;
  background: white;
  color: var(--color-navy);
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  padding: 4px 8px;
}

.page-editing .edit-block-controls {
  display: flex;
}

.page-editing .editable-block,
.page-editing .course-card {
  outline: 1px dashed var(--color-border);
  outline-offset: 4px;
}

.page-editing [data-editable-text] {
  border-radius: 4px;
  outline: 1px dashed var(--color-navy);
  outline-offset: 3px;
  background: var(--color-navy-soft);
}

[contenteditable="true"]:focus {
  outline: 2px solid var(--color-navy);
}

.status-board,
.panel,
.source-table,
.workspace-preview {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: white;
}

.status-board {
  padding: 18px;
}

.status-grid,
.card-grid,
.section-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.metric {
  border-top: 3px solid var(--color-navy);
  background: var(--color-surface);
  padding: 12px;
  border-radius: 6px;
}

.metric strong {
  display: block;
  font-size: 26px;
  line-height: 1;
  color: var(--color-navy);
}

.metric span {
  display: block;
  margin-top: 6px;
  color: var(--color-muted);
  font-size: 13px;
}

.section {
  padding: 34px 0 0;
}

.panel {
  padding: 18px;
}

.panel.compact {
  padding: 14px;
}

.panel p,
.panel li,
.source-table td {
  color: var(--color-muted);
}

.panel ul,
.panel ol {
  margin: 10px 0 0;
  padding-left: 20px;
}

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

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

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

.module-card {
  border: 0;
  border-radius: 4px;
  box-shadow: 0 12px 24px rgba(11, 31, 58, 0.16);
  padding: 20px;
  background: white;
}

.module-card h3 {
  margin-bottom: 6px;
}

.module-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.item-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

.item-card {
  min-height: 112px;
  display: grid;
  align-content: start;
  gap: 16px;
  border: 0;
  border-radius: 4px;
  background: var(--color-white);
  box-shadow: 0 12px 24px rgba(11, 31, 58, 0.16);
  padding: 24px;
}

.item-card-title {
  margin: 0;
  color: #006b8f;
  font-size: 22px;
  font-weight: 750;
  line-height: 1.08;
}

.item-card-summary {
  margin: 8px 0 0;
  color: var(--color-muted);
}

.item-card-fields {
  display: grid;
  gap: 10px;
  margin: 0;
}

.item-card-field {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.item-card-field dt {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
}

.item-card-field dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.item-card-reference a {
  font-weight: 700;
}

.item-card-url {
  display: block;
  margin-top: 3px;
  color: var(--color-muted);
  font-size: 12px;
}

.item-card .badge {
  justify-self: start;
}

.course-catalog {
  display: grid;
  gap: 22px;
  margin-top: 14px;
}

.course-catalog-group {
  display: grid;
  gap: 14px;
}

.course-catalog-heading {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 10px;
}

.course-catalog-heading h3 {
  margin: 0;
}

.course-card {
  cursor: pointer;
  min-height: 128px;
  display: grid;
  align-content: start;
  gap: 6px;
}

.course-card:hover,
.course-card:focus {
  border-color: var(--color-navy);
  outline: 2px solid var(--color-navy-soft);
}

.course-card h3 {
  font-size: 16px;
  line-height: 1.3;
  margin: 0;
}

.course-code {
  color: var(--color-navy);
  white-space: nowrap;
}

.course-card .mini-kicker {
  color: var(--color-navy);
  font-weight: 700;
  margin: 0;
}

.course-card-action {
  align-self: end;
  color: var(--color-navy);
  font-weight: 700;
}

.court-index {
  display: grid;
  gap: 18px;
}

.court-index-group {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  background: white;
}

.court-index-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: 12px 14px;
}

.court-index-heading h3 {
  margin: 0;
}

.court-index-heading span,
.court-index-item span {
  color: var(--color-muted);
  font-size: 13px;
}

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

.court-index-item {
  min-height: 82px;
  padding: 12px 14px;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.court-index-item strong,
.court-index-item span {
  display: block;
}

.panel-list {
  column-count: 3;
  column-gap: 28px;
  margin: 12px 0 0;
  padding-left: 20px;
}

.panel-list li {
  break-inside: avoid;
  margin: 0 0 6px;
  color: var(--color-muted);
}

.filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr);
  gap: 10px;
  margin: 16px 0;
}

.library-filter-bar {
  grid-template-columns: 1fr;
}

.court-filter-bar {
  grid-template-columns: 1fr;
}

.court-directory-filter-bar {
  grid-template-columns: 1fr;
}

.court-directory-summary {
  margin: 16px 0 18px;
}

.form-finder-filter-bar {
  grid-template-columns: 1fr;
}

.skill-filter-bar {
  grid-template-columns: 1fr;
}

.filter-bar input,
.filter-bar select,
.filter-button-group button {
  min-height: 40px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 8px 10px;
  background: white;
  color: var(--color-ink);
  font: inherit;
}

.filter-button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-button-group button {
  cursor: pointer;
}

.filter-button-group button.active {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: white;
}

.library-filter-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 10px 0 6px;
}

.library-filter-card-grid button {
  min-height: 112px;
  display: block;
  padding: 30px;
  border: 0;
  border-radius: 4px;
  background: var(--color-white);
  color: #006b8f;
  box-shadow: 0 12px 24px rgba(11, 31, 58, 0.16);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.08;
  text-align: left;
}

.library-filter-card-grid button:hover,
.library-filter-card-grid button:focus {
  color: var(--color-navy-hover);
  box-shadow: 0 16px 28px rgba(11, 31, 58, 0.2);
}

.library-filter-card-grid button.active {
  background: var(--color-white);
  color: #006b8f;
  box-shadow: 0 0 0 3px var(--color-navy), 0 16px 28px rgba(11, 31, 58, 0.2);
}

.section-heading-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 16px;
}

.section-heading-row h2 {
  margin-bottom: 0;
}

.library-page-header {
  padding-bottom: 18px;
  margin-bottom: 0;
}

.library-page-header .lead {
  max-width: 720px;
}

.legal-library-entry {
  min-height: 58vh;
  display: grid;
  align-content: start;
  gap: 22px;
  padding-top: 24px;
}

.legal-library-search-shell {
  max-width: 1040px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  text-align: center;
}

.legal-library-search-shell h2 {
  margin: 0;
  font-size: 32px;
}

.legal-library-search-shell input {
  width: 100%;
  min-height: 72px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-ink);
  box-shadow: 0 16px 34px rgba(11, 31, 58, 0.13);
  font-size: 22px;
  padding: 0 32px;
}

.legal-library-course-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.legal-library-course-card {
  min-width: 0;
  display: grid;
  gap: 5px;
  border: 1px solid var(--color-border);
  border-radius: 7px;
  background: var(--color-white);
  padding: 14px;
}

.legal-library-course-card strong {
  color: var(--color-navy);
  font-size: 15px;
}

.legal-library-course-card span:last-child {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.35;
}

.legal-library-court-entry {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.legal-library-court-card {
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 7px;
  background: var(--color-white);
  color: var(--color-ink);
  padding: 9px 12px;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
}

.legal-library-court-card:hover,
.legal-library-court-card:focus {
  border-color: var(--color-navy);
  box-shadow: 0 10px 20px rgba(11, 31, 58, 0.12);
}

.legal-library-court-card span {
  color: var(--color-navy);
  font-weight: 750;
  line-height: 1.2;
}

.legal-library-court-card strong,
.legal-library-court-card small {
  white-space: nowrap;
}

.legal-library-court-card strong {
  color: var(--color-ink);
  font-size: 13px;
}

.legal-library-court-card small {
  color: var(--color-muted);
  font-size: 12px;
}

.library-reference-section {
  display: none;
}

.court-library-page {
  max-width: 1320px;
}

.court-library-header {
  margin-bottom: 18px;
}

.court-library-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.court-library-breadcrumb a {
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-navy);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 10px;
  text-decoration: none;
}

.court-library-breadcrumb a[aria-current="page"] {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: var(--color-white);
}

.court-library-home {
  display: grid;
  gap: 16px;
  padding-top: 4px;
}

.court-library-search-shell {
  display: grid;
  gap: 12px;
}

.court-library-search-shell h2 {
  margin: 0;
  font-size: 30px;
}

.court-library-search-shell input {
  width: 100%;
  min-height: 68px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: var(--color-white);
  color: var(--color-ink);
  box-shadow: 0 14px 28px rgba(11, 31, 58, 0.1);
  font-size: 20px;
  padding: 0 22px;
}

.case-reader-workspace {
  min-height: calc(100vh - 138px);
  padding-top: 10px;
}

.case-reader-workspace.is-hidden {
  display: none;
}

.case-reader-workspace-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 12px;
}

.case-reader-workspace-heading h2 {
  margin-bottom: 0;
}

.case-reader-mobile-tabs {
  display: none;
}

.case-reader-court-summary {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  overflow-x: auto;
}

.case-reader-court-summary-card {
  min-width: 210px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-white);
  padding: 8px 11px;
}

.case-reader-court-summary-card strong {
  color: var(--color-navy);
  font-size: 13px;
  line-height: 1.2;
}

.case-reader-court-summary-card span:last-child {
  color: var(--color-muted);
  font-size: 12px;
}

.case-reader-grid {
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(620px, 1fr);
  gap: 14px;
  align-items: stretch;
}

.case-reader-results-panel,
.case-reader-document-panel {
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
}

.case-reader-results-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  max-height: calc(100vh - 220px);
  overflow: hidden;
}

.case-reader-results {
  display: grid;
  gap: 8px;
  align-content: start;
  overflow: auto;
  padding-right: 2px;
}

.case-result-card {
  width: 100%;
  display: grid;
  gap: 5px;
  padding: 11px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.case-result-card-shell {
  display: grid;
  gap: 6px;
}

.case-result-card-shell .button {
  justify-self: start;
  min-height: 34px;
  padding: 7px 10px;
}

.case-result-card:hover,
.case-result-card:focus {
  border-color: var(--color-navy);
  background: var(--color-white);
}

.case-result-card.active {
  border-color: var(--color-navy);
  box-shadow: 0 0 0 2px var(--color-navy-soft);
  background: var(--color-white);
}

.case-result-title {
  color: var(--color-navy);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.18;
}

.case-result-citation,
.case-result-meta {
  color: var(--color-muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.case-result-summary {
  color: var(--color-ink);
  font-size: 12px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.case-result-documents {
  display: none;
  flex-wrap: wrap;
  gap: 5px;
}

.case-result-documents span {
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-navy);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 4px 7px;
}

.case-result-priority {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--color-muted);
  font-size: 12px;
}

.case-result-priority .badge {
  font-size: 11px;
}

.case-reader-document-panel {
  display: grid;
  grid-template-rows: auto minmax(760px, 82vh);
  overflow: hidden;
}

.case-reader-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
}

.case-reader-format-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.case-reader-format-switch button,
.case-reader-mobile-tabs button {
  min-height: 36px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 7px 11px;
  background: var(--color-white);
  color: var(--color-navy);
  font-weight: 650;
  cursor: pointer;
}

.case-reader-format-switch button.active,
.case-reader-mobile-tabs button.active {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: var(--color-white);
}

.case-reader-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.case-reader-document-tools {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.case-reader-document-tools input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-white);
  color: var(--color-ink);
  padding: 8px 10px;
}

.case-reader-document-status {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #afd8bf;
  border-radius: 999px;
  background: #f0fbf4;
  color: #176438;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  padding: 5px 9px;
  white-space: nowrap;
}

.case-reader-reader {
  min-width: 0;
  min-height: 0;
  background: #eef1f5;
}

.stored-document-renderer {
  height: 100%;
  min-height: 760px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #dfe3e8;
}

.case-reader-frame-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-white);
  padding: 10px 12px;
}

.case-reader-frame-header div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.case-reader-frame-header strong,
.case-reader-frame-header span {
  overflow-wrap: anywhere;
}

.case-reader-frame-header span {
  color: var(--color-muted);
  font-size: 13px;
}

.pdf-page-stack {
  min-height: 720px;
  display: grid;
  gap: 24px;
  align-content: start;
  overflow: auto;
  padding: 28px;
}

.pdf-page,
.word-document-page {
  width: min(100%, 780px);
  margin: 0 auto;
  border: 1px solid #c8cdd4;
  background: var(--color-white);
  box-shadow: 0 12px 24px rgba(11, 31, 58, 0.18);
}

.pdf-page {
  min-height: 920px;
  display: grid;
  grid-template-rows: auto 1fr;
}

.pdf-page-chrome {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-muted);
  font-size: 12px;
  padding: 8px 12px;
}

.pdf-page-body {
  padding: 64px 72px;
  color: #101820;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.7;
}

.pdf-page-body p {
  margin: 0 0 14px;
}

.stored-document-renderer mark {
  border-radius: 2px;
  background: #fff3a6;
  color: #101820;
  padding: 0 2px;
}

.word-document-renderer {
  overflow: hidden;
}

.word-page-stack {
  min-height: 720px;
  overflow: auto;
  padding: 28px;
}

.word-document-page {
  min-height: 720px;
  align-self: start;
  margin-top: 0;
  margin-bottom: 0;
  padding: 62px 72px;
  color: #101820;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.72;
}

.word-document-page h1,
.word-document-page h2 {
  color: #101820;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

.word-document-page h1 {
  margin-top: 0;
  font-size: 24px;
}

.word-document-page h2 {
  margin-top: 28px;
  font-size: 18px;
}

.case-reader-placeholder {
  height: 100%;
  min-height: 720px;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 32px;
  text-align: center;
  color: var(--color-muted);
}

.case-reader-placeholder-title {
  margin: 0;
  color: var(--color-navy);
  font-size: 22px;
  font-weight: 750;
}

.section-note {
  color: var(--color-muted);
  margin: 0 0 14px;
}

.report-summary,
.warning-list {
  display: grid;
  gap: 14px;
}

.warning-list {
  margin: 14px 0 0;
  padding-left: 20px;
}

.warning-list li {
  color: var(--color-muted);
}

.source-table caption {
  text-align: left;
  font-weight: 700;
  margin: 0 0 8px;
}

.mini-kicker {
  color: var(--color-muted);
  font-size: 13px;
  margin-bottom: 5px;
}

.workspace-preview {
  overflow: hidden;
}

.workbench-page {
  max-width: none;
  min-height: 100vh;
  padding: 0;
  background: var(--color-surface);
}

.workbench-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  background: var(--color-white);
}

.workbench-rail {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 12px;
  border-right: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: 18px 14px;
}

.workbench-brand {
  justify-self: start;
  grid-area: auto;
}

.workbench-mode {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #c7d7ec;
  border-radius: 999px;
  background: #f2f7fd;
  color: var(--color-navy);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  padding: 6px 10px;
}

.workbench-mode.local {
  border-color: #afd8bf;
  background: #f0fbf4;
  color: var(--color-success);
}

.workbench-nav {
  border-right: 0;
  background: transparent;
  padding: 0;
}

.workbench-main {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 20px;
}

.workbench-command-bar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, 0.8fr);
  gap: 18px;
  align-items: center;
}

.workbench-command-bar h1 {
  margin-bottom: 0;
}

.workbench-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.45fr) minmax(240px, 0.75fr) minmax(240px, 0.75fr);
  gap: 14px;
  align-items: stretch;
}

.workbench-instruction,
.workbench-panel,
.workbench-area-card {
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
}

.workbench-instruction {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.workbench-selected-area {
  margin: 0;
  color: var(--color-navy);
  font-size: 14px;
  font-weight: 750;
}

.workbench-instruction textarea {
  min-height: 142px;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  padding: 12px;
  resize: vertical;
}

.workbench-readiness {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 28px;
}

.workbench-readiness span {
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
  padding: 5px 9px;
}

.workbench-readiness span.ready {
  border-color: #b7d8c4;
  background: #f3fbf6;
  color: var(--color-success);
}

.workbench-readiness span.missing {
  border-color: #e6d4ad;
  background: #fff8e9;
  color: var(--color-warning);
}

.workbench-control-group {
  display: grid;
  gap: 8px;
}

.workbench-control-group h3 {
  margin: 0;
  font-size: 14px;
}

.segmented-control {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.segmented-control button {
  min-width: 0;
  min-height: 56px;
  display: grid;
  gap: 4px;
  align-content: start;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-white);
  color: var(--color-ink);
  cursor: pointer;
  font: inherit;
  padding: 9px 10px;
  text-align: left;
}

.segmented-control button.active {
  border-color: var(--color-navy);
  background: var(--color-navy-soft);
  box-shadow: inset 0 0 0 1px var(--color-navy);
}

.segmented-control strong {
  color: var(--color-navy);
  font-size: 13px;
  line-height: 1.2;
}

.segmented-control span {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.25;
}

.prompt-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.prompt-chip-row button {
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-navy);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  padding: 7px 10px;
  text-align: left;
}

.workbench-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.workbench-composer-status {
  min-height: 24px;
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 700;
}

.workbench-composer-status.locked {
  color: var(--color-warning);
}

.workbench-composer-status.succeeded {
  color: var(--color-success);
}

.workbench-prepared-instruction:empty {
  display: none;
}

.workbench-prepared-card {
  display: grid;
  gap: 10px;
  border: 1px solid #b7d8c4;
  border-radius: var(--radius);
  background: #f3fbf6;
  padding: 14px;
}

.workbench-prepared-card.locked {
  border-color: #e6d4ad;
  background: #fff8e9;
}

.workbench-prepared-card h3,
.workbench-prepared-card p {
  margin: 0;
}

.workbench-prepared-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.workbench-prepared-card dl div {
  display: grid;
  gap: 2px;
}

.workbench-prepared-card dt {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
}

.workbench-prepared-card dd {
  margin: 0;
}

.workbench-instruction-queue {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.workbench-queue-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.workbench-queue-tools span {
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 750;
}

.workbench-queue-tools button {
  min-height: 34px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-white);
  color: var(--color-navy);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  padding: 6px 10px;
}

.workbench-queue-tools button:disabled {
  color: var(--color-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.workbench-public-package-import {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  margin-bottom: 12px;
}

.workbench-public-package-import label {
  grid-column: 1 / -1;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
}

.workbench-public-package-import textarea {
  min-height: 78px;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: 12px/1.45 var(--font-mono, ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace);
  padding: 9px 10px;
  resize: vertical;
}

.workbench-public-package-import button {
  min-height: 38px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: var(--color-navy);
  color: var(--color-white);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  padding: 7px 12px;
}

.workbench-public-import-status {
  grid-column: 1 / -1;
  min-height: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
  padding: 7px 9px;
}

.workbench-public-import-status:empty {
  display: none;
}

.workbench-public-import-status.ready {
  border-color: #b7d8c4;
  background: #f3fbf6;
  color: var(--color-success);
}

.workbench-public-import-status.locked {
  border-color: #e6d4ad;
  background: #fff8e9;
  color: var(--color-warning);
}

.workbench-public-import-status span {
  color: var(--color-muted);
}

.workbench-queue-transfer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #fbfdff;
  padding: 12px 14px;
}

.workbench-queue-transfer > div:first-child {
  display: grid;
  gap: 3px;
  min-width: min(100%, 360px);
}

.workbench-queue-transfer strong {
  color: var(--color-navy);
}

.workbench-queue-transfer span:not(.badge) {
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}

.workbench-queue-transfer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.workbench-queue-transfer button {
  min-height: 34px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: var(--color-navy);
  color: var(--color-white);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  padding: 6px 10px;
}

.workbench-queue-card,
.workbench-queue-empty,
.workbench-queue-notice {
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  padding: 14px;
}

.workbench-queue-notice {
  grid-column: 1 / -1;
  border-color: #e6d4ad;
  background: #fff8e9;
  display: grid;
  gap: 4px;
}

.workbench-queue-notice p {
  margin: 0;
  color: var(--color-muted);
}

.workbench-queue-card {
  display: grid;
  gap: 10px;
}

.workbench-queue-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.workbench-queue-card h3,
.workbench-queue-card p,
.workbench-queue-empty p {
  margin: 0;
}

.workbench-queue-card p:not(.mini-kicker),
.workbench-queue-empty p {
  color: var(--color-muted);
}

.workbench-queue-card dl {
  display: grid;
  gap: 7px;
  margin: 0;
}

.workbench-queue-card dt {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
}

.workbench-queue-card dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.workbench-proof-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.workbench-proof-summary span:not(.badge) {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
}

.workbench-queue-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbench-queue-card-actions button {
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-navy);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  padding: 5px 10px;
}

.workbench-queue-card-actions button:hover {
  border-color: var(--color-navy);
  background: var(--color-navy-soft);
}

.workflow-pack-toolbar {
  display: grid;
  gap: 10px;
}

.workflow-pack-toolbar input {
  min-height: 42px;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  padding: 0 12px;
}

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

.workflow-pack-card {
  align-content: start;
}

.workflow-pack-card .button {
  justify-self: start;
}

.form-workflow-card .button {
  justify-self: start;
}

.skill-card .button {
  justify-self: start;
}

.compact-check-list {
  margin: 0;
  padding-left: 18px;
}

.workbench-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 16px;
}

.workbench-list {
  display: grid;
  gap: 10px;
}

.workbench-list article {
  display: grid;
  gap: 4px;
  border-top: 1px solid var(--color-border);
  padding-top: 10px;
}

.workbench-list article:first-child {
  border-top: 0;
  padding-top: 0;
}

.workbench-list strong,
.workbench-list span {
  overflow-wrap: anywhere;
}

.workbench-list span {
  color: var(--color-navy);
  font-size: 13px;
  font-weight: 750;
}

.workbench-list .workbench-source-priority {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 650;
}

.workbench-list .workbench-source-priority .badge {
  font-size: 11px;
}

.workbench-list p {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
}

.workbench-area-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.workbench-area-card {
  min-height: 180px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 14px;
}

.workbench-area-card.locked {
  border-left: 4px solid var(--color-warning);
}

.workbench-area-card.selected {
  border-color: var(--color-navy);
  box-shadow: inset 0 0 0 1px var(--color-navy);
}

.workbench-area-card h3 {
  margin-bottom: 8px;
}

.workbench-area-card h3 button {
  border: 0;
  background: transparent;
  color: var(--color-navy);
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  padding: 0;
  text-align: left;
}

.workbench-area-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
}

.super-admin-shell {
  display: grid;
  grid-template-columns: 210px 1fr;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: white;
  overflow: hidden;
}

.workspace-top {
  min-height: 44px;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
}

.workspace-search-shell {
  margin-left: auto;
  display: grid;
  gap: 4px;
  min-height: 28px;
  width: 42%;
}

.workspace-search {
  min-height: 28px;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 5px;
  background: var(--color-surface);
  color: var(--color-muted);
  box-sizing: border-box;
  padding: 0 10px;
  font: inherit;
  font-size: 13px;
}

.workspace-search:focus {
  border-color: var(--color-blue);
  color: var(--color-ink);
  outline: 2px solid rgba(37, 99, 235, 0.14);
  outline-offset: 1px;
}

.workspace-search::placeholder {
  color: var(--color-muted);
  opacity: 1;
}

.workspace-search-shell span {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.2;
}

.workspace-body {
  display: grid;
  grid-template-columns: 180px 1fr;
}

.workspace-side {
  border-right: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: 12px;
}

.workspace-side a {
  display: block;
  border-radius: 5px;
  padding: 7px 8px;
  color: var(--color-ink);
  text-decoration: none;
  font-size: 14px;
}

.workspace-side a.active {
  background: var(--color-navy);
  color: white;
}

.nav-status {
  display: block;
  margin-top: 3px;
  color: var(--color-warning);
  font-size: 11px;
}

.workspace-side a.active .nav-status {
  color: #f8d47e;
}

.workspace-main {
  padding: 16px;
}

.compact-section {
  padding-top: 22px;
}

.compact-section:first-child {
  padding-top: 0;
}

.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 14px;
  padding-bottom: 10px;
}

.section-heading p {
  color: var(--color-muted);
  margin: 0;
  max-width: 520px;
}

.admin-gate {
  border: 1px solid var(--color-border);
  border-left: 5px solid var(--color-danger);
  border-radius: var(--radius);
  padding: 16px;
  background: var(--color-surface);
}

.admin-gate.unlocked {
  border-left-color: var(--color-success);
}

.admin-gate h2,
.admin-gate p {
  margin: 0;
}

.admin-gate h2 {
  margin-bottom: 8px;
}

.locked-card {
  border-left: 4px solid var(--color-danger);
}

.build-room-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  gap: 14px;
}

.build-room-history-panel {
  margin-top: 14px;
}

.build-plan-panel {
  margin-bottom: 14px;
}

.build-room-publish-badge {
  align-items: center;
  border: 1px solid #f0c36d;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  padding: 10px 12px;
  background: #fffaf0;
}

.build-room-publish-badge strong {
  color: var(--color-ink);
}

.build-room-publish-badge span:last-child {
  color: var(--color-muted);
}

.publish-readiness-panel {
  margin-bottom: 14px;
}

.publish-readiness-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.publish-readiness-columns ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.publish-readiness-columns code {
  font-size: 0.88rem;
}

.tight-heading {
  margin-bottom: 10px;
}

.build-plan-task-list {
  display: grid;
  gap: 10px;
  margin: 12px 0 0;
  padding-left: 20px;
}

.build-plan-task-list li::marker {
  color: var(--color-success);
}

.build-plan-task-list strong,
.build-plan-task-list span {
  display: block;
}

.build-plan-task-list span {
  color: var(--color-muted);
}

.build-request-form {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.codex-console {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.codex-prompt-form {
  display: grid;
  gap: 10px;
}

.build-request-form label,
.codex-prompt-form label {
  font-weight: 700;
}

.build-request-form textarea,
.codex-prompt-form textarea {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  min-height: 122px;
  padding: 10px;
  resize: vertical;
  width: 100%;
}

.build-request-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.build-request-actions button {
  min-height: 38px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: var(--color-navy);
  color: white;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 7px 12px;
}

.build-request-actions button:disabled {
  border-color: var(--color-border);
  background: var(--color-surface);
  color: var(--color-muted);
  cursor: not-allowed;
}

.build-request-status,
.codex-prompt-status {
  color: var(--color-muted);
  font-size: 13px;
}

.build-request-status.running,
.codex-prompt-status.running {
  color: var(--color-navy);
}

.build-request-status.succeeded,
.codex-prompt-status.succeeded {
  color: var(--color-success);
}

.build-request-status.failed,
.build-request-status.locked,
.codex-prompt-status.failed,
.codex-prompt-status.locked {
  color: var(--color-danger);
}

.codex-results {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-muted);
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  min-height: 96px;
  overflow-wrap: anywhere;
  padding: 10px;
  white-space: pre-wrap;
}

.codex-results.running {
  border-color: #bdd1ee;
  background: #f3f7fd;
  color: var(--color-navy);
}

.codex-results.succeeded {
  border-color: #b7d8c4;
  background: #f3fbf6;
  color: var(--color-ink);
}

.codex-results.failed,
.codex-results.locked {
  border-color: #e9c0ba;
  background: #fff5f3;
  color: var(--color-danger);
}

.thread-entry {
  border-top: 1px solid var(--color-border);
  padding: 12px 0;
}

.thread-entry:first-child {
  border-top: 0;
  padding-top: 0;
}

.thread-entry p {
  margin: 0;
  color: var(--color-muted);
}

.admin-action-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-action-list li {
  display: grid;
  gap: 5px;
  color: var(--color-muted);
}

.admin-action-list button {
  min-height: 36px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: var(--color-navy);
  color: white;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 7px 10px;
  text-align: left;
}

.admin-action-list button:disabled {
  border-color: var(--color-border);
  background: var(--color-surface);
  color: var(--color-muted);
  cursor: not-allowed;
}

.admin-command-log {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  color: var(--color-muted);
  font-size: 13px;
  margin-top: 14px;
  padding: 9px 10px;
}

.admin-command-log.running {
  border-color: #bdd1ee;
  background: #f3f7fd;
  color: var(--color-navy);
}

.admin-command-log.succeeded {
  border-color: #b7d8c4;
  background: #f3fbf6;
  color: var(--color-success);
}

.admin-command-log.failed,
.admin-command-log.locked {
  border-color: #e9c0ba;
  background: #fff5f3;
  color: var(--color-danger);
}

.publish-status-summary {
  margin-top: 12px;
}

.publish-status-card {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 14px;
  background: #fff;
}

.publish-status-card.blocked {
  border-color: #f0c36d;
}

.publish-status-card.ready {
  border-color: var(--color-success);
}

.publish-status-card.unavailable {
  border-color: var(--color-border);
  background: var(--color-surface);
}

.publish-status-card h4 {
  margin: 0;
}

.publish-status-card ul {
  margin: 10px 0;
  padding-left: 20px;
}

.publish-status-card p {
  margin: 10px 0 0;
}

.publish-status-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.source-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-size: 14px;
}

.source-table th,
.source-table td {
  border-bottom: 1px solid var(--color-border);
  padding: 10px 11px;
  text-align: left;
  vertical-align: top;
}

.source-table th {
  background: var(--color-surface);
  color: var(--color-ink);
  font-size: 13px;
}

.badge {
  display: inline-flex;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 2px 8px;
  color: var(--color-muted);
  font-size: 12px;
  white-space: nowrap;
}

.badge.good {
  border-color: #b7d8c4;
  color: var(--color-success);
  background: #f3fbf6;
}

.badge.warn {
  border-color: #e6d4ad;
  color: var(--color-warning);
  background: #fff8e9;
}

.timeline {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.timeline-item {
  border-left: 3px solid var(--color-navy);
  padding-left: 12px;
}

.timeline-item strong {
  display: block;
}

.timeline-item span {
  color: var(--color-muted);
}

.site-footer {
  border-top: 1px solid var(--color-border);
  padding: 22px;
}

.footer-shell {
  max-width: var(--max);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  text-align: center;
  color: var(--color-muted);
  font-size: 14px;
}

@media (max-width: 920px) {
  .nav-shell,
  .hero,
  .workbench-shell,
  .workbench-command-bar,
  .workbench-grid,
  .workspace-body,
  .super-admin-shell,
  .status-grid,
  .card-grid,
  .item-card-grid,
  .workflow-pack-grid,
  .library-filter-card-grid,
  .section-grid,
  .module-grid,
  .build-room-grid,
  .court-index-list,
  .filter-bar {
    grid-template-columns: 1fr;
  }

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

  .workbench-instruction-queue {
    grid-template-columns: 1fr;
  }

  .workbench-public-package-import {
    grid-template-columns: 1fr;
  }

  .publish-readiness-columns {
    grid-template-columns: 1fr;
  }

  .segmented-control {
    grid-template-columns: 1fr;
  }

  .workbench-rail {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .section-heading-row {
    align-items: start;
    flex-direction: column;
  }

  .legal-library-course-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-library-court-entry {
    grid-template-columns: 1fr;
  }

  .case-reader-workspace-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .case-reader-mobile-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    overflow-x: auto;
  }

  .case-reader-grid {
    grid-template-columns: 1fr;
  }

  .case-reader-results-panel {
    max-height: none;
  }

  .case-reader-grid [data-case-reader-panel] {
    display: none;
  }

  .case-reader-grid [data-case-reader-panel].active {
    display: grid;
  }

  .panel-list {
    column-count: 2;
  }

  .nav-shell {
    grid-template-areas:
      "brand"
      "nav"
      "nav-action";
    row-gap: 12px;
  }

  .nav-action {
    justify-self: center;
  }

  .workspace-search-shell,
  .workspace-search {
    width: 100%;
    margin-left: 0;
  }

  h1 { font-size: 32px; }
}

@media (max-width: 640px) {
  .page { padding: 28px 16px 42px; }
  .nav-shell { padding: 12px 16px; }
  .main-nav { gap: 10px; }
  h1 { font-size: 28px; }
  .library-filter-card-grid { gap: 18px; }
  .library-filter-card-grid button {
    min-height: 96px;
    padding: 24px;
    font-size: 20px;
  }
  .legal-library-search-shell {
    text-align: left;
  }
  .legal-library-search-shell h2 {
    font-size: 26px;
  }
  .legal-library-search-shell input {
    min-height: 50px;
    border-radius: 14px;
    font-size: 16px;
    padding: 0 16px;
  }
  .legal-library-course-cards {
    grid-template-columns: 1fr;
  }
  .court-library-search-shell h2 {
    font-size: 24px;
  }
  .court-library-search-shell input {
    min-height: 54px;
    font-size: 16px;
  }
  .legal-library-court-card {
    grid-template-columns: 1fr auto;
  }
  .legal-library-court-card small {
    display: none;
  }
  .item-card {
    min-height: 96px;
    padding: 22px;
  }
  .item-card-title {
    font-size: 20px;
  }
  .cart-learner-details {
    grid-template-columns: 1fr;
  }
  .profile-module-fields {
    grid-template-columns: 1fr;
  }
  .course-ai-results {
    grid-template-columns: 1fr;
  }
  .case-reader-court-summary {
    grid-template-columns: 1fr;
  }
  .case-reader-document-panel {
    grid-template-rows: auto minmax(420px, 70vh);
  }
  .case-reader-toolbar {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .case-reader-format-switch,
  .case-reader-actions {
    justify-content: flex-start;
  }
  .case-reader-document-tools {
    grid-template-columns: 1fr;
  }
  .case-reader-document-status {
    justify-self: start;
    white-space: normal;
  }
  .case-reader-frame-header {
    align-items: stretch;
    flex-direction: column;
  }
  .stored-document-renderer,
  .case-reader-placeholder {
    min-height: 420px;
  }
  .pdf-page-stack {
    min-height: 420px;
    padding: 16px;
  }
  .word-page-stack {
    min-height: 420px;
    padding: 16px;
  }
  .pdf-page {
    min-height: 620px;
  }
  .pdf-page-body,
  .word-document-page {
    padding: 34px 28px;
  }
  .source-table { display: block; overflow-x: auto; }
  .panel-list { column-count: 1; }
  .workbench-main {
    padding: 16px;
  }
  .workbench-area-grid {
    grid-template-columns: 1fr;
  }
  .workbench-actions .button {
    width: 100%;
  }
}
