body.management-mode,
body.management-auth {
  overflow: hidden;
  background: #f8fafc;
}

body.management-mode .app-shell {
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}

body.management-mode .app-main {
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
}

body.management-mode .screen {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  padding: 0;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
}

body.management-mode .topbar,
body.management-mode .stepper,
body.management-mode .filing-context,
body.management-mode .rail-footer #reset-session,
body.management-auth .side-rail,
body.management-auth .topbar,
body.management-auth .stepper,
body.management-auth .filing-context,
body.management-auth .rail-footer #reset-session {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

body.management-auth .app-shell {
  display: block;
}

body.management-auth .app-main {
  min-height: 100vh;
  overflow-y: auto;
}

.development-auth-notice {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #e4b854;
  border-radius: 4px;
  color: #725319;
  background: #fffaf0;
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
}

.production-auth-notice {
  background: #eaf6f2;
  border: 1px solid #a8d4c6;
  border-radius: 4px;
  color: #176653;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 12px;
}

.management-current-user {
  display: flex;
  min-width: 140px;
  align-items: center;
  gap: 8px;
  padding-right: 8px;
  border-right: 1px solid #dfe5ea;
}

.management-current-user > span:last-child {
  display: grid;
  min-width: 0;
}

.management-current-user strong {
  overflow: hidden;
  max-width: 150px;
  color: #2f4052;
  font-size: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.management-current-user small {
  color: #7b8793;
  font-size: 9px;
}

.management-avatar {
  display: inline-flex;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #153d7c;
  font-size: 10px;
  font-weight: 750;
}

.management-layout {
  display: grid;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  background: #fff;
  width: 100%;
  overflow: hidden;
}

.management-layout.drawer-open {
  grid-template-columns: minmax(520px, 1fr) minmax(320px, 380px);
}

.management-sidebar {
  display: none !important;
}

.management-content {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  padding: 24px 32px 48px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.management-page-header {
  display: flex;
  min-height: 104px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 30px 20px;
  border-bottom: 1px solid #dfe5ea;
}

.management-page-header h2 {
  margin: 0;
  color: #172b45;
  font-size: 23px;
  font-weight: 750;
  letter-spacing: -.025em;
}

.management-page-header p {
  max-width: 620px;
  margin: 6px 0 0;
  color: #697889;
  font-size: 11px;
  line-height: 1.45;
}

.management-page-header .button {
  min-height: 36px;
  gap: 7px;
  padding-inline: 14px;
  font-size: 10px;
}

.management-reference-cases {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 30px;
  border-bottom: 1px solid #dfe5ea;
  background: #f5f9fd;
}

.management-reference-cases > div:first-child {
  display: grid;
  gap: 2px;
}

.management-reference-cases strong {
  color: #173a61;
  font-size: 11px;
}

.management-reference-cases span {
  color: #697889;
  font-size: 9px;
}

.management-reference-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.management-reference-actions .button {
  min-height: 32px;
  padding-inline: 12px;
  font-size: 10px;
}

.management-filters {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 10px;
  padding: 14px 30px;
  border-bottom: 1px solid #dfe5ea;
}

.management-filters .select {
  width: auto;
  min-width: 140px;
  min-height: 36px;
  font-size: 10px;
}

.management-filters .button {
  min-height: 36px;
  padding-inline: 12px;
  font-size: 10px;
}

.management-search {
  display: flex;
  width: min(360px, 45vw);
  min-width: 220px;
  min-height: 36px;
  height: 36px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid #cbd5df;
  border-radius: 4px;
  background: #fff;
  box-sizing: border-box;
}

.management-search:focus-within {
  border-color: #3885c2;
  box-shadow: 0 0 0 2px rgba(56, 133, 194, .12);
}

.management-search svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: #64748b;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.management-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #1e293b;
  background: transparent;
  font: inherit;
  font-size: 11px;
}

.management-table-wrap {
  min-width: 0;
  overflow: auto;
}

.management-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.management-table th {
  height: 43px;
  padding: 8px 12px;
  border-bottom: 1px solid #d8e0e7;
  color: #35485b;
  background: #f8fafb;
  font-size: 9px;
  font-weight: 750;
  text-align: left;
  white-space: nowrap;
}

.management-table th:first-child,
.management-table td:first-child {
  padding-left: 30px;
}

.management-table th:last-child,
.management-table td:last-child {
  padding-right: 24px;
}

.management-table td {
  height: 58px;
  padding: 9px 12px;
  border-bottom: 1px solid #e3e8ed;
  color: #33485c;
  background: #fff;
  font-size: 10px;
  vertical-align: middle;
}

.management-table tbody tr:hover td {
  background: #f7fbfe;
}

.management-table td > strong,
.management-table td > span,
.management-table td > small {
  display: block;
}

.management-table td > strong {
  color: #253b50;
  font-size: 10px;
  font-weight: 680;
}

.management-table td > small {
  margin-top: 2px;
  color: #82909e;
  font-size: 8.5px;
  line-height: 1.3;
}

.management-status {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  border-radius: 3px;
  color: #526170;
  background: #edf0f2;
  font-size: 9px;
  font-weight: 680;
  white-space: nowrap;
}

.management-status.in-progress {
  color: #115e9e;
  background: #e5f1fb;
}

.management-status.validated,
.management-status.active {
  color: #34712f;
  background: #e7f4e4;
}

.management-status.archived,
.management-status.inactive {
  color: #666f79;
  background: #e8ebee;
}

.management-status.draft {
  color: #515f6e;
  background: #edf0f2;
}

.management-framework {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  border: 1px solid #cbd9e6;
  border-radius: 3px;
  color: #235d91;
  background: #edf6fd;
  font-size: 9px;
  font-weight: 720;
  white-space: nowrap;
}

.management-framework.mpers {
  color: #45612d;
  border-color: #cfddc3;
  background: #f0f6eb;
}

.management-framework.unknown {
  color: #687582;
  border-color: #d9e0e6;
  background: #f4f6f8;
}

.management-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}

.management-action {
  min-height: 28px;
  padding: 4px 6px;
  border: 0;
  border-radius: 3px;
  color: #0f5ca3;
  background: transparent;
  font: inherit;
  font-size: 9px;
  font-weight: 650;
  cursor: pointer;
}

.management-action:hover {
  background: #eaf3fb;
}

.management-action.danger {
  color: #bd3540;
}

.management-action.danger:hover {
  background: #fff0f1;
}

.management-current-label {
  color: #718091;
  font-size: 9px;
}

.management-table-footer {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 30px;
  color: #6d7b89;
  background: #fff;
  font-size: 9px;
}

.knowledge-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 30px 0;
  overflow: hidden;
  border: 1px solid #dce4eb;
  border-radius: 6px;
  background: #dce4eb;
}

.knowledge-summary > div {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  background: #fff;
}

.knowledge-summary span {
  color: #718091;
  font-size: 9px;
  font-weight: 650;
}

.knowledge-summary strong {
  color: #213a54;
  font-size: 18px;
  letter-spacing: -.02em;
}

.knowledge-summary .attention strong { color: #a05a14; }

.knowledge-tabs {
  display: flex;
  gap: 20px;
  min-height: 48px;
  align-items: end;
  padding: 0 30px;
  border-bottom: 1px solid #dfe5ea;
}

.knowledge-tabs button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 6px;
  padding: 4px 1px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #607184;
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 680;
  cursor: pointer;
}

.knowledge-tabs button.active { color: #155d9d; border-bottom-color: #2f82c1; }
.knowledge-tabs button span {
  min-width: 18px;
  padding: 2px 5px;
  border-radius: 999px;
  color: #155d9d;
  background: #e6f1fa;
  font-size: 8px;
  text-align: center;
}

.knowledge-toolbar {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 9px;
  padding: 14px 30px;
  border-bottom: 1px solid #dfe5ea;
}

.knowledge-toolbar .management-search { width: min(390px, 40vw); }
.knowledge-toolbar .select { width: auto; min-width: 150px; min-height: 36px; font-size: 10px; }
.knowledge-toolbar > .button { min-height: 36px; margin-left: auto; font-size: 10px; }

.knowledge-view-toggle {
  display: inline-flex;
  min-height: 34px;
  padding: 2px;
  border: 1px solid #ccd7e1;
  border-radius: 5px;
  background: #f3f6f8;
}

.knowledge-view-toggle button {
  padding: 5px 9px;
  border: 0;
  border-radius: 3px;
  color: #607184;
  background: transparent;
  font: inherit;
  font-size: 9px;
  cursor: pointer;
}

.knowledge-view-toggle button.active { color: #1b568b; background: #fff; box-shadow: 0 1px 3px rgba(24, 54, 80, .12); }

.knowledge-statement-nav {
  display: flex;
  gap: 8px;
  padding: 10px 30px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.knowledge-statement-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.knowledge-statement-tab:hover {
  border-color: #94a3b8;
  background: #f1f5f9;
  color: #1e293b;
}

.knowledge-statement-tab.active {
  border-color: #0284c7;
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 700;
}

.knowledge-statement-tab .count {
  padding: 1px 6px;
  border-radius: 9999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 10px;
}

.knowledge-statement-tab.active .count {
  background: #bae6fd;
  color: #0284c7;
}

.knowledge-table-wrap { min-height: 330px; }
.knowledge-table td:first-child { min-width: 220px; }
.knowledge-table td:nth-child(2) { min-width: 150px; }
.knowledge-table td:nth-child(3) { min-width: 260px; }
.knowledge-table td:nth-child(4) { min-width: 110px; }

.knowledge-field-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.knowledge-field-title {
  color: #0f172a;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.knowledge-field-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.knowledge-lead-group {
  color: #64748b;
  font-size: 11px;
  font-weight: 500;
}

.knowledge-calc-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 4px;
  background: #fef3c7;
  color: #92400e;
  font-size: 10px;
  font-weight: 600;
}

.knowledge-input-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 4px;
  background: #f1f5f9;
  color: #475569;
  font-size: 10px;
  font-weight: 600;
}

.knowledge-statement-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}

.knowledge-statement-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.knowledge-statement-badge.sofp {
  background: #e0f2fe;
  color: #0369a1;
}

.knowledge-statement-badge.sopl {
  background: #ecfdf5;
  color: #047857;
}

.knowledge-statement-badge.socf {
  background: #fef3c7;
  color: #b45309;
}

.knowledge-statement-badge.socie {
  background: #f3e8ff;
  color: #7e22ce;
}

.knowledge-statement-badge.soci {
  background: #fce7f3;
  color: #be185d;
}

.knowledge-statement-badge.other {
  background: #f1f5f9;
  color: #475569;
}

.knowledge-statement-section {
  color: #64748b;
  font-size: 11px;
}

.knowledge-logics-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.knowledge-terms-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.knowledge-term-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  color: #1e293b;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.3;
}

.knowledge-term-more {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 4px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
  cursor: help;
}

.knowledge-empty-terms {
  color: #94a3b8;
  font-size: 11.5px;
  font-style: italic;
}

.knowledge-logics-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.knowledge-match-mode {
  color: #475569;
  font-weight: 600;
}

.knowledge-term-count {
  color: #64748b;
}

.knowledge-field-card {
  padding: 12px 14px;
  border-radius: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.knowledge-field-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.knowledge-field-card-header strong {
  font-size: 13px;
  color: #0f172a;
}

.knowledge-field-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #64748b;
  font-size: 11px;
}

.primary-action {
  background: #0284c7 !important;
  color: #fff !important;
  border-color: #0284c7 !important;
  font-weight: 600;
}

.primary-action:hover {
  background: #0369a1 !important;
  border-color: #0369a1 !important;
}

.knowledge-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  line-height: 1.4;
}

.knowledge-path span { color: #516579; font-size: 9px; }
.knowledge-path span.leaf { color: #153f67; font-weight: 720; }
.knowledge-path i { color: #9aa8b5; font-size: 12px; font-style: normal; }
.knowledge-unresolved, .knowledge-warning {
  display: inline-flex;
  color: #9a5a16;
  font-size: 9px;
  font-weight: 680;
}

.knowledge-origin {
  display: inline-flex;
  width: fit-content;
  min-height: 22px;
  align-items: center;
  margin-bottom: 3px;
  padding: 3px 7px;
  border: 1px solid #d5dde5;
  border-radius: 3px;
  color: #52677b;
  background: #f5f7f9;
  font-size: 8.5px;
  font-weight: 680;
}

.knowledge-origin.curated { color: #215f8c; border-color: #bdd6e9; background: #eef7fd; }
.knowledge-origin.learned { color: #6c5c28; border-color: #dfd2a7; background: #fff9e9; }
.knowledge-origin.built_in { color: #45612d; border-color: #cfddc3; background: #f0f6eb; }
.knowledge-origin.authority { color: #51458d; border-color: #d4ccec; background: #f6f2ff; }
.knowledge-pagination { display: flex; align-items: center; gap: 10px; }
.knowledge-pagination button {
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #d3dde6;
  border-radius: 3px;
  color: #315c82;
  background: #fff;
  font: inherit;
  font-size: 8.5px;
  cursor: pointer;
}
.knowledge-pagination button:disabled { color: #a1acb6; cursor: default; }

.knowledge-editor { width: min(460px, calc(100vw - 64px)); }
.management-layout:has(.knowledge-editor).drawer-open { grid-template-columns: minmax(560px, 1fr) minmax(400px, 460px); }
.knowledge-editor-section { display: grid; gap: 10px; }
.knowledge-editor-section + .knowledge-editor-section { margin-top: 18px; padding-top: 17px; border-top: 1px solid #e3e8ed; }
.knowledge-editor-section > strong { color: #24405a; font-size: 10.5px; }
.knowledge-editor-section .field { margin-bottom: 0; }
.knowledge-editor-section .field > span small { color: #8b96a0; font-weight: 500; }
.knowledge-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.knowledge-textarea { height: auto; min-height: 66px; resize: vertical; padding-block: 8px; line-height: 1.45; }
.knowledge-target-preview {
  padding: 10px;
  border-left: 3px solid #3583bd;
  color: #425e77;
  background: #f1f7fc;
}
.knowledge-target-preview small { display: block; margin-top: 4px; color: #718396; font-size: 8px; overflow-wrap: anywhere; }
.knowledge-test { padding-bottom: 4px; }
.knowledge-test .button { width: fit-content; min-height: 32px; font-size: 9px; }
.knowledge-test-result { display: grid; gap: 3px; padding: 10px; border-left: 3px solid #3c8c4d; color: #45624d; background: #f0f8f1; }
.knowledge-test-result.failed { border-left-color: #c34f59; color: #854149; background: #fff4f5; }
.knowledge-test-result strong { font-size: 9px; }
.knowledge-test-result span { font-size: 8.5px; line-height: 1.45; }

@media (max-width: 1000px) {
  .knowledge-toolbar { align-items: stretch; flex-wrap: wrap; }
  .knowledge-toolbar .management-search { width: 100%; max-width: none; flex-basis: 100%; }
  .knowledge-toolbar > .button { margin-left: 0; }
  .knowledge-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .knowledge-summary { margin-inline: 14px; }
  .knowledge-tabs, .knowledge-toolbar { padding-inline: 14px; }
  .knowledge-tabs { gap: 14px; overflow-x: auto; }
  .knowledge-toolbar .select, .knowledge-view-toggle { width: 100%; }
  .knowledge-view-toggle button { flex: 1; }
  .knowledge-form-grid { grid-template-columns: 1fr; }
  .knowledge-editor { width: 100vw; }
}

/* ========================================================================== 
   2026 management refresh — designed for fast daily filing work
   ========================================================================== */
body.management-mode,
body.management-mode .app-main,
body.management-mode .screen { background: #fff; }

body.management-mode .management-content {
  max-width: none;
  padding: 0 44px 42px;
}

.management-page-header {
  min-height: 126px;
  padding: 32px 0 26px;
  border-bottom: 0;
}

.management-page-header h2 {
  color: #0b1f3a;
  font-size: 28px;
  font-weight: 780;
  letter-spacing: -0.035em;
}

.management-page-header p {
  margin-top: 7px;
  color: #637389;
  font-size: 12px;
}

.management-page-header .button {
  min-height: 42px;
  padding-inline: 17px;
  border-radius: 6px;
  font-size: 12px;
}

.management-reference-cases { display: none; }

.management-filters {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 68px;
  gap: 10px;
  padding: 13px 0;
  border-top: 1px solid #dce4ed;
  border-bottom: 1px solid #dce4ed;
}

.management-search {
  width: 100%;
  grid-column: span 2;
  min-height: 40px;
  height: 40px;
  padding-inline: 12px;
  border-color: #c9d4e1;
  border-radius: 6px;
}

.management-search input { font-size: 12px; }
.management-filters .select {
  width: 100%;
  min-width: 150px;
  min-height: 40px;
  border-radius: 6px;
  font-size: 11px;
}

.management-more-filters,
.management-reference-menu {
  position: relative;
  flex: 0 0 auto;
}

.management-more-filters summary,
.management-reference-menu summary {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid #c9d4e1;
  border-radius: 6px;
  color: #334861;
  background: #fff;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}

.management-more-filters summary::-webkit-details-marker,
.management-reference-menu summary::-webkit-details-marker,
.management-row-menu summary::-webkit-details-marker { display: none; }

.management-more-filters summary::after,
.management-reference-menu summary::after {
  margin-left: 8px;
  color: #78879a;
  content: "⌄";
}

.management-more-filters > div,
.management-reference-menu > div {
  position: absolute;
  top: 46px;
  right: 0;
  z-index: 80;
  display: grid;
  min-width: 200px;
  gap: 7px;
  padding: 8px;
  border: 1px solid #d3dde8;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(4, 28, 60, 0.14);
}

.management-more-filters > div .select { width: 100%; }
.management-reference-menu { margin-left: 0; }
.management-reference-menu summary { width: 100%; box-sizing: border-box; justify-content: space-between; }
.management-reference-actions .management-action {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  color: #24415f;
  text-align: left;
}

.management-clear-filters {
  min-height: 40px !important;
  border-color: transparent !important;
  color: #52647a !important;
  background: transparent !important;
  font-size: 11px !important;
}

.management-table-wrap {
  margin-top: 24px;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid #dce4ed;
  border-radius: 7px;
}

.management-table { table-layout: fixed; }
.management-table th {
  height: 46px;
  padding: 10px 16px;
  color: #52647a;
  background: #f8fafc;
  font-size: 9px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.management-table th:first-child,
.management-table td:first-child { padding-left: 18px; }
.management-table th:last-child,
.management-table td:last-child { padding-right: 12px; }

.management-table td {
  height: 62px;
  padding: 10px 16px;
  color: #334861;
  font-size: 11px;
}

.management-table td > strong {
  color: #102844;
  font-size: 11.5px;
  font-weight: 680;
}

.management-table td > small {
  margin-top: 3px;
  color: #7a8899;
  font-size: 9px;
}

.filings-table { min-width: 980px; }
.filings-table th:nth-child(1) { width: 27%; }
.filings-table th:nth-child(2) { width: 11%; }
.filings-table th:nth-child(3) { width: 10%; }
.filings-table th:nth-child(4) { width: 11%; }
.filings-table th:nth-child(5) { width: 10%; }
.filings-table th:nth-child(6) { width: 11%; }
.filings-table th:nth-child(7) { width: 14%; }
.filings-table th:nth-child(8) { width: 6%; }

.management-status,
.management-framework {
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 9.5px;
}

.management-actions { justify-content: flex-end; gap: 4px; }
.management-action {
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 5px;
  font-size: 10px;
}

.management-action.primary-action {
  color: #0758d8;
  font-weight: 700;
}

.management-row-menu { position: relative; }
.management-row-menu summary {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 5px;
  color: #51647a;
  cursor: pointer;
  list-style: none;
}
.management-row-menu summary:hover { background: #edf3fa; }
.management-row-menu-popover {
  position: absolute;
  top: 34px;
  right: 0;
  z-index: 90;
  display: grid;
  width: 140px;
  padding: 6px;
  border: 1px solid #d3dde8;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(4, 28, 60, 0.15);
}
.management-row-menu-popover .management-action {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}

.management-table-footer {
  min-height: 52px;
  padding: 12px 2px;
  color: #6b7b8f;
  font-size: 10px;
}

.development-login { background: #f5f8fc; }
.development-login-panel {
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(7, 31, 62, 0.1);
}

@media (max-width: 1120px) {
  body.management-mode .management-content { padding-inline: 28px; }
  .management-reference-menu { margin-left: 0; }
  .management-search { width: 100%; }
  .filings-table { min-width: 760px; }
  .filings-table th,
  .filings-table td { padding-inline: 6px; }
  .filings-table th:first-child,
  .filings-table td:first-child { padding-left: 10px; }
  .filings-table th:nth-child(1) { width: 25%; }
  .filings-table th:nth-child(2) { width: 10%; }
  .filings-table th:nth-child(3) { width: 9%; }
  .filings-table th:nth-child(4) { width: 10%; }
  .filings-table th:nth-child(5) { width: 9%; }
  .filings-table th:nth-child(6) { width: 10%; }
  .filings-table th:nth-child(7) { width: 17%; }
  .filings-table th:nth-child(8) { width: 10%; }
  .filings-table .management-nature,
  .filings-table .management-audit,
  .filings-table .management-status,
  .filings-table .management-framework {
    padding-inline: 4px;
    font-size: 8px;
  }
  .filings-table .management-actions { gap: 2px; }
  .filings-table .management-action.primary-action { padding-inline: 7px; }
}

@media (max-width: 860px) {
  body.management-mode .management-content { padding-inline: 20px; }
  .management-page-header { min-height: 110px; }
  .management-page-header h2 { font-size: 25px; }
  .management-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-table-wrap { overflow-x: auto; }
  .filings-table { min-width: 760px; }
}

@media (max-width: 640px) {
  body.management-mode .side-rail {
    max-height: 112px;
    grid-template-rows: 56px 56px;
    background: #031c3c;
  }
  body.management-mode .rail-header { height: 56px; min-height: 56px; }
  body.management-mode .rail-nav { padding: 5px 8px 7px; }
  body.management-mode .rail-step { min-height: 40px; border-radius: 5px; }
  body.management-mode .management-content { padding: 0 14px 28px; }
  .management-page-header { min-height: 104px; padding: 23px 0 20px; }
  .management-page-header h2 { font-size: 23px; }
  .management-page-header p { max-width: 210px; }
  .management-page-header .button { min-height: 38px; padding-inline: 12px; }
  .management-filters { gap: 8px; padding-block: 12px; }
  .management-search { width: 100%; min-width: 0; }
  .management-filters .select { flex: 1 1 calc(50% - 4px); min-width: 0; }
  .management-reference-menu { margin-left: 0; }
  .management-table-wrap { overflow: visible; border: 0; }
  .filings-table { min-width: 0; }
  .filings-table thead { display: none; }
  .filings-table,
  .filings-table tbody,
  .filings-table tr,
  .filings-table td { display: block; width: 100%; }
  .filings-table tbody { display: grid; gap: 10px; }
  .filings-table tr {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 10px;
    padding: 16px;
    border: 1px solid #dce4ed;
    border-radius: 7px;
    background: #fff;
  }
  .filings-table td,
  .filings-table td:first-child,
  .filings-table td:last-child {
    height: auto;
    padding: 0;
    border: 0;
    background: transparent !important;
  }
  .filings-table td:first-child { grid-column: 1 / -1; padding-right: 72px; }
  .filings-table td:nth-child(2)::before,
  .filings-table td:nth-child(3)::before,
  .filings-table td:nth-child(4)::before,
  .filings-table td:nth-child(5)::before {
    display: block;
    margin-bottom: 4px;
    color: #7a8899;
    font-size: 8px;
    font-weight: 720;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .filings-table td:nth-child(2)::before { content: "Year end"; }
  .filings-table td:nth-child(3)::before { content: "Framework"; }
  .filings-table td:nth-child(4)::before { content: "Status"; }
  .filings-table td:nth-child(5)::before { content: "Updated"; }
  .filings-table td:last-child { position: absolute; top: 10px; right: 10px; width: auto; }
  .management-action.primary-action { border: 1px solid #c8d8ee; }
  .management-table-footer { padding-inline: 1px; }
}

.management-drawer {
  display: flex;
  min-width: 0;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  flex-direction: column;
  border-left: 1px solid #d7e0e8;
  background: #fff;
  box-shadow: -6px 0 18px rgba(31, 52, 73, .06);
}

.management-drawer > header {
  display: flex;
  min-height: 76px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px 14px;
  border-bottom: 1px solid #dfe5ea;
}

.management-drawer > header h3 {
  margin: 0;
  color: #273c50;
  font-size: 13px;
  font-weight: 730;
}

.management-drawer > header span {
  display: block;
  margin-top: 4px;
  color: #7b8793;
  font-size: 9px;
}

.drawer-close {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid #d4dce4;
  border-radius: 4px;
  color: #5c6976;
  background: #fff;
  font: 18px/1 "Segoe UI", sans-serif;
  cursor: pointer;
}

.management-drawer form {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.management-drawer-body {
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: 18px;
}

.management-drawer .field {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}

.management-drawer .field > span {
  color: #3f5062;
  font-size: 9.5px;
  font-weight: 650;
}

.management-drawer .input,
.management-drawer .select {
  min-height: 36px;
  font-size: 10px;
}

.management-drawer .input[readonly],
.management-drawer .select:disabled {
  color: #657381;
  background: #f5f7f8;
}

.afs-onboarding-step + .afs-onboarding-step {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #e0e6eb;
}

.afs-step-heading {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 12px;
}

.afs-step-heading > span {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #276ca8;
  font-size: 9px;
  font-weight: 750;
}

.afs-step-heading > div {
  display: grid;
  gap: 3px;
}

.afs-step-heading strong {
  color: #2b4054;
  font-size: 10px;
}

.afs-step-heading small {
  color: #7b8996;
  font-size: 8.5px;
  line-height: 1.4;
}

.management-afs-upload {
  display: grid;
  min-height: 118px;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 16px;
  border: 1px dashed #91afd0;
  border-radius: 5px;
  color: #245f98;
  background: #f6faff;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.management-afs-upload:hover {
  border-color: #2f79b7;
  background: #eef7ff;
}

.management-afs-upload.has-file {
  min-height: 78px;
  border-color: #bdc9d5;
  color: #52687d;
  background: #fafcfd;
}

.management-afs-upload.is-processing {
  cursor: wait;
}

.management-afs-upload svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.management-afs-upload strong {
  font-size: 10px;
}

.management-afs-upload span {
  max-width: 250px;
  color: #73879a;
  font-size: 8.5px;
  line-height: 1.4;
}

.management-afs-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.afs-upload-spinner {
  width: 21px;
  height: 21px;
  border: 2px solid #c6d8e8;
  border-top-color: #276ca8;
  border-radius: 50%;
  animation: management-spin .7s linear infinite;
}

.afs-processing-progress {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #cbddea;
  border-radius: 4px;
  color: #456278;
  background: #f5faff;
}

.afs-processing-progress-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 8.5px;
}

.afs-processing-progress-heading strong {
  color: #276ca8;
  font-size: 8.5px;
}

.afs-processing-progress-track {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #dbe8f1;
}

.afs-processing-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #2f82b9;
  transition: width .12s ease;
}

.afs-processing-progress small,
.afs-ocr-evidence,
.afs-ocr-warning {
  color: #71808e;
  font-size: 8px;
  line-height: 1.4;
}

.afs-file-ready.ocr {
  color: #276ca8;
}

.afs-file-ready.warning,
.afs-ocr-warning {
  color: #a05a14;
}

.afs-ocr-evidence,
.afs-ocr-warning {
  display: block;
  margin: 6px 2px 0;
}

@keyframes management-spin {
  to { transform: rotate(360deg); }
}

.afs-file-summary {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding: 9px;
  border: 1px solid #dce4eb;
  border-radius: 4px;
  background: #fff;
}

.afs-file-summary > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.afs-file-summary strong,
.afs-file-summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.afs-file-summary strong {
  color: #334a60;
  font-size: 9px;
}

.afs-file-summary small {
  color: #7c8995;
  font-size: 8px;
}

.afs-file-type {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  color: #fff;
  background: #476b8d;
  font-size: 7.5px;
  font-weight: 750;
}

.afs-file-ready {
  color: #34712f;
  font-size: 8px;
  font-weight: 700;
}

.afs-client-resolution {
  display: grid;
  gap: 3px;
  margin-bottom: 14px;
  padding: 9px 10px;
  border-left: 3px solid #3a83bd;
  color: #425a70;
  background: #eff7fd;
}

.afs-client-resolution.existing {
  border-left-color: #4f9449;
  background: #f0f8ee;
}

.afs-client-resolution.warning {
  border-left-color: #b4771f;
  background: #fff8e8;
}

.afs-client-resolution strong {
  font-size: 9px;
}

.afs-client-resolution span {
  color: #71808e;
  font-size: 8.5px;
  line-height: 1.4;
}

.afs-identity-confirm {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: -4px 0 14px;
  color: #76551c;
  font-size: 8.5px;
  line-height: 1.4;
}

.afs-identity-confirm input {
  flex: 0 0 auto;
  margin-top: 1px;
}

.afs-engagement-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 2px 0 10px;
  padding: 8px 0;
  border-top: 1px solid #edf0f2;
  border-bottom: 1px solid #edf0f2;
  color: #536577;
  font-size: 9px;
  font-weight: 650;
}

.afs-review-note {
  margin: 0;
  color: #738290;
  font-size: 8.5px;
  line-height: 1.5;
}

.management-drawer footer {
  display: flex;
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid #dfe5ea;
  background: #fff;
}

.management-drawer footer .button {
  min-height: 36px;
  flex: 1;
  font-size: 10px;
}

.management-record-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 4px 0 16px;
}

.management-record-meta span {
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid #e0e6eb;
  color: #667583;
  background: #fafbfc;
  font-size: 8.5px;
}

.management-record-meta strong {
  color: #35495c;
  font-size: 8px;
  text-transform: uppercase;
}

.management-record-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e0e6eb;
}

.management-record-section h4 {
  margin: 0 0 8px;
  color: #30475c;
  font-size: 10px;
}

.management-record-section dl {
  margin: 0;
}

.management-record-section dl > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #edf0f2;
  font-size: 9px;
}

.management-record-section dt {
  color: #73808d;
}

.management-record-section dd {
  overflow-wrap: anywhere;
  margin: 0;
  color: #33495e;
}

.management-form-error {
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid #efc1c5;
  border-radius: 3px;
  color: #ad303a;
  background: #fff4f5;
  font-size: 9px;
}

.management-security-banner,
.management-security-warning {
  color: #76551a;
  background: #fff9ec;
}

.management-security-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 30px 0;
  padding: 10px 12px;
  border: 1px solid #ebca7a;
  border-radius: 4px;
  font-size: 9px;
}

.management-security-banner strong {
  white-space: nowrap;
}

.management-security-warning {
  margin: 4px 0 12px;
  padding: 9px;
  border-left: 3px solid #d9a737;
  font-size: 8.5px;
  line-height: 1.45;
}

.management-empty {
  display: grid;
  gap: 5px;
  padding: 34px 16px;
  color: #566677;
  text-align: center;
}

.management-empty span {
  color: #85919c;
  font-size: 9px;
}

.development-login {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 30px;
  background: #f4f7fa;
}

.development-login-panel {
  width: min(420px, 100%);
  padding: 30px;
  border: 1px solid #dce4eb;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(36, 55, 75, .1);
}

.development-login-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
}

.development-login-brand > span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: #fff;
  background: #155d9d;
}

.development-login-brand svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.development-login-brand div {
  display: grid;
}

.development-login-brand strong {
  color: #21364c;
  font-size: 15px;
}

.development-login-brand small {
  margin-top: 2px;
  color: #7d8996;
  font-size: 9px;
}

.development-login-panel h2 {
  margin: 0;
  color: #172d47;
  font-size: 22px;
}

.development-login-panel > p {
  margin: 7px 0 0;
  color: #657586;
  font-size: 10px;
  line-height: 1.5;
}

.development-login-panel .management-security-banner {
  display: grid;
  gap: 3px;
  margin: 18px 0;
}

.development-login-panel form {
  display: grid;
  gap: 14px;
}

.development-login-panel .field {
  display: grid;
  gap: 6px;
}

.development-login-panel .field > span {
  color: #405368;
  font-size: 9.5px;
  font-weight: 650;
}

.development-login-panel .input,
.development-login-panel .button {
  min-height: 40px;
  font-size: 11px;
}

.development-demo-credentials {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid #e3e8ed;
  color: #6f7d8b;
  font-size: 9px;
}

@media (max-width: 1180px) {
  .management-layout.drawer-open {
    grid-template-columns: minmax(0, 1fr);
  }

  .management-drawer {
    position: fixed;
    z-index: 22;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100vh;
    width: min(380px, calc(100vw - 64px));
  }

  .management-sidebar {
    padding-inline: 9px;
  }
}

@media (max-width: 860px) {
  body.management-mode .topbar {
    grid-template-columns: minmax(150px, 1fr) auto;
  }

  body.management-mode .topbar-filing,
  .management-current-user {
    display: none;
  }

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

  .management-page-header,
  .management-filters {
    padding-inline: 18px;
  }

  .management-reference-cases {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 10px 14px;
  }

  .management-table th:first-child,
  .management-table td:first-child {
    padding-left: 18px;
  }
}

@media (max-width: 640px) {
  body.management-mode {
    overflow: auto;
  }

  body.management-mode .screen {
    min-height: calc(100vh - 58px);
  }

  .management-layout,
  .management-layout.drawer-open {
    display: block;
    min-height: calc(100vh - 58px);
  }

  .management-sidebar {
    display: block;
    overflow-x: auto;
    padding: 8px;
    border-right: 0;
    border-bottom: 1px solid #dfe5ea;
  }

  .management-sidebar > strong,
  .management-dev-note {
    display: none;
  }

  .management-sidebar nav {
    display: flex;
    min-width: max-content;
  }

  .management-nav-link {
    width: auto;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 9px;
  }

  .management-page-header {
    min-height: auto;
    align-items: flex-start;
    padding: 18px 14px;
  }

  .management-page-header h2 {
    font-size: 19px;
  }

  .management-page-header p {
    display: none;
  }

  .management-page-header .button {
    min-height: 34px;
  }

  .management-filters {
    min-height: auto;
    flex-wrap: wrap;
    padding: 10px 14px;
  }

  .management-search {
    width: 100%;
    min-width: 0;
  }

  .management-filters .select {
    min-width: 0;
    flex: 1;
  }

  .management-table {
    min-width: 760px;
  }

  .management-table-footer {
    padding-inline: 14px;
  }

  .management-drawer {
    top: 58px;
    bottom: 60px;
    height: auto;
    width: 100vw;
  }

  .development-login {
    padding: 16px;
  }

  .development-login-panel {
    padding: 22px;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .management-drawer {
    bottom: 64px;
    height: auto;
  }
}

/* ==========================================================================
   User profile and Logout at Left Sidebar Bottom
   ========================================================================== */
.rail-user-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.07);
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.rail-user-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 50%;
  background: #0284c7;
  color: #ffffff;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.rail-user-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.rail-user-name {
  font-size: 11.5px;
  font-weight: 650;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rail-user-role {
  font-size: 9.5px;
  color: #94a3b8;
  white-space: nowrap;
}

.rail-logout-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: transparent;
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.12s ease-in-out;
  box-sizing: border-box;
}

.rail-logout-btn:hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
}

.rail-logout-btn svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  stroke: currentColor;
  fill: none;
}

/* Collapsed sidebar adjustments */
.app-shell.sidebar-collapsed .rail-user-profile {
  justify-content: center;
  padding: 4px 0;
  background: transparent;
}

.app-shell.sidebar-collapsed .rail-user-details,
.app-shell.sidebar-collapsed .rail-logout-btn .rail-text,
.app-shell.sidebar-collapsed .rail-text {
  display: none !important;
}

.app-shell.sidebar-collapsed .rail-logout-btn {
  justify-content: center;
  padding: 8px 0;
  width: 38px;
  margin: 0 auto;
}

/* Company link & action buttons in table */
.management-company-link {
  display: inline-block;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
  color: #0f172a;
  transition: color 0.12s ease;
}

.management-company-link:hover strong {
  color: #0284c7;
  text-decoration: underline;
}

.action-open-btn {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
}

.action-open-btn:hover {
  background: #0369a1 !important;
  border-color: #0369a1 !important;
}

/* Consolidated Statement Tables */
.statement-sheet-table.is-consolidated-table {
  min-width: 920px;
}

.statement-scope-heading-row th {
  text-align: center;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  background: var(--surface-2, #f8fafc);
  border-bottom: 1px solid var(--border-subtle, #e2e8f0);
  padding: 8px 12px;
}

.statement-scope-heading {
  background: var(--surface-3, #f1f5f9) !important;
  color: var(--text-primary, #0f172a);
  border-left: 1px solid var(--border-subtle, #cbd5e1);
  border-right: 1px solid var(--border-subtle, #cbd5e1);
}

.statement-sheet-table.is-consolidated-table .statement-period-column {
  width: 140px;
  min-width: 130px;
}

.statement-sheet-table.is-consolidated-table td.mtool-value-cell {
  min-width: 130px;
}

.management-nature,
.management-audit {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 680;
  white-space: nowrap;
}

.management-nature {
  border: 1px solid #d0d7de;
  color: #4b5563;
  background: #f3f4f6;
}

.management-nature.consolidated {
  color: #1e40af;
  border-color: #bfdbfe;
  background: #eff6ff;
  font-weight: 700;
}

.management-nature.separate {
  color: #374151;
  border-color: #e5e7eb;
  background: #f9fafb;
}

.management-audit {
  border: 1px solid #d0d7de;
  color: #4b5563;
  background: #f3f4f6;
}

.management-audit.audited {
  color: #065f46;
  border-color: #a7f3d0;
  background: #ecfdf5;
  font-weight: 700;
}

.management-audit.unaudited {
  color: #92400e;
  border-color: #fde68a;
  background: #fffbeb;
  font-weight: 700;
}

.afs-metadata-review {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #dbe4ef;
  border-radius: 8px;
  background: #f8fbff;
}

.afs-metadata-review-heading {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
}

.afs-metadata-review-heading strong {
  color: #1f3b5b;
  font-size: 12px;
}

.afs-metadata-review-heading small {
  color: #60758c;
  font-size: 10px;
  line-height: 1.45;
}

.afs-metadata-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.afs-metadata-review-item {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #e1e9f2;
  border-radius: 6px;
  background: #fff;
}

.afs-metadata-review-item > span {
  color: #60758c;
  font-size: 10px;
}

.afs-metadata-review-item > strong {
  overflow: hidden;
  color: #1f2937;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.afs-metadata-review-item > small {
  color: #657b92;
  font-size: 9px;
  font-weight: 650;
  text-transform: uppercase;
}

.afs-metadata-review-item.ocr > small {
  color: #147d70;
}

.afs-metadata-review-item.filename > small {
  color: #925f12;
}

.afs-metadata-review-item.missing {
  border-color: #f2d6a2;
  background: #fffaf0;
}

.afs-metadata-review-item.missing > strong,
.afs-metadata-review-item.missing > small {
  color: #9a6700;
}

.afs-ocr-review-list {
  margin-top: 9px;
  color: #6d4b12;
  font-size: 10px;
}

.afs-ocr-review-list summary {
  cursor: pointer;
  font-weight: 700;
}

.afs-ocr-review-list ul {
  display: grid;
  gap: 5px;
  margin: 8px 0;
  padding-left: 18px;
}

.afs-ocr-review-list li {
  display: grid;
  gap: 2px;
}

.afs-ocr-review-list li span {
  color: #8a641d;
}

.afs-ocr-review-list li small {
  overflow: hidden;
  color: #657b92;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.afs-ocr-review-list .button {
  margin-top: 4px;
}

.afs-ocr-submit-note {
  align-self: center;
  color: #9a6700;
  font-size: 10px;
  font-weight: 650;
}

.afs-ocr-timing {
  display: block;
  margin-top: 4px;
  color: #657b92;
  font-size: 9px;
}

@media (max-width: 640px) {
  .afs-metadata-review-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep management navigation usable after the global application shell switches
   to its narrow layout. The management area has no top bar, so its navigation
   becomes a compact horizontal header instead of occupying the full viewport. */
@media (min-width: 641px) and (max-width: 860px) {
  body.management-mode .app-shell {
    grid-template-columns: 164px minmax(0, 1fr);
    padding-bottom: 0;
  }

  body.management-mode .side-rail {
    height: 100vh;
  }

  body.management-mode .management-layout,
  body.management-mode .management-layout.drawer-open {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  body.management-mode .app-shell {
    display: grid;
    height: 100vh;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    padding-bottom: 0;
  }

  body.management-mode .side-rail {
    display: grid;
    height: auto;
    max-height: 100px;
    grid-template-rows: 52px 48px;
    overflow: hidden;
    border-right: 0;
    border-bottom: 1px solid #11365b;
  }

  body.management-mode .rail-header {
    height: 52px;
    min-height: 52px;
  }

  body.management-mode .rail-nav {
    display: flex;
    min-width: 0;
    flex-direction: row;
    gap: 2px;
    overflow-x: auto;
    padding: 0 6px 5px;
    scrollbar-width: thin;
  }

  body.management-mode .rail-step {
    width: auto;
    min-height: 43px;
    flex: 0 0 auto;
    padding: 8px 11px;
    white-space: nowrap;
  }

  body.management-mode .rail-footer {
    display: none;
  }

  body.management-mode .app-main {
    height: auto;
    min-height: 0;
    overflow-y: auto;
  }

  body.management-mode .management-content {
    padding: 0 0 32px;
  }
}

/* Reserve room for both filing actions; never overlap the Updated cell. */
.management-action.primary-action:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (min-width: 641px) {
  .management-table-wrap:has(.filings-table) { overflow-x: auto; }
  .filings-table { min-width: 1080px; }
  .filings-table th:nth-child(1) { width: auto; }
  .filings-table th:nth-child(2),
  .filings-table th:nth-child(3),
  .filings-table th:nth-child(4),
  .filings-table th:nth-child(5),
  .filings-table th:nth-child(6) { width: 100px; }
  .filings-table th:nth-child(7) { width: 170px; }
  .filings-table th:nth-child(8) { width: 190px; }
  .filings-table td:nth-child(7) { white-space: normal; overflow-wrap: anywhere; }
  .filings-table .management-actions { flex-wrap: nowrap; gap: 6px; }
  .filings-table .management-actions > * { flex-shrink: 0; }
}
