@import url("/packages/theme/src/tokens.css");
@import url("/packages/theme/src/themes/blues.css");
@import url("/packages/theme/src/themes/whites.css");
@import url("/packages/theme/src/themes/darkgreys.css");
@import url("/packages/ui/src/styles.css");
@import url("./src/styles/pmis-layout.css");
@import url("./src/styles/pmis-controls.css");
@import url("./src/styles/pmis-records.css");
@import url("./src/styles/pmis-preview.css");
@import url("./src/styles/pmis-drawer.css");
@import url("./src/styles/pmis-status.css");
@import url("./vendor/ckeditor5/48.0.0/ckeditor5/ckeditor5.css");

:root {
  --ui-scale: 1;
  --ui-font-scale: 1;
  --ui-space-scale: 1;
  --ui-control-scale: 1;
  --ui-panel-scale: 1;
  --ui-sidebar-scale: 1;
  --ui-inspector-scale: 1;
  --ui-icon-scale: 1;
  --ui-shell-scale: 1;
  --space-1: calc(8px * var(--ui-space-scale));
  --space-2: calc(12px * var(--ui-space-scale));
  --space-3: calc(16px * var(--ui-space-scale));
  --space-4: calc(24px * var(--ui-space-scale));
  --space-5: calc(32px * var(--ui-space-scale));
  --shell-max-width: calc(1440px * var(--ui-shell-scale));
  --project-sidebar-width-expanded: clamp(calc(264px * var(--ui-sidebar-scale)), calc(18vw * var(--ui-sidebar-scale)), calc(320px * var(--ui-sidebar-scale)));
  --project-sidebar-width-collapsed: clamp(60px, calc(68px * var(--ui-sidebar-scale)), 72px);
  --project-sidebar-width: var(--project-sidebar-width-expanded);
  --left-rail-width-md: calc(214px * var(--ui-sidebar-scale));
  --left-rail-width-lg: calc(248px * var(--ui-sidebar-scale));
  --inspector-width-sm: calc(314px * var(--ui-inspector-scale));
  --inspector-width-md: calc(392px * var(--ui-inspector-scale));
  --inspector-width-lg: calc(411px * var(--ui-inspector-scale));
  --radius-card: calc(20px * var(--ui-panel-scale));
  --radius-panel: calc(18px * var(--ui-panel-scale));
  --radius-control: calc(12px * var(--ui-control-scale));
  --radius-control-lg: calc(14px * var(--ui-control-scale));
  --radius-pill: 999px;
  --control-height-xs: calc(30px * var(--ui-control-scale));
  --control-height-sm: calc(34px * var(--ui-control-scale));
  --control-height-md: calc(40px * var(--ui-control-scale));
  --control-height-lg: calc(44px * var(--ui-control-scale));
  --panel-padding-sm: calc(12px * var(--ui-panel-scale));
  --panel-padding-md: calc(16px * var(--ui-panel-scale));
  --panel-padding-lg: calc(24px * var(--ui-panel-scale));
  --panel-padding-xl: calc(32px * var(--ui-panel-scale));
  --control-padding-inline-sm: calc(10px * var(--ui-space-scale));
  --control-padding-inline-md: calc(14px * var(--ui-space-scale));
  --control-padding-inline-lg: calc(16px * var(--ui-space-scale));
  --ui-control-gap: calc(8px * var(--ui-space-scale));
  --brand-mark-size: calc(42px * var(--ui-control-scale));
  --brand-mark-size-compact: calc(38px * var(--ui-control-scale));
  --brand-mark-radius: calc(14px * var(--ui-control-scale));
  --icon-size-sm: calc(14px * var(--ui-icon-scale));
  --icon-size-md: calc(18px * var(--ui-icon-scale));
  --icon-size-lg: calc(20px * var(--ui-icon-scale));
  --toolbar-search-height: calc(44px * var(--ui-control-scale));
  --toolbar-search-radius: calc(16px * var(--ui-control-scale));
  --line-soft: rgba(132, 195, 255, 0.11);
  --line-strong: rgba(132, 195, 255, 0.22);
  --surface-card-bg: linear-gradient(180deg, rgba(19, 31, 47, 0.96) 0%, rgba(12, 20, 31, 0.98) 100%);
  --surface-panel-bg: linear-gradient(180deg, rgba(11, 19, 31, 0.88) 0%, rgba(9, 16, 25, 0.92) 100%);
  --chrome-bg: rgba(7, 14, 24, 0.78);
  --surface-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
  --entry-soft-surface: rgba(255, 255, 255, 0.04);
  --entry-soft-surface-strong: rgba(255, 255, 255, 0.08);
  --entry-accent-wash: rgba(132, 195, 255, 0.15);
  --workflow-preview-bg: linear-gradient(180deg, rgba(17, 24, 37, 0.98) 0%, rgba(10, 16, 26, 0.98) 100%);
  --workflow-preview-border: rgba(132, 195, 255, 0.18);
  --workflow-preview-line: rgba(232, 243, 255, 0.11);
  --workflow-overlay: linear-gradient(180deg, rgba(9, 14, 22, 0.08) 0%, rgba(9, 14, 22, 0.28) 100%);
}

body[data-theme="whites"] {
  --line-soft: rgba(42, 64, 88, 0.1);
  --line-strong: rgba(42, 64, 88, 0.18);
  --surface-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 247, 251, 0.98) 100%);
  --surface-panel-bg: linear-gradient(180deg, rgba(248, 251, 255, 0.94) 0%, rgba(238, 244, 250, 0.94) 100%);
  --chrome-bg: rgba(246, 250, 253, 0.82);
  --surface-shadow: 0 22px 52px rgba(123, 145, 166, 0.18);
  --entry-soft-surface: rgba(255, 255, 255, 0.7);
  --entry-soft-surface-strong: rgba(255, 255, 255, 0.9);
  --entry-accent-wash: rgba(79, 136, 191, 0.12);
  --workflow-preview-border: rgba(120, 153, 187, 0.2);
}

body[data-theme="darkgreys"] {
  --line-soft: rgba(236, 239, 242, 0.08);
  --line-strong: rgba(236, 239, 242, 0.16);
  --surface-card-bg: linear-gradient(180deg, rgba(30, 32, 34, 0.98) 0%, rgba(20, 22, 24, 0.98) 100%);
  --surface-panel-bg: linear-gradient(180deg, rgba(24, 26, 28, 0.92) 0%, rgba(18, 20, 22, 0.94) 100%);
  --chrome-bg: rgba(18, 19, 21, 0.78);
  --entry-soft-surface: rgba(255, 255, 255, 0.03);
  --entry-soft-surface-strong: rgba(255, 255, 255, 0.06);
  --entry-accent-wash: rgba(206, 214, 223, 0.08);
  --workflow-preview-bg: linear-gradient(180deg, rgba(27, 29, 31, 0.98) 0%, rgba(18, 20, 22, 0.98) 100%);
  --workflow-preview-border: rgba(236, 239, 242, 0.14);
  --workflow-preview-line: rgba(236, 239, 242, 0.08);
}

body[data-ui-density="comfortable"] {
  --ui-scale: 1;
  --ui-font-scale: 1;
  --ui-space-scale: 1;
  --ui-control-scale: 1;
  --ui-panel-scale: 1;
  --ui-sidebar-scale: 1;
  --ui-inspector-scale: 1;
  --ui-icon-scale: 1;
  --ui-shell-scale: 1;
}

body[data-ui-density="compact"] {
  --ui-scale: 0.9;
  --ui-font-scale: 0.9;
  --ui-space-scale: 0.88;
  --ui-control-scale: 0.88;
  --ui-panel-scale: 0.9;
  --ui-sidebar-scale: 0.88;
  --ui-inspector-scale: 0.88;
  --ui-icon-scale: 0.88;
  --ui-shell-scale: 0.92;
}

body[data-ui-density="dense"] {
  --ui-scale: 0.8;
  --ui-font-scale: 0.8;
  --ui-space-scale: 0.8;
  --ui-control-scale: 0.8;
  --ui-panel-scale: 0.82;
  --ui-sidebar-scale: 0.8;
  --ui-inspector-scale: 0.8;
  --ui-icon-scale: 0.8;
  --ui-shell-scale: 0.84;
}

html[data-ui-density="comfortable"] {
  font-size: 16px;
}

html[data-ui-density="compact"] {
  font-size: 14.4px;
}

html[data-ui-density="dense"] {
  font-size: 12.8px;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  font-size: 1rem;
  font-family: "Segoe UI", "Trebuchet MS", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(79, 136, 191, 0.18), transparent 28%),
    radial-gradient(circle at right top, rgba(21, 53, 88, 0.22), transparent 24%),
    linear-gradient(180deg, rgba(7, 14, 24, 0.98) 0%, rgba(10, 17, 27, 1) 100%);
}

body[data-theme="whites"] {
  background:
    radial-gradient(circle at top left, rgba(176, 201, 225, 0.62), transparent 32%),
    radial-gradient(circle at right top, rgba(214, 228, 240, 0.7), transparent 24%),
    linear-gradient(180deg, #f4f8fc 0%, #edf3f9 100%);
}

body[data-theme="darkgreys"] {
  background:
    radial-gradient(circle at top left, rgba(84, 88, 93, 0.22), transparent 30%),
    radial-gradient(circle at right top, rgba(48, 51, 55, 0.3), transparent 24%),
    linear-gradient(180deg, #111214 0%, #16181a 100%);
}

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

a {
  color: inherit;
}

button {
  cursor: pointer;
}

input,
select {
  outline: none;
}

.surface-card,
.surface-panel,
.auth-value-panel {
  border-radius: var(--radius-card);
  box-shadow: var(--surface-shadow);
}

.surface-card {
  padding: var(--space-4);
  background: var(--surface-card-bg);
  border: 1px solid var(--line-strong);
}

.surface-panel,
.auth-value-panel {
  padding: var(--space-4);
  background: var(--surface-panel-bg);
  border: 1px solid var(--line-soft);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.public-auth-layout,
.account-layout,
.project-layout {
  min-height: 100vh;
}

.brand-bar,
.app-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  row-gap: var(--space-2);
  flex-wrap: wrap;
  padding: var(--space-3) var(--space-4);
  backdrop-filter: blur(18px);
  background: var(--chrome-bg);
  border-bottom: 1px solid var(--line-soft);
}

.public-auth-main,
.layout-content {
  width: min(var(--shell-max-width), 100%);
  margin: 0 auto;
  padding: var(--space-4) var(--space-4) var(--space-5);
}

.layout-content:has(.cde-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.layout-content:has(.submittals-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.layout-content:has(.governance-page) {
  width: 100%;
  max-width: none;
}

.layout-content:has(.procurement-commercial-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  text-decoration: none;
  min-width: 0;
}

.brand-lockup.is-compact .brand-mark {
  width: var(--brand-mark-size-compact);
  height: var(--brand-mark-size-compact);
}

.brand-mark {
  width: var(--brand-mark-size);
  height: var(--brand-mark-size);
  border-radius: var(--brand-mark-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #e8f3ff;
  background: linear-gradient(180deg, rgba(86, 159, 224, 0.95) 0%, rgba(53, 111, 168, 0.95) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

body[data-theme="whites"] .brand-mark {
  color: #203247;
  background: linear-gradient(180deg, rgba(216, 229, 240, 1) 0%, rgba(188, 207, 224, 1) 100%);
}

.brand-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.brand-copy strong {
  font-size: 0.98rem;
  letter-spacing: 0.02em;
}

.brand-copy span,
.brand-bar-note,
.page-title-block p,
.section-heading span,
.list-row-copy span,
.auth-meta,
.project-row-meta,
.toolbar-search span,
.stat-meta {
  color: var(--muted);
}

.brand-bar-note {
  font-size: 0.82rem;
}

.brand-bar-actions,
.topbar-leading,
.topbar-actions,
.button-row,
.page-header-actions,
.quick-actions-row,
.filter-chip-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.topbar-leading {
  flex: 1 1 420px;
  min-width: 0;
}

.topbar-actions {
  flex: 0 1 auto;
  min-width: 0;
  justify-content: flex-end;
  margin-left: auto;
}

.ui-button,
.ui-button-secondary,
.ui-button-ghost,
.quick-action,
.filter-chip,
.context-pill,
.user-pill,
.status-badge,
.count-chip {
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.ui-button,
.ui-button-secondary,
.ui-button-ghost {
  min-height: var(--control-height-md);
  border-radius: var(--radius-control-lg);
  box-shadow: none;
}

.ui-button:hover,
.ui-button-secondary:hover,
.ui-button-ghost:hover,
.quick-action:hover,
.filter-chip:hover,
.context-pill:hover {
  transform: translateY(-1px);
}

.ui-select-compact {
  min-height: var(--control-height-md);
  border-radius: var(--radius-control-lg);
  min-width: calc(136px * var(--ui-control-scale));
}

.context-pill,
.user-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  text-decoration: none;
}

.context-pill.is-strong {
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.14);
}

.account-shell-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  align-items: start;
  align-content: start;
  gap: var(--space-2);
  padding: 0 var(--space-4) var(--space-3);
  border-bottom: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--chrome-bg) 86%, transparent);
}

.account-shell-nav-group {
  display: grid;
  align-self: start;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

body[data-theme="whites"] .account-shell-nav-group {
  background: rgba(255, 255, 255, 0.72);
}

.account-shell-nav-group.is-planned {
  background: rgba(255, 255, 255, 0.025);
}

body[data-theme="whites"] .account-shell-nav-group.is-planned {
  background: rgba(255, 255, 255, 0.52);
}

.account-shell-nav-title {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-strong);
}

.account-shell-nav-links {
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.account-shell-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 38px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font: inherit;
  text-decoration: none;
  text-align: center;
  line-height: 1.15;
  white-space: normal;
}

.account-shell-link:hover,
.account-shell-link:focus-visible {
  border-color: var(--line-strong);
  background: var(--entry-soft-surface);
  outline: none;
}

.account-shell-link.is-active {
  border-color: color-mix(in srgb, var(--accent-strong) 28%, transparent);
  background: color-mix(in srgb, var(--accent-strong) 11%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 10%, transparent);
}

.account-shell-link.is-disabled {
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.84;
}

.user-pill {
  min-width: var(--brand-mark-size);
  justify-content: center;
  font-weight: 700;
}

.account-user-menu-shell {
  --account-user-menu-shift: 0px;
  position: relative;
  z-index: 20;
}

.account-user-menu-trigger {
  appearance: none;
  justify-content: center;
  min-width: calc(48px * var(--ui-control-scale));
  padding: 0 12px;
  cursor: pointer;
}

.account-user-menu-trigger[aria-expanded="true"] {
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.18);
}

.notification-center-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  cursor: pointer;
}

.notification-center-trigger[aria-expanded="true"] {
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.18);
}

body[data-theme="whites"] .account-user-menu-trigger[aria-expanded="true"] {
  background: rgba(116, 146, 174, 0.14);
}

.account-user-menu-trigger-icon {
  width: 10px;
  height: 10px;
  flex: none;
  margin-top: -2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 140ms ease;
}

.account-user-menu-shell.is-open .account-user-menu-trigger-icon {
  transform: rotate(225deg) translate(-1px, -1px);
}

.account-user-menu-avatar {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  overflow: hidden;
  background: rgba(132, 195, 255, 0.16);
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.account-user-menu-avatar.has-image {
  background: rgba(255, 255, 255, 0.08);
}

.account-user-menu-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-theme="whites"] .account-user-menu-avatar {
  background: rgba(116, 146, 174, 0.14);
}

.account-user-menu-panel {
  position: absolute;
  top: calc(100% + calc(10px * var(--ui-space-scale)));
  right: 0;
  width: min(calc(360px * var(--ui-panel-scale)), calc(100vw - 24px));
  padding: var(--panel-padding-md);
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(19, 31, 47, 0.98) 0%, rgba(12, 20, 31, 0.98) 100%);
  box-shadow: 0 22px 42px rgba(0, 0, 0, 0.24);
  display: grid;
  gap: var(--space-2);
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--account-user-menu-shift)) translateY(-6px);
  transform-origin: top right;
  transition: opacity 150ms ease, transform 150ms ease;
}

.account-user-menu-shell.is-open .account-user-menu-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(var(--account-user-menu-shift)) translateY(0);
}

.account-user-menu-panel[hidden] {
  display: none;
}

body[data-theme="whites"] .account-user-menu-panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 249, 253, 0.99) 100%);
  box-shadow: 0 24px 46px rgba(123, 145, 166, 0.18);
}

body[data-theme="darkgreys"] .account-user-menu-panel {
  background: linear-gradient(180deg, rgba(37, 39, 42, 0.99) 0%, rgba(24, 26, 28, 0.99) 100%);
}

.account-user-menu-header {
  display: grid;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line-soft);
}

.account-user-menu-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.account-user-menu-identity-copy,
.account-user-menu-item-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.account-user-menu-identity-copy strong,
.account-user-menu-item-copy strong {
  font-size: 0.94rem;
}

.account-user-menu-identity-copy span,
.account-user-menu-account-context span,
.account-user-menu-item small,
.account-user-menu-section-label {
  color: var(--muted);
}

.account-user-menu-account-context {
  font-size: 0.78rem;
}

.account-user-menu-section-label {
  padding: 0 4px;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.account-user-menu-group {
  display: grid;
  gap: 6px;
}

.account-user-menu-item {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-decoration: none;
  text-align: left;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.account-user-menu-item:not(.is-disabled):hover,
.account-user-menu-item:not(.is-disabled):focus-visible {
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  transform: translateY(-1px);
}

body[data-theme="whites"] .account-user-menu-item:not(.is-disabled):hover,
body[data-theme="whites"] .account-user-menu-item:not(.is-disabled):focus-visible {
  background: rgba(116, 146, 174, 0.08);
}

.account-user-menu-item.is-disabled {
  opacity: 0.62;
  cursor: not-allowed;
}

.account-user-menu-footer {
  padding-top: 8px;
  border-top: 1px solid var(--line-soft);
}

.account-user-menu-item.is-sign-out {
  color: var(--text);
}

.project-switcher {
  --project-switcher-shift: 0px;
  position: relative;
  z-index: 20;
}

.project-switcher-trigger {
  display: inline-flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  max-width: min(38vw, calc(320px * var(--ui-panel-scale)));
  padding-right: var(--control-padding-inline-md);
}

.project-switcher-trigger[aria-expanded="true"] {
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.18);
}

body[data-theme="whites"] .project-switcher-trigger[aria-expanded="true"] {
  background: rgba(116, 146, 174, 0.14);
}

.project-switcher-trigger-label {
  max-width: min(30vw, calc(240px * var(--ui-panel-scale)));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-switcher-trigger-icon {
  width: 10px;
  height: 10px;
  flex: none;
  margin-top: -2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 140ms ease;
}

.project-switcher.is-open .project-switcher-trigger-icon {
  transform: rotate(225deg) translate(-1px, -1px);
}

.project-switcher-menu {
  position: absolute;
  top: calc(100% + calc(10px * var(--ui-space-scale)));
  left: 50%;
  width: min(var(--inspector-width-md), calc(100vw - 24px));
  padding: var(--panel-padding-md);
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(19, 31, 47, 0.98) 0%, rgba(12, 20, 31, 0.98) 100%);
  box-shadow: 0 22px 42px rgba(0, 0, 0, 0.24);
  display: grid;
  gap: var(--space-2);
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(-50% + var(--project-switcher-shift))) translateY(-6px);
  transform-origin: top center;
  transition: opacity 150ms ease, transform 150ms ease;
}

.project-switcher.is-open .project-switcher-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(calc(-50% + var(--project-switcher-shift))) translateY(0);
}

.project-switcher-menu[hidden] {
  display: none;
}

body[data-theme="whites"] .project-switcher-menu {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 249, 253, 0.99) 100%);
  box-shadow: 0 24px 46px rgba(123, 145, 166, 0.18);
}

body[data-theme="darkgreys"] .project-switcher-menu {
  background: linear-gradient(180deg, rgba(37, 39, 42, 0.99) 0%, rgba(24, 26, 28, 0.99) 100%);
}

.project-switcher-search {
  display: flex;
  align-items: center;
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border-radius: var(--radius-control-lg);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

body[data-theme="whites"] .project-switcher-search {
  background: rgba(255, 255, 255, 0.7);
}

.project-switcher-search input {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
}

.project-switcher-search input::placeholder {
  color: var(--muted);
}

.project-switcher-section-label {
  padding: 0 4px;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-switcher-list {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  max-height: calc(286px * var(--ui-panel-scale));
  overflow: auto;
}

.project-switcher-item {
  display: grid;
  grid-template-columns: var(--brand-mark-size) minmax(0, 1fr) var(--icon-size-md);
  gap: var(--space-2);
  align-items: center;
  width: 100%;
  padding: var(--panel-padding-sm) var(--panel-padding-md);
  border-radius: var(--radius-panel);
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
  transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.project-switcher-item:hover,
.project-switcher-item.is-highlighted {
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.project-switcher-item.is-active {
  border-color: rgba(132, 195, 255, 0.22);
  background: rgba(132, 195, 255, 0.14);
}

body[data-theme="whites"] .project-switcher-item:hover,
body[data-theme="whites"] .project-switcher-item.is-highlighted {
  background: rgba(116, 146, 174, 0.08);
}

body[data-theme="whites"] .project-switcher-item.is-active {
  border-color: rgba(116, 146, 174, 0.18);
  background: rgba(116, 146, 174, 0.12);
}

.project-switcher-monogram {
  width: var(--brand-mark-size);
  height: var(--brand-mark-size);
  border-radius: var(--brand-mark-radius);
  font-size: 0.82rem;
}

.project-switcher-item-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-switcher-item-code {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-switcher-item-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}

.project-switcher-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.88rem;
  color: var(--muted);
}

.project-switcher-item-meta span + span {
  position: relative;
  padding-left: var(--control-padding-inline-md);
}

.project-switcher-item-meta span + span::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(132, 195, 255, 0.26);
  transform: translateY(-50%);
}

body[data-theme="whites"] .project-switcher-item-meta span + span::before {
  background: rgba(116, 146, 174, 0.26);
}

.project-switcher-check {
  justify-self: end;
  color: var(--accent-strong);
  font-size: 0.92rem;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 140ms ease, transform 140ms ease;
}

.project-switcher-item.is-active .project-switcher-check {
  opacity: 1;
  transform: scale(1);
}

.project-switcher-empty {
  padding: var(--panel-padding-md);
  border-radius: var(--radius-control-lg);
  border: 1px dashed var(--line-soft);
  background: rgba(255, 255, 255, 0.02);
  color: var(--muted);
  text-align: center;
}

.project-switcher-empty[hidden],
.project-switcher-list[hidden] {
  display: none;
}

.project-switcher-footer {
  padding-top: var(--space-2);
  border-top: 1px solid var(--line-soft);
}

.project-switcher-create {
  width: 100%;
  min-height: var(--control-height-md);
  border-radius: var(--radius-control-lg);
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.project-switcher-create:hover {
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.06);
}

body[data-theme="whites"] .project-switcher-create {
  background: rgba(255, 255, 255, 0.72);
}

.project-switcher-trigger:focus-visible,
.project-switcher-search input:focus-visible,
.project-switcher-item:focus-visible,
.project-switcher-create:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 2px;
}

.toolbar-search {
  flex: 1 1 calc(320px * var(--ui-panel-scale));
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: min(100%, 260px);
  max-width: min(100%, 420px);
  min-height: var(--toolbar-search-height);
  padding: 0 var(--control-padding-inline-lg);
  border-radius: var(--toolbar-search-radius);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.toolbar-search.is-compact {
  flex-basis: calc(280px * var(--ui-panel-scale));
}

.toolbar-search span {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.toolbar-search input {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
}

.toolbar-search input::placeholder,
.field-block input::placeholder {
  color: var(--muted);
}

.toolbar-search.is-disabled {
  cursor: default;
  display: grid;
  align-content: center;
  gap: 2px;
}

.toolbar-search-status {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.toolbar-search small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.project-topbar-action.is-disabled,
.project-topbar-action.is-disabled:hover {
  transform: none;
  cursor: default;
  opacity: 0.62;
}

.page-frame {
  display: grid;
  gap: var(--space-4);
}

.cde-page {
  --cde-workspace-min-height: calc(780px * var(--ui-panel-scale));
  --cde-workspace-radius: calc(24px * var(--ui-panel-scale));
  --cde-explorer-width: var(--left-rail-width-md);
  --cde-details-width: var(--inspector-width-md);
  --cde-pane-gap: calc(10px * var(--ui-space-scale));
  --cde-pane-padding-sm: var(--panel-padding-sm);
  --cde-pane-padding-md: var(--panel-padding-md);
  --cde-pane-padding-lg: calc(20px * var(--ui-panel-scale));
  --cde-control-height: calc(32px * var(--ui-control-scale));
  --cde-control-height-compact: var(--control-height-xs);
  --cde-control-radius: calc(8px * var(--ui-control-scale));
  --cde-chip-height: calc(18px * var(--ui-control-scale));
  --cde-table-row-min-height: calc(48px * var(--ui-control-scale));
  --cde-table-shell-radius: calc(16px * var(--ui-panel-scale));
  --cde-table-columns-layout:
    calc(56px * var(--ui-control-scale))
    minmax(calc(72px * var(--ui-panel-scale)), 0.72fr)
    minmax(calc(216px * var(--ui-panel-scale)), 2.55fr)
    minmax(calc(72px * var(--ui-panel-scale)), 0.72fr)
    minmax(calc(98px * var(--ui-panel-scale)), 0.88fr)
    minmax(calc(108px * var(--ui-panel-scale)), 0.96fr)
    minmax(calc(118px * var(--ui-panel-scale)), 1.04fr)
    minmax(calc(126px * var(--ui-panel-scale)), 1.02fr)
    minmax(calc(146px * var(--ui-panel-scale)), 1.2fr);
  width: 100%;
  max-width: none;
  position: static;
  left: auto;
  transform: none;
}

.cde-page .page-title-block {
  max-width: 980px;
}

.layout-content:has(.documents-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.documents-page {
  --documents-surface: var(--pmis-surface-card);
  --documents-surface-soft: var(--entry-soft-surface);
  --documents-surface-strong: var(--entry-soft-surface-strong);
  --documents-border: var(--pmis-border-subtle);
  --documents-border-strong: var(--pmis-border-strong);
  --documents-text: var(--pmis-text-primary);
  --documents-muted: var(--pmis-text-secondary);
  --documents-subtle: var(--pmis-text-tertiary);
  --documents-accent-soft: var(--pmis-accent-soft);
  --documents-info: var(--pmis-info);
  --documents-warning: var(--pmis-warning);
  --documents-danger: var(--pmis-danger);
  color: var(--documents-text);
}

.documents-page .page-title-block {
  display: grid;
  gap: 6px;
}

.documents-page .page-title-block p {
  margin: 0;
  max-width: 980px;
  color: var(--documents-muted);
}

.documents-page .cde-header-actions {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.documents-page.pmis-page .documents-summary-grid {
  margin-top: calc(-4px * var(--ui-space-scale));
}

.documents-page.pmis-page .documents-summary-card {
  background: var(--documents-surface);
  border-color: var(--documents-border);
}

.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.page-header.is-compact {
  align-items: flex-start;
}

.page-title-block {
  display: grid;
  gap: var(--space-1);
  max-width: 760px;
}

.page-kicker,
.sidebar-kicker,
.project-code,
.stat-label {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-strong);
}

.page-title-block h1,
.auth-card h2,
.auth-value-panel h1 {
  margin: 0;
  font-size: clamp(1.8rem, 2vw, 2.7rem);
  line-height: 1.06;
}

.page-title-block p,
.auth-card p,
.auth-value-panel p {
  margin: 0;
  line-height: 1.55;
}

.stat-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-2);
}

.stat-strip.is-compact {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.project-summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-2);
  padding: var(--space-2) 0;
}

.summary-inline-item {
  display: grid;
  gap: 4px;
  padding: var(--space-2) var(--space-3);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line-soft);
}

body[data-theme="whites"] .summary-inline-item {
  background: rgba(255, 255, 255, 0.6);
}

.summary-inline-label,
.summary-inline-meta {
  color: var(--muted);
}

.summary-inline-label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.summary-inline-value {
  font-size: 1.18rem;
}

.stat-card,
.mini-stat {
  padding: var(--space-3);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line-soft);
}

body[data-theme="whites"] .stat-card,
body[data-theme="whites"] .mini-stat {
  background: rgba(255, 255, 255, 0.72);
}

.stat-card {
  display: grid;
  gap: 6px;
}

.stat-value {
  font-size: 1.68rem;
  line-height: 1;
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  flex-wrap: wrap;
}

.section-heading.is-inline {
  align-items: flex-start;
}

.section-heading h2 {
  margin: 0;
  font-size: 1.02rem;
}

.dashboard-grid,
.projects-layout-grid,
.overview-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 360px);
  gap: var(--space-4);
  align-items: start;
}

.content-column,
.aside-column {
  display: grid;
  gap: var(--space-3);
}

.list-stack {
  display: grid;
  gap: 0;
}

.list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line-soft);
  text-decoration: none;
}

.list-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.list-row-copy {
  display: grid;
  gap: 4px;
}

.list-row-copy strong {
  font-size: 0.96rem;
}

.list-row-arrow,
.list-row-tag {
  flex: none;
  white-space: nowrap;
  color: var(--accent-strong);
  font-size: 0.82rem;
}

.directory-company-grid,
.directory-contact-grid,
.directory-approval-list,
.directory-group-list {
  display: grid;
  gap: var(--space-2);
}

.directory-company-grid,
.directory-contact-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.directory-entity-card,
.directory-approval-card,
.directory-group-card {
  display: grid;
  gap: 10px;
  padding: var(--space-3);
  border-radius: 16px;
  background: var(--entry-soft-surface);
  border: 1px solid var(--pmis-border-subtle);
}

body[data-theme="whites"] .directory-entity-card,
body[data-theme="whites"] .directory-approval-card,
body[data-theme="whites"] .directory-group-card {
  background: var(--pmis-surface-card);
}

.directory-entity-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
}

.directory-entity-head strong,
.directory-group-card strong {
  font-size: 0.98rem;
}

.directory-entity-head span,
.directory-inline-label,
.directory-contact-meta span,
.directory-entity-card small,
.directory-approval-card small {
  color: var(--pmis-text-secondary);
}

.directory-entity-card p,
.directory-approval-card p,
.directory-group-card p {
  margin: 0;
  line-height: 1.55;
}

.directory-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
}

.directory-contact-meta {
  display: grid;
  gap: 4px;
  font-size: 0.82rem;
}

.directory-approval-grid {
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.directory-inline-label {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bullet-note-list {
  display: grid;
  gap: var(--space-3);
}

.bullet-note {
  display: grid;
  gap: 4px;
  padding-left: 14px;
  position: relative;
}

.bullet-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.bullet-note strong {
  font-size: 0.94rem;
}

.governance-page {
  position: relative;
}

.governance-command-band,
.governance-workspace-surface,
.governance-rail-panel {
  box-shadow: none;
}

.governance-command-band {
  display: grid;
  gap: var(--space-3);
  padding: 20px;
}

.governance-band-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.governance-action-cluster {
  justify-content: flex-end;
}

.governance-toolbar-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(0, 1.8fr);
  gap: var(--space-2);
  align-items: start;
}

.governance-search {
  min-height: 48px;
}

.governance-filter-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
}

.governance-filter-field {
  display: grid;
  gap: 6px;
}

.governance-filter-field span,
.governance-map-label,
.governance-inline-note,
.governance-detail-grid dt,
.governance-timeline-date {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.governance-filter-field select {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
}

.governance-status-strip,
.governance-adoption-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(172px, 1fr));
  gap: var(--space-2);
}

.governance-health-card,
.governance-adoption-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.035);
}

.governance-health-label,
.governance-health-meta,
.governance-health-trend {
  color: var(--muted);
}

.governance-health-label,
.governance-health-trend {
  font-size: 0.76rem;
}

.governance-health-value {
  font-size: 1.8rem;
  line-height: 1;
}

.governance-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 272px;
  gap: var(--space-3);
  align-items: start;
}

.governance-center-column,
.governance-rail,
.governance-section-stack,
.governance-contact-list,
.governance-mini-list,
.governance-detail-list {
  display: grid;
  gap: var(--space-2);
}

.governance-workspace-grid > .governance-center-column,
.governance-workspace-grid > .governance-rail {
  min-width: 0;
  width: 100%;
}

.governance-rail {
  position: relative;
  z-index: 1;
  align-content: start;
}

.governance-workspace-surface {
  display: grid;
  gap: var(--space-3);
  padding: 20px;
  min-width: 0;
}

.governance-rail-panel {
  min-width: 0;
}

.governance-workspace-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.governance-workspace-head > * {
  min-width: 0;
}

.governance-workspace-head .count-chip-row {
  justify-content: flex-end;
  max-width: 100%;
  margin-top: 0;
}

.governance-head-copy {
  display: grid;
  gap: 4px;
  max-width: 760px;
}

.governance-head-copy h2,
.governance-drawer-header h3,
.governance-detail-section h4 {
  margin: 0;
}

.governance-head-copy p,
.governance-drawer-header p,
.governance-contact-card p,
.governance-detail-row p {
  margin: 0;
  line-height: 1.5;
}

.governance-tablist {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.governance-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
}

.governance-tab strong {
  font-size: 0.82rem;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
}

.governance-tab.is-active,
.governance-tab:hover {
  color: var(--text);
  border-color: var(--line-soft);
  background: rgba(132, 195, 255, 0.12);
}

.governance-panel-body,
.governance-group-body,
.governance-queue-shell,
.governance-adoption-list,
.governance-map-grid {
  display: grid;
  gap: var(--space-2);
}

.governance-group-body,
.governance-queue-shell,
.governance-adoption-row {
  overflow-x: auto;
}

.governance-group,
.governance-subsection,
.governance-map-card {
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
}

.governance-group-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.governance-group-copy,
.governance-title-stack,
.governance-mini-copy,
.governance-map-head {
  display: grid;
  gap: 4px;
}

.governance-group-copy strong,
.governance-title-line strong,
.governance-contact-card strong,
.governance-link-row strong,
.governance-detail-row strong {
  font-size: 0.96rem;
}

.governance-group-copy span,
.governance-subline,
.governance-mini-copy span,
.governance-contact-card span,
.governance-timeline-copy,
.governance-timeline-meta {
  color: var(--muted);
}

.governance-group-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.governance-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.governance-group-caret {
  width: 10px;
  height: 10px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.governance-group-toggle[aria-expanded="true"] .governance-group-caret {
  transform: rotate(225deg) translate(-1px, -1px);
}

.governance-group-body,
.governance-subsection,
.governance-map-card {
  padding: 0 16px 16px;
}

.governance-table-head,
.governance-library-row,
.governance-queue-head,
.governance-queue-row,
.governance-adoption-grid {
  display: grid;
  align-items: center;
  gap: 12px;
}

.governance-table-head,
.governance-queue-head {
  padding: 0 0 10px;
  border-bottom: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.governance-table-head,
.governance-library-row {
  grid-template-columns: minmax(240px, 2.5fr) 86px 110px 120px 1.25fr 90px 88px 120px 20px;
  min-width: 1040px;
}

.governance-queue-head,
.governance-queue-row {
  grid-template-columns: minmax(240px, 2.4fr) 120px 120px 120px 92px 92px 120px 88px;
  min-width: 1036px;
}

.governance-adoption-grid {
  grid-template-columns: minmax(220px, 2.2fr) 120px 90px 88px 88px minmax(220px, 1.4fr);
  min-width: 920px;
}

.governance-library-row,
.governance-queue-row,
.governance-mini-row {
  width: 100%;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
  text-align: left;
}

.governance-library-row:last-child,
.governance-queue-row:last-child,
.governance-mini-row:last-child,
.governance-link-row:last-child,
.governance-detail-row:last-child {
  border-bottom: 0;
}

.governance-library-row:hover,
.governance-queue-row:hover,
.governance-mini-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

.governance-cell {
  min-width: 0;
}

.governance-cell::before {
  display: none;
}

.governance-cell-title .governance-title-line {
  display: flex;
  align-items: center;
  gap: 8px;
}

.governance-cell-overflow {
  color: var(--muted);
  text-align: right;
}

.governance-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--muted);
  flex: none;
}

.governance-status-dot[data-tone="positive"] {
  background: var(--success);
}

.governance-status-dot[data-tone="warning"] {
  background: var(--warning);
}

.governance-status-dot[data-tone="danger"] {
  background: #ef8f8f;
}

.governance-status-dot[data-tone="info"] {
  background: var(--accent-strong);
}

.governance-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font-size: 0.78rem;
  white-space: nowrap;
}

.governance-pill[data-tone="positive"] {
  background: rgba(98, 171, 135, 0.16);
}

.governance-pill[data-tone="warning"] {
  background: rgba(204, 160, 88, 0.16);
}

.governance-pill[data-tone="danger"] {
  background: rgba(207, 115, 115, 0.18);
}

.governance-pill[data-tone="info"] {
  background: rgba(83, 142, 196, 0.18);
}

.governance-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.governance-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
  text-decoration: none;
  font-size: 0.82rem;
}

.governance-chip.is-link:hover,
.governance-chip.is-button:hover {
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.12);
}

.governance-chip.is-button {
  cursor: pointer;
}

.governance-timeline {
  display: grid;
  gap: 0;
}

.governance-timeline-entry {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  padding: 16px 0 16px 18px;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
  text-align: left;
  position: relative;
}

.governance-timeline-entry::before {
  content: "";
  position: absolute;
  left: 0;
  top: 23px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.governance-timeline-entry:last-child::after {
  display: none;
}

.governance-timeline-entry::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 34px;
  bottom: -12px;
  width: 1px;
  background: var(--line-soft);
}

.governance-timeline-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.governance-row-footer {
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.governance-link-grid {
  display: grid;
  gap: 8px;
}

.governance-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  text-decoration: none;
}

.governance-mini-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
}

.governance-empty-state,
.governance-empty-rail {
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed var(--line-soft);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.02);
}

.governance-contact-card,
.governance-detail-row {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.governance-map-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
  padding-top: 16px;
}

.governance-map-lanes {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 14px;
}

.governance-map-column {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.governance-drawer-shell {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  justify-items: end;
  pointer-events: none;
}

.governance-drawer-shell.is-open {
  pointer-events: auto;
}

.governance-drawer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(4, 9, 16, 0.54);
  opacity: 0;
  transition: opacity 150ms ease;
}

.governance-drawer-shell.is-open .governance-drawer-backdrop {
  opacity: 1;
}

.governance-drawer {
  position: relative;
  width: min(430px, calc(100vw - 24px));
  height: calc(100vh - 24px);
  margin: 12px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(18, 28, 43, 0.98) 0%, rgba(10, 17, 27, 0.98) 100%);
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.28);
  display: grid;
  align-content: start;
  gap: var(--space-3);
  overflow: auto;
  transform: translateX(18px);
  opacity: 0;
  transition: transform 180ms ease, opacity 180ms ease;
}

.governance-drawer-shell.is-open .governance-drawer {
  transform: translateX(0);
  opacity: 1;
}

.governance-drawer-topbar,
.governance-drawer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.governance-drawer-close {
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
}

.governance-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.governance-detail-grid div {
  display: grid;
  gap: 4px;
}

.governance-detail-grid dd {
  margin: 0;
  line-height: 1.45;
}

.governance-detail-section {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.02);
}

body[data-theme="whites"] .governance-filter-field select,
body[data-theme="whites"] .governance-health-card,
body[data-theme="whites"] .governance-adoption-card,
body[data-theme="whites"] .governance-group,
body[data-theme="whites"] .governance-subsection,
body[data-theme="whites"] .governance-map-card,
body[data-theme="whites"] .governance-link-row,
body[data-theme="whites"] .governance-contact-card,
body[data-theme="whites"] .governance-detail-row,
body[data-theme="whites"] .governance-map-column,
body[data-theme="whites"] .governance-detail-section,
body[data-theme="whites"] .governance-empty-state,
body[data-theme="whites"] .governance-empty-rail {
  background: rgba(255, 255, 255, 0.72);
}

body[data-theme="whites"] .governance-drawer {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 246, 251, 0.98) 100%);
}

.auth-shell {
  min-height: calc(100vh - 90px);
}

.auth-entry {
  width: min(1380px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.auth-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(392px, 0.84fr);
  gap: var(--space-4);
  align-items: stretch;
}

.auth-overview-panel {
  display: grid;
  align-content: start;
  gap: 22px;
  height: 100%;
}

.auth-overview-copy,
.auth-card-head,
.auth-panel-copy,
.auth-workflow-copy,
.auth-billing-controls {
  display: grid;
  gap: 12px;
}

.auth-lead {
  max-width: 720px;
  font-size: 1.06rem;
  line-height: 1.42;
}

.auth-support,
.auth-card-head p,
.auth-panel-copy p,
.auth-workflow-copy p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.auth-card-context .context-pill,
.auth-pricing-footnote,
.auth-footer-strip {
  background: var(--entry-soft-surface);
}

.auth-section {
  display: grid;
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--line-soft);
}

.auth-card-context,
.auth-footer-company,
.auth-footer-links,
.auth-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.auth-card-context .context-pill {
  min-height: 34px;
  padding: 0 14px;
  border-radius: var(--radius-pill);
}

.auth-card-context .context-pill {
  color: var(--muted);
}

.auth-overview-panel h1,
.auth-card h2,
.auth-panel-copy h2,
.auth-workflow-copy h2 {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.auth-overview-panel h1 {
  font-size: clamp(2.15rem, 2.6vw, 3.05rem);
}

.auth-card h2,
.auth-panel-copy h2,
.auth-workflow-copy h2 {
  font-size: clamp(1.5rem, 1.95vw, 2.15rem);
}

.auth-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.auth-icon-badge {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface-strong);
  color: var(--accent-strong);
  flex: none;
}

.auth-icon-badge svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-feature-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 96px;
}

.auth-feature-copy {
  display: grid;
  gap: 4px;
}

.auth-feature-copy strong {
  font-size: 0.96rem;
  line-height: 1.25;
}

.auth-feature-copy span {
  color: var(--muted);
  line-height: 1.5;
}

.auth-card {
  display: grid;
  gap: 14px;
  align-content: start;
  height: 100%;
}

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

.field-block {
  display: grid;
  gap: var(--space-1);
}

.field-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.field-input-shell {
  position: relative;
}

.field-block span {
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.field-inline-link {
  color: var(--accent);
  font-size: 0.78rem;
  text-decoration: none;
}

.field-input-shell input {
  width: 100%;
  min-height: 46px;
  padding: 0 44px 0 42px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.field-input-shell.is-password input {
  padding-right: 52px;
}

.field-input-shell input:focus {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 4px var(--entry-accent-wash);
}

body[data-theme="whites"] .field-input-shell input {
  background: rgba(255, 255, 255, 0.8);
}

.field-leading-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  width: 16px;
  height: 16px;
  color: var(--muted);
  transform: translateY(-50%);
}

.field-leading-icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.field-icon-button {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  transform: translateY(-50%);
}

.field-icon-button:hover {
  color: var(--text);
}

.field-icon-button svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-action-stack {
  display: grid;
  gap: var(--space-2);
}

.auth-action-stack .ui-button,
.auth-action-stack .ui-button-secondary {
  width: 100%;
}

.auth-inline-button {
  justify-content: space-between;
}

.auth-inline-button svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-card-footnote {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: 0.8rem;
}

.auth-footnote-icon {
  width: 22px;
  height: 22px;
  background: transparent;
  border: 0;
  color: var(--accent);
}

.auth-footnote-icon svg {
  width: 14px;
  height: 14px;
}

.auth-pricing-panel,
.auth-workflow-panel {
  display: grid;
  gap: 14px;
}

.auth-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.auth-panel-copy {
  max-width: 760px;
}

.auth-billing-controls {
  display: grid;
  grid-template-columns: auto auto;
  align-items: start;
  justify-items: end;
  gap: 14px;
}

.auth-billing-choice-group {
  display: grid;
  justify-items: start;
  gap: 6px;
}

.auth-billing-option {
  min-height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 0.86rem;
}

.auth-billing-indicator {
  width: 34px;
  height: 18px;
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line-soft);
}

.auth-billing-indicator::after {
  content: "";
  width: 12px;
  height: 12px;
  margin-left: 3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: transform 140ms ease, background-color 140ms ease;
}

.auth-billing-option.is-active {
  color: var(--text);
}

.auth-billing-option.is-active .auth-billing-indicator {
  background: rgba(79, 136, 191, 0.28);
  border-color: rgba(132, 195, 255, 0.28);
}

.auth-billing-option.is-active .auth-billing-indicator::after {
  transform: translateX(15px);
  background: var(--accent-strong);
}

.auth-billing-note {
  width: fit-content;
  min-height: 26px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: opacity 140ms ease, border-color 140ms ease, color 140ms ease;
}

.auth-billing-note.is-muted {
  opacity: 0.55;
}

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

.auth-plan-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.auth-plan-card.is-active {
  border-color: var(--line-strong);
  background: linear-gradient(180deg, var(--entry-accent-wash) 0%, var(--entry-soft-surface-strong) 100%);
  box-shadow: inset 0 0 0 1px rgba(132, 195, 255, 0.16);
}

.auth-plan-head {
  display: grid;
  gap: 10px;
}

.auth-plan-identity {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.auth-plan-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(132, 195, 255, 0.16);
}

.auth-plan-icon.is-ai {
  background: var(--entry-soft-surface-strong);
  color: var(--warning);
}

.auth-plan-icon.is-enterprise {
  background: var(--entry-soft-surface-strong);
  color: var(--success);
}

.auth-plan-heading {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.auth-plan-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.auth-plan-title-row h3 {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.3;
}

.auth-plan-status {
  min-height: 22px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.05);
  color: var(--muted);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.auth-plan-status.is-active {
  background: rgba(79, 136, 191, 0.18);
  color: var(--accent-strong);
}

.auth-plan-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

.auth-plan-price-row strong {
  font-size: 1.62rem;
  line-height: 1;
}

.auth-plan-price-row span {
  color: var(--muted);
  font-size: 0.88rem;
}

.auth-plan-billing-caption {
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.auth-plan-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.auth-plan-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}

.auth-plan-list.is-core {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 14px;
}

.auth-plan-list li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  line-height: 1.32;
  color: var(--muted);
}

.auth-plan-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-strong);
  box-shadow: 0 0 0 4px var(--entry-accent-wash);
}

.auth-plan-action {
  margin-top: auto;
  padding-top: 2px;
}

.auth-plan-action .ui-button,
.auth-plan-action .ui-button-secondary {
  width: 100%;
}

.auth-pricing-footnote {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  color: var(--muted);
  line-height: 1.4;
}

.auth-workflow-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(540px, 1.28fr);
  gap: var(--space-4);
  align-items: stretch;
}

.auth-workflow-copy {
  align-content: start;
  max-width: 420px;
}

.auth-workflow-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.auth-workflow-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.auth-workflow-icon {
  width: 28px;
  height: 28px;
  background: var(--entry-soft-surface);
  color: var(--accent);
}

.auth-workflow-item span:last-child {
  line-height: 1.45;
}

.auth-video-preview {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--workflow-preview-border);
  background: var(--workflow-preview-bg);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  align-self: start;
}

.auth-video-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--workflow-overlay);
  pointer-events: none;
}

.auth-video-preview-chrome {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  min-height: 100%;
}

.auth-video-preview-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--workflow-preview-line);
  background: rgba(255, 255, 255, 0.03);
}

.auth-video-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(232, 243, 255, 0.72);
  font-size: 0.78rem;
}

.auth-video-brand-mark {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(79, 136, 191, 0.3);
  color: #f2f7ff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.auth-video-topbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.auth-video-topbar-actions span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(232, 243, 255, 0.28);
}

.auth-video-preview-grid {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  min-height: 0;
  height: 100%;
}

.auth-video-sidebar {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px 16px;
  border-right: 1px solid var(--workflow-preview-line);
  background: rgba(255, 255, 255, 0.03);
}

.auth-video-sidebar-title {
  color: rgba(232, 243, 255, 0.52);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.auth-video-sidebar-list {
  display: grid;
  gap: 8px;
}

.auth-video-sidebar-list span {
  min-height: 30px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  color: rgba(232, 243, 255, 0.6);
  font-size: 0.84rem;
}

.auth-video-sidebar-list span.is-active {
  background: rgba(79, 136, 191, 0.18);
  color: #f1f7ff;
}

.auth-video-main {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px 18px 22px;
}

.auth-video-ribbon {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.auth-video-chip {
  min-height: 24px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  border: 1px solid var(--workflow-preview-line);
  background: rgba(232, 243, 255, 0.07);
  color: rgba(232, 243, 255, 0.7);
  font-size: 0.72rem;
}

.auth-video-chip.is-active {
  background: rgba(79, 136, 191, 0.2);
}

.auth-video-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 162px;
  gap: 14px;
}

.auth-video-table {
  border-radius: 14px;
  border: 1px solid var(--workflow-preview-line);
  background: rgba(232, 243, 255, 0.04);
  overflow: hidden;
}

.auth-video-table-head,
.auth-video-table-row {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) 0.72fr 0.64fr 0.82fr;
  gap: 10px;
  align-items: center;
}

.auth-video-table-head {
  padding: 10px 12px;
  border-bottom: 1px solid var(--workflow-preview-line);
  color: rgba(232, 243, 255, 0.42);
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.auth-video-table-body {
  display: grid;
}

.auth-video-table-row {
  padding: 11px 12px;
  color: rgba(232, 243, 255, 0.7);
  font-size: 0.78rem;
  border-bottom: 1px solid rgba(232, 243, 255, 0.05);
}

.auth-video-table-row:last-child {
  border-bottom: 0;
}

.auth-video-table-row.is-active {
  background: rgba(79, 136, 191, 0.14);
}

.auth-video-table-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.auth-video-table-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(132, 195, 255, 0.8);
  flex: none;
}

.auth-video-sidepane {
  display: grid;
  gap: 12px;
}

.auth-video-map-card,
.auth-video-thumb {
  border-radius: 14px;
  border: 1px solid var(--workflow-preview-line);
  background: rgba(232, 243, 255, 0.05);
}

.auth-video-map-card {
  position: relative;
  min-height: 150px;
  overflow: hidden;
}

.auth-video-map-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(232, 243, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232, 243, 255, 0.05) 1px, transparent 1px);
  background-size: 24px 24px;
}

.auth-video-map-pin {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent-strong);
  box-shadow: 0 0 0 4px var(--entry-accent-wash);
}

.auth-video-map-pin.is-one {
  top: 36px;
  left: 96px;
}

.auth-video-map-pin.is-two {
  top: 70px;
  left: 58px;
}

.auth-video-map-pin.is-three {
  top: 98px;
  left: 110px;
}

.auth-video-thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.auth-video-thumb {
  min-height: 72px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    linear-gradient(135deg, rgba(79, 136, 191, 0.22), transparent 68%);
}

.auth-video-trigger {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  min-width: 212px;
  border-color: rgba(232, 243, 255, 0.16);
  background: rgba(15, 22, 34, 0.82);
  color: #f5f9ff;
  backdrop-filter: blur(12px);
  transform: translate(-50%, -50%);
}

.auth-video-trigger:hover {
  transform: translate(-50%, calc(-50% - 1px));
}

.auth-video-play-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(232, 243, 255, 0.16);
  background: rgba(232, 243, 255, 0.08);
}

.auth-video-play-icon::before {
  content: "";
  margin-left: 2px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid currentColor;
}

.auth-video-trigger-duration {
  min-height: 24px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(232, 243, 255, 0.16);
  background: rgba(232, 243, 255, 0.08);
  font-size: 0.74rem;
}

.auth-video-caption {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 1;
  font-size: 0.82rem;
  color: rgba(232, 243, 255, 0.68);
}

.auth-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
}

.auth-footer-company strong,
.auth-footer-links a {
  font-size: 0.88rem;
}

.auth-footer-company span,
.auth-footer-links a,
.auth-footer-status {
  color: var(--muted);
}

.auth-footer-links a {
  text-decoration: none;
}

.auth-footer-links a:hover {
  color: var(--text);
}

.auth-footer-mark {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(86, 159, 224, 0.95) 0%, rgba(53, 111, 168, 0.95) 100%);
  color: #f4f8ff;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.auth-footer-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 0 4px rgba(130, 215, 166, 0.12);
}

.public-auth-layout.is-marketing-home {
  position: relative;
  overflow-x: clip;
}

.public-auth-layout.is-marketing-home::before,
.public-auth-layout.is-marketing-home::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.public-auth-layout.is-marketing-home::before {
  background:
    radial-gradient(circle at 50% 6%, var(--entry-accent-wash) 0%, transparent 36%),
    radial-gradient(circle at 10% 28%, var(--entry-soft-surface-strong) 0%, transparent 24%);
  opacity: 0.95;
}

.public-auth-layout.is-marketing-home::after {
  background:
    radial-gradient(circle at 100% 62%, var(--entry-accent-wash) 0%, transparent 28%),
    linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.02) 100%);
  opacity: 0.8;
}

.public-auth-layout.is-marketing-home .public-auth-main {
  position: relative;
  z-index: 1;
  width: min(1560px, 100%);
  padding-top: 26px;
  padding-bottom: 52px;
}

.brand-bar-marketing {
  position: relative;
  z-index: 1;
  padding-top: 14px;
  padding-bottom: 14px;
  background: rgba(255, 255, 255, 0.38);
}

body[data-theme="darkgreys"] .brand-bar-marketing,
body[data-theme="blues"] .brand-bar-marketing {
  background: rgba(10, 16, 26, 0.44);
}

.brand-bar-marketing-actions {
  gap: 14px;
}

.marketing-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.marketing-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-decoration: none;
}

.marketing-nav-link:hover,
.marketing-nav-link.is-strong,
.marketing-nav-link.is-active {
  color: var(--text);
}

.marketing-theme-picker {
  min-width: 112px;
}

.marketing-header-cta {
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
}

.marketing-home-page {
  display: grid;
  gap: 34px;
}

.marketing-secondary-page {
  gap: 28px;
}

.marketing-hero {
  display: grid;
  gap: 28px;
}

.marketing-hero-copy {
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
  text-align: center;
}

.marketing-eyebrow,
.marketing-auth-kicker {
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-strong);
}

.marketing-hero-copy h1 {
  margin: 0;
  font-size: clamp(3rem, 5.2vw, 5rem);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.marketing-hero-copy h1 span {
  display: block;
  color: var(--accent);
}

.marketing-hero-copy p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.6;
}

.marketing-audience-switch {
  width: fit-content;
  margin: 0 auto;
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.32);
  backdrop-filter: blur(16px);
}

body[data-theme="darkgreys"] .marketing-audience-switch,
body[data-theme="blues"] .marketing-audience-switch {
  background: rgba(12, 19, 30, 0.34);
}

.marketing-audience-tab {
  min-height: 50px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-weight: 600;
}

.marketing-audience-tab.is-active {
  background: linear-gradient(90deg, rgba(79, 136, 191, 0.92) 0%, rgba(98, 150, 202, 0.82) 100%);
  color: #f4f8ff;
}

.marketing-lower-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 384px;
  gap: 46px;
  align-items: start;
}

.marketing-story-column {
  display: grid;
  gap: 20px;
  padding: 18px 0 8px;
}

.marketing-story-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.78fr);
  gap: 28px;
  align-items: start;
}

.marketing-story-copy {
  display: grid;
  gap: 18px;
  max-width: 720px;
  align-content: start;
}

.marketing-story-copy h2 {
  margin: 0;
  font-size: clamp(2rem, 2.5vw, 2.9rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.marketing-story-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.marketing-story-list li {
  position: relative;
  padding-left: 22px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.marketing-story-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 9px;
  height: 9px;
  border-radius: 3px;
  background: var(--accent);
  box-shadow: 0 0 0 6px var(--entry-accent-wash);
}

.marketing-story-graphic {
  position: relative;
  min-height: 280px;
  display: grid;
  place-items: center;
}

.marketing-story-graphic-cloud {
  position: absolute;
  inset: 16px;
  border-radius: 38px;
  background:
    radial-gradient(circle at 28% 34%, var(--entry-accent-wash) 0%, transparent 34%),
    radial-gradient(circle at 72% 68%, rgba(255, 255, 255, 0.56) 0%, transparent 28%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.36) 0%, rgba(255, 255, 255, 0.08) 100%);
  filter: blur(8px);
  opacity: 0.9;
}

.marketing-story-graphic-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 310px);
  padding: 18px;
  border-radius: 28px;
  border: 1px solid rgba(132, 195, 255, 0.16);
  background: rgba(255, 255, 255, 0.26);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

body[data-theme="darkgreys"] .marketing-story-graphic-panel,
body[data-theme="blues"] .marketing-story-graphic-panel {
  background: rgba(14, 21, 33, 0.28);
}

.marketing-story-graphic-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.marketing-story-graphic-chip {
  min-height: 24px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(132, 195, 255, 0.18);
  background: rgba(255, 255, 255, 0.22);
  color: var(--muted);
  font-size: 0.72rem;
}

.marketing-story-graphic-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 12px;
}

.marketing-story-graphic-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(132, 195, 255, 0.14);
  background: rgba(255, 255, 255, 0.18);
}

.marketing-story-graphic-card.is-primary {
  grid-column: 1 / -1;
}

.marketing-story-graphic-card.is-tall {
  align-content: end;
}

.marketing-story-graphic-card-title {
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 600;
}

.marketing-story-graphic-line {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(132, 195, 255, 0.22);
}

.marketing-story-graphic-line.is-short {
  width: 72%;
}

.marketing-story-graphic-line.is-shorter {
  width: 54%;
}

.marketing-story-graphic-bar {
  display: block;
  width: 100%;
  border-radius: 999px;
  background: rgba(132, 195, 255, 0.24);
}

.marketing-story-graphic-bar.is-one {
  height: 34px;
}

.marketing-story-graphic-bar.is-two {
  width: 78%;
  height: 24px;
}

.marketing-story-graphic-bar.is-three {
  width: 62%;
  height: 18px;
}

.marketing-story-graphic-rail {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 18px;
}

.marketing-story-graphic-rail::before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: 26px;
  height: 1px;
  background: rgba(132, 195, 255, 0.24);
}

.marketing-story-node {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(132, 195, 255, 0.86);
  box-shadow: 0 0 0 6px rgba(132, 195, 255, 0.12);
}

.marketing-story-node.is-two,
.marketing-story-node.is-four {
  background: rgba(79, 136, 191, 0.72);
}

.marketing-integration-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.marketing-integration-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.38);
  color: var(--text);
}

body[data-theme="darkgreys"] .marketing-integration-chip,
body[data-theme="blues"] .marketing-integration-chip {
  background: rgba(15, 22, 34, 0.38);
}

.marketing-integration-mark {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--entry-accent-wash);
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 700;
}

.marketing-auth-panel {
  display: grid;
  gap: 18px;
  padding: 28px;
  border-radius: 28px;
  border-color: var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(248, 251, 255, 0.8) 100%);
}

body[data-theme="darkgreys"] .marketing-auth-panel,
body[data-theme="blues"] .marketing-auth-panel {
  background: linear-gradient(180deg, rgba(17, 24, 37, 0.88) 0%, rgba(12, 18, 29, 0.9) 100%);
}

.marketing-auth-head,
.marketing-auth-form,
.marketing-auth-message-stack {
  display: grid;
  gap: 12px;
}

.marketing-auth-head h2 {
  margin: 0;
  font-size: clamp(1.55rem, 1.9vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.marketing-auth-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.marketing-auth-message {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--muted);
  line-height: 1.45;
}

.marketing-auth-message.is-error {
  border-color: rgba(239, 138, 136, 0.28);
  color: var(--danger);
}

.marketing-auth-panel .field-block {
  gap: 8px;
}

.marketing-auth-panel .field-block > span,
.marketing-auth-panel .field-block-head > span {
  font-size: 0.84rem;
  letter-spacing: 0.02em;
  text-transform: none;
  font-weight: 600;
  color: var(--text);
}

.marketing-auth-panel .field-inline-link {
  font-size: 0.8rem;
}

.marketing-auth-panel .field-input-shell input {
  min-height: 48px;
  border-radius: 14px;
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.7);
}

body[data-theme="darkgreys"] .marketing-auth-panel .field-input-shell input,
body[data-theme="blues"] .marketing-auth-panel .field-input-shell input {
  background: rgba(255, 255, 255, 0.04);
}

.auth-profile-upload-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.auth-profile-upload-input {
  display: none;
}

.auth-profile-upload-button {
  min-height: 42px;
  border-radius: 999px;
  white-space: nowrap;
}

.auth-profile-upload-file {
  min-width: 0;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.marketing-auth-submit {
  width: 100%;
  justify-content: center;
  min-height: 50px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(79, 136, 191, 0.94) 0%, rgba(92, 146, 201, 0.9) 100%);
  border-color: rgba(79, 136, 191, 0.3);
  color: #f4f8ff;
}

.marketing-auth-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.marketing-inline-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--accent);
  font-weight: 500;
}

.marketing-feature-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.36);
  backdrop-filter: blur(16px);
}

body[data-theme="darkgreys"] .marketing-feature-rail,
body[data-theme="blues"] .marketing-feature-rail {
  background: rgba(15, 22, 34, 0.34);
}

.marketing-feature-rail-item {
  min-height: 58px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  color: var(--muted);
}

.marketing-feature-rail-item.is-active {
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
}

body[data-theme="darkgreys"] .marketing-feature-rail-item.is-active,
body[data-theme="blues"] .marketing-feature-rail-item.is-active {
  background: rgba(255, 255, 255, 0.08);
}

.marketing-feature-icon {
  width: 28px;
  height: 28px;
  color: var(--accent);
  background: transparent;
  border: 0;
}

.marketing-page-hero {
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  text-align: center;
}

.marketing-page-hero h1 {
  margin: 0;
  font-size: clamp(2.8rem, 4.4vw, 4.4rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
}

.marketing-page-hero h1 span {
  color: var(--accent);
}

.marketing-page-hero p {
  max-width: 700px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

.marketing-page-card-grid,
.marketing-doc-grid {
  display: grid;
  gap: 18px;
}

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

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

.marketing-page-card {
  display: grid;
  gap: 14px;
  padding: 24px;
  border-radius: 26px;
  border-color: var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(247, 251, 255, 0.76) 100%);
}

body[data-theme="darkgreys"] .marketing-page-card,
body[data-theme="blues"] .marketing-page-card {
  background: linear-gradient(180deg, rgba(16, 23, 35, 0.82) 0%, rgba(11, 17, 27, 0.84) 100%);
}

.marketing-page-card-icon {
  width: 34px;
  height: 34px;
  color: var(--accent);
  background: var(--entry-soft-surface);
  border: 1px solid var(--line-soft);
}

.marketing-page-card h2 {
  margin: 0;
  font-size: 1.34rem;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.marketing-page-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

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

.marketing-card-list li {
  position: relative;
  padding-left: 16px;
  color: var(--muted);
  line-height: 1.45;
}

.marketing-card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.marketing-solution-card,
.marketing-doc-card {
  align-content: start;
}

.marketing-pricing-panel,
.marketing-workflow-panel {
  padding: 28px;
  border-radius: 30px;
  border-color: var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(248, 251, 255, 0.78) 100%);
}

body[data-theme="darkgreys"] .marketing-pricing-panel,
body[data-theme="darkgreys"] .marketing-workflow-panel,
body[data-theme="blues"] .marketing-pricing-panel,
body[data-theme="blues"] .marketing-workflow-panel {
  background: linear-gradient(180deg, rgba(17, 24, 37, 0.84) 0%, rgba(12, 18, 29, 0.86) 100%);
}

.marketing-section-head {
  align-items: center;
}

.marketing-pricing-panel .auth-plan-card {
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.62);
}

body[data-theme="darkgreys"] .marketing-pricing-panel .auth-plan-card,
body[data-theme="blues"] .marketing-pricing-panel .auth-plan-card {
  background: rgba(255, 255, 255, 0.04);
}

.marketing-workflow-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(520px, 1.3fr);
  gap: 34px;
  align-items: center;
}

.marketing-workflow-copy {
  display: grid;
  gap: 14px;
  max-width: 420px;
}

.marketing-workflow-copy h2 {
  margin: 0;
  font-size: clamp(1.9rem, 2.4vw, 2.6rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.marketing-workflow-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.marketing-workflow-frame {
  position: relative;
}

.marketing-workflow-frame::before {
  content: "";
  position: absolute;
  inset: 18px -12px -12px 18px;
  border-radius: 28px;
  background: var(--entry-accent-wash);
  filter: blur(28px);
  opacity: 0.75;
  z-index: 0;
}

.marketing-workflow-frame .auth-video-preview {
  position: relative;
  z-index: 1;
}

.marketing-footer {
  background: rgba(255, 255, 255, 0.46);
}

body[data-theme="darkgreys"] .marketing-footer,
body[data-theme="blues"] .marketing-footer {
  background: rgba(15, 22, 34, 0.36);
}

.marketing-home .auth-pricing-footnote {
  display: none;
}

@media (max-width: 1320px) {
  .brand-bar-marketing-actions {
    justify-content: flex-end;
  }

  .marketing-lower-hero,
  .marketing-workflow-panel {
    grid-template-columns: 1fr;
  }

  .marketing-story-main {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .marketing-story-column {
    max-width: none;
  }
}

@media (max-width: 1080px) {
  .marketing-feature-rail,
  .auth-pricing-grid,
  .marketing-page-card-grid,
  .marketing-doc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .public-auth-layout.is-marketing-home .public-auth-main {
    padding-top: 20px;
  }

  .marketing-nav {
    width: 100%;
    justify-content: flex-start;
  }

  .marketing-auth-links {
    justify-content: flex-start;
  }

  .marketing-audience-switch,
  .marketing-feature-rail,
  .auth-pricing-grid,
  .marketing-page-card-grid,
  .marketing-doc-grid {
    grid-template-columns: 1fr;
  }

  .marketing-audience-switch {
    width: 100%;
  }

  .marketing-audience-tab {
    width: 100%;
  }

  .marketing-pricing-panel,
  .marketing-workflow-panel,
  .marketing-auth-panel {
    padding: 22px;
  }
}

@media (max-width: 640px) {
  .marketing-hero-copy h1 {
    font-size: 2.6rem;
  }

  .marketing-story-copy h2,
  .marketing-workflow-copy h2 {
    font-size: 1.9rem;
  }

  .marketing-feature-rail-item {
    border-radius: 22px;
  }
}

.setup-page {
  width: min(1380px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 20px;
}

.setup-back-link,
.setup-secondary-link,
.setup-footer-links a {
  text-decoration: none;
}

.setup-back-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.92rem;
}

.setup-back-link:hover,
.setup-secondary-link:hover,
.setup-footer-links a:hover {
  color: var(--text);
}

.setup-back-icon,
.setup-back-icon svg {
  width: 14px;
  height: 14px;
}

.setup-back-icon svg,
.setup-list-icon svg,
.setup-preview-icon svg,
.setup-mode-icon svg,
.setup-select-icon svg {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.setup-page-header,
.setup-title-block,
.setup-support-card,
.setup-helper-card,
.setup-workspace-card,
.setup-form,
.setup-mode-section {
  display: grid;
}

.setup-page-header,
.setup-workspace-card-head,
.setup-footer-strip {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.setup-page-header {
  display: grid;
  gap: 16px;
}

.setup-title-block {
  gap: 10px;
  max-width: 760px;
}

.setup-title-block h1,
.setup-workspace-card-head h2,
.setup-card-title {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.setup-title-block h1 {
  font-size: clamp(2.2rem, 2.8vw, 3.15rem);
}

.setup-title-block p {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.setup-plan-chip-row,
.setup-footer-left,
.setup-footer-links,
.setup-workspace-card-head .context-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.setup-plan-chip-row .context-pill,
.setup-workspace-card-head .context-pill {
  min-height: 34px;
  padding: 0 14px;
}

.setup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.86fr);
  gap: var(--space-4);
  align-items: stretch;
}

.setup-support-column {
  display: grid;
  height: 100%;
}

.setup-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  align-items: stretch;
  height: 100%;
}

.setup-stack {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  height: 100%;
}

.setup-support-card,
.setup-helper-card {
  gap: 16px;
  height: 100%;
}

.setup-stack:first-child {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.setup-stack:last-child {
  grid-template-rows: minmax(0, 1fr);
}

.setup-support-card.is-fill {
  align-content: start;
}

.setup-combined-card {
  align-content: start;
  min-height: 100%;
}

.setup-card-divider {
  height: 1px;
  background: var(--line-soft);
}

.setup-subsection {
  display: grid;
  gap: 14px;
}

.setup-card-title {
  font-size: 1.18rem;
}

.setup-check-list,
.setup-step-list,
.setup-mode-bullet-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.setup-check-list,
.setup-step-list,
.setup-preview-detail-list {
  display: grid;
  gap: 12px;
}

.setup-check-list li,
.setup-step-list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: var(--muted);
  line-height: 1.45;
}

.setup-list-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
}

.setup-list-icon svg {
  width: 18px;
  height: 18px;
}

.setup-list-icon.is-muted {
  color: var(--line-strong);
}

.setup-list-icon.is-muted svg {
  fill: currentColor;
  stroke: none;
}

.setup-preview-stack {
  display: grid;
  gap: 10px;
}

.setup-preview-card,
.setup-mode-card {
  width: 100%;
  padding: 16px;
  text-align: left;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.setup-preview-card:hover,
.setup-mode-card:hover {
  border-color: var(--line-strong);
}

.setup-preview-card.is-selected,
.setup-mode-card.is-selected {
  border-color: var(--line-strong);
  background: linear-gradient(180deg, var(--entry-accent-wash) 0%, var(--entry-soft-surface-strong) 100%);
  box-shadow: inset 0 0 0 1px rgba(132, 195, 255, 0.14);
}

.setup-preview-card-head,
.setup-mode-card-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.setup-preview-icon,
.setup-mode-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--entry-soft-surface-strong);
  color: var(--accent);
  flex: none;
}

.setup-preview-icon svg,
.setup-mode-icon svg {
  width: 14px;
  height: 14px;
}

.setup-preview-title-row,
.setup-mode-title-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.setup-preview-title-row strong,
.setup-mode-title-row strong {
  font-size: 0.98rem;
  line-height: 1.28;
}

.setup-recommendation-pill,
.setup-selection-tag {
  min-height: 22px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(79, 136, 191, 0.16);
  color: var(--accent-strong);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.setup-preview-card p,
.setup-mode-card p,
.setup-helper-card p,
.setup-helper-card span {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.setup-preview-card p {
  margin-top: 8px;
}

.setup-preview-detail-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  gap: 8px;
}

.setup-preview-detail-list li {
  position: relative;
  padding-left: 14px;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.42;
}

.setup-preview-detail-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.setup-helper-card {
  gap: 6px;
}

.setup-helper-card p {
  color: var(--text);
}

.setup-workspace-card {
  gap: 18px;
}

.setup-workspace-card-head h2 {
  font-size: clamp(1.55rem, 2vw, 2.15rem);
}

.setup-form {
  gap: 14px;
}

.setup-field {
  display: grid;
  gap: 8px;
}

.setup-field span {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text);
}

.setup-input-shell {
  position: relative;
}

.setup-input-shell input,
.setup-input-shell select {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.setup-input-shell select {
  appearance: none;
  padding-right: 40px;
}

.setup-input-shell input:focus,
.setup-input-shell select:focus {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 4px var(--entry-accent-wash);
  outline: none;
}

body[data-theme="whites"] .setup-input-shell input,
body[data-theme="whites"] .setup-input-shell select {
  background: rgba(255, 255, 255, 0.82);
}

.setup-select-icon {
  position: absolute;
  right: 14px;
  top: 50%;
  width: 14px;
  height: 14px;
  color: var(--muted);
  pointer-events: none;
  transform: translateY(-50%);
}

.setup-mode-section {
  gap: 12px;
}

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

.setup-mode-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  min-height: 180px;
  align-content: start;
}

.setup-mode-card-head {
  min-height: 64px;
}

.setup-mode-card .setup-mode-title-row {
  display: block;
}

.setup-mode-card .setup-mode-title-row strong {
  min-height: 2.6em;
  display: block;
  line-height: 1.28;
}

.setup-mode-copy {
  display: grid;
  align-content: start;
}

.setup-mode-card p,
.setup-mode-bullet-list {
  align-self: start;
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.48;
  color: var(--muted);
}

.setup-mode-bullet-list {
  display: grid;
  gap: 6px;
}

.setup-mode-bullet-list li {
  position: relative;
  padding-left: 14px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.setup-mode-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.setup-mode-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  min-height: 22px;
}

.setup-selection-slot {
  width: 1px;
  height: 22px;
  opacity: 0;
}

.setup-checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
}

.setup-checkbox-row input {
  accent-color: var(--accent);
}

.setup-actions {
  display: grid;
  gap: 10px;
}

.setup-create-button {
  width: 100%;
}

.setup-secondary-link {
  color: var(--accent);
  font-weight: 500;
}

.setup-footer-strip {
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.setup-footer-left strong,
.setup-footer-links a {
  font-size: 0.88rem;
}

.setup-footer-left span,
.setup-footer-links a {
  color: var(--muted);
}

@media (max-width: 1180px) {
  .setup-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .setup-support-grid,
  .setup-mode-grid {
    grid-template-columns: 1fr;
  }

  .setup-stack:first-child {
    grid-template-rows: auto;
  }

  .setup-stack:last-child {
    grid-template-rows: auto;
  }

  .setup-page-header,
  .setup-workspace-card-head,
  .setup-footer-strip {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .setup-page {
    gap: 16px;
  }

  .setup-workspace-card,
  .setup-support-card,
  .setup-helper-card {
    padding: 20px;
  }
}

.project-layout {
  display: grid;
  grid-template-columns: var(--project-sidebar-width-expanded) minmax(0, 1fr);
  transition: grid-template-columns 180ms ease;
}

.project-layout.is-sidebar-collapsed {
  grid-template-columns: var(--project-sidebar-width-collapsed) minmax(0, 1fr);
}

.project-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: var(--space-4) max(10px, calc(18px * var(--ui-space-scale)));
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  overflow-y: auto;
  border-right: 1px solid var(--line-soft);
  background: rgba(8, 14, 24, 0.52);
  transition:
    padding 180ms ease,
    gap 180ms ease;
}

body[data-theme="whites"] .project-sidebar {
  background: rgba(248, 251, 255, 0.62);
}

.project-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.project-sidebar-context {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--line-soft);
}

.project-sidebar-context-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.project-sidebar-identity {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
}

.project-sidebar-tools {
  display: inline-flex;
  align-items: center;
  gap: calc(4px * var(--ui-space-scale));
}

.project-sidebar-tool {
  width: calc(30px * var(--ui-control-scale));
  height: calc(30px * var(--ui-control-scale));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: rgba(58, 73, 92, 0.82);
  background: transparent;
  border: 1px solid transparent;
  border-radius: calc(9px * var(--ui-control-scale));
  box-shadow: none;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.project-sidebar-tool svg {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  fill: currentColor;
}

.project-sidebar-tool:hover,
.project-sidebar-tool:focus-visible {
  color: var(--warning);
  background: rgba(255, 156, 71, 0.1);
  border-color: rgba(255, 156, 71, 0.22);
  box-shadow:
    0 0 0 1px rgba(255, 156, 71, 0.08),
    0 0 16px rgba(255, 156, 71, 0.22);
  outline: none;
  transform: translateY(-1px);
}

body[data-theme="darkgreys"] .project-sidebar-tool {
  color: rgba(220, 226, 233, 0.78);
}

.project-picture-badge {
  width: calc(30px * var(--ui-control-scale));
  height: calc(30px * var(--ui-control-scale));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(10px * var(--ui-control-scale));
  background: linear-gradient(180deg, rgba(79, 136, 191, 0.18) 0%, rgba(79, 136, 191, 0.08) 100%);
  border: 1px solid rgba(79, 136, 191, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-size: 1rem;
}

.project-picture-badge.is-small {
  width: calc(32px * var(--ui-control-scale));
  height: calc(32px * var(--ui-control-scale));
  border-radius: calc(12px * var(--ui-control-scale));
  font-size: 0.95rem;
}

.project-sidebar-context strong {
  font-size: 1.02rem;
}

.project-sidebar-context span:last-child {
  color: var(--muted);
  line-height: 1.5;
}

.project-layout.is-sidebar-collapsed .project-sidebar {
  gap: var(--space-3);
  padding-left: 8px;
  padding-right: 8px;
}

.project-layout.is-sidebar-collapsed .project-sidebar-header {
  flex-direction: column;
  align-items: center;
}

.project-layout.is-sidebar-collapsed .brand-lockup.is-compact {
  justify-content: center;
}

.project-layout.is-sidebar-collapsed .brand-lockup.is-compact .brand-copy,
.project-layout.is-sidebar-collapsed .sidebar-kicker,
.project-layout.is-sidebar-collapsed .project-sidebar-identity strong,
.project-layout.is-sidebar-collapsed .project-sidebar-context > span:last-child {
  display: none;
}

.project-layout.is-sidebar-collapsed .project-sidebar-context {
  justify-items: center;
  padding-bottom: var(--space-2);
}

.project-layout.is-sidebar-collapsed .project-sidebar-context-head {
  justify-content: center;
}

.project-layout.is-sidebar-collapsed .project-sidebar-identity {
  justify-content: center;
}

.project-layout.is-sidebar-collapsed .project-sidebar-tools {
  flex-direction: column;
}

.project-float-shell {
  position: fixed;
  inset: 0;
  z-index: 48;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.project-float-shell.is-open {
  pointer-events: auto;
}

.project-float-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(6, 12, 20, 0.42);
  backdrop-filter: blur(8px);
}

.project-float-panel {
  position: relative;
  width: min(980px, calc(100vw - 56px));
  max-height: calc(100vh - 48px);
  display: grid;
  gap: var(--space-3);
  padding: 26px;
  border-radius: 26px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(18, 28, 43, 0.97) 0%, rgba(10, 17, 27, 0.98) 100%);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.26);
  overflow: hidden;
}

body[data-theme="whites"] .project-float-panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 247, 251, 0.98) 100%);
}

.project-float-body {
  display: grid;
  gap: var(--space-3);
  overflow: auto;
  padding-right: 4px;
}

.project-float-copy {
  display: grid;
  gap: 8px;
}

.project-float-copy h2,
.project-float-section h3 {
  margin: 0;
}

.project-float-copy h2 {
  font-size: clamp(1.8rem, 2vw, 2.45rem);
  line-height: 1.05;
}

.project-float-copy p,
.project-float-section-head span,
.project-float-actions span,
.project-people-card-head span {
  color: var(--muted);
}

.project-team-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.project-team-summary-card,
.project-member-item,
.project-float-section,
.project-team-toolbar {
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
}

body[data-theme="whites"] .project-team-summary-card,
body[data-theme="whites"] .project-member-item,
body[data-theme="whites"] .project-float-section,
body[data-theme="whites"] .project-team-toolbar {
  background: rgba(255, 255, 255, 0.62);
}

.project-team-summary-card {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
}

.project-team-summary-card span {
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-team-summary-card strong {
  font-size: 1.7rem;
  line-height: 1;
}

.project-team-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(0, 1fr)) auto;
  gap: 10px;
  padding: 12px;
  align-items: end;
}

.project-team-search,
.project-team-filter {
  display: grid;
  gap: 6px;
}

.project-team-search span,
.project-team-filter span {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-team-search input,
.project-team-filter select {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font: inherit;
}

body[data-theme="whites"] .project-team-search input,
body[data-theme="whites"] .project-team-filter select {
  background: rgba(255, 255, 255, 0.88);
}

.project-team-search input:focus-visible,
.project-team-filter select:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 1px;
}

.project-team-add-button {
  min-height: 42px;
}

.project-float-section {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.project-float-section-head {
  display: grid;
  gap: 6px;
}

.project-float-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.project-float-field {
  display: grid;
  gap: 6px;
}

.project-float-field.is-full {
  grid-column: 1 / -1;
}

.project-float-field span {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-float-field input,
.project-float-field textarea,
.project-float-field select {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font: inherit;
}

.project-float-field textarea {
  min-height: 110px;
  resize: vertical;
}

body[data-theme="whites"] .project-float-field input,
body[data-theme="whites"] .project-float-field textarea,
body[data-theme="whites"] .project-float-field select {
  background: rgba(255, 255, 255, 0.9);
}

.project-float-field input:focus-visible,
.project-float-field textarea:focus-visible,
.project-float-field select:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 1px;
}

.project-team-list-section {
  gap: 14px;
}

.project-member-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  max-height: 420px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(118, 135, 158, 0.38) transparent;
}

body[data-theme="whites"] .project-member-list {
  scrollbar-color: rgba(122, 141, 164, 0.45) transparent;
}

.project-member-item {
  flex: 0 0 auto;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.project-member-item:hover,
.project-member-item.is-expanded {
  border-color: var(--line-strong);
  box-shadow: 0 16px 30px rgba(4, 10, 18, 0.08);
}

.project-member-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.project-member-row:hover .project-member-row-copy strong,
.project-member-row:hover .project-member-chevron {
  color: var(--accent-strong);
}

.project-member-row-main,
.project-member-row-copy,
.project-member-row-meta,
.project-member-expanded-footer,
.project-float-action-buttons,
.project-invite-actions,
.project-member-inline-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.project-member-row-main {
  min-width: 0;
  flex: 1 1 auto;
}

.project-member-row-copy {
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.project-member-row-copy strong {
  font-size: 1rem;
  line-height: 1.15;
}

.project-member-row-copy span {
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.project-member-row-meta {
  flex: 0 0 auto;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.project-member-chevron {
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 700;
}

.project-member-avatar {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.06);
}

.project-member-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.project-member-avatar.is-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-member-avatar.is-fallback svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
  opacity: 0.84;
}

.project-member-badge {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.project-member-badge.is-admin {
  color: #d67a1c;
  background: rgba(255, 156, 71, 0.12);
  border-color: rgba(255, 156, 71, 0.22);
}

.project-member-badge.is-approver {
  color: #2f6fc2;
  background: rgba(87, 141, 211, 0.14);
  border-color: rgba(87, 141, 211, 0.22);
}

.project-member-badge.is-contributor {
  color: #407b73;
  background: rgba(77, 159, 145, 0.14);
  border-color: rgba(77, 159, 145, 0.2);
}

.project-member-badge.is-viewer {
  color: #73839a;
  background: rgba(133, 151, 174, 0.12);
  border-color: rgba(133, 151, 174, 0.18);
}

.project-member-badge.is-meta {
  color: var(--accent-strong);
  background: rgba(79, 136, 191, 0.12);
  border-color: rgba(79, 136, 191, 0.2);
}

.project-member-badge.is-active {
  color: #2a8b58;
  background: rgba(74, 179, 117, 0.12);
  border-color: rgba(74, 179, 117, 0.2);
}

.project-member-badge.is-invited {
  color: #7b68d9;
  background: rgba(123, 104, 217, 0.14);
  border-color: rgba(123, 104, 217, 0.22);
}

.project-member-badge.is-limited {
  color: #d18f24;
  background: rgba(231, 181, 87, 0.12);
  border-color: rgba(231, 181, 87, 0.22);
}

.project-member-badge.is-inactive {
  color: #8a6b6b;
  background: rgba(172, 128, 128, 0.12);
  border-color: rgba(172, 128, 128, 0.18);
}

.project-member-expanded {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px;
  border-top: 1px solid var(--line-soft);
}

.project-member-expanded-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding-top: 16px;
}

.project-member-expanded-footer {
  justify-content: space-between;
  flex-wrap: wrap;
}

.project-member-audit {
  display: grid;
  gap: 4px;
}

.project-member-audit span {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-member-empty-state {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed var(--line-soft);
  color: var(--muted);
}

.project-invite-section {
  gap: 14px;
  scroll-margin-bottom: 24px;
}

.project-invite-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.project-invite-actions {
  justify-content: space-between;
  flex-wrap: wrap;
}

.project-member-inline-actions,
.project-float-action-buttons {
  flex-wrap: wrap;
}

.project-float-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding-top: 6px;
  border-top: 1px solid var(--line-soft);
}

.project-float-action-buttons {
  justify-content: flex-end;
}

@media (max-width: 1080px) {
  .project-float-panel {
    width: min(820px, calc(100vw - 28px));
    padding: 20px;
  }

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

  .project-team-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-member-expanded-grid,
  .project-invite-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .project-float-panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 16px;
    border-radius: 20px;
  }

  .project-team-summary-strip,
  .project-team-toolbar,
  .project-float-fields,
  .project-member-expanded-grid,
  .project-invite-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-member-row,
  .project-member-row-main,
  .project-member-row-meta,
  .project-invite-actions,
  .project-member-expanded-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .project-float-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .project-float-action-buttons {
    width: 100%;
    justify-content: stretch;
    flex-direction: column;
  }
}

.project-nav {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.project-nav-group {
  border: 0;
  background: transparent;
}

.project-nav-group-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  width: 100%;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.project-nav-group-copy {
  display: grid;
  min-width: 0;
}

.project-nav-group-marker {
  display: none;
}

.project-nav-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.project-nav-group-toggle:hover .project-nav-group-label,
.project-nav-group.is-active .project-nav-group-label,
.project-nav-group.is-open .project-nav-group-label {
  color: var(--text);
}

.project-nav-group-caret {
  width: 7px;
  height: 7px;
  flex: none;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  color: var(--muted);
  transform: rotate(45deg);
  transition: transform 140ms ease, color 140ms ease;
}

.project-nav-group.is-open .project-nav-group-caret {
  transform: rotate(225deg) translate(-1px, -1px);
  color: var(--text);
}

.project-nav-group-panel {
  padding: 4px 0 0;
}

.project-nav-group-panel[hidden] {
  display: none;
}

.project-nav-group-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}

.project-nav-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  min-height: 48px;
  padding: 4px 6px 4px 4px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--muted);
  text-decoration: none;
  font-size: 0.94rem;
  transition:
    color 140ms ease,
    background-color 140ms ease,
    border-color 140ms ease,
    transform 140ms ease;
}

.project-nav-link:hover {
  color: var(--text);
  border-color: var(--line-soft);
  background: var(--entry-soft-surface);
}

.project-nav-link.is-active {
  color: var(--text);
  border-color: color-mix(in srgb, var(--accent-strong) 28%, transparent);
  background: color-mix(in srgb, var(--accent-strong) 11%, transparent);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 10%, transparent);
}

.project-nav-link-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.project-nav-link-copy {
  display: grid;
  align-items: flex-start;
  min-width: 0;
}

.project-nav-link-icon {
  position: relative;
  width: 34px;
  height: 34px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
  color: currentColor;
  transition:
    color 140ms ease,
    background-color 140ms ease,
    transform 140ms ease;
}

.project-nav-icon-svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-nav-icon-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  min-height: 16px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.project-nav-link:hover .project-nav-link-icon {
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-1px);
}

.project-nav-link.is-active .project-nav-link-icon {
  color: var(--accent-strong);
  background: color-mix(in srgb, var(--accent-strong) 14%, transparent);
}

.project-nav-link[data-module-nav-tone="ready"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, #5aa9ff 72%, var(--muted));
}

.project-nav-link[data-module-nav-tone="core"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, var(--success) 72%, var(--muted));
}

.project-nav-link[data-module-nav-tone="lens"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, #b58cff 72%, var(--muted));
}

.project-nav-link[data-module-nav-tone="internal"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, #f2c94c 72%, var(--muted));
}

.project-nav-link[data-module-nav-tone="static"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, #ff9c47 72%, var(--muted));
}

.project-nav-link[data-module-nav-tone="backend"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, rgba(148, 163, 184, 0.9) 75%, var(--muted));
}

.project-nav-link[data-module-nav-tone="placeholder"]:not(.is-active) .project-nav-link-icon,
.project-nav-link[data-module-nav-tone="deferred"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, var(--danger) 62%, var(--muted));
}

.project-nav-link[data-module-nav-tone="strategy"]:not(.is-active) .project-nav-link-icon,
.project-nav-link[data-module-nav-tone="hidden"]:not(.is-active) .project-nav-link-icon {
  color: color-mix(in srgb, rgba(148, 163, 184, 0.86) 72%, var(--muted));
}

.project-nav-link-label {
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.project-nav-link-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: none;
  flex-wrap: wrap;
  gap: calc(6px * var(--ui-space-scale));
  min-width: 0;
  padding-left: 6px;
}

.project-nav-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  max-width: 106px;
  min-height: 21px;
  padding: 0 8px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.project-nav-icon-status,
.project-nav-icon-badge {
  display: none;
}

.project-nav-icon-status {
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1.5px solid rgba(10, 17, 27, 0.96);
}

body[data-theme="whites"] .project-nav-icon-status {
  border-color: rgba(255, 255, 255, 0.98);
}

.project-nav-icon-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  min-height: 16px;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(10, 17, 27, 0.96);
  color: #f5f8fc;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
}

body[data-theme="whites"] .project-nav-icon-badge {
  border-color: rgba(42, 64, 88, 0.16);
  background: rgba(255, 255, 255, 0.96);
  color: #24384c;
}

.project-nav-status-dot {
  width: 6px;
  height: 6px;
  flex: none;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 14%, transparent);
}

.project-nav-status-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.project-nav-status.is-ready {
  color: #5aa9ff;
  background: rgba(90, 169, 255, 0.1);
  border-color: rgba(90, 169, 255, 0.24);
}

.project-nav-icon-status.is-ready {
  background: #5aa9ff;
}

.project-nav-status.is-core {
  color: var(--success);
  background: color-mix(in srgb, var(--success) 10%, transparent);
  border-color: color-mix(in srgb, var(--success) 24%, transparent);
}

.project-nav-icon-status.is-core {
  background: var(--success);
}

.project-nav-status.is-lens {
  color: #5aa9ff;
  background: rgba(90, 169, 255, 0.1);
  border-color: rgba(90, 169, 255, 0.24);
}

.project-nav-icon-status.is-lens {
  background: #5aa9ff;
}

.project-nav-status.is-preview {
  color: var(--warning);
  background: color-mix(in srgb, var(--warning) 11%, transparent);
  border-color: color-mix(in srgb, var(--warning) 25%, transparent);
}

.project-nav-icon-status.is-preview {
  background: var(--warning);
}

.project-nav-status.is-internal {
  color: #f2c94c;
  background: rgba(242, 201, 76, 0.1);
  border-color: rgba(242, 201, 76, 0.28);
}

.project-nav-icon-status.is-internal {
  background: #f2c94c;
}

.project-nav-status.is-static {
  color: #ff9c47;
  background: rgba(255, 156, 71, 0.1);
  border-color: rgba(255, 156, 71, 0.26);
}

.project-nav-icon-status.is-static {
  background: #ff9c47;
}

.project-nav-status.is-backend {
  color: var(--muted);
  background: rgba(148, 163, 184, 0.1);
  border-color: rgba(148, 163, 184, 0.22);
}

.project-nav-icon-status.is-backend {
  background: rgba(148, 163, 184, 0.9);
}

.project-nav-status.is-placeholder,
.project-nav-status.is-deferred {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 9%, transparent);
  border-color: color-mix(in srgb, var(--danger) 22%, transparent);
}

.project-nav-icon-status.is-placeholder,
.project-nav-icon-status.is-deferred {
  background: var(--danger);
}

.project-nav-status.is-strategy,
.project-nav-status.is-hidden {
  color: var(--muted);
  background: rgba(148, 163, 184, 0.08);
  border-color: rgba(148, 163, 184, 0.18);
}

.project-nav-icon-status.is-strategy,
.project-nav-icon-status.is-hidden {
  background: rgba(148, 163, 184, 0.78);
}

.project-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 22px;
  padding: 0 7px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  font-size: 0.78rem;
  line-height: 1;
}

.project-nav-group-toggle:focus-visible,
.project-nav-link:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 2px;
}

.project-layout.is-sidebar-collapsed .project-nav {
  gap: 10px;
}

.project-layout.is-sidebar-collapsed .project-nav-group-toggle {
  min-height: 20px;
  justify-content: center;
  padding: 0;
  pointer-events: none;
}

.project-layout.is-sidebar-collapsed .project-nav-group-copy {
  width: 100%;
  justify-items: center;
}

.project-layout.is-sidebar-collapsed .project-nav-group-marker {
  width: 24px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  position: relative;
}

body[data-theme="whites"] .project-layout.is-sidebar-collapsed .project-nav-group-marker {
  background: rgba(42, 64, 88, 0.18);
}

.project-layout.is-sidebar-collapsed .project-nav-group-marker::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--muted);
  transform: translate(-50%, -50%);
}

.project-layout.is-sidebar-collapsed .project-nav-group-label,
.project-layout.is-sidebar-collapsed .project-nav-group-caret,
.project-layout.is-sidebar-collapsed .project-nav-link-copy,
.project-layout.is-sidebar-collapsed .project-nav-link-meta {
  display: none;
}

.project-layout.is-sidebar-collapsed .project-nav-group-panel {
  padding-top: 6px;
}

.project-layout.is-sidebar-collapsed .project-nav-group-panel ul {
  gap: 6px;
}

.project-layout.is-sidebar-collapsed .project-nav-link {
  grid-template-columns: 1fr;
  justify-items: center;
  min-height: 46px;
  padding: 4px 0;
}

.project-layout.is-sidebar-collapsed .project-nav-link-main {
  justify-content: center;
}

.project-layout.is-sidebar-collapsed .project-nav-link-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
}

.project-layout.is-sidebar-collapsed .project-nav-icon-svg {
  width: 18px;
  height: 18px;
}

.project-layout.is-sidebar-collapsed .project-nav-icon-status,
.project-layout.is-sidebar-collapsed .project-nav-icon-badge {
  display: inline-flex;
}

.project-workspace {
  min-width: 0;
}

.workspace-header-actions {
  align-items: center;
}

.workspace-empty-copy {
  color: var(--muted);
  font-size: 0.92rem;
}

.projects-layout-grid .surface-card,
.overview-layout-grid .surface-card,
.dashboard-grid .surface-card,
.dashboard-grid .surface-panel,
.projects-layout-grid .surface-panel,
.overview-layout-grid .surface-panel {
  min-width: 0;
}

.correspondence-transmittals-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.ct-header-actions,
.ct-bottom-actions,
.ct-inspector-actions,
.ct-hero-tags,
.ct-tag-row,
.ct-kind-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.ct-action-button,
.ct-tab,
.ct-explorer-item {
  border: 1px solid var(--pmis-border-strong);
  color: var(--pmis-text-primary);
  background: var(--entry-soft-surface);
}

.ct-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border-radius: var(--radius-control);
  text-decoration: none;
}

.ct-action-button.is-emphasis {
  border-color: color-mix(in srgb, var(--pmis-info) 28%, transparent);
  background: var(--pmis-info);
  color: var(--pmis-surface-card);
}

.ct-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.ct-kpi-card,
.ct-explorer-panel,
.ct-center-panel,
.ct-inspector-panel {
  border-radius: var(--radius-card);
  background: var(--pmis-surface-card);
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.ct-kpi-card {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
}

.ct-kpi-card strong {
  font-size: 1.4rem;
  line-height: 1.05;
}

.ct-kpi-card span,
.ct-mode-banner span,
.ct-mode-banner small,
.ct-panel-head p,
.ct-table-cell small,
.ct-mini-list-row small,
.ct-meta-grid dt,
.ct-ack-card span,
.ct-workflow-card span,
.ct-timeline-copy small,
.ct-empty-inline,
.ct-tab .pmis-segment-meta {
  color: var(--pmis-text-secondary);
}

.ct-tab-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.ct-tab {
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
}

.ct-tab.is-active,
.ct-explorer-item.is-active,
.ct-table-row:hover,
.ct-table-row.is-selected {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
}

.ct-workspace {
  display: grid;
  grid-template-columns: var(--pmis-left-rail-width) minmax(0, 1fr) var(--pmis-inspector-width);
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.ct-explorer-panel,
.ct-center-panel,
.ct-inspector-panel {
  padding: 18px;
}

.ct-panel-head,
.ct-selection-hero,
.ct-inspector-section,
.ct-package-group {
  display: grid;
  gap: 10px;
}

.ct-panel-head h2,
.ct-selection-hero h2 {
  margin: 0;
  color: var(--pmis-text-primary);
  font-size: 1.12rem;
}

.ct-selection-hero p {
  margin: 0;
  color: var(--pmis-text-secondary);
  line-height: 1.45;
}

.ct-explorer-nav,
.ct-mini-list,
.ct-package-groups {
  display: grid;
  gap: 12px;
}

.ct-explorer-group {
  display: grid;
  gap: 8px;
}

.ct-explorer-group-label {
  color: var(--pmis-text-tertiary);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ct-explorer-group-items {
  display: grid;
  gap: 8px;
}

.ct-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
}

.ct-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1.6fr) repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.ct-search-field,
.ct-filter-select,
.ct-mode-banner,
.ct-table-shell,
.ct-workflow-card,
.ct-ack-card,
.ct-mini-list-row,
.ct-group-row {
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.ct-search-field {
  padding: 0;
}

.ct-search-field input,
.ct-filter-select {
  width: 100%;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.ct-mode-banner {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.ct-mode-banner strong {
  color: var(--pmis-text-primary);
}

.ct-table-shell {
  overflow: hidden;
}

.ct-table-head,
.ct-table-row {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.ct-table-shell.is-correspondence .ct-table-head,
.ct-table-shell.is-correspondence .ct-table-row {
  grid-template-columns: 0.9fr 2.6fr 1.8fr 1.6fr 1.4fr 1.1fr 1.1fr;
}

.ct-table-shell.is-transmittals .ct-table-head,
.ct-table-shell.is-transmittals .ct-table-row,
.ct-table-shell.is-outstanding .ct-table-head,
.ct-table-shell.is-outstanding .ct-table-row,
.ct-table-shell.is-distribution-lists .ct-table-head,
.ct-table-shell.is-distribution-lists .ct-table-row {
  grid-template-columns: 0.9fr 2.4fr 1.4fr 1.5fr 1.7fr 1.1fr 1.1fr;
}

.ct-table-head {
  color: var(--pmis-text-secondary);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.ct-table-body {
  display: grid;
}

.ct-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
}

.ct-table-row:last-child {
  border-bottom: 0;
}

.ct-primary-cell,
.ct-table-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ct-primary-cell strong,
.ct-table-cell strong,
.ct-section-head strong,
.ct-package-group strong,
.ct-timeline-copy strong {
  color: var(--pmis-text-primary);
  font-size: 0.94rem;
}

.ct-group-row {
  margin: 10px 12px 0;
  padding: 8px 12px;
  color: var(--pmis-text-tertiary);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ct-kind-chip,
.ct-tag,
.ct-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface-strong);
}

.ct-kind-icon,
.ct-row-arrow,
.ct-timeline-node {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.ct-status-badge.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
  color: var(--pmis-success);
}

.ct-status-badge.is-warning {
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, transparent);
  color: var(--pmis-warning);
}

.ct-status-badge.is-danger {
  border-color: color-mix(in srgb, var(--pmis-danger) 34%, transparent);
  color: var(--pmis-danger);
}

.ct-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
}

.ct-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
}

.ct-meta-grid dd,
.ct-mini-list-row strong,
.ct-workflow-card strong,
.ct-ack-card strong {
  margin: 0;
}

.ct-meta-grid dd {
  color: var(--pmis-text-primary);
}

.ct-section-head,
.ct-mini-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ct-mini-list-row,
.ct-workflow-card,
.ct-ack-card {
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
}

.ct-mini-list-row:hover,
.ct-workflow-card:hover {
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
}

.ct-timeline {
  display: grid;
  gap: 12px;
}

.ct-timeline-item {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 10px;
}

.ct-timeline-dot {
  width: 10px;
  height: 10px;
  margin-top: 2px;
  border-radius: 50%;
  background: var(--pmis-info);
}

.ct-timeline-copy p {
  margin: 0;
  color: var(--pmis-text-primary);
  line-height: 1.45;
}

.ct-ack-grid,
.ct-workflow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ct-ack-card.is-complete {
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
}

.ct-ack-card.is-current {
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, transparent);
}

.ct-footer-band {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.ct-empty-state {
  display: grid;
  gap: 6px;
  padding: 24px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
}

.ct-empty-state strong {
  color: var(--pmis-text-primary);
}

@media (max-width: 1380px) {
  .ct-workspace {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .ct-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1120px) {
  .ct-kpi-grid,
  .ct-toolbar,
  .ct-ack-grid,
  .ct-workflow-grid,
  .ct-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ct-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 840px) {
  .ct-kpi-grid,
  .ct-toolbar,
  .ct-ack-grid,
  .ct-workflow-grid,
  .ct-meta-grid {
    grid-template-columns: 1fr;
  }

  .ct-table-head {
    display: none;
  }

  .ct-table-shell .ct-table-row {
    grid-template-columns: 1fr;
  }

  .ct-table-cell::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--pmis-text-tertiary);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
}

.meeting-records-page {
  display: grid;
  gap: 14px;
}

.mr-header-actions,
.mr-tab-row,
.mr-action-pills,
.mr-chip-row,
.mr-footer-copy,
.mr-footer-status,
.mr-primary-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mr-header-actions,
.mr-primary-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mr-action-button,
.mr-icon-only-button,
.mr-icon-button,
.mr-tab,
.mr-explorer-item,
.mr-filter-select,
.mr-publish-button,
.mr-ghost-action,
.mr-circle-button {
  color: var(--pmis-text-primary);
  border: 1px solid var(--pmis-border-strong);
}

.mr-action-button,
.mr-icon-button,
.mr-publish-button,
.mr-ghost-action,
.mr-tab,
.mr-explorer-item {
  background: var(--entry-soft-surface);
}

.mr-action-button,
.mr-icon-button,
.mr-publish-button,
.mr-ghost-action,
.mr-icon-only-button,
.mr-circle-button,
.mr-tab {
  min-height: 40px;
  border-radius: 12px;
}

.mr-action-button,
.mr-icon-button,
.mr-publish-button,
.mr-ghost-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
}

.mr-action-button.is-primary,
.mr-publish-button {
  background: var(--pmis-info);
  border-color: transparent;
  color: #fff;
}

.mr-action-button:disabled,
.mr-publish-button:disabled,
.mr-ghost-action:disabled,
.mr-bottom-cta:disabled,
.mr-readiness-card:disabled {
  opacity: 0.52;
  cursor: not-allowed;
  transform: none;
}

.mr-icon-only-button,
.mr-circle-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  background: var(--entry-soft-surface);
}

.mr-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.mr-kpi-card,
.mr-explorer-panel,
.mr-register-panel,
.mr-inspector-panel {
  border-radius: var(--radius-card);
  background: var(--pmis-surface-card);
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.mr-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.mr-kpi-card strong {
  font-size: 1.5rem;
}

.mr-kpi-card span,
.mr-panel-head p,
.mr-table-cell small,
.mr-link-row small,
.mr-attendee-line,
.mr-inspector-date,
.mr-output-card span,
.mr-footer-copy,
.mr-footer-copy a,
.mr-footer-status,
.mr-empty-state span {
  color: var(--pmis-text-secondary);
}

.mr-tab-row {
  overflow-x: auto;
  padding-bottom: 2px;
}

.mr-tab {
  padding: 0 14px;
  white-space: nowrap;
}

.mr-tab.is-active,
.mr-explorer-item.is-active,
.mr-table-row:hover,
.mr-table-row.is-selected {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
}

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

.mr-explorer-panel,
.mr-register-panel,
.mr-inspector-panel {
  padding: 18px;
}

.mr-panel-head,
.mr-inspector-section,
.mr-organizer-card,
.mr-attendee-block,
.mr-output-grid,
.mr-bottom-cta-grid {
  display: grid;
  gap: 10px;
}

.mr-panel-head h2,
.mr-inspector-header h2 {
  margin: 0;
  font-size: 1.12rem;
}

.mr-explorer-nav,
.mr-link-rows {
  display: grid;
  gap: 12px;
}

.mr-explorer-group {
  display: grid;
  gap: 8px;
}

.mr-explorer-group-label,
.mr-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mr-explorer-group-label {
  color: var(--muted);
}

.mr-explorer-items {
  display: grid;
  gap: 8px;
}

.mr-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
}

.mr-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.mr-toolbar-extra,
.mr-toolbar-side {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.mr-toolbar-side {
  margin-left: auto;
}

.mr-toolbar .mr-toolbar-select {
  min-width: 140px;
}

.mr-search-field,
.mr-table-shell,
.mr-link-row,
.mr-output-card,
.mr-bottom-cta,
.mr-footer-strip {
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.mr-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
}

.mr-search-field input,
.mr-filter-select {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
  min-height: 42px;
}

.mr-search-icon,
.mr-button-icon,
.mr-inline-icon,
.mr-link-row-icon,
.mr-link-row-arrow,
.mr-bottom-cta-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.mr-table-shell {
  overflow: hidden;
}

.mr-runtime-banner {
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  color: var(--pmis-text-secondary);
}

.mr-runtime-banner.is-error {
  border-color: color-mix(in srgb, var(--pmis-danger) 32%, transparent);
  background: color-mix(in srgb, var(--pmis-danger) 8%, var(--pmis-surface-panel) 92%);
  color: var(--pmis-danger);
}

.mr-table-head,
.mr-table-row {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.mr-table-head {
  color: var(--muted);
  border-bottom: 1px solid var(--line-soft);
}

.mr-table-shell.is-all-meetings .mr-table-head,
.mr-table-shell.is-all-meetings .mr-table-row {
  grid-template-columns: 0.9fr 2.1fr 1.2fr 1.3fr 1fr 1fr 1.4fr;
}

.mr-table-shell.is-agendas-minutes .mr-table-head,
.mr-table-shell.is-agendas-minutes .mr-table-row,
.mr-table-shell.is-decisions-actions .mr-table-head,
.mr-table-shell.is-decisions-actions .mr-table-row,
.mr-table-shell.is-attendance .mr-table-head,
.mr-table-shell.is-attendance .mr-table-row {
  grid-template-columns: 0.9fr 2fr 1.3fr 1.3fr 1.5fr 1fr;
}

.mr-table-body {
  display: grid;
}

.mr-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
}

.mr-table-row:last-child {
  border-bottom: 0;
}

.mr-table-cell,
.mr-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.mr-primary-cell strong,
.mr-table-cell strong,
.mr-link-row strong,
.mr-organizer-card strong,
.mr-output-card strong,
.mr-bottom-cta strong {
  font-size: 0.93rem;
}

.mr-status-badge,
.mr-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface-strong);
  font-size: 0.78rem;
}

.mr-status-badge.is-success {
  color: var(--success);
}

.mr-status-badge.is-warning {
  color: var(--warning);
}

.mr-status-badge.is-info {
  color: var(--pmis-info);
}

.mr-status-badge.is-danger {
  color: var(--pmis-danger);
}

.mr-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pmis-info);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
}

.mr-organizer-card {
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--entry-soft-surface);
  border: 1px solid var(--pmis-border-subtle);
}

.mr-attendee-line {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mr-link-row,
.mr-bottom-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
}

.mr-link-row.is-disabled {
  opacity: 0.65;
  cursor: default;
}

button.mr-bottom-cta {
  width: 100%;
  text-align: left;
}

.mr-empty-state.is-primary-empty,
.mr-dialog-empty-inline {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 14px;
  border: 1px dashed var(--line-strong);
  background: color-mix(in srgb, var(--entry-soft-surface) 82%, #ffffff 18%);
}

.mr-empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mr-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
}

.mr-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 29, 40, 0.42);
  backdrop-filter: blur(4px);
}

.mr-dialog-positioner {
  position: relative;
  z-index: 1;
  width: min(100%, 840px);
  max-height: calc(100vh - 56px);
  padding: 28px 20px;
  display: flex;
  justify-content: center;
}

.mr-dialog-shell {
  width: min(100%, 720px);
  max-height: calc(100vh - 56px);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid var(--line-strong);
  background: var(--surface-card-bg);
  box-shadow: 0 28px 90px rgba(20, 28, 36, 0.25);
  padding: 20px;
  display: grid;
  gap: 16px;
}

.mr-dialog-shell.is-wide {
  width: min(100%, 780px);
}

.mr-dialog-shell.is-compact {
  width: min(100%, 560px);
}

.mr-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.mr-dialog-header h2 {
  margin: 0;
}

.mr-dialog-close {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.mr-dialog-error {
  display: none;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(162, 56, 56, 0.22);
  background: rgba(255, 240, 240, 0.8);
  color: #8a3030;
  font-size: 0.88rem;
}

.mr-dialog-error.is-visible {
  display: block;
}

.mr-dialog-form,
.mr-dialog-section,
.mr-dialog-field,
.mr-dialog-field-stack,
.mr-dialog-template-preview,
.mr-dialog-template-lists > div,
.mr-dialog-manage-actions {
  display: grid;
  gap: 10px;
}

.mr-dialog-section-head {
  display: grid;
  gap: 4px;
}

.mr-dialog-section-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.mr-dialog-helper {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.mr-dialog-field-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.mr-field-help {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.mr-help-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  cursor: help;
}

.mr-help-tooltip {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(260px, 52vw);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--surface-card-bg) 92%, #ffffff 8%);
  box-shadow: 0 16px 34px rgba(20, 28, 36, 0.18);
  color: var(--text);
  font-size: 0.8rem;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 140ms ease, transform 140ms ease;
  z-index: 8;
}

.mr-field-help:hover .mr-help-tooltip,
.mr-field-help:focus-within .mr-help-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.mr-section-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.mr-required-label {
  background: rgba(37, 94, 161, 0.12);
  color: #275ea1;
}

.mr-optional-label {
  background: rgba(104, 116, 130, 0.12);
  color: #687482;
}

.mr-template-label {
  background: rgba(84, 100, 160, 0.12);
  color: #5464a0;
}

.mr-dialog-grid {
  display: grid;
  gap: 12px;
}

.mr-dialog-grid.is-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mr-dialog-grid-span {
  grid-column: 1 / -1;
}

.mr-dialog-field > span,
.mr-dialog-checkbox span,
.mr-dialog-template-preview-head strong,
.mr-manage-action strong,
.mr-dialog-table th {
  font-weight: 600;
}

.mr-dialog-field small,
.mr-dialog-section-head span,
.mr-dialog-empty-inline span,
.mr-dialog-summary-card span,
.mr-manage-action small,
.mr-dialog-template-lists span,
.mr-dialog-template-preview span {
  color: var(--muted);
}

.mr-dialog-field input,
.mr-dialog-field select,
.mr-dialog-field textarea,
.mr-row-remove,
.mr-manage-action,
.mr-template-card,
.mr-segment {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.mr-dialog-field input,
.mr-dialog-field select,
.mr-dialog-field textarea {
  min-height: 42px;
  padding: 10px 12px;
}

.mr-dialog-field textarea {
  resize: vertical;
  min-height: 100px;
}

.mr-dialog-section.is-secondary {
  opacity: 0.96;
}

.mr-dialog-section.is-required {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 16%, var(--line-soft) 84%);
  background: color-mix(in srgb, var(--entry-soft-surface) 88%, #ffffff 12%);
}

.mr-dialog-section.is-template {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(84, 100, 160, 0.16);
  background: color-mix(in srgb, var(--entry-soft-surface) 92%, #eef2fb 8%);
}

.mr-date-time-group,
.mr-date-time-group-head {
  display: grid;
  gap: 8px;
}

.mr-date-time-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 1.2fr;
  gap: 12px;
}

.mr-date-time-grid.is-compact {
  grid-template-columns: 1.2fr 0.9fr;
}

.mr-segmented-control {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mr-segment {
  width: auto;
  min-height: 40px;
  padding: 0 14px;
}

.mr-segment.is-active,
.mr-template-card.is-selected {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line-strong) 50%);
  background: color-mix(in srgb, var(--accent) 12%, var(--entry-soft-surface) 88%);
}

.mr-template-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.mr-template-card {
  text-align: left;
  padding: 14px;
}

.mr-template-card strong,
.mr-dialog-template-preview strong {
  display: block;
}

.mr-dialog-template-preview {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.mr-dialog-template-preview-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.mr-dialog-template-metrics,
.mr-dialog-template-lists {
  display: grid;
  gap: 10px;
}

.mr-dialog-template-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.mr-dialog-template-metrics > div,
.mr-dialog-template-lists > div,
.mr-dialog-summary-card {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.55);
}

.mr-attendance-source-bar {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 88%, #ffffff 12%);
}

.mr-attendance-source-copy {
  display: grid;
  gap: 4px;
}

.mr-attendance-source-copy small {
  color: var(--muted);
}

.mr-attendance-source-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.mr-attendance-source-controls select {
  min-height: 40px;
  width: 100%;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.mr-dialog-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
}

.mr-dialog-checkbox input {
  width: 16px;
  height: 16px;
}

.mr-dialog-manage-actions {
  gap: 12px;
}

.mr-manage-action {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 14px;
  text-align: left;
}

.mr-dialog-section [data-meeting-logistics-block].is-prominent .mr-dialog-field > span {
  color: color-mix(in srgb, var(--accent) 72%, var(--text) 28%);
}

.mr-manage-action.is-danger {
  border-color: rgba(162, 56, 56, 0.18);
}

.mr-dialog-footer {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: end;
  align-items: center;
  gap: 10px;
}

.mr-dialog-table-shell {
  overflow: auto;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.mr-dialog-table {
  width: 100%;
  border-collapse: collapse;
}

.mr-dialog-table th,
.mr-dialog-table td {
  padding: 10px;
  border-bottom: 1px solid var(--line-soft);
  vertical-align: top;
}

.mr-dialog-table th {
  text-align: left;
  color: var(--muted);
  font-size: 0.84rem;
}

.mr-dialog-table td input,
.mr-dialog-table td select {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--line-strong);
  background: #fff;
}

.mr-row-remove {
  width: 34px;
  min-height: 34px;
}

.mr-link-row > div,
.mr-bottom-cta > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

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

.mr-output-card {
  display: grid;
  gap: 4px;
  padding: 12px;
  text-align: center;
}

.mr-action-pills {
  flex-wrap: wrap;
}

.mr-action-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.72rem;
}

.mr-action-pill.is-warning {
  color: var(--warning);
}

.mr-action-pill.is-success {
  color: var(--success);
}

.mr-action-pill.is-info {
  color: var(--accent-strong);
}

.mr-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
}

.mr-inspector-header,
.mr-section-head,
.mr-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mr-section-head.is-subsection {
  align-items: baseline;
}

.mr-inspector-date {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--line-soft);
}

.mr-bottom-cta-grid {
  gap: 8px;
}

.mr-command-center-header {
  align-items: flex-start;
}

.mr-inspector-title-block,
.mr-header-action-stack,
.mr-next-step-copy,
.mr-governed-record-card,
.mr-template-summary-card,
.mr-output-section,
.mr-linked-record-group,
.mr-inspector-action-group,
.mr-context-card,
.mr-value-card {
  display: grid;
  gap: 8px;
}

.mr-header-action-stack {
  justify-items: end;
}

.mr-inline-meta,
.mr-inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.mr-inline-meta {
  color: var(--muted);
}

.mr-inline-note,
.mr-template-summary-grid span,
.mr-governed-record-meta dt,
.mr-inspector-action-group-head,
.mr-value-card span,
.mr-context-card span,
.mr-requirement-item small,
.mr-output-row small {
  color: var(--muted);
}

.mr-status-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
}

.mr-status-indicator.is-success {
  color: var(--success);
}

.mr-status-indicator.is-warning {
  color: var(--warning);
}

.mr-status-indicator.is-info {
  color: var(--accent-strong);
}

.mr-status-indicator.is-danger {
  color: #a7544a;
}

.mr-template-chip {
  background: color-mix(in srgb, var(--entry-soft-surface) 74%, #ffffff 26%);
}

.mr-action-control.is-compact {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
}

.mr-next-step-card,
.mr-governed-record-card,
.mr-template-summary-card,
.mr-value-card,
.mr-context-card,
.mr-output-row,
.mr-inline-link-button,
.mr-inline-status-action {
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 86%, #ffffff 14%);
}

.mr-next-step-card {
  padding: 14px;
  gap: 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--entry-accent-wash) 68%, var(--entry-soft-surface) 32%) 0%, var(--entry-soft-surface) 100%);
}

.mr-next-step-copy p {
  margin: 0;
  color: var(--muted);
}

.mr-lifecycle-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.mr-context-card-grid,
.mr-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mr-value-card,
.mr-context-card {
  padding: 12px;
}

.mr-value-card strong,
.mr-context-card strong {
  font-size: 0.92rem;
}

.mr-context-card.is-empty {
  opacity: 0.88;
}

.mr-governed-record-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.mr-governed-record-card {
  padding: 14px;
}

.mr-governed-record-head,
.mr-output-row-top,
.mr-template-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.mr-governed-record-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.mr-governed-record-meta div {
  display: grid;
  gap: 3px;
}

.mr-governed-record-meta dd {
  margin: 0;
  font-size: 0.9rem;
}

.mr-governed-record-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.mr-inline-link-button,
.mr-inline-status-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}

.mr-inline-link-button.is-disabled,
.mr-inline-status-action:disabled {
  opacity: 0.58;
  cursor: not-allowed;
}

.mr-template-summary-card {
  padding: 14px;
}

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

.mr-template-summary-grid > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.mr-requirement-group {
  display: grid;
  gap: 8px;
}

.mr-requirement-checklist,
.mr-output-list {
  display: grid;
  gap: 8px;
}

.mr-requirement-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.mr-requirement-item > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.mr-requirement-item.is-missing {
  border-color: rgba(161, 61, 61, 0.18);
}

.mr-requirement-item.is-satisfied {
  border-color: rgba(93, 154, 115, 0.2);
}

.mr-requirement-state,
.mr-count-chip,
.mr-type-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  white-space: nowrap;
  font-size: 0.74rem;
}

.mr-requirement-state.is-satisfied {
  color: var(--success);
}

.mr-requirement-state.is-missing {
  color: #a7544a;
}

.mr-requirement-state.is-not-tracked {
  color: var(--muted);
}

.mr-output-section,
.mr-linked-record-group {
  gap: 10px;
}

.mr-output-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}

.mr-output-row-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.mr-output-row-title {
  font-weight: 600;
}

.mr-output-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.mr-linked-record-group + .mr-linked-record-group {
  padding-top: 4px;
}

.mr-inspector-action-group {
  gap: 8px;
}

.mr-inspector-action-group-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mr-action-zone {
  gap: 12px;
}

.mr-empty-state.is-inline-empty {
  padding: 14px;
}

.mr-inspector-compact {
  display: grid;
  gap: 12px;
}

.mr-compact-header {
  align-items: flex-start;
}

.mr-compact-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mr-next-action-compact {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, color-mix(in srgb, var(--entry-accent-wash) 54%, var(--entry-soft-surface) 46%) 0%, var(--entry-soft-surface) 100%);
}

.mr-readiness-grid,
.mr-compact-context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.mr-readiness-card,
.mr-compact-context-item,
.mr-status-strip-item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 88%, #ffffff 12%);
  text-align: left;
  color: var(--text);
}

.mr-readiness-card.is-info,
.mr-status-strip-item.is-info {
  border-color: rgba(79, 136, 191, 0.22);
}

.mr-readiness-card.is-success,
.mr-status-strip-item.is-success {
  border-color: rgba(104, 164, 122, 0.24);
}

.mr-readiness-card.is-warning,
.mr-status-strip-item.is-warning {
  border-color: rgba(177, 145, 76, 0.24);
}

.mr-readiness-card.is-danger,
.mr-status-strip-item.is-danger {
  border-color: rgba(201, 115, 94, 0.24);
}

.mr-readiness-card span,
.mr-compact-context-item span,
.mr-status-strip-item span {
  color: var(--muted);
}

.mr-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.mr-compact-context-item.is-empty {
  opacity: 0.84;
}

.mr-compact-action-launcher {
  gap: 10px;
}

.mr-dialog-shell.is-detail {
  width: min(100%, 960px);
  max-height: 85vh;
  overflow: hidden;
}

.mr-detail-drawer {
  gap: 14px;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.mr-detail-drawer-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--line-soft);
}

.mr-detail-drawer-tab {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.mr-detail-drawer-tab.is-active {
  border-color: var(--accent-strong);
  background: var(--entry-accent-wash);
}

.mr-detail-drawer-body {
  overflow: auto;
  min-height: 0;
  padding-right: 4px;
}

.mr-detail-drawer-section {
  display: grid;
  gap: 14px;
}

.mr-footer-strip {
  min-height: 46px;
  padding: 0 14px;
}

.mr-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.mr-footer-copy a {
  text-decoration: none;
}

.mr-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
}

.mr-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  background: var(--entry-soft-surface);
  border: 1px solid var(--line-soft);
}

@media (max-width: 1380px) {
  .mr-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .mr-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }

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

@media (max-width: 920px) {
  .mr-dialog-positioner {
    width: 100%;
    padding: 12px;
    align-items: end;
  }

  .mr-dialog-shell,
  .mr-dialog-shell.is-wide,
  .mr-dialog-shell.is-compact,
  .mr-dialog-shell.is-detail {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 16px;
    border-radius: 16px;
  }

  .mr-dialog-grid.is-two-column,
  .mr-date-time-grid,
  .mr-dialog-template-lists,
  .mr-dialog-template-metrics {
    grid-template-columns: 1fr;
  }

  .mr-dialog-footer {
    grid-template-columns: 1fr;
  }

  .mr-empty-state-actions {
    flex-direction: column;
  }
}

@media (max-width: 1120px) {
  .mr-kpi-grid,
  .mr-toolbar,
  .mr-output-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mr-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 840px) {
  .mr-kpi-grid,
  .mr-toolbar,
  .mr-output-grid {
    grid-template-columns: 1fr;
  }

  .mr-table-head {
    display: none;
  }

  .mr-table-shell .mr-table-row {
    grid-template-columns: 1fr;
  }

  .mr-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .mr-context-card-grid,
  .mr-snapshot-grid,
  .mr-readiness-grid,
  .mr-compact-context-grid,
  .mr-template-summary-grid,
  .mr-governed-record-grid,
  .mr-governed-record-meta,
  .mr-status-strip {
    grid-template-columns: 1fr;
  }

  .mr-output-row,
  .mr-requirement-item {
    flex-direction: column;
  }
}

.meeting-records-page {
  --mr-gap: calc(12px * var(--ui-space-scale));
  --mr-panel-padding: clamp(14px, calc(16px * var(--ui-panel-scale)), 22px);
  --mr-left-width: minmax(calc(178px * var(--ui-sidebar-scale)), calc(230px * var(--ui-sidebar-scale)));
  --mr-inspector-width: minmax(calc(292px * var(--ui-inspector-scale)), calc(356px * var(--ui-inspector-scale)));
  --mr-control-height: clamp(34px, calc(38px * var(--ui-control-scale)), 44px);
  --mr-row-min-height: clamp(54px, calc(60px * var(--ui-control-scale)), 72px);
  --mr-modal-width: clamp(1180px, 72vw, 1480px);
  display: grid;
  gap: var(--mr-gap);
}

.meeting-records-page .page-header.is-compact {
  align-items: end;
  gap: var(--mr-gap);
}

.meeting-records-page .page-title-block {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
}

.meeting-records-page .page-title-block h1 {
  margin: 0;
  font-size: clamp(1.8rem, calc(1.9rem * var(--ui-font-scale)), 2.35rem);
}

.meeting-records-page .page-title-block p {
  max-width: calc(760px * var(--ui-panel-scale));
}

.meeting-records-page .mr-header-actions {
  justify-self: end;
  align-items: center;
}

.meeting-records-page .mr-action-button,
.meeting-records-page .mr-icon-button,
.meeting-records-page .mr-ghost-action,
.meeting-records-page .mr-icon-only-button,
.meeting-records-page .mr-tab,
.meeting-records-page .mr-explorer-item,
.meeting-records-page .mr-view-toggle-button,
.meeting-records-page .mr-workspace-tab {
  min-height: var(--mr-control-height);
  border-radius: calc(12px * var(--ui-control-scale));
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.meeting-records-page .mr-action-button,
.meeting-records-page .mr-icon-button,
.meeting-records-page .mr-ghost-action,
.meeting-records-page .mr-view-toggle-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8px * var(--ui-space-scale));
  padding: 0 calc(14px * var(--ui-space-scale));
}

.meeting-records-page .mr-icon-only-button {
  width: var(--mr-control-height);
  padding: 0;
}

.meeting-records-page .mr-icon-only-button,
.meeting-records-page .mr-icon-button,
.meeting-records-page .mr-ghost-action,
.meeting-records-page .mr-tab,
.meeting-records-page .mr-explorer-item,
.meeting-records-page .mr-view-toggle-button,
.meeting-records-page .mr-workspace-tab {
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 88%, #ffffff 12%);
  color: var(--text);
}

.meeting-records-page .mr-action-button.is-primary {
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 94%, #ffffff 6%) 0%, var(--accent-strong) 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 14px 28px rgba(38, 91, 150, 0.18);
}

.meeting-records-page .mr-ghost-action.is-compact {
  min-height: calc(30px * var(--ui-control-scale));
  padding: 0 calc(10px * var(--ui-space-scale));
  border-radius: calc(10px * var(--ui-control-scale));
  font-size: 0.76rem;
}

.meeting-records-page .mr-tab-row {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  overflow-x: auto;
  padding-bottom: 2px;
}

.meeting-records-page .mr-tab {
  padding: 0 calc(14px * var(--ui-space-scale));
  white-space: nowrap;
}

.meeting-records-page .mr-tab.is-active,
.meeting-records-page .mr-view-toggle-button.is-active,
.meeting-records-page .mr-workspace-tab.is-active,
.meeting-records-page .mr-explorer-item.is-active {
  border-color: color-mix(in srgb, var(--accent-strong) 42%, var(--line-strong) 58%);
  background: color-mix(in srgb, var(--entry-accent-wash) 82%, #ffffff 18%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.meeting-records-page .mr-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--mr-gap);
}

.meeting-records-page .mr-kpi-card,
.meeting-records-page .mr-explorer-panel,
.meeting-records-page .mr-register-panel,
.meeting-records-page .mr-inspector-panel {
  min-width: 0;
  border-radius: calc(20px * var(--ui-panel-scale));
  background: var(--surface-card-bg);
  border: 1px solid var(--line-strong);
  box-shadow: 0 16px 34px rgba(86, 111, 136, 0.12);
}

.meeting-records-page .mr-kpi-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: calc(12px * var(--ui-space-scale));
  padding: calc(14px * var(--ui-panel-scale)) calc(16px * var(--ui-space-scale));
}

.meeting-records-page .mr-kpi-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(42px * var(--ui-control-scale));
  height: calc(42px * var(--ui-control-scale));
  border-radius: 50%;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.72);
  color: var(--accent-strong);
}

.meeting-records-page .mr-kpi-icon.is-warning {
  color: var(--warning);
  background: rgba(255, 248, 237, 0.92);
}

.meeting-records-page .mr-kpi-icon.is-success {
  color: var(--success);
  background: rgba(240, 251, 244, 0.94);
}

.meeting-records-page .mr-kpi-copy {
  display: grid;
  gap: 2px;
}

.meeting-records-page .mr-kpi-copy span,
.meeting-records-page .mr-kpi-copy small,
.meeting-records-page .mr-summary-list dt,
.meeting-records-page .mr-toolbar-select span,
.meeting-records-page .mr-explorer-group-label,
.meeting-records-page .mr-table-head,
.meeting-records-page .mr-summary-row-copy small,
.meeting-records-page .mr-summary-metric-card span,
.meeting-records-page .mr-workspace-card-head span,
.meeting-records-page .mr-workspace-card-copy p,
.meeting-records-page .mr-calendar-placeholder-copy p,
.meeting-records-page .mr-workspace-header p,
.meeting-records-page .mr-favorite-glyph,
.meeting-records-page .mr-output-tag span {
  color: var(--muted);
}

.meeting-records-page .mr-kpi-copy strong {
  font-size: clamp(1.35rem, calc(1.55rem * var(--ui-font-scale)), 1.8rem);
  line-height: 1.05;
}

.meeting-records-page .mr-kpi-copy small {
  font-size: 0.76rem;
}

.meeting-records-page .mr-workspace {
  display: grid;
  grid-template-columns: var(--mr-left-width) minmax(0, 1fr) var(--mr-inspector-width);
  gap: var(--mr-gap);
  align-items: start;
}

.meeting-records-page .mr-explorer-panel,
.meeting-records-page .mr-register-panel,
.meeting-records-page .mr-inspector-panel {
  padding: var(--mr-panel-padding);
}

.meeting-records-page .mr-explorer-panel,
.meeting-records-page .mr-inspector-panel {
  position: sticky;
  top: calc(var(--space-3) + 4px);
}

.meeting-records-page .mr-panel-head,
.meeting-records-page .mr-inspector-compact,
.meeting-records-page .mr-explorer-nav,
.meeting-records-page .mr-summary-stack,
.meeting-records-page .mr-register-panel,
.meeting-records-page .mr-register-shell,
.meeting-records-page .mr-workspace-section-stack {
  display: grid;
  gap: var(--mr-gap);
}

.meeting-records-page .mr-panel-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--mr-gap);
}

.meeting-records-page .mr-panel-head-tight {
  gap: calc(4px * var(--ui-space-scale));
}

.meeting-records-page .mr-panel-head h2,
.meeting-records-page .mr-summary-heading h3 {
  margin: 0;
}

.meeting-records-page .mr-explorer-group {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-explorer-group-label,
.meeting-records-page .mr-table-head {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.meeting-records-page .mr-explorer-items {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
}

.meeting-records-page .mr-explorer-item {
  justify-content: space-between;
  text-align: left;
  padding: 0 calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-explorer-item-label {
  display: inline-flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--mr-gap);
  flex-wrap: wrap;
}

.meeting-records-page .mr-toolbar-main {
  flex: 1 1 calc(860px * var(--ui-panel-scale));
  display: grid;
  grid-template-columns: minmax(calc(230px * var(--ui-panel-scale)), 2.2fr) repeat(4, minmax(calc(116px * var(--ui-panel-scale)), auto));
  gap: calc(10px * var(--ui-space-scale));
  align-items: end;
}

.meeting-records-page .mr-toolbar-side {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  margin-left: auto;
}

.meeting-records-page .mr-search-field,
.meeting-records-page .mr-toolbar-select select,
.meeting-records-page .mr-filter-select,
.meeting-records-page .mr-calendar-placeholder,
.meeting-records-page .mr-summary-card,
.meeting-records-page .mr-summary-row,
.meeting-records-page .mr-summary-metric-card,
.meeting-records-page .mr-workspace-card,
.meeting-records-page .mr-output-metric,
.meeting-records-page .mr-output-tag,
.meeting-records-page .mr-faux-checkbox {
  border-radius: calc(14px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 88%, #ffffff 12%);
}

.meeting-records-page .mr-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  min-height: var(--mr-control-height);
  padding: 0 calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-search-field input,
.meeting-records-page .mr-filter-select,
.meeting-records-page .mr-toolbar-select select {
  width: 100%;
  min-height: var(--mr-control-height);
  border: 0;
  background: transparent;
  color: var(--text);
}

.meeting-records-page .mr-toolbar-select {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
}

.meeting-records-page .mr-toolbar-select span {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.meeting-records-page .mr-toolbar-button .mr-button-icon,
.meeting-records-page .mr-search-icon,
.meeting-records-page .mr-output-metric-icon,
.meeting-records-page .mr-favorite-glyph svg {
  width: calc(14px * var(--ui-icon-scale));
  height: calc(14px * var(--ui-icon-scale));
  display: inline-flex;
}

.meeting-records-page .mr-view-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: 2px;
  border-radius: calc(14px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 82%, #ffffff 18%);
}

.meeting-records-page .mr-view-toggle-button {
  padding: 0 calc(12px * var(--ui-space-scale));
  white-space: nowrap;
}

.meeting-records-page .mr-runtime-banner {
  margin: 0;
  padding: calc(10px * var(--ui-space-scale)) calc(14px * var(--ui-space-scale));
  border-radius: calc(14px * var(--ui-control-scale));
}

.meeting-records-page .mr-table-shell {
  overflow: auto;
  border-radius: calc(18px * var(--ui-panel-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.75);
}

.meeting-records-page .mr-table-head,
.meeting-records-page .mr-table-row {
  display: grid;
  grid-template-columns:
    minmax(calc(26px * var(--ui-control-scale)), calc(30px * var(--ui-control-scale)))
    minmax(calc(70px * var(--ui-panel-scale)), 0.72fr)
    minmax(calc(26px * var(--ui-control-scale)), calc(30px * var(--ui-control-scale)))
    minmax(calc(188px * var(--ui-panel-scale)), 2.1fr)
    minmax(calc(126px * var(--ui-panel-scale)), 1.06fr)
    minmax(calc(138px * var(--ui-panel-scale)), 1.14fr)
    minmax(calc(138px * var(--ui-panel-scale)), 1.1fr)
    minmax(calc(94px * var(--ui-panel-scale)), 0.8fr)
    minmax(calc(138px * var(--ui-panel-scale)), 1.08fr);
  gap: calc(12px * var(--ui-space-scale));
  align-items: center;
  min-width: calc(1050px * var(--ui-panel-scale));
}

.meeting-records-page .mr-table-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: calc(10px * var(--ui-space-scale)) calc(16px * var(--ui-space-scale));
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-card-bg);
}

.meeting-records-page .mr-table-body {
  display: grid;
}

.meeting-records-page .mr-table-row {
  width: 100%;
  min-height: var(--mr-row-min-height);
  padding: calc(12px * var(--ui-space-scale)) calc(16px * var(--ui-space-scale));
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  text-align: left;
}

.meeting-records-page .mr-table-row:last-child {
  border-bottom: 0;
}

.meeting-records-page .mr-table-row:hover {
  background: color-mix(in srgb, var(--pmis-info) 8%, var(--pmis-surface-card) 92%);
}

.meeting-records-page .mr-table-row.is-selected {
  background: color-mix(in srgb, var(--pmis-accent-soft) 82%, var(--pmis-surface-card) 18%);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--pmis-info) 34%, transparent),
    inset 3px 0 0 var(--pmis-info);
}

.meeting-records-page .mr-table-cell,
.meeting-records-page .mr-cell-stack,
.meeting-records-page .mr-primary-cell {
  min-width: 0;
  display: grid;
  gap: calc(2px * var(--ui-space-scale));
}

.meeting-records-page .mr-primary-cell strong,
.meeting-records-page .mr-cell-stack strong,
.meeting-records-page .mr-id-cell strong {
  font-size: 0.88rem;
  line-height: 1.2;
}

.meeting-records-page .mr-table-cell small {
  font-size: 0.72rem;
  line-height: 1.2;
  color: var(--muted);
}

.meeting-records-page .mr-table-cell-check,
.meeting-records-page .mr-star-cell {
  justify-items: center;
}

.meeting-records-page .mr-faux-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(18px * var(--ui-control-scale));
  height: calc(18px * var(--ui-control-scale));
  color: #fff;
}

.meeting-records-page .mr-faux-checkbox.is-selected {
  border-color: var(--accent-strong);
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);
}

.meeting-records-page .mr-favorite-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(18px * var(--ui-control-scale));
  height: calc(18px * var(--ui-control-scale));
}

.meeting-records-page .mr-favorite-glyph.is-active {
  color: var(--pmis-warning);
}

.meeting-records-page .mr-outputs-cell {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-output-metric,
.meeting-records-page .mr-output-tag {
  display: inline-flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  min-height: calc(28px * var(--ui-control-scale));
  padding: 0 calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-output-metric strong,
.meeting-records-page .mr-output-tag strong {
  font-size: 0.76rem;
}

.meeting-records-page .mr-output-tag {
  padding-right: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-calendar-placeholder {
  display: grid;
  gap: var(--mr-gap);
  padding: calc(16px * var(--ui-panel-scale));
}

.meeting-records-page .mr-calendar-placeholder-copy {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
}

.meeting-records-page .mr-calendar-placeholder-copy strong {
  font-size: 1rem;
}

.meeting-records-page .mr-calendar-placeholder-copy p,
.meeting-records-page .mr-workspace-header p,
.meeting-records-page .mr-summary-card-copy p,
.meeting-records-page .mr-workspace-card-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.meeting-records-page .mr-calendar-placeholder-actions {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-calendar-placeholder-metrics,
.meeting-records-page .mr-summary-metric-grid,
.meeting-records-page .mr-workspace-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-inspector-compact {
  gap: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-inspector-section {
  padding: calc(14px * var(--ui-panel-scale));
  border-radius: calc(18px * var(--ui-panel-scale));
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 90%, #ffffff 10%);
}

.meeting-records-page .mr-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-section-head strong {
  font-size: 0.88rem;
}

.meeting-records-page .mr-section-head span {
  color: var(--muted);
  font-size: 0.74rem;
}

.meeting-records-page .mr-summary-identity,
.meeting-records-page .mr-summary-card {
  display: grid;
  gap: calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-summary-heading {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
}

.meeting-records-page .mr-summary-heading h3 {
  font-size: 1rem;
  line-height: 1.2;
}

.meeting-records-page .mr-summary-list {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
  margin: 0;
}

.meeting-records-page .mr-summary-list div {
  display: grid;
  gap: 2px;
  padding-top: calc(8px * var(--ui-space-scale));
  border-top: 1px solid var(--line-soft);
}

.meeting-records-page .mr-summary-list div:first-child {
  padding-top: 0;
  border-top: 0;
}

.meeting-records-page .mr-summary-list dt {
  margin: 0;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.meeting-records-page .mr-summary-list dd {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.35;
}

.meeting-records-page .mr-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(10px * var(--ui-space-scale)) calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-summary-row-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.meeting-records-page .mr-summary-row-copy strong,
.meeting-records-page .mr-summary-metric-card strong,
.meeting-records-page .mr-workspace-card-head strong {
  font-size: 0.86rem;
}

.meeting-records-page .mr-summary-metric-card {
  display: grid;
  gap: calc(2px * var(--ui-space-scale));
  padding: calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-summary-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-dialog-positioner {
  width: min(100%, calc(var(--mr-modal-width) + 48px));
  max-height: calc(100vh - 18px);
  padding: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-dialog-shell.is-workspace {
  width: min(100%, var(--mr-modal-width));
  max-height: min(88vh, calc(1080px * var(--ui-panel-scale)));
  padding: calc(18px * var(--ui-panel-scale));
  border-radius: calc(24px * var(--ui-panel-scale));
  overflow: hidden;
  display: grid;
  gap: var(--mr-gap);
  grid-template-rows: auto auto minmax(0, 1fr);
}

.meeting-records-page .mr-workspace-header {
  align-items: start;
}

.meeting-records-page .mr-workspace-header h2 {
  margin: 0;
  font-size: clamp(1.3rem, calc(1.45rem * var(--ui-font-scale)), 1.7rem);
}

.meeting-records-page .mr-workspace-header-actions {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-workspace-tabs {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
  padding-bottom: calc(4px * var(--ui-space-scale));
  border-bottom: 1px solid var(--line-soft);
}

.meeting-records-page .mr-workspace-tab {
  padding: 0 calc(12px * var(--ui-space-scale));
}

.meeting-records-page .mr-workspace-body {
  min-height: 0;
  overflow: auto;
  padding-right: calc(4px * var(--ui-space-scale));
}

.meeting-records-page .mr-workspace-grid {
  display: grid;
  grid-template-columns: 1.08fr 1.04fr 0.92fr;
  gap: var(--mr-gap);
  align-items: start;
}

.meeting-records-page .mr-workspace-card {
  display: grid;
  gap: calc(12px * var(--ui-space-scale));
  padding: calc(16px * var(--ui-panel-scale));
  border-radius: calc(18px * var(--ui-panel-scale));
}

.meeting-records-page .mr-pmis-surface-panel {
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.meeting-records-page .mr-pmis-record-card {
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.meeting-records-page .mr-workspace-card.is-details,
.meeting-records-page .mr-workspace-card.is-schedule,
.meeting-records-page .mr-workspace-card.is-attendance {
  min-height: 100%;
}

.meeting-records-page .mr-workspace-card.is-docs {
  grid-column: 1 / span 2;
}

.meeting-records-page .mr-workspace-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-workspace-attendee-list {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-workspace-attendee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(10px * var(--ui-space-scale)) calc(12px * var(--ui-space-scale));
  border-radius: calc(14px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.54);
}

.meeting-records-page .mr-workspace-attendee-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.meeting-records-page .mr-workspace-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-workspace-status-card {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
  padding: calc(12px * var(--ui-space-scale));
  border-radius: calc(14px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.meeting-records-page .mr-workspace-status-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-attendance-dialog-panel .mr-dialog-table td input,
.meeting-records-page .mr-attendance-dialog-panel .mr-dialog-table td select {
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary);
}

.meeting-records-page .mr-workspace-form .mr-dialog-field input,
.meeting-records-page .mr-workspace-form .mr-dialog-field select,
.meeting-records-page .mr-workspace-form .mr-dialog-field textarea {
  min-height: var(--mr-control-height);
}

.meeting-records-page .mr-workspace-card .mr-dialog-grid {
  gap: calc(10px * var(--ui-space-scale));
}

.meeting-records-page .mr-summary-action-grid .mr-action-button,
.meeting-records-page .mr-summary-action-grid .mr-ghost-action {
  width: 100%;
}

.meeting-records-page .mr-workspace-card-head-stack {
  align-items: start;
}

.meeting-records-page .mr-workspace-note {
  margin: calc(4px * var(--ui-space-scale)) 0 0;
  color: var(--muted);
  line-height: 1.4;
}

.meeting-records-page .mr-minutes-toolbar {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-workspace-card.is-minutes {
  gap: calc(14px * var(--ui-space-scale));
}

.meeting-records-page .mr-minutes-layout {
  display: grid;
  grid-template-columns: minmax(calc(190px * var(--ui-panel-scale)), calc(230px * var(--ui-panel-scale))) minmax(0, 1fr) minmax(calc(260px * var(--ui-inspector-scale)), calc(320px * var(--ui-inspector-scale)));
  gap: calc(12px * var(--ui-space-scale));
  min-height: min(60vh, calc(720px * var(--ui-panel-scale)));
  align-items: stretch;
}

.meeting-records-page .mr-minutes-rail,
.meeting-records-page .mr-minutes-output-rail,
.meeting-records-page .mr-minutes-list-shell {
  min-width: 0;
  border-radius: calc(16px * var(--ui-panel-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.meeting-records-page .mr-minutes-rail,
.meeting-records-page .mr-minutes-output-rail {
  display: grid;
  align-content: start;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(14px * var(--ui-panel-scale));
  overflow: auto;
}

.meeting-records-page .mr-minutes-topic-list {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-minutes-topic-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8px * var(--ui-space-scale));
  padding: calc(10px * var(--ui-space-scale)) calc(12px * var(--ui-space-scale));
  border-radius: calc(12px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.6);
}

.meeting-records-page .mr-minutes-list-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
}

.meeting-records-page .mr-minutes-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(14px * var(--ui-space-scale)) calc(16px * var(--ui-space-scale));
  border-bottom: 1px solid var(--line-soft);
}

.meeting-records-page .mr-minutes-list {
  min-height: 0;
  overflow: auto;
  display: grid;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(14px * var(--ui-space-scale)) calc(16px * var(--ui-space-scale));
}

.meeting-records-page .mr-minute-item-card {
  display: grid;
  gap: calc(10px * var(--ui-space-scale));
  padding: calc(14px * var(--ui-space-scale));
  border-radius: calc(16px * var(--ui-panel-scale));
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--entry-soft-surface) 84%, #ffffff 16%);
}

.meeting-records-page .mr-minute-item-head,
.meeting-records-page .mr-minute-item-badges,
.meeting-records-page .mr-minute-item-details {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-minute-item-head {
  justify-content: space-between;
}

.meeting-records-page .mr-minute-item-copy {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
}

.meeting-records-page .mr-minute-item-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.meeting-records-page .mr-minute-item-details span,
.meeting-records-page .mr-minute-item-meta span {
  color: var(--muted);
  font-size: 0.76rem;
}

.meeting-records-page .mr-minute-item-actions {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.meeting-records-page .mr-minute-type-chip,
.meeting-records-page .mr-minute-linked-chip {
  display: inline-flex;
  align-items: center;
  min-height: calc(26px * var(--ui-control-scale));
  padding: 0 calc(10px * var(--ui-space-scale));
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.66);
  font-size: 0.72rem;
}

.meeting-records-page .mr-minute-type-chip,
.meeting-records-page .mr-minute-linked-chip {
  border-color: var(--pmis-border-subtle);
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-secondary);
}

.meeting-records-page .mr-minute-type-chip.is-warning {
  color: var(--warning);
}

.meeting-records-page .mr-minute-type-chip.is-success {
  color: var(--success);
}

.meeting-records-page .mr-minute-type-chip.is-info {
  color: var(--accent-strong);
}

.meeting-records-page .mr-minute-linked-chip {
  color: var(--pmis-info);
  background: var(--pmis-accent-soft);
}

.meeting-records-page .mr-minutes-header-status {
  display: inline-flex;
  align-items: center;
  gap: calc(8px * var(--ui-space-scale));
}

.meeting-records-page .mr-empty-state {
  border-radius: calc(18px * var(--ui-panel-scale));
}

.meeting-records-page .mr-footer-strip {
  min-height: calc(44px * var(--ui-control-scale));
}

@media (max-width: 1500px) {
  .meeting-records-page .mr-workspace {
    grid-template-columns: var(--mr-left-width) minmax(0, 1fr);
  }

  .meeting-records-page .mr-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }

  .meeting-records-page .mr-toolbar-extra {
    width: 100%;
  }
}

@media (max-width: 1280px) {
  .meeting-records-page .mr-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .meeting-records-page .mr-workspace-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meeting-records-page .mr-minutes-layout {
    grid-template-columns: minmax(calc(180px * var(--ui-panel-scale)), calc(220px * var(--ui-panel-scale))) minmax(0, 1fr);
  }

  .meeting-records-page .mr-minutes-output-rail {
    grid-column: 1 / -1;
  }

  .meeting-records-page .mr-workspace-card.is-docs,
  .meeting-records-page .mr-workspace-card.is-quick-actions {
    grid-column: 1 / -1;
  }

  .meeting-records-page .mr-summary-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .meeting-records-page .mr-workspace {
    grid-template-columns: 1fr;
  }

  .meeting-records-page .mr-explorer-panel,
  .meeting-records-page .mr-inspector-panel {
    position: static;
  }

  .meeting-records-page .mr-calendar-placeholder-metrics,
  .meeting-records-page .mr-summary-metric-grid,
  .meeting-records-page .mr-workspace-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meeting-records-page .mr-minutes-layout {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .meeting-records-page .mr-minutes-list {
    max-height: none;
  }

  .meeting-records-page .mr-toolbar-side {
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
  }
}

@media (max-width: 920px) {
  .meeting-records-page .mr-dialog-positioner {
    width: 100%;
    max-height: none;
    padding: 12px;
    align-items: stretch;
  }

  .meeting-records-page .mr-dialog-shell.is-workspace {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 16px;
    border-radius: 18px;
  }

  .meeting-records-page .mr-workspace-grid,
  .meeting-records-page .mr-workspace-status-grid,
  .meeting-records-page .mr-summary-action-grid {
    grid-template-columns: 1fr;
  }

  .meeting-records-page .mr-minute-item-head,
  .meeting-records-page .mr-minute-item-actions {
    align-items: flex-start;
  }

  .meeting-records-page .mr-workspace-card.is-docs {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .meeting-records-page .mr-kpi-grid,
  .meeting-records-page .mr-toolbar-main,
  .meeting-records-page .mr-summary-metric-grid,
  .meeting-records-page .mr-workspace-metric-grid {
    grid-template-columns: 1fr;
  }

  .meeting-records-page .mr-summary-action-grid {
    grid-template-columns: 1fr;
  }

  .meeting-records-page .mr-minutes-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .meeting-records-page .mr-minute-item-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

.registers-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.reg-header-actions,
.reg-toolbar-head,
.reg-toolbar-actions,
.reg-view-toggle,
.reg-chip-row,
.reg-inspector-actions,
.reg-bottom-actions,
.reg-bottom-icons,
.reg-footer-copy,
.reg-footer-status {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  min-width: 0;
}

.reg-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}

.reg-create-button,
.reg-primary-link,
.reg-bottom-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ui-control-gap, 8px);
  min-height: var(--control-height-md, 40px);
  padding: 0 var(--control-padding-inline-md, 14px);
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-control, 8px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  font-weight: 700;
  text-decoration: none;
}

.reg-icon-button,
.reg-view-button {
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.reg-view-button.is-active,
.reg-explorer-item.is-active,
.reg-card.is-selected,
.reg-card:hover {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.reg-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--pmis-pane-gap);
}

.reg-kpi-card,
.reg-explorer-panel,
.reg-center-panel,
.reg-inspector-panel {
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-panel, 18px);
  background: var(--pmis-surface-panel);
  box-shadow: var(--surface-shadow);
}

.reg-kpi-card {
  display: grid;
  gap: 4px;
  padding: var(--panel-padding-sm, 12px);
}

.reg-kpi-card strong {
  font-size: 1.45rem;
}

.reg-kpi-card span,
.reg-panel-head p,
.reg-card-copy span,
.reg-card-source,
.reg-card-footer span,
.reg-stat-block span,
.reg-source-copy small,
.reg-entry-copy small,
.reg-entry-status,
.reg-meta-row span,
.reg-footer-copy,
.reg-footer-copy a,
.reg-footer-status,
.reg-empty-state span {
  color: var(--pmis-text-secondary);
}

.reg-workspace {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr) 360px;
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.reg-workspace > .pmis-workspace-area {
  min-width: 0;
}

.reg-explorer-panel,
.reg-center-panel,
.reg-inspector-panel {
  padding: var(--panel-padding-md, 16px);
}

.reg-panel-head,
.reg-explorer-nav,
.reg-toolbar,
.reg-filter-row,
.reg-card-grid,
.reg-inspector-section,
.reg-entry-list {
  display: grid;
  gap: var(--space-2, 12px);
}

.reg-panel-head h2,
.reg-inspector-header h2 {
  margin: 0;
  font-size: 1.12rem;
}

.reg-explorer-group {
  display: grid;
  gap: 8px;
}

.reg-explorer-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.reg-explorer-group-items {
  display: grid;
  gap: var(--space-1, 8px);
}

.reg-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale, 1));
  padding: 10px 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.reg-center-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.reg-toolbar {
  padding: var(--panel-padding-md, 16px);
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.reg-toolbar-head {
  justify-content: space-between;
  gap: 12px;
}

.reg-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  min-height: var(--control-height-md, 40px);
  padding: 0 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface-strong);
  flex: 1 1 320px;
}

.reg-search-field input,
.reg-filter-select,
.reg-sort-select {
  width: 100%;
  min-height: var(--control-height-md, 40px);
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.reg-scope-chip,
.reg-link-chip,
.reg-chip,
.reg-ownership-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-pill, 999px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-size: 0.78rem;
}

.reg-ownership-pill.is-info {
  color: var(--pmis-info);
}

.reg-ownership-pill.is-warning {
  color: var(--pmis-warning);
}

.reg-filter-row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-width: 0;
}

.reg-filter-select,
.reg-sort-select {
  padding: 0 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface-strong);
}

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

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

.reg-card {
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-panel, 18px);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow);
  overflow: hidden;
}

.reg-card-hit {
  width: 100%;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.reg-card-top,
.reg-card-footer,
.reg-inspector-header,
.reg-source-row,
.reg-meta-row,
.reg-entry-row,
.reg-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2, 12px);
}

.reg-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.reg-card-icon.is-large {
  width: 46px;
  height: 46px;
}

.reg-card-copy,
.reg-source-copy,
.reg-entry-copy,
.reg-inspector-title {
  display: grid;
  gap: 4px;
}

.reg-card-copy strong,
.reg-entry-copy strong,
.reg-source-copy strong,
.reg-inspector-title h2 {
  font-size: 0.96rem;
}

.reg-card-stats,
.reg-inspector-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.reg-stat-block,
.reg-inspector-stat {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.reg-stat-block strong,
.reg-inspector-stat strong {
  font-size: 1.02rem;
}

.reg-stat-block.is-warning strong,
.reg-inspector-stat.is-warning strong {
  color: var(--pmis-warning);
}

.reg-card-footer {
  padding: 0 16px 16px;
}

.reg-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  text-decoration: none;
}

.reg-inspector-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
  position: sticky;
  top: 16px;
}

.reg-inspector-header {
  align-items: flex-start;
}

.reg-inspector-title {
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
}

.reg-meta-list {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  overflow: hidden;
}

.reg-meta-row {
  padding: 11px 12px;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.reg-meta-row:last-child {
  border-bottom: 0;
}

.reg-inspector-actions,
.reg-bottom-actions {
  flex-wrap: wrap;
}

.reg-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2, 12px);
  color: var(--pmis-text-secondary);
}

.reg-section-head strong {
  color: var(--pmis-text-primary);
}

.reg-entry-row {
  padding: 12px 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.reg-bottom-primary {
  min-width: 0;
}

.reg-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-surface-panel);
}

.reg-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.reg-footer-copy a {
  text-decoration: none;
}

.reg-status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-success);
}

.reg-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

@media (max-width: 1440px) {
  .reg-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1320px) {
  .reg-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .registers-inspector-zone {
    grid-column: 1 / -1;
  }

  .reg-inspector-panel {
    position: static;
  }
}

@media (max-width: 1040px) {
  .reg-kpi-grid,
  .reg-filter-row,
  .reg-card-grid,
  .reg-card-grid.is-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reg-workspace {
    grid-template-columns: 1fr;
  }

  .reg-toolbar-head {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .reg-kpi-grid,
  .reg-filter-row,
  .reg-card-grid,
  .reg-card-grid.is-compact,
  .reg-card-stats,
  .reg-inspector-stats {
    grid-template-columns: 1fr;
  }

  .reg-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.asset-records-page {
  display: grid;
  gap: 14px;
}

.asset-header-actions,
.asset-toolbar-top,
.asset-toolbar-actions,
.asset-chip-row,
.asset-owner-row,
.asset-bottom-actions,
.asset-footer-copy,
.asset-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.asset-header-actions,
.asset-toolbar-top,
.asset-bottom-actions {
  justify-content: space-between;
}

.asset-add-button,
.asset-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.asset-icon-button,
.asset-tab,
.asset-explorer-item,
.asset-filter-select,
.asset-sort-select,
.asset-search-field,
.asset-scope-chip,
.asset-chip,
.asset-status-badge,
.asset-model-pill,
.asset-table-shell,
.asset-explorer-panel,
.asset-center-panel,
.asset-inspector-panel,
.asset-kpi-card,
.asset-footer-strip,
.asset-link-row,
.asset-validation-row,
.asset-candidate-card,
.asset-action-button {
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.asset-inline-icon,
.asset-link-icon,
.asset-link-arrow {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.asset-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-height: 40px;
  border-radius: 12px;
  color: var(--pmis-text-primary);
}

.asset-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.asset-kpi-card,
.asset-explorer-panel,
.asset-center-panel,
.asset-inspector-panel {
  border-radius: var(--radius-card);
  box-shadow: var(--surface-shadow);
}

.asset-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.asset-kpi-card strong {
  font-size: 1.45rem;
}

.asset-kpi-card span,
.asset-panel-head p,
.asset-table-cell small,
.asset-owner-row small,
.asset-inspector-title p,
.asset-footer-copy,
.asset-footer-copy a,
.asset-footer-status,
.asset-empty-state span,
.asset-meta-row span,
.asset-candidate-card small,
.asset-candidate-card em,
.asset-readiness-card small {
  color: var(--pmis-text-secondary);
}

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

.asset-explorer-panel,
.asset-center-panel,
.asset-inspector-panel {
  padding: 18px;
}

.asset-panel-head,
.asset-explorer-nav,
.asset-toolbar,
.asset-filter-row,
.asset-inspector-section,
.asset-link-list,
.asset-overview-grid {
  display: grid;
  gap: 12px;
}

.asset-inspector-section,
.asset-overview-meta,
.asset-link-list,
.asset-metric-list,
.asset-validation-list,
.asset-candidate-list {
  min-width: 0;
}

.asset-panel-head h2,
.asset-inspector-title h2 {
  margin: 0;
  font-size: 1.12rem;
}

.asset-explorer-group {
  display: grid;
  gap: 8px;
}

.asset-explorer-group-label,
.asset-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.asset-explorer-items {
  display: grid;
  gap: 8px;
}

.asset-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--pmis-text-primary);
  text-align: left;
}

.asset-explorer-item span {
  text-align: left;
}

.asset-explorer-item strong {
  margin-left: auto;
  flex-shrink: 0;
}

.asset-explorer-item.is-active,
.asset-tab.is-active,
.asset-table-row:hover,
.asset-table-row.is-selected {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
}

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

.asset-toolbar {
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.asset-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 320px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
}

.asset-search-field input,
.asset-filter-select,
.asset-sort-select {
  width: 100%;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.asset-filter-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asset-filter-select,
.asset-sort-select {
  padding: 0 12px;
  border-radius: 12px;
}

.asset-scope-chip,
.asset-chip,
.asset-status-badge,
.asset-model-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.78rem;
}

.asset-model-pill.is-success {
  color: var(--pmis-success);
}

.asset-model-pill.is-warning,
.asset-status-badge.is-warning {
  color: var(--pmis-warning);
}

.asset-status-badge.is-info {
  color: var(--pmis-info);
}

.asset-status-badge.is-success {
  color: var(--pmis-success);
}

.asset-table-shell {
  overflow: hidden;
  border-radius: 16px;
}

.asset-table-head,
.asset-table-row {
  display: grid;
  grid-template-columns: 1.1fr 1.05fr 0.95fr 1.15fr 1.3fr 0.9fr 1.2fr 0.9fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.asset-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.asset-table-body {
  display: grid;
}

.asset-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
}

.asset-table-row:last-child {
  border-bottom: 0;
}

.asset-table-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.asset-table-cell strong,
.asset-owner-row strong,
.asset-link-row strong,
.asset-metric-row strong,
.asset-validation-row strong,
.asset-candidate-card strong {
  font-size: 0.92rem;
}

.asset-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.asset-inspector-header,
.asset-section-head,
.asset-meta-row,
.asset-metric-row,
.asset-validation-row,
.asset-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.asset-inspector-title {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.asset-inspector-title > div {
  min-width: 0;
}

.asset-inspector-title h2,
.asset-inspector-title p {
  overflow-wrap: anywhere;
}

.asset-record-icon,
.asset-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.asset-avatar {
  border-radius: 50%;
  color: var(--pmis-surface-card);
  background: var(--pmis-info);
  font-weight: 700;
  font-size: 0.82rem;
}

.asset-tab-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.asset-tab {
  min-height: 34px;
  border-radius: 10px;
  color: var(--pmis-text-primary);
  min-width: 0;
  padding: 0 8px;
  overflow-wrap: anywhere;
}

.asset-overview-grid {
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: start;
}

.asset-overview-list,
.asset-metric-list,
.asset-validation-list {
  display: grid;
  gap: 8px;
}

.asset-meta-row,
.asset-metric-row,
.asset-validation-row,
.asset-candidate-card,
.asset-link-row,
.asset-readiness-card {
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--entry-soft-surface);
}

.asset-readiness-card {
  display: grid;
  gap: 10px;
  justify-items: center;
}

.asset-readiness-ring {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--pmis-warning) calc(var(--progress) * 1%), var(--pmis-border-subtle) 0);
}

.asset-readiness-center {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  background: var(--pmis-surface-card);
}

.asset-readiness-center strong {
  font-size: 0.88rem;
}

.asset-readiness-center span,
.asset-empty-inline {
  font-size: 0.75rem;
  color: var(--pmis-text-secondary);
}

.asset-quick-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

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

.asset-tech-grid dt {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
}

.asset-tech-grid dd {
  margin: 4px 0 0;
}

.asset-link-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}

.asset-link-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.asset-link-arrow {
  margin-left: auto;
  flex-shrink: 0;
}

.asset-validation-status.is-success {
  color: var(--pmis-success);
}

.asset-validation-status.is-warning {
  color: var(--pmis-warning);
}

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

.asset-candidate-card {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.asset-action-button {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.asset-owner-row,
.asset-bottom-actions {
  flex-wrap: wrap;
}

.asset-owner-row > div {
  min-width: 0;
}

.asset-owner-row .asset-status-badge {
  margin-left: auto;
}

.asset-bottom-actions {
  justify-content: flex-start;
}

.asset-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
}

.asset-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.asset-footer-copy a {
  text-decoration: none;
}

.asset-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pmis-success);
}

.asset-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

@media (max-width: 1460px) {
  .asset-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .asset-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1120px) {
  .asset-kpi-grid,
  .asset-filter-row,
  .asset-tech-grid,
  .asset-tab-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-workspace,
  .asset-overview-grid {
    grid-template-columns: 1fr;
  }

  .asset-toolbar-top {
    flex-wrap: wrap;
  }
}

@media (max-width: 860px) {
  .asset-kpi-grid,
  .asset-filter-row,
  .asset-tech-grid,
  .asset-tab-row {
    grid-template-columns: 1fr;
  }

  .asset-table-head {
    display: none;
  }

  .asset-table-row {
    grid-template-columns: 1fr;
  }

  .asset-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.reviews-page {
  display: grid;
  gap: 14px;
}

.rvw-header-actions,
.rvw-context-chip-row,
.rvw-chip-row,
.rvw-action-grid,
.rvw-secondary-action-grid,
.rvw-footer-copy,
.rvw-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.rvw-header-actions,
.rvw-action-grid,
.rvw-secondary-action-grid {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.rvw-primary-button,
.rvw-secondary-button,
.rvw-action-button,
.rvw-package-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  border-radius: var(--radius-control, 8px);
  text-decoration: none;
}

.rvw-primary-button {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.rvw-secondary-button,
.rvw-action-button,
.rvw-package-button {
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
}

.rvw-icon-button,
.rvw-tab,
.rvw-explorer-item,
.rvw-filter-select,
.rvw-sort-select,
.rvw-density-select,
.rvw-search-field,
.rvw-scope-chip,
.rvw-context-chip,
.rvw-chip,
.rvw-status-badge,
.rvw-table-shell,
.rvw-explorer-panel,
.rvw-center-panel,
.rvw-inspector-panel,
.rvw-kpi-card,
.rvw-footer-strip,
.rvw-included-row,
.rvw-summary-card,
.rvw-disposition-card,
.rvw-secondary-action {
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.rvw-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.rvw-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-height: 40px;
  border-radius: var(--radius-control, 8px);
  color: var(--pmis-text-primary);
}

.rvw-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.rvw-kpi-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  color: var(--pmis-info);
}

.rvw-kpi-card,
.rvw-explorer-panel,
.rvw-center-panel,
.rvw-inspector-panel {
  border-radius: var(--radius-panel, 18px);
  box-shadow: var(--surface-shadow);
}

.rvw-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.rvw-kpi-card strong {
  font-size: 1.42rem;
}

.rvw-kpi-card span,
.rvw-panel-head p,
.rvw-table-cell small,
.rvw-summary-line,
.rvw-footer-copy,
.rvw-footer-copy a,
.rvw-footer-status,
.rvw-empty-state span,
.rvw-meta-grid .pmis-detail-row-label,
.rvw-included-row small,
.rvw-summary-card span {
  color: var(--pmis-text-secondary);
}

.rvw-tab-row {
  display: flex;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
}

.rvw-tab {
  min-height: 38px;
  padding: 0 14px;
  border-radius: var(--radius-pill, 999px);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
}

.rvw-tab.is-active,
.rvw-explorer-item.is-active,
.rvw-table-row:hover,
.rvw-table-row.is-selected {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

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

.rvw-explorer-panel,
.rvw-center-panel,
.rvw-inspector-panel {
  padding: 18px;
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.rvw-panel-head,
.rvw-explorer-nav,
.rvw-toolbar,
.rvw-inspector-section,
.rvw-included-list,
.rvw-summary-grid {
  display: grid;
  gap: 12px;
}

.rvw-panel-head h2,
.rvw-inspector-title h2 {
  margin: 0;
  font-size: 1.12rem;
}

.rvw-explorer-group {
  display: grid;
  gap: 8px;
}

.rvw-explorer-group-label,
.rvw-table-head,
.rvw-group-row {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.rvw-explorer-items {
  display: grid;
  gap: 8px;
}

.rvw-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: var(--radius-control-lg, 12px);
  color: var(--pmis-text-primary);
}

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

.rvw-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) auto repeat(3, minmax(0, 0.9fr)) auto auto auto auto auto;
  gap: 10px;
  padding: 14px;
  border-radius: var(--radius-panel, 18px);
  background: var(--entry-soft-surface);
  border: 1px solid var(--pmis-border-subtle);
}

.rvw-search-field {
  position: relative;
  min-height: 42px;
}

.rvw-search-field .rvw-inline-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  color: var(--pmis-text-secondary);
  pointer-events: none;
  transform: translateY(-50%);
  z-index: 1;
}

.rvw-search-field input,
.rvw-filter-select,
.rvw-sort-select,
.rvw-density-select {
  width: 100%;
  min-height: 42px;
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.rvw-filter-select,
.rvw-sort-select,
.rvw-density-select {
  padding: 0 12px;
  border-radius: var(--radius-control, 8px);
}

.rvw-scope-chip,
.rvw-context-chip,
.rvw-chip,
.rvw-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.78rem;
}

.rvw-status-badge.is-success {
  color: var(--pmis-success);
}

.rvw-status-badge.is-warning {
  color: var(--pmis-warning);
}

.rvw-status-badge.is-danger {
  color: var(--pmis-danger);
}

.rvw-status-badge.is-info {
  color: var(--pmis-info);
}

.rvw-table-shell {
  overflow: hidden;
  border-radius: var(--radius-panel, 18px);
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.rvw-table-head,
.rvw-table-row {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.rvw-table-shell.is-reviews .rvw-table-head,
.rvw-table-shell.is-reviews .rvw-table-row {
  grid-template-columns: 0.8fr 2.3fr 1.2fr 1.1fr 1.2fr 1.3fr 1fr 1.1fr 1.4fr 0.9fr;
}

.rvw-table-shell.is-findings .rvw-table-head,
.rvw-table-shell.is-findings .rvw-table-row {
  grid-template-columns: 0.9fr 2.1fr 0.9fr 1fr 1.3fr 1.2fr 1fr 0.9fr;
}

.rvw-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.rvw-table-body {
  display: grid;
}

.rvw-group-row {
  padding: 10px 14px 4px;
}

.rvw-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
}

.rvw-table-row:last-child {
  border-bottom: 0;
}

.rvw-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.rvw-table-cell,
.rvw-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.rvw-table-cell strong,
.rvw-primary-cell strong,
.rvw-included-row strong,
.rvw-summary-card strong,
.rvw-meta-grid .pmis-detail-row-value,
.rvw-disposition-card,
.rvw-entry-copy strong {
  font-size: 0.92rem;
}

.rvw-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.rvw-inspector-header,
.rvw-section-head,
.rvw-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rvw-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.rvw-inspector-title > div {
  min-width: 0;
}

.rvw-inspector-title h2,
.rvw-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.rvw-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.rvw-summary-line {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--pmis-border-subtle);
  color: var(--pmis-text-secondary);
}

.rvw-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  min-width: 0;
}

.rvw-meta-grid .pmis-detail-row {
  display: grid;
  justify-content: start;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface);
}

.rvw-meta-grid .pmis-detail-row-value {
  text-align: left;
  overflow-wrap: anywhere;
}

.rvw-included-row,
.rvw-disposition-card,
.rvw-summary-card,
.rvw-secondary-action {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px 12px;
  border-radius: var(--radius-control-lg, 12px);
  color: inherit;
  text-decoration: none;
}

.rvw-included-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.rvw-included-row strong,
.rvw-included-row small,
.rvw-disposition-card,
.rvw-secondary-action {
  overflow-wrap: anywhere;
}

.rvw-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
}

.rvw-summary-card {
  display: grid;
  justify-items: start;
}

.rvw-disposition-card {
  justify-content: flex-start;
}

.rvw-action-grid,
.rvw-secondary-action-grid {
  justify-content: flex-start;
  min-width: 0;
}

.rvw-secondary-action {
  min-height: 36px;
}

.rvw-chip-row {
  flex-wrap: wrap;
  min-width: 0;
}

.rvw-chip,
.rvw-chip-link,
.rvw-context-chip,
.rvw-action-button,
.rvw-secondary-action {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.rvw-inspector-section,
.rvw-included-list {
  min-width: 0;
}

.rvw-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: var(--radius-control-lg, 12px);
}

.rvw-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.rvw-footer-copy a {
  text-decoration: none;
}

.rvw-status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-success);
}

.rvw-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: var(--radius-control-lg, 12px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

@media (max-width: 1520px) {
  .rvw-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .rvw-inspector-zone,
  .rvw-inspector-panel {
    grid-column: 1 / -1;
  }

  .rvw-inspector-panel {
    position: static;
  }
}

@media (max-width: 1220px) {
  .rvw-kpi-grid,
  .rvw-toolbar,
  .rvw-summary-grid,
  .rvw-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rvw-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .rvw-kpi-grid,
  .rvw-toolbar,
  .rvw-summary-grid,
  .rvw-meta-grid {
    grid-template-columns: 1fr;
  }

  .rvw-table-head {
    display: none;
  }

  .rvw-table-shell .rvw-table-row {
    grid-template-columns: 1fr;
  }

  .rvw-table-cell {
    gap: 2px;
  }

  .rvw-table-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .rvw-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.approvals-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.apv-header-actions,
.apv-context-chip-row,
.apv-chip-row,
.apv-action-grid,
.apv-secondary-action-grid,
.apv-bottom-strip,
.apv-footer-copy,
.apv-footer-status,
.apv-view-buttons,
.apv-inspector-controls {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
}

.apv-header-actions,
.apv-action-grid,
.apv-secondary-action-grid,
.apv-bottom-strip {
  flex-wrap: wrap;
}

.apv-primary-button,
.apv-secondary-button,
.apv-add-filter-button,
.apv-action-button,
.apv-bottom-action,
.apv-secondary-decision {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ui-control-gap, 8px);
  min-height: var(--control-height-md, 40px);
  padding: 0 var(--control-padding-inline-md, 14px);
  border-radius: var(--radius-control, 8px);
  text-decoration: none;
  border: 1px solid var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.apv-primary-button {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
}

.apv-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--control-height-md, 40px);
  min-height: var(--control-height-md, 40px);
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.apv-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--pmis-pane-gap);
}

.apv-kpi-card,
.apv-explorer-panel,
.apv-center-panel,
.apv-inspector-panel {
  border-radius: var(--radius-panel);
  background: var(--pmis-surface-card);
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.apv-kpi-card {
  display: grid;
  gap: 4px;
  padding: var(--panel-padding-sm, 12px);
}

.apv-kpi-icon,
.apv-inline-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.apv-kpi-card strong {
  font-size: 1.4rem;
}

.apv-kpi-card span:not(.apv-kpi-icon),
.apv-kpi-card span,
.apv-panel-head p,
.apv-table-cell small,
.apv-route-copy small,
.apv-route-time,
.apv-footer-copy,
.apv-footer-copy a,
.apv-footer-status,
.apv-empty-state span,
.apv-empty-inline,
.apv-detail-row small,
.apv-package-row small,
.apv-review-callout span,
.apv-note-card small {
  color: var(--pmis-text-secondary);
}

.apv-tab-row {
  display: flex;
  gap: calc(8px * var(--ui-space-scale, 1));
  overflow-x: auto;
}

.apv-tab {
  min-height: var(--control-height-sm, 34px);
  padding: 0 var(--control-padding-inline-md, 14px);
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  white-space: nowrap;
}

.apv-tab.is-active,
.apv-explorer-item.is-active,
.apv-table-row:hover,
.apv-table-row.is-selected,
.apv-icon-button.is-active {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
}

.apv-workspace {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr) 356px;
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.apv-explorer-panel,
.apv-center-panel,
.apv-inspector-panel {
  padding: var(--panel-padding-md, 16px);
}

.apv-panel-head,
.apv-explorer-nav,
.apv-toolbar,
.apv-inspector-section,
.apv-route-list,
.apv-package-list,
.apv-decision-grid {
  display: grid;
  gap: var(--space-2, 12px);
}

.apv-panel-head h2,
.apv-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.apv-explorer-group {
  display: grid;
  gap: var(--space-1, 8px);
}

.apv-explorer-group-label,
.apv-table-head,
.apv-group-row {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.apv-explorer-items {
  display: grid;
  gap: var(--space-1, 8px);
}

.apv-explorer-item {
  display: flex;
  align-items: center;
  gap: var(--space-1, 8px);
  min-height: var(--control-height-md, 40px);
  padding: 0 var(--control-padding-inline-sm, 10px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.apv-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

.apv-center-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.apv-toolbar {
  grid-template-columns: minmax(240px, 1.3fr) repeat(4, minmax(0, 0.9fr)) auto minmax(0, 0.9fr) auto auto minmax(0, 0.9fr) minmax(0, 0.9fr);
  gap: calc(10px * var(--ui-space-scale, 1));
  padding: var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 14px);
  background: var(--entry-soft-surface);
  border: 1px solid var(--pmis-border-subtle);
}

.apv-search-field,
.apv-filter-select {
  min-height: var(--control-height-md, 40px);
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.apv-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  padding: 0 var(--control-padding-inline-sm, 10px);
}

.apv-search-field input,
.apv-filter-select {
  width: 100%;
  min-height: var(--control-height-md, 40px);
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.apv-filter-select {
  padding: 0 var(--control-padding-inline-sm, 10px);
}

.apv-scope-chip,
.apv-context-chip,
.apv-chip,
.apv-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(6px * var(--ui-space-scale, 1));
  min-height: 28px;
  padding: 0 var(--control-padding-inline-sm, 10px);
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-size: 0.78rem;
}

.apv-status-badge.is-success {
  color: var(--pmis-success);
}

.apv-status-badge.is-warning {
  color: var(--pmis-warning);
}

.apv-status-badge.is-danger {
  color: var(--pmis-danger);
}

.apv-status-badge.is-info {
  color: var(--pmis-info);
}

.apv-table-shell {
  overflow: hidden;
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.apv-table-head,
.apv-table-row {
  display: grid;
  grid-template-columns: 0.85fr 2.25fr 1.15fr 1.2fr 1.3fr 1.4fr 0.95fr 1.1fr 1.2fr 0.85fr;
  gap: var(--space-2, 12px);
  align-items: center;
  padding: var(--panel-padding-sm, 12px) var(--control-padding-inline-md, 14px);
}

.apv-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.apv-table-body {
  display: grid;
}

.apv-group-row {
  padding: var(--space-1, 8px) var(--control-padding-inline-md, 14px) calc(4px * var(--ui-space-scale, 1));
}

.apv-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
  color: var(--pmis-text-primary);
}

.apv-table-row:last-child {
  border-bottom: 0;
}

.apv-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.apv-table-cell,
.apv-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.apv-table-cell strong,
.apv-primary-cell strong,
.apv-route-copy strong,
.apv-package-row strong,
.apv-review-callout strong,
.apv-note-card strong {
  font-size: 0.92rem;
}

.apv-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: var(--space-1, 8px);
  align-items: center;
}

.apv-avatar {
  width: 24px;
  height: 24px;
  font-size: 0.72rem;
}

.apv-records-cell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-1, 8px);
  align-items: center;
}

.apv-record-icons {
  display: flex;
  gap: calc(6px * var(--ui-space-scale, 1));
}

.apv-inspector-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
  position: sticky;
  top: 16px;
  min-width: 0;
}

.apv-inspector-header,
.apv-section-head,
.apv-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2, 12px);
}

.apv-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: calc(10px * var(--ui-space-scale, 1));
  align-items: center;
  min-width: 0;
}

.apv-inspector-title > div {
  min-width: 0;
}

.apv-inspector-title h2,
.apv-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.apv-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-control, 8px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.apv-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(10px * var(--ui-space-scale, 1));
}

.apv-detail-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: var(--space-1, 8px);
  align-items: start;
  padding: calc(10px * var(--ui-panel-scale, 1)) var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.apv-detail-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.apv-route-list,
.apv-package-list {
  min-width: 0;
}

.apv-route-step,
.apv-package-row,
.apv-review-callout,
.apv-note-card,
.apv-bottom-action {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  min-width: 0;
  padding: calc(11px * var(--ui-panel-scale, 1)) var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: inherit;
  text-decoration: none;
}

.apv-route-copy,
.apv-package-row > div,
.apv-note-card {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.apv-route-step.is-completed .apv-route-node {
  color: var(--pmis-success);
}

.apv-route-step.is-current .apv-route-node {
  color: var(--pmis-info);
}

.apv-route-time {
  margin-left: auto;
  flex-shrink: 0;
}

.apv-section-link {
  color: inherit;
  text-decoration: none;
  font-size: 0.8rem;
}

.apv-review-callout {
  justify-content: space-between;
}

.apv-review-callout > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.apv-review-callout a {
  color: inherit;
  text-decoration: none;
}

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

.apv-decision-button {
  display: grid;
  gap: calc(6px * var(--ui-space-scale, 1));
  align-items: start;
  justify-items: start;
  min-height: 84px;
  padding: var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.apv-decision-button strong {
  font-size: 0.94rem;
}

.apv-decision-button small {
  color: var(--pmis-text-secondary);
}

.apv-decision-button.is-approve {
  border-color: var(--pmis-success);
}

.apv-decision-button.is-conditions {
  border-color: var(--pmis-warning);
}

.apv-decision-button.is-reject {
  border-color: var(--pmis-danger);
}

.apv-secondary-decision-row {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10px * var(--ui-space-scale, 1));
}

.apv-bottom-strip {
  justify-content: flex-start;
}

.apv-note-card {
  display: grid;
}

.apv-empty-inline {
  padding: calc(11px * var(--ui-panel-scale, 1)) var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px dashed var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.apv-footer-strip {
  min-height: 46px;
  padding: 0 var(--control-padding-inline-md, 14px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.apv-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.apv-footer-copy a {
  text-decoration: none;
}

.apv-status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-success);
}

.apv-empty-state {
  display: grid;
  gap: calc(6px * var(--ui-space-scale, 1));
  padding: var(--panel-padding-md, 16px);
  border-radius: var(--radius-control-lg, 14px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

@media (max-width: 1560px) {
  .apv-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .apv-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .apv-kpi-grid,
  .apv-toolbar,
  .apv-detail-grid,
  .apv-decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .apv-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .apv-kpi-grid,
  .apv-toolbar,
  .apv-detail-grid,
  .apv-decision-grid {
    grid-template-columns: 1fr;
  }

  .apv-table-head {
    display: none;
  }

  .apv-table-row {
    grid-template-columns: 1fr;
  }

  .apv-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.rfis-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.rfi-header-actions,
.rfi-context-chip-row,
.rfi-chip-row,
.rfi-bottom-actions,
.rfi-footer-copy,
.rfi-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rfi-header-actions,
.rfi-bottom-actions {
  flex-wrap: wrap;
}

.rfi-primary-button,
.rfi-secondary-button,
.rfi-add-filter-button,
.rfi-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  text-decoration: none;
  border: 1px solid var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.rfi-primary-button {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
}

.rfi-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.rfi-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.rfi-kpi-card,
.rfi-explorer-panel,
.rfi-center-panel,
.rfi-inspector-panel {
  border-radius: var(--radius-card);
  background: var(--pmis-surface-card);
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.rfi-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.rfi-inline-icon,
.rfi-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.rfi-kpi-card strong {
  font-size: 1.4rem;
}

.rfi-kpi-card span,
.rfi-panel-head p,
.rfi-table-cell small,
.rfi-detail-row small,
.rfi-context-row small,
.rfi-footer-copy,
.rfi-footer-copy a,
.rfi-footer-status,
.rfi-empty-state span,
.rfi-timeline-row small,
.rfi-question-card,
.rfi-response-card p,
.rfi-outcome-card {
  color: var(--pmis-text-secondary);
}

.rfi-tab-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.rfi-tab {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
}

.rfi-tab.is-active,
.rfi-explorer-item.is-active,
.rfi-table-row:hover,
.rfi-table-row.is-selected {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.rfi-workspace {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr) 356px;
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.rfi-explorer-panel,
.rfi-center-panel,
.rfi-inspector-panel {
  padding: 18px;
}

.rfi-panel-head,
.rfi-explorer-nav,
.rfi-toolbar,
.rfi-inspector-section,
.rfi-context-list,
.rfi-timeline {
  display: grid;
  gap: 12px;
}

.rfi-panel-head h2,
.rfi-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.rfi-explorer-group {
  display: grid;
  gap: 8px;
}

.rfi-explorer-group-label,
.rfi-table-head,
.rfi-group-row {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.rfi-explorer-items {
  display: grid;
  gap: 8px;
}

.rfi-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.rfi-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

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

.rfi-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(0, 0.9fr)) auto auto minmax(0, 0.9fr) minmax(0, 0.9fr) auto;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.rfi-search-field,
.rfi-filter-select {
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.rfi-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.rfi-search-field input,
.rfi-filter-select {
  width: 100%;
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.rfi-filter-select {
  padding: 0 12px;
}

.rfi-context-chip,
.rfi-chip,
.rfi-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  font-size: 0.78rem;
}

.rfi-status-badge.is-info {
  color: var(--pmis-info);
}

.rfi-status-badge.is-danger {
  color: var(--pmis-danger);
}

.rfi-status-badge.is-warning {
  color: var(--pmis-warning);
}

.rfi-status-badge.is-success {
  color: var(--pmis-success);
}

.rfi-table-shell {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.rfi-table-head,
.rfi-table-row {
  display: grid;
  grid-template-columns: 0.85fr 2.2fr 1.15fr 1.2fr 1.2fr 1.3fr 0.9fr 1.1fr 1.25fr 0.85fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.rfi-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.rfi-table-body {
  display: grid;
}

.rfi-group-row {
  padding: 10px 14px 4px;
}

.rfi-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
}

.rfi-table-row:last-child {
  border-bottom: 0;
}

.rfi-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.rfi-table-cell,
.rfi-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.rfi-table-cell strong,
.rfi-primary-cell strong,
.rfi-context-row strong,
.rfi-detail-row strong,
.rfi-response-header strong,
.rfi-timeline-row strong {
  font-size: 0.92rem;
}

.rfi-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.rfi-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  font-size: 0.72rem;
  font-weight: 700;
}

.rfi-linked-cell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.rfi-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.rfi-inspector-header,
.rfi-section-head,
.rfi-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rfi-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.rfi-inspector-title > div {
  min-width: 0;
}

.rfi-inspector-title h2,
.rfi-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.rfi-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.rfi-detail-grid {
  display: grid;
  gap: 10px;
}

.rfi-detail-row,
.rfi-context-row,
.rfi-question-card,
.rfi-response-card,
.rfi-outcome-card,
.rfi-timeline-row,
.rfi-action-button {
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.rfi-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 8px;
  align-items: start;
}

.rfi-detail-row .pmis-detail-row-value {
  text-align: left;
}

.rfi-context-row,
.rfi-timeline-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.rfi-context-row,
.rfi-response-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rfi-context-row > div,
.rfi-response-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.rfi-context-row,
.rfi-response-attachment {
  color: inherit;
  text-decoration: none;
}

.rfi-response-card {
  display: grid;
  gap: 10px;
}

.rfi-response-attachment {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rfi-bottom-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.rfi-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.rfi-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.rfi-footer-copy a {
  text-decoration: none;
}

.rfi-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pmis-success);
}

.rfi-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

@media (max-width: 1560px) {
  .rfi-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .rfi-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .rfi-kpi-grid,
  .rfi-toolbar,
  .rfi-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rfi-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .rfi-kpi-grid,
  .rfi-toolbar,
  .rfi-detail-grid {
    grid-template-columns: 1fr;
  }

  .rfi-table-head {
    display: none;
  }

  .rfi-table-row {
    grid-template-columns: 1fr;
  }

  .rfi-table-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .rfi-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.changes-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.chg-header-actions,
.chg-context-chip-row,
.chg-chip-row,
.chg-impact-row,
.chg-bottom-actions,
.chg-footer-copy,
.chg-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chg-header-actions,
.chg-bottom-actions {
  flex-wrap: wrap;
}

.chg-primary-button,
.chg-secondary-button,
.chg-add-filter-button,
.chg-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--control-height-md, 40px);
  padding: 0 12px;
  border-radius: var(--radius-control, 8px);
  text-decoration: none;
  border: 1px solid var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.chg-primary-button {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.chg-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--control-height-md, 40px);
  min-height: var(--control-height-md, 40px);
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.chg-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--pmis-pane-gap);
}

.chg-kpi-card,
.chg-explorer-panel,
.chg-center-panel,
.chg-inspector-panel {
  border-radius: var(--radius-panel, 18px);
  background: var(--pmis-surface-panel);
  border: 1px solid var(--pmis-border-subtle);
  box-shadow: var(--surface-shadow);
}

.chg-kpi-card {
  display: grid;
  gap: 4px;
  padding: var(--panel-padding-sm, 12px);
}

.chg-inline-icon,
.chg-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.chg-kpi-card strong {
  font-size: 1.4rem;
}

.chg-kpi-card span,
.chg-panel-head p,
.chg-table-cell small,
.chg-owner-row small,
.chg-origin-card small,
.chg-review-card small,
.chg-footer-copy,
.chg-footer-copy a,
.chg-footer-status,
.chg-empty-state span,
.chg-empty-inline,
.chg-linked-row small {
  color: var(--pmis-text-secondary);
}

.chg-tab-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.chg-tab {
  min-height: 36px;
  padding: 0 14px;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
}

.chg-tab.is-active,
.chg-explorer-item.is-active,
.chg-table-row:hover,
.chg-table-row.is-selected {
  background: var(--entry-soft-surface-strong);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.chg-workspace {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr) 356px;
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.chg-explorer-panel,
.chg-center-panel,
.chg-inspector-panel {
  padding: var(--panel-padding-md, 16px);
}

.chg-panel-head,
.chg-explorer-nav,
.chg-toolbar,
.chg-inspector-section,
.chg-linked-list {
  display: grid;
  gap: var(--space-2, 12px);
}

.chg-panel-head h2,
.chg-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.chg-explorer-group {
  display: grid;
  gap: var(--space-1, 8px);
}

.chg-explorer-group-label,
.chg-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.chg-explorer-items {
  display: grid;
  gap: var(--space-1, 8px);
}

.chg-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--control-height-md, 40px);
  padding: 0 10px;
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.chg-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

.chg-center-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.chg-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(0, 0.9fr)) auto minmax(150px, 0.8fr) minmax(150px, 0.8fr) auto auto;
  gap: var(--space-1, 8px);
  padding: var(--panel-padding-sm, 12px);
  border-radius: var(--radius-control-lg, 12px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.chg-search-field,
.chg-filter-select {
  min-height: var(--control-height-md, 40px);
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.chg-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.chg-search-field input,
.chg-filter-select {
  width: 100%;
  min-height: var(--control-height-md, 40px);
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.chg-filter-select {
  padding: 0 12px;
}

.chg-filter-control {
  min-width: 0;
}

.chg-sort-control,
.chg-density-control {
  min-width: 150px;
}

.chg-context-chip,
.chg-chip,
.chg-status-badge,
.chg-impact-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-size: 0.78rem;
}

.chg-status-badge.is-info {
  color: var(--pmis-info);
}

.chg-status-badge.is-danger {
  color: var(--pmis-danger);
}

.chg-status-badge.is-warning {
  color: var(--pmis-warning);
}

.chg-status-badge.is-success {
  color: var(--pmis-success);
}

.chg-table-shell {
  overflow: hidden;
  border-radius: var(--radius-control-lg, 12px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.chg-table-head,
.chg-table-row {
  display: grid;
  grid-template-columns: 0.85fr 2.2fr 1.1fr 1.1fr 1.2fr 1.2fr 0.9fr 1.2fr 0.85fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.chg-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.chg-table-body {
  display: grid;
}

.chg-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
  color: var(--pmis-text-primary);
}

.chg-table-row:last-child {
  border-bottom: 0;
}

.chg-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.chg-table-cell,
.chg-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.chg-table-cell strong,
.chg-primary-cell strong,
.chg-origin-card strong,
.chg-review-card strong,
.chg-linked-row strong {
  font-size: 0.92rem;
}

.chg-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.chg-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  font-size: 0.72rem;
  font-weight: 700;
}

.chg-inspector-panel {
  display: grid;
  gap: var(--pmis-pane-gap);
  position: sticky;
  top: 16px;
  min-width: 0;
}

.chg-inspector-header,
.chg-section-head,
.chg-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chg-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.chg-inspector-title > div {
  min-width: 0;
}

.chg-inspector-title h2,
.chg-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.chg-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.chg-owner-row,
.chg-origin-card,
.chg-review-card,
.chg-outcome-card,
.chg-linked-row,
.chg-action-button {
  padding: 11px 12px;
  border-radius: var(--radius-control, 8px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.chg-owner-row,
.chg-linked-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chg-owner-row > div,
.chg-linked-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.chg-linked-row {
  color: inherit;
  text-decoration: none;
}

.chg-review-card,
.chg-origin-card,
.chg-outcome-card,
.chg-empty-inline {
  display: grid;
  gap: 6px;
}

.chg-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: var(--radius-control-lg, 12px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.chg-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.chg-footer-copy a {
  text-decoration: none;
}

.chg-status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-success);
}

.chg-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: var(--radius-control-lg, 12px);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

body[data-ui-density="dense"] .chg-toolbar,
body[data-ui-density="dense"] .chg-explorer-panel,
body[data-ui-density="dense"] .chg-center-panel,
body[data-ui-density="dense"] .chg-inspector-panel {
  gap: calc(8px * var(--ui-space-scale, 1));
  padding: calc(10px * var(--ui-panel-scale, 1));
}

body[data-ui-density="dense"] .chg-table-head,
body[data-ui-density="dense"] .chg-table-row {
  padding-top: 8px;
  padding-bottom: 8px;
}

body[data-ui-density="compact"] .chg-toolbar,
body[data-ui-density="compact"] .chg-explorer-panel,
body[data-ui-density="compact"] .chg-center-panel,
body[data-ui-density="compact"] .chg-inspector-panel {
  gap: calc(10px * var(--ui-space-scale, 1));
}

body[data-ui-density="comfortable"] .chg-toolbar,
body[data-ui-density="comfortable"] .chg-explorer-panel,
body[data-ui-density="comfortable"] .chg-center-panel,
body[data-ui-density="comfortable"] .chg-inspector-panel {
  gap: var(--space-3, 16px);
}

@media (max-width: 1560px) {
  .chg-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .chg-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .chg-kpi-grid,
  .chg-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chg-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .chg-kpi-grid,
  .chg-toolbar {
    grid-template-columns: 1fr;
  }

  .chg-table-head {
    display: none;
  }

  .chg-table-row {
    grid-template-columns: 1fr;
  }

  .chg-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.issues-coordination-page {
  display: grid;
  gap: 14px;
}

.isc-header-actions,
.isc-context-chip-row,
.isc-chip-row,
.isc-impact-row,
.isc-bottom-actions,
.isc-footer-copy,
.isc-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.isc-header-actions,
.isc-bottom-actions {
  flex-wrap: wrap;
}

.isc-primary-button,
.isc-secondary-button,
.isc-add-filter-button,
.isc-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  text-decoration: none;
  border: 1px solid var(--line-strong);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.isc-primary-button {
  background: var(--accent);
  color: #fff;
  border-color: transparent;
}

.isc-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: var(--surface-card-bg);
  color: var(--text);
}

.isc-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.isc-kpi-card,
.isc-explorer-panel,
.isc-center-panel,
.isc-inspector-panel {
  border-radius: var(--radius-card);
  background: var(--surface-card-bg);
  border: 1px solid var(--line-strong);
  box-shadow: var(--surface-shadow);
}

.isc-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.isc-inline-icon,
.isc-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.isc-kpi-card strong {
  font-size: 1.4rem;
}

.isc-kpi-card span,
.isc-panel-head p,
.isc-table-cell small,
.isc-owner-row small,
.isc-source-card,
.isc-resolution-card small,
.isc-footer-copy,
.isc-footer-copy a,
.isc-footer-status,
.isc-empty-state span,
.isc-empty-inline,
.isc-linked-row small,
.isc-visual-card small {
  color: var(--muted);
}

.isc-tab-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.isc-tab {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  white-space: nowrap;
}

.isc-tab.is-active,
.isc-explorer-item.is-active,
.isc-table-row:hover,
.isc-table-row.is-selected {
  background: var(--entry-accent-wash);
  border-color: var(--accent-strong);
}

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

.isc-explorer-panel,
.isc-center-panel,
.isc-inspector-panel {
  padding: 18px;
}

.isc-panel-head,
.isc-explorer-nav,
.isc-toolbar,
.isc-inspector-section,
.isc-linked-list,
.isc-visual-grid,
.isc-timeline {
  display: grid;
  gap: 12px;
}

.isc-panel-head h2,
.isc-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.isc-explorer-group {
  display: grid;
  gap: 8px;
}

.isc-explorer-group-label,
.isc-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.isc-explorer-items {
  display: grid;
  gap: 8px;
}

.isc-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.isc-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

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

.isc-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(0, 0.9fr)) auto auto auto;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.isc-search-field,
.isc-filter-select {
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: var(--surface-card-bg);
  color: var(--text);
}

.isc-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.isc-search-field input,
.isc-filter-select {
  width: 100%;
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--text);
}

.isc-filter-select {
  padding: 0 12px;
}

.isc-context-chip,
.isc-chip,
.isc-status-badge,
.isc-severity-chip,
.isc-impact-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.05);
  font-size: 0.78rem;
}

.isc-status-badge.is-info {
  color: var(--accent-strong);
}

.isc-status-badge.is-danger {
  color: var(--danger);
}

.isc-status-badge.is-warning {
  color: var(--warning);
}

.isc-status-badge.is-success {
  color: var(--success);
}

.isc-severity-chip.is-danger {
  color: var(--danger);
}

.isc-severity-chip.is-warning {
  color: var(--warning);
}

.isc-table-shell {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: var(--surface-card-bg);
}

.isc-table-head,
.isc-table-row {
  display: grid;
  grid-template-columns: 0.85fr 2.2fr 1.1fr 1.4fr 1.1fr 1.1fr 0.85fr 1.2fr 1.15fr 0.85fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.isc-table-head {
  border-bottom: 1px solid var(--line-soft);
}

.isc-table-body {
  display: grid;
}

.isc-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
}

.isc-table-row:last-child {
  border-bottom: 0;
}

.isc-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.isc-table-cell,
.isc-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.isc-table-cell strong,
.isc-primary-cell strong,
.isc-linked-row strong,
.isc-visual-card strong,
.isc-resolution-card strong,
.isc-timeline-row strong {
  font-size: 0.92rem;
}

.isc-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.isc-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.isc-severity-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.isc-linked-cell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.isc-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.isc-inspector-header,
.isc-section-head,
.isc-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.isc-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.isc-inspector-title > div {
  min-width: 0;
}

.isc-inspector-title h2,
.isc-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.isc-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--entry-accent-wash);
  color: var(--accent-strong);
}

.isc-owner-row,
.isc-source-card,
.isc-resolution-card,
.isc-linked-row,
.isc-action-button,
.isc-visual-card {
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.isc-owner-row,
.isc-linked-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.isc-owner-row > div,
.isc-linked-row > div,
.isc-timeline-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.isc-linked-row {
  color: inherit;
  text-decoration: none;
}

.isc-source-card,
.isc-resolution-card,
.isc-empty-inline {
  display: grid;
  gap: 6px;
}

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

.isc-visual-card {
  display: grid;
  gap: 8px;
  text-align: left;
}

.isc-visual-image {
  display: block;
  min-height: 82px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(120, 146, 170, 0.28), rgba(212, 221, 231, 0.12));
}

.isc-visual-card[data-variant="drainage"] .isc-visual-image {
  background: linear-gradient(135deg, rgba(132, 96, 67, 0.35), rgba(230, 210, 178, 0.18));
}

.isc-visual-card[data-variant="drawing"] .isc-visual-image {
  background: linear-gradient(135deg, rgba(111, 140, 174, 0.28), rgba(215, 226, 240, 0.16));
}

.isc-visual-card[data-variant="site"] .isc-visual-image {
  background: linear-gradient(135deg, rgba(164, 140, 118, 0.28), rgba(228, 219, 205, 0.16));
}

.isc-timeline-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.isc-bottom-actions {
  justify-content: flex-start;
}

.isc-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

.isc-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.isc-footer-copy a {
  text-decoration: none;
}

.isc-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
}

.isc-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: var(--entry-soft-surface);
}

@media (max-width: 1560px) {
  .isc-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .isc-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .isc-kpi-grid,
  .isc-toolbar,
  .isc-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .isc-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .isc-kpi-grid,
  .isc-toolbar,
  .isc-visual-grid {
    grid-template-columns: 1fr;
  }

  .isc-table-head {
    display: none;
  }

  .isc-table-row {
    grid-template-columns: 1fr;
  }

  .isc-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.issues-coordination-page {
  --isc-surface: var(--pmis-surface-card);
  --isc-surface-muted: var(--pmis-surface-panel);
  --isc-surface-soft: var(--entry-soft-surface);
  --isc-line: var(--pmis-border-subtle);
  --isc-line-strong: var(--pmis-border-strong);
  --isc-accent: var(--pmis-info);
  --isc-accent-soft: var(--pmis-accent-soft);
  --isc-danger: var(--pmis-danger);
  --isc-warning: var(--pmis-warning);
  --isc-success: var(--pmis-success);
  display: grid;
  gap: 12px;
}

.issues-coordination-page .page-title-block,
.issues-coordination-page .pmis-page-header-copy {
  max-width: 820px;
}

.issues-coordination-page .page-title-block p,
.issues-coordination-page .pmis-page-header-copy p {
  max-width: 760px;
}

.issues-coordination-page .page-header,
.issues-coordination-page .pmis-page-header {
  align-items: start;
}

.issues-coordination-page .page-kicker {
  color: var(--pmis-text-tertiary);
}

.isc-inline-icon,
.isc-kpi-icon,
.isc-linked-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
  flex: none;
}

.isc-inline-icon svg,
.isc-kpi-icon svg,
.isc-linked-icon svg,
.isc-icon-button svg {
  width: 100%;
  height: 100%;
}

.isc-header-actions,
.isc-chip-row,
.isc-footer-copy,
.isc-footer-status {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.isc-header-actions {
  justify-self: end;
}

.isc-primary-button,
.isc-secondary-button,
.isc-add-filter-button,
.isc-action-button,
.isc-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
  color: var(--text);
  font: inherit;
  font-size: 0.78rem;
  text-decoration: none;
}

.isc-primary-button {
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
  font-weight: 600;
}

.isc-icon-button {
  width: 32px;
  min-width: 32px;
  padding: 0;
}

.isc-primary-button:hover,
.isc-secondary-button:hover,
.isc-add-filter-button:hover,
.isc-action-button:hover,
.isc-icon-button:hover,
.isc-tab:hover,
.isc-explorer-item:hover,
.isc-linked-row:hover {
  border-color: var(--isc-line-strong);
}

.isc-primary-button:disabled,
.isc-secondary-button:disabled,
.isc-add-filter-button:disabled,
.isc-action-button:disabled,
.isc-icon-button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.isc-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.isc-kpi-card,
.isc-explorer-panel,
.isc-center-panel,
.isc-inspector-panel,
.isc-toolbar,
.isc-table-shell,
.isc-footer-strip {
  border-radius: 16px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface);
  box-shadow: none;
}

.isc-kpi-card {
  display: grid;
  gap: 10px;
  min-height: 64px;
  padding: 12px 14px;
}

.isc-kpi-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.isc-kpi-icon {
  width: 18px;
  height: 18px;
}

.isc-kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--isc-success);
  font-size: 0.76rem;
  font-weight: 600;
}

.isc-kpi-delta.is-muted {
  color: var(--muted);
}

.isc-kpi-copy {
  display: grid;
  gap: 3px;
}

.isc-kpi-copy strong {
  font-size: 1.38rem;
  line-height: 1;
}

.isc-kpi-copy span,
.isc-panel-head p,
.isc-panel-head .page-kicker,
.isc-explorer-group-label,
.isc-table-head,
.isc-table-cell small,
.isc-primary-cell small,
.isc-context-row span,
.isc-source-card small,
.isc-resolution-row span,
.isc-linked-row small,
.isc-assignment-card small,
.isc-assignment-label,
.isc-footer-copy,
.isc-footer-copy a,
.isc-footer-status,
.isc-empty-state span {
  color: var(--muted);
}

.isc-tab-row {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.isc-tab {
  min-height: 28px;
  padding: 0 12px;
  border-radius: 9px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
  color: var(--text);
  font: inherit;
  font-size: 0.75rem;
  white-space: nowrap;
}

.isc-tab.is-active {
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
  box-shadow: inset 0 0 0 1px var(--isc-line);
}

.isc-workspace {
  display: grid;
  grid-template-columns: 162px minmax(0, 1fr) 316px;
  gap: 12px;
  align-items: start;
}

.isc-explorer-panel,
.isc-center-panel,
.isc-inspector-panel {
  padding: 12px;
}

.isc-explorer-panel,
.isc-explorer-nav,
.isc-explorer-group,
.isc-explorer-items,
.isc-center-panel,
.isc-inspector-panel,
.isc-inspector-section {
  display: grid;
  gap: 10px;
  align-content: start;
}

.isc-panel-head {
  display: grid;
  gap: 2px;
}

.isc-panel-head h2,
.isc-inspector-title-block h2 {
  margin: 0;
  font-size: 1.08rem;
}

.isc-panel-head p {
  margin: 0;
  font-size: 0.77rem;
}

.isc-explorer-group {
  gap: 6px;
}

.isc-explorer-group-label,
.isc-table-head {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.isc-explorer-items {
  gap: 4px;
}

.isc-explorer-item {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 9px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 0.77rem;
}

.isc-explorer-item strong {
  font-size: 0.75rem;
  font-weight: 600;
}

.isc-explorer-label {
  min-width: 0;
  text-align: left;
}

.isc-explorer-item.is-active {
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
  box-shadow: inset 0 0 0 1px var(--isc-line);
}

.isc-center-panel {
  gap: 10px;
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.isc-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(0, 0.84fr)) auto auto auto;
  gap: 8px;
  padding: 12px;
}

.isc-search-field,
.isc-filter-select {
  min-height: 32px;
  border-radius: 9px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
  color: var(--text);
}

.isc-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
}

.isc-search-field input,
.isc-filter-select {
  width: 100%;
  min-height: 32px;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 0.76rem;
}

.isc-filter-select {
  padding: 0 10px;
}

.isc-filter-select:focus,
.isc-search-field input:focus {
  outline: none;
}

.isc-chip,
.isc-status-badge,
.isc-severity-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
  font-size: 0.7rem;
  white-space: nowrap;
}

.isc-status-badge.is-info {
  color: var(--isc-accent);
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
}

.isc-status-badge.is-danger {
  color: var(--isc-danger);
  border-color: var(--isc-line-strong);
  background: var(--isc-surface-soft);
}

.isc-status-badge.is-warning {
  color: var(--isc-warning);
  border-color: var(--isc-line-strong);
  background: var(--isc-surface-soft);
}

.isc-status-badge.is-success {
  color: var(--isc-success);
  border-color: var(--isc-line-strong);
  background: var(--isc-surface-soft);
}

.isc-severity-chip.is-danger {
  color: var(--isc-danger);
  border-color: var(--isc-line-strong);
  background: var(--isc-surface-soft);
}

.isc-severity-chip.is-warning {
  color: var(--isc-warning);
  border-color: var(--isc-line-strong);
  background: var(--isc-surface-soft);
}

.isc-table-shell {
  overflow: hidden;
}

.isc-table-head,
.isc-table-row {
  display: grid;
  grid-template-columns: 0.68fr 2.45fr 1.02fr 1.44fr 1.18fr 1.18fr 0.78fr 1.28fr 1.08fr 0.74fr;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.isc-table-head {
  min-height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid var(--isc-line);
  background: var(--entry-soft-surface-strong);
}

.isc-table-body {
  display: grid;
}

.isc-table-row {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--isc-line);
  background: transparent;
  text-align: left;
  font: inherit;
  color: var(--text);
}

.isc-table-row:last-child {
  border-bottom: 0;
}

.isc-table-row.is-compact {
  min-height: 42px;
}

.isc-table-row:hover,
.isc-table-row.is-selected {
  background: var(--isc-accent-soft);
}

.isc-table-row.is-selected {
  box-shadow: inset 2px 0 0 var(--isc-accent);
}

.isc-table-cell,
.isc-primary-cell {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.isc-table-cell strong,
.isc-primary-cell strong,
.isc-linked-row strong,
.isc-resolution-row strong,
.isc-context-row strong,
.isc-assignment-card strong {
  font-size: 0.75rem;
  line-height: 1.35;
}

.isc-primary-cell strong {
  font-size: 0.77rem;
}

.isc-person-inline {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.isc-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
  font-size: 0.67rem;
  font-weight: 700;
}

.isc-person-inline > span,
.isc-linked-row > div {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.isc-severity-stack {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.isc-linked-cell {
  min-width: 0;
}

.isc-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 0 14px;
  border-top: 1px solid var(--isc-line);
  color: var(--muted);
  font-size: 0.75rem;
}

.isc-pagination {
  display: flex;
  align-items: center;
  gap: 6px;
}

.isc-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
  color: var(--text);
  font: inherit;
  font-size: 0.75rem;
}

.isc-page-button.is-active {
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
}

.isc-page-ellipsis {
  color: var(--muted);
  font-size: 0.75rem;
}

.isc-inspector-panel {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.isc-inspector-header,
.isc-section-head,
.isc-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.isc-inspector-title-block {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.isc-inspector-title-block .page-kicker {
  color: var(--muted);
}

.isc-inspector-title-block h2 {
  overflow-wrap: anywhere;
}

.isc-inspector-tools {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

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

.isc-assignment-card,
.isc-source-card,
.isc-linked-row,
.isc-action-button,
.isc-context-row,
.isc-resolution-row {
  border-radius: 12px;
  border: 1px solid var(--isc-line);
  background: var(--isc-surface-soft);
}

.isc-assignment-card {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 10px;
}

.isc-assignment-card > div,
.isc-context-row,
.isc-resolution-row {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.isc-assignment-label {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.isc-section-head strong {
  font-size: 0.82rem;
}

.isc-section-head span {
  color: var(--muted);
  font-size: 0.72rem;
}

.isc-context-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.isc-context-row,
.isc-resolution-row {
  padding: 10px;
}

.isc-source-card {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.isc-linked-list {
  gap: 6px;
}

.isc-linked-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  color: inherit;
  text-decoration: none;
}

.isc-linked-row > .isc-inline-icon:last-child {
  color: var(--muted);
}

.isc-linked-icon {
  color: var(--isc-accent);
}

.isc-resolution-grid {
  display: grid;
  gap: 6px;
}

.isc-bottom-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.isc-action-button {
  justify-content: flex-start;
  padding: 0 10px;
}

.isc-action-button.is-strong {
  border-color: var(--isc-line-strong);
  background: var(--isc-accent-soft);
  color: var(--isc-accent);
}

.isc-bottom-actions .isc-icon-button {
  justify-self: start;
}

.isc-footer-strip {
  min-height: 38px;
  padding: 0 14px;
}

.isc-footer-copy {
  flex-wrap: wrap;
  font-size: 0.74rem;
}

.isc-footer-copy a {
  text-decoration: none;
}

.isc-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--isc-success);
}

.isc-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  border: 1px dashed var(--isc-line);
  background: var(--isc-surface-soft);
}

@media (max-width: 1500px) {
  .isc-workspace {
    grid-template-columns: 156px minmax(0, 1fr) 300px;
  }

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

@media (max-width: 1280px) {
  .isc-workspace {
    grid-template-columns: 1fr;
  }

  .isc-inspector-panel {
    position: static;
  }

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

  .isc-context-grid,
  .isc-assignment-grid,
  .isc-bottom-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .isc-table-head {
    display: none;
  }

  .isc-table-cell::before,
  .isc-primary-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .isc-table-row {
    grid-template-columns: 1fr;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .isc-table-footer,
  .isc-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media (max-width: 760px) {
  .isc-header-actions,
  .isc-kpi-grid,
  .isc-toolbar,
  .isc-context-grid,
  .isc-assignment-grid,
  .isc-bottom-actions {
    grid-template-columns: 1fr;
  }

  .isc-header-actions {
    justify-self: stretch;
  }
}

.decisions-action-items-page {
  display: grid;
  gap: 14px;
}

.dai-header {
  min-width: 0;
}

.dai-header-actions,
.dai-context-chip-row,
.dai-chip-row,
.dai-bottom-actions,
.dai-footer-copy,
.dai-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dai-header-actions,
.dai-bottom-actions {
  flex-wrap: wrap;
}

.dai-primary-button,
.dai-secondary-button,
.dai-add-filter-button,
.dai-action-button {
  gap: 8px;
}

.dai-primary-button {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.dai-icon-button {
  color: var(--pmis-text-primary);
}

.dai-kpi-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.dai-kpi-card,
.dai-explorer-panel,
.dai-center-panel,
.dai-inspector-panel {
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  color: var(--pmis-text-primary);
}

.dai-kpi-card {
  gap: 4px;
  padding: 14px 16px;
}

.dai-inline-icon,
.dai-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.dai-kpi-card strong {
  font-size: 1.4rem;
}

.dai-kpi-card span,
.dai-panel-head p,
.dai-table-cell small,
.dai-owner-row small,
.dai-detail-card,
.dai-detail-row,
.dai-footer-copy,
.dai-footer-copy a,
.dai-footer-status,
.dai-empty-state span,
.dai-empty-inline,
.dai-source-card small,
.dai-blocker-row {
  color: var(--pmis-text-secondary);
}

.dai-tab-row {
  overflow-x: auto;
}

.dai-tab {
  white-space: nowrap;
}

.dai-tab.is-active,
.dai-explorer-item.is-active,
.dai-table-row:hover,
.dai-table-row.is-selected {
  background: var(--entry-soft-surface-strong, var(--pmis-accent-soft));
  border-color: var(--pmis-border-strong);
}

.dai-workspace {
  grid-template-columns: 228px minmax(0, 1fr) 356px;
  gap: 14px;
  align-items: start;
}

.dai-panel-head,
.dai-explorer-nav,
.dai-toolbar,
.dai-inspector-section,
.dai-blocker-list {
  display: grid;
  gap: 12px;
}

.dai-panel-head h2,
.dai-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.dai-explorer-group {
  display: grid;
  gap: 8px;
}

.dai-explorer-group-label,
.dai-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.dai-explorer-items {
  display: grid;
  gap: 8px;
}

.dai-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.dai-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

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

.dai-toolbar {
  grid-template-columns: minmax(240px, 1.35fr) repeat(4, minmax(120px, 0.85fr)) auto minmax(120px, 0.75fr) minmax(150px, 0.8fr) minmax(136px, 0.75fr) auto;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.dai-search-field,
.dai-filter-select {
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.dai-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.dai-search-field input,
.dai-filter-select {
  width: 100%;
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.dai-filter-select {
  padding: 0 12px;
}

.dai-filter-control {
  min-width: 0;
}

.dai-sort-control,
.dai-density-control {
  min-width: 140px;
}

.dai-context-chip,
.dai-chip,
.dai-status-badge,
.dai-kind-badge,
.dai-priority-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  font-size: 0.78rem;
}

.dai-kind-badge.is-warning {
  color: var(--pmis-warning);
}

.dai-kind-badge.is-info {
  color: var(--pmis-info);
}

.dai-status-badge.is-info {
  color: var(--pmis-info);
}

.dai-status-badge.is-danger {
  color: var(--pmis-danger);
}

.dai-status-badge.is-warning {
  color: var(--pmis-warning);
}

.dai-status-badge.is-success {
  color: var(--pmis-success);
}

.dai-priority-chip.is-danger {
  color: var(--pmis-danger);
}

.dai-priority-chip.is-warning {
  color: var(--pmis-warning);
}

.dai-table-shell {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.dai-table-head,
.dai-table-row {
  padding: 12px 14px;
}

.dai-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.dai-table-body {
  display: grid;
}

.dai-table-row {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.dai-table-row:last-child {
  border-bottom: 0;
}

.dai-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.dai-table-cell,
.dai-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.dai-primary-cell small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dai-table-cell strong,
.dai-primary-cell strong,
.dai-source-card strong,
.dai-blocker-row {
  font-size: 0.92rem;
}

.dai-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.dai-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  font-size: 0.72rem;
  font-weight: 700;
}

.dai-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.dai-inspector-header,
.dai-section-head,
.dai-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dai-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.dai-inspector-title > div {
  min-width: 0;
}

.dai-inspector-title h2,
.dai-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.dai-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.dai-owner-row,
.dai-detail-card,
.dai-source-card,
.dai-blocker-row,
.dai-action-button {
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.dai-owner-row,
.dai-source-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dai-owner-row > div,
.dai-source-card > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.dai-owner-row {
  justify-content: flex-start;
}

.dai-owner-row .dai-chip {
  margin-left: auto;
}

.dai-source-card {
  color: inherit;
  text-decoration: none;
}

.dai-detail-card,
.dai-empty-inline {
  display: grid;
  gap: 6px;
}

.dai-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.dai-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.dai-footer-copy a {
  text-decoration: none;
}

.dai-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pmis-success);
}

.dai-empty-state {
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

@media (max-width: 1560px) {
  .dai-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .dai-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .dai-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .dai-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .dai-kpi-grid,
  .dai-toolbar {
    grid-template-columns: 1fr;
  }

  .dai-table-head {
    display: none;
  }

  .dai-table-row {
    grid-template-columns: 1fr;
  }

  .dai-table-cell {
    padding: 8px;
    border: 1px solid var(--pmis-border-subtle);
    border-radius: 10px;
    background: var(--entry-soft-surface);
  }

  .dai-table-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .dai-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.deficiencies-punch-page {
  display: grid;
  gap: 14px;
}

.dfp-header-actions,
.dfp-context-chip-row,
.dfp-chip-row,
.dfp-evidence-actions,
.dfp-bottom-actions,
.dfp-footer-copy,
.dfp-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dfp-header-actions,
.dfp-context-chip-row,
.dfp-bottom-actions,
.dfp-evidence-actions {
  flex-wrap: wrap;
}

.dfp-primary-button,
.dfp-secondary-button,
.dfp-action-button {
  gap: 8px;
}

.dfp-icon-button {
  flex: 0 0 auto;
}

.dfp-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.dfp-kpi-card,
.dfp-explorer-panel,
.dfp-center-panel,
.dfp-inspector-panel {
  border-radius: var(--radius-card);
  background: var(--pmis-surface-card);
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.dfp-kpi-card {
  display: grid;
  gap: 4px;
}

.dfp-inline-icon,
.dfp-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.dfp-kpi-card strong {
  font-size: 1.4rem;
}

.dfp-kpi-card span,
.dfp-panel-head p,
.dfp-table-cell small,
.dfp-owner-row small,
.dfp-footer-copy,
.dfp-footer-copy a,
.dfp-footer-status,
.dfp-empty-state span,
.dfp-empty-inline,
.dfp-resolution-card small {
  color: var(--pmis-text-secondary);
}

.dfp-tab-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.dfp-tab {
  white-space: nowrap;
}

.dfp-tab.is-active,
.dfp-explorer-item.is-active,
.dfp-table-row:hover,
.dfp-table-row.is-selected,
.dfp-map-pin.is-selected,
.dfp-area-card:hover {
  background: var(--pmis-accent-soft);
  border-color: var(--pmis-border-strong);
}

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

.dfp-explorer-panel,
.dfp-center-panel,
.dfp-inspector-panel {
  padding: 18px;
}

.dfp-panel-head,
.dfp-explorer-nav,
.dfp-toolbar,
.dfp-inspector-section,
.dfp-area-grid,
.dfp-spatial-shell {
  display: grid;
  gap: 12px;
}

.dfp-panel-head h2,
.dfp-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.dfp-explorer-group {
  display: grid;
  gap: 8px;
}

.dfp-explorer-group-label,
.dfp-table-head {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-tertiary);
}

.dfp-explorer-items {
  display: grid;
  gap: 8px;
}

.dfp-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.dfp-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

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

.dfp-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) repeat(6, minmax(0, 0.9fr)) auto;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  align-items: center;
}

.dfp-filter-control,
.dfp-sort-control,
.dfp-density-control,
.dfp-plan-select-control,
.dfp-model-select-control {
  min-width: 0;
}

.dfp-search-field,
.dfp-filter-select {
  min-height: 40px;
  color: var(--pmis-text-primary);
}

.dfp-search-field {
  gap: 10px;
}

.dfp-search-field input,
.dfp-filter-select {
  width: 100%;
}

.dfp-context-chip,
.dfp-chip,
.dfp-status-badge {
  font-size: 0.78rem;
}

.dfp-status-badge.is-danger {
  color: var(--pmis-danger);
}

.dfp-status-badge.is-warning {
  color: var(--pmis-warning);
}

.dfp-status-badge.is-success {
  color: var(--pmis-success);
}

.dfp-table-shell {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.dfp-table-head,
.dfp-table-row {
  display: grid;
  grid-template-columns: 0.7fr 2.1fr 1.1fr 1.2fr 1.1fr 1.3fr 1fr 0.8fr 0.85fr 0.85fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.dfp-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.dfp-table-body {
  display: grid;
}

.dfp-table-row {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
  color: var(--pmis-text-primary);
}

.dfp-table-row:last-child {
  border-bottom: 0;
}

.dfp-table-row.is-compact {
  padding-top: 9px;
  padding-bottom: 9px;
}

.dfp-table-cell,
.dfp-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.dfp-table-cell strong,
.dfp-primary-cell strong,
.dfp-evidence-card strong,
.dfp-resolution-card strong {
  font-size: 0.92rem;
}

.dfp-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.dfp-avatar {
  width: 24px;
  height: 24px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary);
  font-size: 0.72rem;
}

.dfp-spatial-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.dfp-plan-canvas,
.dfp-model-canvas {
  position: relative;
  min-height: 380px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--pmis-accent-soft) 62%, var(--pmis-surface-panel) 38%) 0%,
    var(--pmis-surface-panel) 100%
  );
  overflow: hidden;
}

.dfp-plan-canvas::before {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px dashed color-mix(in srgb, var(--pmis-border-subtle) 80%, transparent);
  background-image:
    linear-gradient(color-mix(in srgb, var(--pmis-border-subtle) 80%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pmis-border-subtle) 80%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
}

.dfp-map-pin {
  position: absolute;
  z-index: 1;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-strong);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.dfp-model-canvas {
  display: grid;
  place-items: center;
  gap: 16px;
  padding: 18px;
}

.dfp-model-stage {
  position: relative;
  width: 180px;
  height: 180px;
}

.dfp-model-orbit,
.dfp-model-orbit.is-secondary {
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  border: 1px dashed var(--pmis-border-subtle);
}

.dfp-model-orbit.is-secondary {
  inset: 34px;
}

.dfp-model-cube {
  position: absolute;
  inset: 52px;
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pmis-info) 32%, var(--pmis-surface-card) 68%),
    color-mix(in srgb, var(--pmis-accent-soft) 72%, var(--pmis-surface-panel) 28%)
  );
  border: 1px solid var(--pmis-border-strong);
  box-shadow: var(--surface-shadow);
}

.dfp-model-summary {
  color: var(--pmis-text-secondary);
  font-size: 0.88rem;
  text-align: center;
}

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

.dfp-area-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  text-align: left;
  color: var(--pmis-text-primary);
}

.dfp-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.dfp-inspector-header,
.dfp-section-head,
.dfp-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dfp-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.dfp-inspector-title > div {
  min-width: 0;
}

.dfp-inspector-title h2,
.dfp-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.dfp-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.dfp-owner-row,
.dfp-due-row,
.dfp-resolution-card,
.dfp-evidence-card {
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.dfp-owner-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dfp-owner-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

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

.dfp-evidence-card {
  display: grid;
  gap: 8px;
  text-align: left;
}

.dfp-evidence-image {
  display: block;
  min-height: 84px;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pmis-accent-soft) 68%, var(--pmis-surface-panel) 32%),
    color-mix(in srgb, var(--entry-soft-surface-strong) 72%, var(--pmis-surface-panel) 28%)
  );
}

.dfp-evidence-card[data-variant="photo"] .dfp-evidence-image {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pmis-warning) 30%, var(--pmis-surface-card) 70%),
    color-mix(in srgb, var(--pmis-accent-soft) 62%, var(--pmis-surface-panel) 38%)
  );
}

.dfp-evidence-card[data-variant="plan"] .dfp-evidence-image {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pmis-info) 28%, var(--pmis-surface-card) 72%),
    color-mix(in srgb, var(--pmis-accent-soft) 58%, var(--pmis-surface-panel) 42%)
  );
}

.dfp-evidence-card[data-variant="model"] .dfp-evidence-image {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pmis-success) 24%, var(--pmis-surface-card) 76%),
    color-mix(in srgb, var(--pmis-accent-soft) 56%, var(--pmis-surface-panel) 44%)
  );
}

.dfp-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.dfp-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.dfp-footer-copy a {
  text-decoration: none;
  color: inherit;
}

.dfp-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pmis-success);
}

.dfp-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.dfp-empty-inline {
  padding: 14px;
}

@media (max-width: 1560px) {
  .dfp-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .dfp-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .dfp-kpi-grid,
  .dfp-toolbar,
  .dfp-area-grid,
  .dfp-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dfp-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .dfp-kpi-grid,
  .dfp-toolbar,
  .dfp-area-grid,
  .dfp-evidence-grid {
    grid-template-columns: 1fr;
  }

  .dfp-table-head {
    display: none;
  }

  .dfp-table-row {
    grid-template-columns: 1fr;
  }

  .dfp-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.ncr-quality-page {
  display: grid;
  gap: 14px;
}

.ncr-header-actions,
.ncr-context-chip-row,
.ncr-chip-row,
.ncr-action-row,
.ncr-bottom-actions,
.ncr-footer-copy,
.ncr-footer-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ncr-header-actions,
.ncr-context-chip-row,
.ncr-action-row,
.ncr-bottom-actions {
  flex-wrap: wrap;
}

.ncr-primary-button,
.ncr-secondary-button,
.ncr-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  text-decoration: none;
}

.ncr-primary-button {
  border-color: var(--pmis-info);
  background: var(--pmis-info);
  color: var(--pmis-surface-card);
}

.ncr-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  min-height: 38px;
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.ncr-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.ncr-kpi-card,
.ncr-explorer-panel,
.ncr-center-panel,
.ncr-inspector-panel {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-card);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow);
}

.ncr-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.ncr-inline-icon,
.ncr-kpi-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.ncr-kpi-card strong {
  font-size: 1.4rem;
}

.ncr-kpi-card span,
.ncr-panel-head p,
.ncr-table-cell small,
.ncr-owner-row small,
.ncr-requirement-card small,
.ncr-corrective-card,
.ncr-footer-copy,
.ncr-footer-copy a,
.ncr-footer-status,
.ncr-empty-state span,
.ncr-empty-inline,
.ncr-evidence-card small,
.ncr-source-link {
  color: var(--pmis-text-secondary);
}

.ncr-tab-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.ncr-tab {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-pill, 999px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
}

.ncr-tab.is-active,
.ncr-explorer-item.is-active,
.ncr-table-row:hover,
.ncr-table-row.is-selected {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

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

.ncr-explorer-panel,
.ncr-center-panel,
.ncr-inspector-panel {
  padding: 18px;
}

.ncr-panel-head,
.ncr-explorer-nav,
.ncr-toolbar,
.ncr-inspector-section,
.ncr-source-links,
.ncr-evidence-grid {
  display: grid;
  gap: 12px;
}

.ncr-panel-head h2,
.ncr-inspector-title h2 {
  margin: 0;
  font-size: 1.1rem;
}

.ncr-explorer-group {
  display: grid;
  gap: 8px;
}

.ncr-explorer-group-label,
.ncr-table-head {
  color: var(--pmis-text-secondary);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ncr-explorer-items {
  display: grid;
  gap: 8px;
}

.ncr-explorer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.ncr-explorer-label {
  flex: 1 1 auto;
  text-align: left;
}

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

.ncr-toolbar {
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(0, 0.9fr)) auto auto auto auto;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.ncr-search-field,
.ncr-filter-select {
  min-height: 40px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.ncr-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.ncr-search-field input,
.ncr-filter-select {
  width: 100%;
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.ncr-filter-select {
  padding: 0 12px;
}

.ncr-context-chip,
.ncr-scope-chip,
.ncr-chip,
.ncr-status-badge,
.ncr-severity-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-pill, 999px);
  background: var(--entry-soft-surface);
  font-size: 0.78rem;
}

.ncr-status-badge.is-danger,
.ncr-severity-chip.is-danger {
  color: var(--pmis-danger);
}

.ncr-status-badge.is-warning,
.ncr-severity-chip.is-warning {
  color: var(--pmis-warning);
}

.ncr-status-badge.is-success,
.ncr-severity-chip.is-success {
  color: var(--pmis-success);
}

.ncr-status-badge.is-info,
.ncr-severity-chip.is-info {
  color: var(--pmis-info);
}

.ncr-table-shell {
  overflow: hidden;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-surface-card);
}

.ncr-table-head,
.ncr-table-row {
  display: grid;
  grid-template-columns: var(--pmis-record-table-columns, 0.8fr 2.2fr 1.1fr 0.9fr 1fr 1.2fr 1.5fr 0.85fr 0.85fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.ncr-table-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.ncr-table-body {
  display: grid;
}

.ncr-table-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.ncr-table-row:last-child {
  border-bottom: 0;
}

.ncr-table-row.is-compact {
  min-height: var(--pmis-row-height-sm);
  padding-top: 9px;
  padding-bottom: 9px;
}

.ncr-table-row.is-comfortable {
  min-height: var(--pmis-row-height-md);
}

.ncr-table-cell,
.ncr-primary-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ncr-table-cell strong,
.ncr-primary-cell strong,
.ncr-requirement-card strong,
.ncr-evidence-card strong,
.ncr-corrective-card strong {
  font-size: 0.92rem;
}

.ncr-person-inline {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.ncr-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--pmis-border-strong);
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
  font-size: 0.72rem;
  font-weight: 700;
}

.ncr-inspector-panel {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
  min-width: 0;
}

.ncr-inspector-header,
.ncr-section-head,
.ncr-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ncr-inspector-title {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.ncr-inspector-title > div {
  min-width: 0;
}

.ncr-inspector-title h2,
.ncr-inspector-title .page-kicker {
  overflow-wrap: anywhere;
}

.ncr-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-accent-soft);
  color: var(--pmis-info);
}

.ncr-owner-row,
.ncr-due-row,
.ncr-requirement-card,
.ncr-corrective-card,
.ncr-action-button,
.ncr-source-row,
.ncr-source-link,
.ncr-evidence-card {
  padding: 11px 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.ncr-owner-row,
.ncr-source-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ncr-owner-row > div,
.ncr-source-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ncr-detail-grid,
.ncr-requirement-card,
.ncr-corrective-card,
.ncr-empty-inline {
  display: grid;
  gap: 6px;
}

.ncr-detail-row {
  gap: 10px;
}

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

.ncr-evidence-card {
  display: grid;
  gap: 8px;
  color: var(--pmis-text-primary);
  text-align: left;
}

.ncr-evidence-image {
  display: block;
  min-height: 84px;
  border-radius: var(--radius-control-lg, 12px);
  background: linear-gradient(135deg, var(--pmis-accent-soft), var(--entry-soft-surface-strong, var(--pmis-surface-panel)));
}

.ncr-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ncr-source-link {
  color: inherit;
  text-decoration: none;
}

.ncr-footer-strip {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

.ncr-footer-copy {
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.ncr-footer-copy a {
  text-decoration: none;
}

.ncr-status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-success);
}

.ncr-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface);
}

body[data-ui-density="dense"] .ncr-toolbar,
body[data-ui-density="dense"] .ncr-inspector-panel,
body[data-ui-density="dense"] .ncr-explorer-nav,
body[data-ui-density="dense"] .ncr-evidence-grid {
  gap: 8px;
}

body[data-ui-density="compact"] .ncr-toolbar,
body[data-ui-density="compact"] .ncr-inspector-panel,
body[data-ui-density="compact"] .ncr-explorer-nav,
body[data-ui-density="compact"] .ncr-evidence-grid {
  gap: 10px;
}

body[data-ui-density="comfortable"] .ncr-toolbar,
body[data-ui-density="comfortable"] .ncr-inspector-panel,
body[data-ui-density="comfortable"] .ncr-explorer-nav,
body[data-ui-density="comfortable"] .ncr-evidence-grid {
  gap: 14px;
}

@media (max-width: 1560px) {
  .ncr-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .ncr-inspector-panel {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 1260px) {
  .ncr-kpi-grid,
  .ncr-toolbar,
  .ncr-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ncr-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .ncr-kpi-grid,
  .ncr-toolbar,
  .ncr-evidence-grid {
    grid-template-columns: 1fr;
  }

  .ncr-table-head {
    display: none;
  }

  .ncr-table-row {
    grid-template-columns: 1fr;
  }

  .ncr-table-cell {
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--pmis-border-subtle);
    border-radius: var(--radius-control, 8px);
    background: var(--entry-soft-surface);
  }

  .ncr-table-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .ncr-footer-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.filter-row {
  display: grid;
  gap: var(--space-2);
  width: 100%;
}

.project-list-shell {
  display: grid;
  gap: var(--space-3);
}

.projects-anchor-head {
  margin-bottom: 0;
}

.projects-anchor-copy {
  display: grid;
  gap: 4px;
}

.projects-anchor-copy h2 {
  font-size: 1.12rem;
}

.project-filter-row {
  padding-bottom: 4px;
}

.filter-chip {
  min-height: var(--control-height-sm);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
}

.filter-chip:hover {
  color: var(--text);
  border-color: var(--line-strong);
}

.project-list {
  display: grid;
  gap: 14px;
}

.project-row {
  min-width: 0;
}

.project-row--banner {
  --project-banner-surface: rgba(15, 24, 38, 0.96);
  --project-banner-surface-soft: rgba(15, 24, 38, 0.86);
  --project-banner-surface-clear: rgba(15, 24, 38, 0);
  --project-meta-divider: rgba(132, 195, 255, 0.28);
  --project-banner-vignette:
    linear-gradient(180deg, rgba(7, 14, 24, 0.04) 0%, rgba(7, 14, 24, 0.2) 100%),
    radial-gradient(circle at center, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 54%);
  --project-banner-button-shadow: 0 14px 30px rgba(7, 20, 34, 0.28);
  display: grid;
  grid-template-columns: 5px minmax(0, 1fr);
  min-height: 208px;
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(25, 40, 60, 0.98) 0%, rgba(16, 24, 36, 1) 100%);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  isolation: isolate;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body[data-theme="whites"] .project-row--banner {
  --project-banner-surface: rgba(255, 255, 255, 0.98);
  --project-banner-surface-soft: rgba(247, 250, 253, 0.9);
  --project-banner-surface-clear: rgba(247, 250, 253, 0);
  --project-meta-divider: rgba(116, 146, 174, 0.26);
  --project-banner-vignette:
    linear-gradient(180deg, rgba(14, 40, 68, 0.02) 0%, rgba(14, 40, 68, 0.14) 100%),
    radial-gradient(circle at center, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 52%);
  --project-banner-button-shadow: 0 14px 30px rgba(26, 97, 169, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(245, 249, 253, 1) 100%);
  box-shadow: 0 16px 30px rgba(123, 145, 166, 0.16);
}

body[data-theme="darkgreys"] .project-row--banner {
  --project-banner-surface: rgba(31, 33, 35, 0.98);
  --project-banner-surface-soft: rgba(31, 33, 35, 0.88);
  --project-banner-surface-clear: rgba(31, 33, 35, 0);
  --project-meta-divider: rgba(236, 239, 242, 0.18);
  --project-banner-vignette:
    linear-gradient(180deg, rgba(16, 17, 19, 0.08) 0%, rgba(16, 17, 19, 0.28) 100%),
    radial-gradient(circle at center, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 48%);
  background: linear-gradient(180deg, rgba(37, 39, 42, 0.98) 0%, rgba(24, 26, 28, 0.98) 100%);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.project-row--banner:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 46px rgba(0, 0, 0, 0.24);
}

body[data-theme="whites"] .project-row--banner:hover {
  box-shadow: 0 22px 40px rgba(123, 145, 166, 0.2);
}

.project-row-accent {
  align-self: stretch;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, rgba(132, 195, 255, 0.94) 0%, rgba(73, 132, 192, 0.88) 100%);
}

body[data-theme="whites"] .project-row-accent {
  background: linear-gradient(180deg, rgba(146, 175, 202, 0.94) 0%, rgba(116, 146, 174, 0.88) 100%);
}

.project-row-shell,
.project-row-content,
.project-row-media,
.project-row-copy {
  min-width: 0;
}

.project-row-shell {
  display: grid;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  min-height: 100%;
  position: relative;
}

.project-row-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: 30px 34px 30px 22px;
}

.project-row-identity {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
}

.project-row-copy {
  display: grid;
  align-content: center;
}

.project-monogram {
  width: 54px;
  height: 54px;
  flex: none;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(132, 195, 255, 0.18) 0%, rgba(132, 195, 255, 0.12) 100%);
  border: 1px solid rgba(132, 195, 255, 0.22);
  color: var(--accent-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

body[data-theme="whites"] .project-monogram {
  background: linear-gradient(180deg, rgba(233, 240, 247, 0.98) 0%, rgba(220, 230, 240, 0.94) 100%);
  border-color: rgba(116, 146, 174, 0.2);
}

.project-row-heading {
  min-width: 0;
}

.project-row-heading h3 {
  margin: 6px 0 0;
  font-size: clamp(1.3rem, 1vw + 1rem, 1.7rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.project-row .project-code {
  color: var(--muted);
  font-weight: 600;
  letter-spacing: 0.12em;
}

.project-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
  font-size: 0.98rem;
  line-height: 1.45;
}

.project-row-meta span + span {
  position: relative;
  padding-left: 18px;
}

.project-row-meta span + span::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--project-meta-divider);
  transform: translateY(-50%);
}

.project-status-line,
.project-inline-metrics,
.project-last-activity {
  margin-top: 4px;
  font-size: 0.95rem;
}

.project-status-line,
.project-last-activity {
  color: var(--muted);
}

.project-status-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot.is-positive {
  background: var(--success);
}

.status-dot.is-warning {
  background: var(--warning);
}

.status-dot.is-neutral {
  background: var(--muted);
}

.status-dot.is-info {
  background: var(--accent-strong);
}

.project-inline-metrics {
  color: var(--text);
  font-size: 1.03rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.project-last-activity {
  font-size: 0.94rem;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-height-xs);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(132, 195, 255, 0.14);
  color: var(--text);
  white-space: nowrap;
}

.count-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  margin-top: var(--space-2);
}

.count-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-control-gap);
  min-height: calc(32px * var(--ui-control-scale));
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.82rem;
}

.count-chip strong {
  font-size: 0.88rem;
}

.project-row-media {
  position: relative;
  min-height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 22px;
  overflow: hidden;
  isolation: isolate;
  background: var(--project-banner-fallback);
}

.project-row-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--project-banner-image), var(--project-banner-fallback);
  background-repeat: no-repeat;
  background-size: cover, cover;
  background-position: var(--project-banner-position), center;
  transform: scale(1);
  transform-origin: center;
  transition: transform 260ms ease;
}

.project-row-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--project-banner-vignette);
  z-index: 1;
  pointer-events: none;
}

.project-row-fade {
  position: absolute;
  inset: 0 auto 0 -1px;
  width: 38%;
  min-width: 132px;
  background: linear-gradient(
    90deg,
    var(--project-banner-surface) 0%,
    var(--project-banner-surface) 18%,
    var(--project-banner-surface-soft) 58%,
    var(--project-banner-surface-clear) 100%
  );
  z-index: 2;
  pointer-events: none;
}

.project-row-open {
  position: relative;
  z-index: 3;
  min-height: 42px;
  padding: 0 18px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, #1577d8 0%, #0f66c4 100%);
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: var(--project-banner-button-shadow);
}

body[data-theme="darkgreys"] .project-row-open {
  border-color: rgba(255, 255, 255, 0.12);
}

.project-row--banner:hover .project-row-media::before {
  transform: scale(1.03);
}

.projects-rail-panel {
  padding: 18px;
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.05);
  box-shadow: none;
}

body[data-theme="whites"] .projects-rail-panel {
  background: rgba(255, 255, 255, 0.46);
  border-color: rgba(42, 64, 88, 0.06);
}

.projects-rail-panel .section-heading {
  margin-bottom: var(--space-2);
}

.timeline-list .list-row {
  position: relative;
  padding-left: 18px;
}

.timeline-list .list-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-strong);
}

.timeline-list .list-row::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 28px;
  bottom: -12px;
  width: 1px;
  background: var(--line-soft);
}

.timeline-list .list-row:last-child::after {
  display: none;
}

.timeline-list .list-row-tag {
  color: var(--muted);
}

.cde-page-header .page-title-block {
  display: grid;
  gap: 6px;
}

.cde-page-header .page-title-block p {
  margin: 0;
  max-width: 920px;
  color: var(--muted);
}

.cde-workspace {
  display: grid;
  grid-template-columns: var(--cde-explorer-width) minmax(0, 1fr) var(--cde-details-width);
  width: 100%;
  min-height: var(--cde-workspace-min-height);
  border-radius: var(--cde-workspace-radius);
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.02);
}

.cde-explorer-pane,
.cde-center-pane,
.cde-details-pane {
  min-width: 0;
}

.cde-explorer-pane {
  padding: var(--cde-pane-padding-lg) var(--cde-pane-padding-md);
  border-right: 1px solid var(--line-soft);
  background: rgba(9, 16, 27, 0.6);
  display: grid;
  gap: calc(18px * var(--ui-space-scale));
  align-content: start;
}

body[data-theme="whites"] .cde-explorer-pane {
  background: rgba(245, 248, 252, 0.9);
}

.cde-center-pane {
  padding: var(--cde-pane-padding-sm);
  display: grid;
  gap: var(--cde-pane-gap);
  align-content: start;
  background: rgba(255, 255, 255, 0.015);
}

.cde-content-layout,
.cde-records-column {
  display: grid;
  min-width: 0;
}

.cde-details-pane {
  padding: var(--cde-pane-padding-sm);
  border-left: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  display: grid;
  gap: var(--cde-pane-gap);
  align-content: start;
}

body[data-theme="whites"] .cde-details-pane {
  background: rgba(255, 255, 255, 0.62);
}

.cde-pane-head {
  display: grid;
  gap: 6px;
}

.cde-pane-head h2 {
  margin: 0;
  font-size: 1.08rem;
}

.cde-pane-head p,
.cde-pane-note span,
.cde-pane-note small {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.cde-explorer-nav,
.cde-detail-section {
  display: grid;
  gap: var(--space-2);
}

.cde-explorer-group {
  display: grid;
  gap: var(--space-1);
}

.cde-explorer-group + .cde-explorer-group {
  padding-top: calc(6px * var(--ui-space-scale));
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

body[data-theme="whites"] .cde-explorer-group + .cde-explorer-group {
  border-top-color: rgba(31, 52, 73, 0.06);
}

.cde-explorer-group-items {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
}

.cde-explorer-group-label {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  padding-left: calc(6px * var(--ui-space-scale));
}

.cde-explorer-item,
.cde-thumbnail,
.cde-table-row {
  font: inherit;
}

.cde-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  width: 100%;
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-control);
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  text-align: left;
}

.cde-explorer-item-copy {
  min-width: 0;
  display: grid;
}

.cde-explorer-item-label {
  min-width: 0;
  font-size: 0.9rem;
  font-weight: 600;
}

.cde-explorer-item-count {
  min-width: calc(28px * var(--ui-control-scale));
  padding: 2px calc(7px * var(--ui-space-scale));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font-size: 0.74rem;
  text-align: center;
}

.cde-explorer-item:hover,
.cde-explorer-item.is-active {
  color: var(--text);
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.12);
  box-shadow: inset 2px 0 0 rgba(132, 195, 255, 0.8);
}

.cde-subhead {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.cde-pane-note {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  padding: var(--panel-padding-md);
  border-radius: var(--radius-control-lg);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line-soft);
  margin-top: auto;
}

.cde-topbar {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: calc(8px * var(--ui-space-scale)) var(--control-padding-inline-sm);
  border-radius: var(--radius-control);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body[data-theme="whites"] .cde-topbar {
  background: rgba(255, 255, 255, 0.78);
}

.cde-topbar.is-attention {
  border-color: rgba(201, 162, 84, 0.34);
  background: rgba(201, 162, 84, 0.06);
}

.cde-topbar-identity {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  min-width: 0;
  flex: 0 1 auto;
}

.cde-topbar-identity h1 {
  margin: 0;
  min-width: 0;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cde-topbar-helper {
  min-width: 0;
  max-width: calc(180px * var(--ui-panel-scale));
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cde-topbar-actions,
.cde-review-actions,
.cde-action-grid.is-compact {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.cde-topbar-control-shell {
  display: flex;
  gap: calc(6px * var(--ui-space-scale));
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}

.cde-topbar-side,
.cde-topbar-actions {
  min-width: 0;
}

.cde-topbar-side {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  justify-content: flex-end;
  flex: 0 1 auto;
}

.cde-topbar-actions {
  gap: calc(4px * var(--ui-space-scale));
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.cde-filter-search,
.cde-filter-field {
  display: grid;
  gap: calc(3px * var(--ui-space-scale));
  align-self: end;
}

.cde-topbar-control-shell .cde-filter-search,
.cde-topbar-control-shell .cde-filter-field {
  gap: 0;
  align-self: auto;
  min-width: 0;
}

.cde-topbar-control-shell .cde-filter-search {
  flex: 1 1 calc(200px * var(--ui-panel-scale));
  min-width: calc(160px * var(--ui-panel-scale));
}

.cde-topbar-control-shell .cde-filter-field {
  flex: 0 1 calc(104px * var(--ui-panel-scale));
}

.cde-topbar-control-shell .cde-filter-field.is-toolbar-narrow {
  flex-basis: calc(96px * var(--ui-panel-scale));
}

.cde-topbar-control-shell .cde-topbar-field {
  flex: 0 0 auto;
}

.cde-topbar-control-shell .cde-filter-search span,
.cde-topbar-control-shell .cde-filter-field > span {
  display: none;
}

.cde-filter-search span,
.cde-filter-field span {
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.cde-filter-search input,
.cde-filter-field select {
  width: 100%;
  min-height: var(--cde-control-height);
  padding: 0 calc(9px * var(--ui-space-scale));
  border-radius: var(--cde-control-radius);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  font-size: 0.82rem;
}

.cde-filter-search input::placeholder {
  color: var(--muted);
}

.cde-topbar-control-shell .cde-filter-search input,
.cde-topbar-control-shell .cde-filter-field select {
  min-height: var(--cde-control-height-compact);
  padding: 0 calc(8px * var(--ui-space-scale));
  border-radius: calc(7px * var(--ui-control-scale));
  font-size: 0.78rem;
}

.cde-view-mode-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(3px * var(--ui-space-scale));
  padding: 2px;
  border-radius: calc(10px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-topbar-field-view .cde-view-mode-toggle {
  min-width: calc(104px * var(--ui-panel-scale));
}

.cde-view-mode-button {
  min-height: calc(28px * var(--ui-control-scale));
  padding: 0 calc(9px * var(--ui-space-scale));
  border: 1px solid transparent;
  border-radius: calc(7px * var(--ui-control-scale));
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.78rem;
}

.cde-view-mode-button.is-active {
  color: var(--text);
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.12);
}

.cde-view-mode-button:disabled {
  opacity: 0.42;
  cursor: default;
}

.cde-topbar-field {
  min-width: 0;
}

.cde-topbar-action {
  min-height: var(--cde-control-height-compact);
  padding: 0 var(--control-padding-inline-sm);
  font-size: 0.78rem;
  white-space: nowrap;
}

.cde-metric-grid.is-toolbar {
  gap: 4px;
  flex-wrap: nowrap;
}

.cde-metric-card.is-toolbar {
  gap: 4px;
  padding: 3px 6px;
}

.cde-metric-card.is-toolbar span {
  font-size: 0.54rem;
}

.cde-metric-card.is-toolbar strong {
  font-size: 0.72rem;
}

.cde-upload-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--panel-padding-lg);
  background: rgba(10, 16, 24, 0.48);
}

.cde-upload-dialog {
  width: min(680px, 100%);
  display: grid;
  gap: var(--space-2);
  padding: var(--panel-padding-md);
  border-radius: var(--radius-control);
}

.cde-upload-dialog-header,
.cde-upload-dialog-copy,
.cde-upload-form {
  display: grid;
  gap: 10px;
}

.cde-upload-dialog-copy h2,
.cde-upload-dialog-copy p,
.cde-upload-form-error {
  margin: 0;
}

.cde-upload-dialog-copy p {
  color: var(--muted);
}

.cde-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cde-upload-form input[type="file"],
.cde-upload-form input[type="text"],
.cde-upload-form select,
.cde-upload-form textarea {
  font: inherit;
  width: 100%;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: var(--entry-soft-surface);
  color: var(--text);
}

.cde-upload-form input[type="file"],
.cde-upload-form input[type="text"],
.cde-upload-form select {
  min-height: 38px;
  padding: 8px 10px;
}

.cde-upload-form textarea {
  min-height: 92px;
  padding: 10px;
  resize: vertical;
}

.cde-upload-form.is-busy {
  opacity: 0.72;
  pointer-events: none;
}

.cde-upload-form-error {
  color: #c85454;
}

.cde-upload-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.documents-page.pmis-page .cde-workspace {
  gap: var(--cde-pane-gap);
  border: 0;
  background: transparent;
  overflow: visible;
}

.documents-page.pmis-page .cde-explorer-pane,
.documents-page.pmis-page .cde-center-pane,
.documents-page.pmis-page .cde-details-pane {
  padding: 0;
  border: 0;
  background: transparent;
  gap: var(--cde-pane-gap);
}

.documents-page.pmis-page .documents-explorer-card,
.documents-page.pmis-page .documents-topbar-shell,
.documents-page.pmis-page .documents-registry-shell,
.documents-page.pmis-page .documents-preview-shell,
.documents-page.pmis-page .cde-upload-dialog {
  border-color: var(--documents-border);
  background: var(--documents-surface);
}

.documents-page.pmis-page .documents-topbar-shell,
.documents-page.pmis-page .documents-registry-shell,
.documents-page.pmis-page .documents-preview-shell {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.documents-page.pmis-page .documents-topbar-shell.is-attention,
.documents-page.pmis-page .documents-registry-shell.is-attention {
  border-color: var(--documents-warning);
  background: var(--documents-accent-soft);
}

.documents-page.pmis-page .cde-topbar {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.documents-page.pmis-page .cde-pane-note,
.documents-page.pmis-page .cde-registry-head,
.documents-page.pmis-page .cde-registry-scope,
.documents-page.pmis-page .cde-registry-pill,
.documents-page.pmis-page .cde-metric-card,
.documents-page.pmis-page .cde-filter-chip,
.documents-page.pmis-page .cde-filter-search input,
.documents-page.pmis-page .cde-filter-field select,
.documents-page.pmis-page .cde-view-mode-toggle,
.documents-page.pmis-page .cde-table-shell,
.documents-page.pmis-page .cde-selection-preview-placeholder,
.documents-page.pmis-page .cde-selection-note-card,
.documents-page.pmis-page .cde-linked-panel,
.documents-page.pmis-page .cde-linked-group,
.documents-page.pmis-page .cde-linked-row-item,
.documents-page.pmis-page .cde-history-row,
.documents-page.pmis-page .cde-upload-form input[type="file"],
.documents-page.pmis-page .cde-upload-form input[type="text"],
.documents-page.pmis-page .cde-upload-form select,
.documents-page.pmis-page .cde-upload-form textarea {
  border-color: var(--documents-border);
  background: var(--documents-surface-soft);
  color: var(--documents-text);
}

.documents-page.pmis-page .cde-registry-head {
  box-shadow: none;
}

.documents-page.pmis-page .cde-table-group-head,
.documents-page.pmis-page .cde-table-head {
  border-color: var(--documents-border);
  background: var(--documents-surface-soft);
}

.documents-page.pmis-page .cde-table-row {
  border-color: var(--documents-border);
  background: var(--documents-surface);
}

.documents-page.pmis-page .cde-table-row:hover,
.documents-page.pmis-page .cde-table-row.is-selected {
  background: var(--documents-surface-strong);
}

.documents-page.pmis-page .cde-explorer-item-count {
  background: var(--documents-surface-soft);
}

.documents-page.pmis-page .cde-explorer-item:hover,
.documents-page.pmis-page .cde-explorer-item.is-active,
.documents-page.pmis-page .cde-view-mode-button.is-active {
  color: var(--documents-text);
  border-color: var(--documents-border-strong);
  background: var(--documents-accent-soft);
  box-shadow: inset 2px 0 0 var(--documents-info);
}

.documents-page.pmis-page .cde-filter-search input::placeholder,
.documents-page.pmis-page .cde-pane-head p,
.documents-page.pmis-page .cde-pane-note span,
.documents-page.pmis-page .cde-pane-note small,
.documents-page.pmis-page .cde-topbar-helper,
.documents-page.pmis-page .cde-filter-search span,
.documents-page.pmis-page .cde-filter-field span,
.documents-page.pmis-page .cde-registry-helper,
.documents-page.pmis-page .cde-metric-card span,
.documents-page.pmis-page .cde-detail-panel-head span,
.documents-page.pmis-page .cde-detail-grid .pmis-detail-row-label,
.documents-page.pmis-page .cde-detail-grid .pmis-detail-row-value,
.documents-page.pmis-page .cde-linked-row-item span,
.documents-page.pmis-page .cde-history-row span,
.documents-page.pmis-page .cde-upload-dialog-copy p,
.documents-page.pmis-page .cde-inspector-empty p,
.documents-page.pmis-page .cde-inspector-empty-list span {
  color: var(--documents-muted);
}

.documents-page.pmis-page .cde-detail-grid {
  display: grid;
  gap: calc(8px * var(--ui-space-scale));
}

.documents-page.pmis-page .cde-detail-grid .pmis-detail-row {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
  padding-top: calc(8px * var(--ui-space-scale));
  border-top: 1px solid var(--documents-border);
}

.documents-page.pmis-page .cde-detail-grid .pmis-detail-row:first-child {
  padding-top: 0;
  border-top: 0;
}

.documents-page.pmis-page .cde-detail-grid .pmis-detail-row-label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.documents-page.pmis-page .cde-detail-grid .pmis-detail-row-value {
  color: var(--documents-text);
}

.documents-page.pmis-page .cde-upload-form-error {
  color: var(--documents-danger);
}

@media (max-width: 720px) {
  .cde-upload-overlay {
    padding: 16px;
  }

  .cde-upload-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1900px) {
  .cde-workspace {
    grid-template-columns: 206px minmax(0, 1fr) 356px;
  }

  .cde-explorer-pane {
    padding: 18px 14px;
  }

  .cde-details-pane {
    padding: 14px;
  }

  .cde-topbar-helper,
  .cde-metric-card.is-toolbar span {
    display: none;
  }

  .cde-topbar-control-shell .cde-filter-search {
    flex-basis: 176px;
  }

  .cde-topbar-control-shell .cde-filter-field {
    flex-basis: 96px;
  }

  .cde-topbar-control-shell .cde-filter-field.is-toolbar-narrow {
    flex-basis: 88px;
  }

  .cde-topbar-field-view .cde-view-mode-toggle {
    min-width: 96px;
  }

  .cde-inspector-summary-meta {
    grid-template-columns: 1fr;
  }
}

.cde-scope-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 6px;
  border-top: 1px solid var(--line-soft);
}

.cde-scope-filters,
.cde-scope-selects {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.cde-scope-label,
.cde-scope-empty {
  color: var(--muted);
  font-size: 0.7rem;
}

.cde-scope-label {
  font-weight: 600;
}

.cde-filter-field.is-inline {
  min-width: 118px;
}

.cde-filter-field.is-inline span {
  font-size: 0.58rem;
}

.cde-filter-field.is-inline select {
  min-height: 28px;
  padding: 0 7px;
  font-size: 0.78rem;
}

.cde-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 0.68rem;
}

.cde-filter-chip strong {
  color: var(--text);
  font-size: 0.64rem;
}

.cde-registry-shell {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
}

body[data-theme="whites"] .cde-registry-shell {
  background: transparent;
}

.cde-registry-head {
  display: grid;
  padding: calc(8px * var(--ui-space-scale)) var(--control-padding-inline-sm);
  border-radius: var(--radius-control) var(--radius-control) 0 0;
  border: 1px solid var(--line-soft);
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.03);
  margin-bottom: -1px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.cde-registry-head.is-attention,
.cde-registry-shell.is-attention {
  border-color: rgba(201, 162, 84, 0.34);
  background: rgba(201, 162, 84, 0.06);
}

.cde-registry-main-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
}

.cde-registry-copy {
  display: grid;
  gap: calc(3px * var(--ui-space-scale));
  min-width: 0;
}

.cde-registry-title-row {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.cde-registry-context-row {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
  min-width: 0;
}

.cde-registry-copy h2 {
  margin: 0;
  font-size: 0.96rem;
}

.cde-registry-helper {
  margin: 0;
  color: var(--muted);
  line-height: 1.22;
  font-size: 0.78rem;
  max-width: calc(360px * var(--ui-panel-scale));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cde-registry-scope {
  display: inline-flex;
  align-items: center;
  min-height: var(--cde-chip-height);
  padding: 0 calc(7px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 0.66rem;
  line-height: 1.1;
  white-space: nowrap;
}

.cde-registry-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: var(--cde-chip-height);
  padding: 0 calc(7px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.cde-metric-grid {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.cde-metric-card {
  display: inline-flex;
  align-items: baseline;
  gap: calc(5px * var(--ui-space-scale));
  padding: calc(4px * var(--ui-space-scale)) calc(8px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-metric-card span {
  color: var(--muted);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cde-metric-card strong {
  font-size: 0.76rem;
}

.cde-metric-grid.is-compact {
  justify-content: flex-end;
}

.cde-metric-card.is-compact {
  background: rgba(255, 255, 255, 0.02);
}

.cde-registry-utility-cluster {
  display: grid;
  gap: calc(5px * var(--ui-space-scale));
  justify-items: end;
}

.cde-registry-filter-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(6px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.cde-registry-filter-row .cde-filter-field {
  gap: 2px;
}

.cde-registry-filter-row .cde-filter-field.is-inline {
  min-width: calc(110px * var(--ui-panel-scale));
}

.cde-registry-filter-row .cde-filter-field.is-inline span {
  font-size: 0.56rem;
}

.cde-registry-filter-row .cde-filter-field.is-inline select {
  min-height: calc(26px * var(--ui-control-scale));
  padding: 0 calc(7px * var(--ui-space-scale));
  font-size: 0.76rem;
  border-radius: calc(7px * var(--ui-control-scale));
}

.cde-table-shell {
  --cde-table-columns: var(--cde-table-columns-layout);
  display: grid;
  border-radius: var(--cde-table-shell-radius);
  border: 1px solid var(--line-soft);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}

body[data-theme="whites"] .cde-table-shell {
  background: rgba(255, 255, 255, 0.96);
}

.cde-table-shell.is-attention {
  border-color: rgba(201, 162, 84, 0.34);
}

.cde-table-groups {
  display: grid;
}

.cde-table-group {
  display: grid;
}

.cde-table-group + .cde-table-group {
  border-top: 1px solid var(--line-soft);
}

.cde-table-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: calc(10px * var(--ui-space-scale)) var(--panel-padding-md);
  background: rgba(255, 255, 255, 0.045);
  color: var(--muted);
  font-size: 0.78rem;
  border-bottom: 1px solid var(--line-soft);
}

.cde-table-group-head.is-attention {
  background: rgba(201, 162, 84, 0.08);
}

body[data-theme="whites"] .cde-table-group-head {
  background: rgba(42, 64, 88, 0.045);
}

.cde-table-group-label-row {
  display: flex;
  align-items: center;
  min-width: 0;
}

.cde-table-group-label {
  display: block;
  max-width: 100%;
  padding: 0;
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.2;
}

body[data-theme="whites"] .cde-table-group-label {
  background: transparent;
}

.cde-table-group-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(28px * var(--ui-control-scale));
  min-height: calc(24px * var(--ui-control-scale));
  padding: 0 calc(8px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 0.72rem;
}

.cde-table-head,
.cde-table-row {
  display: grid;
  grid-template-columns: var(--cde-table-columns);
  gap: var(--space-1);
  align-items: center;
}

.cde-table-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: calc(8px * var(--ui-space-scale)) var(--panel-padding-md);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

body[data-theme="whites"] .cde-table-head {
  background: #f7f9fc;
}

.cde-table-body {
  display: grid;
}

.cde-table-row {
  width: 100%;
  min-height: var(--cde-table-row-min-height);
  padding: calc(7px * var(--ui-space-scale)) var(--panel-padding-md);
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
  text-align: left;
}

.cde-table-row:last-child {
  border-bottom: 0;
}

.cde-table-row:hover {
  background: rgba(255, 255, 255, 0.045);
}

.cde-table-row.is-selected {
  background: rgba(132, 195, 255, 0.12);
  box-shadow: inset 2px 0 0 rgba(132, 195, 255, 0.85);
}

.cde-table-cell {
  min-width: 0;
}

.cde-kind-cell,
.cde-format-cell,
.cde-name-cell,
.cde-cell-stack {
  display: grid;
  gap: 1px;
}

.cde-cell-inline {
  display: flex;
  align-items: center;
  min-width: 0;
}

.cde-kind-cell small,
.cde-name-cell small,
.cde-cell-stack small {
  color: var(--muted);
  line-height: 1.2;
  font-size: 0.72rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cde-name-cell strong,
.cde-cell-stack strong,
.cde-cell-inline strong {
  font-size: 0.86rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cde-format-cell strong {
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

.cde-rev-cell small,
.cde-updated-cell strong,
.cde-owner-cell strong {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.cde-owner-cell {
  align-items: flex-start;
}

.cde-updated-cell strong,
.cde-owner-cell strong {
  display: block;
}

.cde-name-cell small {
  font-size: 0.73rem;
}

.cde-kind-cell {
  justify-items: start;
}

.cde-linked-cell strong {
  color: inherit;
}

.cde-linked-cell.is-linked strong {
  color: var(--accent-strong);
}

.cde-lifecycle-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.66rem;
  color: var(--text);
}

.cde-type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 40px;
  padding: 0 7px;
  border-radius: 8px;
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--line-soft);
}

.cde-type-pdf {
  background: rgba(222, 110, 110, 0.14);
  color: #ffc7c7;
}

.cde-type-rvt,
.cde-type-ifc,
.cde-type-view {
  background: rgba(104, 167, 229, 0.16);
  color: #c8e6ff;
}

.cde-type-zip,
.cde-type-xlsx {
  background: rgba(143, 194, 138, 0.14);
  color: #d3f2cf;
}

body[data-theme="whites"] .cde-type-pdf {
  color: #9c4949;
}

body[data-theme="whites"] .cde-type-rvt,
body[data-theme="whites"] .cde-type-ifc,
body[data-theme="whites"] .cde-type-view {
  color: #3d6385;
}

body[data-theme="whites"] .cde-type-zip,
body[data-theme="whites"] .cde-type-xlsx {
  color: #46644a;
}

.cde-inspector-summary-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
}

.cde-inspector-summary-top,
.cde-inspector-summary-copy {
  display: grid;
  gap: 8px;
}

.cde-inspector-summary-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.8rem;
}

.cde-inspector-summary-kicker .cde-type-icon {
  min-height: 28px;
  min-width: 52px;
}

.cde-inspector-summary-copy h2 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.15;
}

.cde-inspector-summary-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.cde-inspector-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cde-inspector-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.74rem;
  color: var(--text);
}

.cde-inspector-badge.is-status {
  background: rgba(132, 195, 255, 0.12);
}

.cde-inspector-badge.is-state {
  background: rgba(255, 255, 255, 0.08);
}

.cde-inspector-badge.is-bim {
  background: rgba(104, 167, 229, 0.16);
}

.cde-inspector-role-card,
.cde-relationship-group {
  display: grid;
  gap: 10px;
}

.cde-inspector-role-card {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-inspector-role-summary {
  font-size: 0.94rem;
}

.cde-inspector-role-detail,
.cde-detail-empty-inline {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.cde-relationship-groups {
  display: grid;
  gap: 14px;
}

.cde-relationship-group-label {
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cde-inspector-summary-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cde-inspector-identity {
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-inspector-identity-label {
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cde-inspector-identity strong {
  font-size: 0.96rem;
}

.cde-inspector-identity span:last-child {
  color: var(--muted);
  line-height: 1.35;
}

.cde-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cde-chip-card {
  display: grid;
  gap: 4px;
  flex: 1 1 140px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-chip-card strong {
  font-size: 0.84rem;
}

.cde-chip-card span {
  color: var(--muted);
  line-height: 1.35;
}

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

.cde-lineage-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.cde-lineage-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  min-width: 72px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
}

.cde-lineage-status.is-current {
  background: rgba(132, 195, 255, 0.12);
}

.cde-lineage-status.is-baseline {
  background: rgba(143, 194, 138, 0.14);
}

.cde-lineage-status.is-previous,
.cde-lineage-status.is-history {
  color: var(--muted);
}

.cde-lineage-copy {
  display: grid;
  gap: 4px;
}

.cde-lineage-copy strong {
  font-size: 0.9rem;
}

.cde-lineage-copy span {
  color: var(--muted);
  line-height: 1.35;
}

.cde-inspector-empty {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
}

.cde-inspector-empty p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.cde-inspector-empty-list {
  display: grid;
  gap: 8px;
}

.cde-inspector-empty-list span {
  color: var(--muted);
  line-height: 1.35;
}

.cde-selection-card,
.cde-selection-preview-card,
.cde-linked-panel {
  display: grid;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.035);
}

.cde-selection-header,
.cde-linked-group-head,
.cde-linked-row-item,
.cde-detail-grid div,
.cde-inspector-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cde-selection-header {
  align-items: flex-start;
  flex-direction: column;
}

.cde-selection-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.cde-selection-copy h2 {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.1;
}

.cde-selection-copy p,
.cde-selection-kicker,
.cde-selection-preview-head span,
.cde-selection-preview-placeholder small,
.cde-selection-note-card span,
.cde-linked-group-head span,
.cde-detail-grid dt,
.cde-linked-row-item span:last-child,
.cde-history-row span {
  color: var(--muted);
}

.cde-selection-copy p,
.cde-selection-note-card span,
.cde-selection-preview-placeholder small,
.cde-linked-row-item span:last-child,
.cde-history-row span {
  line-height: 1.35;
}

.cde-selection-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
}

.cde-selection-kicker .cde-type-icon {
  min-height: 24px;
  min-width: 48px;
}

.cde-selection-preview-card {
  padding: 0;
  overflow: hidden;
}

.cde-selection-preview-placeholder {
  display: grid;
  gap: 8px;
  min-height: 144px;
  padding: 14px;
  align-content: end;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.cde-selection-preview-placeholder.is-pdf {
  background:
    radial-gradient(circle at top right, rgba(210, 110, 110, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.cde-selection-preview-placeholder.is-model,
.cde-selection-preview-placeholder.is-sheet {
  background:
    radial-gradient(circle at top right, rgba(132, 195, 255, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.cde-selection-preview-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cde-selection-preview-head .cde-type-icon {
  min-width: 52px;
}

.cde-selection-preview-placeholder strong {
  font-size: 0.88rem;
}

.cde-selection-note-card {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.cde-selection-note-card strong,
.cde-linked-group-head strong,
.cde-linked-row-copy strong,
.cde-history-row strong,
.cde-detail-panel-head strong {
  font-size: 0.84rem;
  color: var(--text);
}

.cde-detail-section--compact {
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
}

.cde-detail-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cde-detail-panel-head span {
  color: var(--muted);
  font-size: 0.74rem;
}

.cde-detail-grid {
  display: grid;
  gap: 0;
  margin: 0;
}

.cde-detail-grid--compact {
  grid-template-columns: 1fr;
}

.cde-detail-grid div {
  align-items: flex-start;
  padding: 7px 0;
  border-bottom: 1px solid var(--line-soft);
}

.cde-detail-grid div:last-child {
  border-bottom: 0;
}

.cde-detail-grid dt,
.cde-detail-grid dd {
  margin: 0;
}

.cde-detail-grid dt {
  flex: 0 0 40%;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cde-detail-grid dd {
  flex: 1 1 auto;
  text-align: right;
  color: var(--text);
  font-size: 0.78rem;
  word-break: break-word;
}

.cde-linked-panel,
.cde-linked-list,
.cde-history-list {
  display: grid;
  gap: 8px;
}

.cde-linked-panel {
  gap: 10px;
}

.cde-linked-group {
  display: grid;
  gap: 4px;
}

.cde-linked-row-item,
.cde-history-row {
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid var(--line-soft);
}

.cde-linked-row-item:last-child,
.cde-history-row:last-child {
  border-bottom: 0;
}

.cde-linked-row-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.cde-history-row {
  display: grid;
  gap: 3px;
}

.cde-inspector-actions {
  flex-wrap: wrap;
  padding-top: 2px;
}

.cde-inspector-action {
  white-space: nowrap;
}

.cde-detail-section {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.cde-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 0;
}

.cde-meta-grid dt {
  margin: 0 0 4px;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.cde-meta-grid dd {
  margin: 0;
  line-height: 1.45;
}

.cde-action-grid {
  display: grid;
  gap: var(--space-2);
}

.cde-review-mode {
  display: grid;
  gap: var(--space-3);
}

.cde-review-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.cde-review-title {
  display: grid;
  gap: 4px;
}

.cde-review-title span {
  color: var(--muted);
}

.cde-review-layout {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: var(--space-3);
}

.cde-thumbnail-strip {
  display: grid;
  gap: var(--space-2);
}

.cde-thumbnail {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  text-align: left;
}

.cde-thumbnail.is-active {
  color: var(--text);
  border-color: var(--line-strong);
  background: rgba(132, 195, 255, 0.12);
}

.cde-thumbnail-page {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cde-review-canvas {
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.02);
  padding: var(--space-3);
}

.cde-review-sheet {
  min-height: 520px;
  border-radius: 16px;
  padding: var(--space-4);
  display: grid;
  align-content: start;
  gap: var(--space-2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 247, 251, 0.98) 100%);
  color: #203247;
  position: relative;
  overflow: hidden;
}

.cde-review-annotation {
  margin-top: auto;
  align-self: start;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(64, 94, 123, 0.12);
  color: #3a526d;
}

body.cde-pdf-overlay-open {
  overflow: hidden;
}

.cde-pdf-overlay {
  position: fixed;
  inset: 0;
  z-index: 96;
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 16px;
  background: rgba(236, 241, 247, 0.82);
  backdrop-filter: blur(2px);
  overflow: hidden;
}

.cde-pdf-overlay.is-inline {
  position: static;
  inset: auto;
  z-index: auto;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
  overflow: visible;
}

.cde-pdf-overlay-shell {
  display: contents;
}

.cde-pdf-overlay.is-inline .cde-pdf-overlay-shell {
  display: contents;
}

.cde-pdf-overlay.is-inline .cde-pdf-layout {
  min-height: 720px;
}

.cde-pdf-toolbar {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.cde-pdf-toolbar-title {
  display: grid;
  gap: 4px;
}

.cde-pdf-toolbar-title span {
  color: var(--muted);
}

.cde-pdf-toolbar-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}

.cde-pdf-toolbar-group,
.cde-pdf-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.cde-pdf-page-field {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--muted);
  font-size: 0.82rem;
}

.cde-pdf-page-field input,
.cde-pdf-search-form input {
  min-height: 32px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
  font: inherit;
}

.cde-pdf-page-field input {
  width: 72px;
}

.cde-pdf-search-form input {
  width: min(260px, 42vw);
}

.cde-pdf-page-count,
.cde-pdf-search-summary,
.cde-pdf-zoom-value {
  color: var(--muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.cde-pdf-status {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.cde-pdf-status strong {
  font-size: 0.88rem;
}

.cde-pdf-status span {
  color: var(--muted);
  font-size: 0.82rem;
}

.cde-pdf-status.is-loading {
  border-color: rgba(86, 120, 156, 0.24);
  background: rgba(226, 234, 243, 0.9);
}

.cde-pdf-status.is-error {
  border-color: rgba(177, 92, 92, 0.26);
  background: rgba(246, 232, 232, 0.94);
}

.cde-pdf-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  gap: 12px;
}

.cde-pdf-layout.has-page-rail {
  grid-template-columns: 132px minmax(0, 1fr);
}

.cde-pdf-layout.is-single-page {
  grid-template-columns: minmax(0, 1fr);
}

.cde-pdf-thumbnails-pane,
.cde-pdf-stage {
  min-height: 0;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
}

.cde-pdf-thumbnails-pane[hidden] {
  display: none;
}

body.governed-pdf-full-page-open {
  overflow: hidden;
}

.cde-pdf-thumbnails-pane {
  padding: 10px;
  overflow: hidden;
}

.cde-pdf-thumbnails {
  height: 100%;
  overflow: auto;
  display: grid;
  gap: 10px;
  align-content: start;
  padding-right: 2px;
}

.cde-pdf-thumbnail {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: #f7f9fc;
  text-align: left;
  color: var(--text);
}

.cde-pdf-thumbnail:hover {
  border-color: var(--line-strong);
}

.cde-pdf-thumbnail.is-active {
  border-color: rgba(98, 142, 184, 0.48);
  background: rgba(226, 236, 246, 0.96);
}

.cde-pdf-thumbnail-label {
  color: var(--muted);
  font-size: 0.78rem;
}

.cde-pdf-thumbnail-preview {
  display: grid;
  min-height: 120px;
  place-items: center;
  border: 1px solid rgba(198, 208, 220, 0.72);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.cde-pdf-thumbnail-preview canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

.cde-pdf-stage {
  overflow: hidden;
}

.cde-pdf-stage-scroll {
  height: 100%;
  overflow: auto;
  padding: 24px;
  display: grid;
  place-items: start center;
  background:
    linear-gradient(180deg, rgba(244, 247, 251, 0.98) 0%, rgba(233, 238, 245, 0.98) 100%);
}

.cde-pdf-empty-state {
  width: min(100%, 520px);
  display: grid;
  gap: 6px;
  padding: 20px;
  border: 1px dashed var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.cde-pdf-empty-state strong {
  font-size: 0.92rem;
}

.cde-pdf-empty-state span {
  color: var(--muted);
}

.cde-pdf-empty-state.is-hidden,
.cde-pdf-page-shell.is-hidden {
  display: none;
}

.cde-pdf-page-shell {
  position: relative;
  display: block;
  width: fit-content;
  background: #fff;
  box-shadow: 0 14px 28px rgba(28, 42, 58, 0.12);
}

.cde-pdf-canvas {
  display: block;
}

.cde-pdf-text-layer,
.cde-pdf-annotation-layer {
  position: absolute;
  inset: 0;
}

.cde-pdf-text-layer {
  overflow: hidden;
  line-height: 1;
  opacity: 0.22;
}

.cde-pdf-text-layer span,
.cde-pdf-text-layer br {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0 0;
}

.cde-pdf-text-layer ::selection {
  background: rgba(120, 161, 202, 0.32);
}

.cde-pdf-annotation-layer {
  pointer-events: auto;
}

.cde-pdf-annotation-layer a {
  color: transparent;
}

.governed-pdf-surface {
  --governed-pdf-border: var(--line-soft);
  --governed-pdf-border-strong: var(--line-strong);
  --governed-pdf-toolbar-bg: rgba(255, 255, 255, 0.92);
  --governed-pdf-panel-bg: rgba(255, 255, 255, 0.94);
  --governed-pdf-control-bg: rgba(255, 255, 255, 0.72);
  --governed-pdf-stage-bg:
    linear-gradient(180deg, rgba(244, 247, 251, 0.98) 0%, rgba(233, 238, 245, 0.98) 100%);
  --governed-pdf-active-border: rgba(132, 195, 255, 0.34);
  --governed-pdf-active-bg: rgba(132, 195, 255, 0.14);
  --governed-pdf-shadow: 0 22px 46px rgba(34, 54, 76, 0.16);
  position: relative;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.governed-pdf-surface--drawings {
  --governed-pdf-border: var(--draw-border);
  --governed-pdf-border-strong: var(--draw-border-strong);
  --governed-pdf-toolbar-bg: var(--draw-panel);
  --governed-pdf-panel-bg: var(--draw-panel);
  --governed-pdf-control-bg: rgba(255, 255, 255, 0.7);
  --governed-pdf-active-border: var(--draw-accent-border);
  --governed-pdf-active-bg: var(--draw-accent-gradient);
  --governed-pdf-shadow: 0 28px 70px rgba(34, 54, 76, 0.24);
}

.governed-pdf-surface.is-full-page {
  position: fixed;
  inset: 12px;
  z-index: 140;
  padding: 16px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(247, 250, 253, 0.98) 0%, rgba(239, 245, 251, 0.99) 100%);
  box-shadow: var(--governed-pdf-shadow);
}

.governed-pdf-surface:fullscreen {
  inset: auto;
  width: 100%;
  height: 100%;
  padding: 16px;
  border-radius: 0;
}

.governed-pdf-surface:fullscreen .cde-pdf-layout {
  min-height: calc(100vh - 112px);
}

.governed-pdf-surface.is-full-page .cde-pdf-layout {
  min-height: calc(100vh - 120px);
}

.governed-pdf-close-button {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid var(--governed-pdf-border);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.governed-pdf-close-button.is-hidden {
  display: none;
}

.governed-pdf-close-button:hover {
  border-color: var(--governed-pdf-border-strong);
}

.governed-pdf-close-button svg {
  width: 14px;
  height: 14px;
}

.governed-pdf-surface .cde-pdf-layout {
  min-height: 720px;
}

.governed-pdf-surface .cde-pdf-toolbar {
  border-color: var(--governed-pdf-border);
  background: var(--governed-pdf-toolbar-bg);
}

.governed-pdf-surface .cde-pdf-thumbnails-pane,
.governed-pdf-surface .cde-pdf-stage {
  border-color: var(--governed-pdf-border);
  background: var(--governed-pdf-panel-bg);
}

.governed-pdf-surface .cde-pdf-stage-scroll {
  background: var(--governed-pdf-stage-bg);
}

.governed-pdf-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, max-content) minmax(0, 1fr);
  align-items: start;
  gap: 8px 12px;
  padding: 10px 12px;
}

.governed-pdf-toolbar-title {
  display: grid;
  gap: 2px;
  align-content: start;
  justify-items: start;
  min-width: 0;
  max-width: 320px;
}

.governed-pdf-toolbar-title strong {
  font-size: 0.84rem;
  line-height: 1.15;
}

.governed-pdf-toolbar-title span {
  display: block;
  font-size: 0.72rem;
  line-height: 1.15;
  color: var(--muted);
}

.governed-pdf-toolbar-controls {
  min-width: 0;
  justify-self: end;
  display: grid;
  grid-template-columns: auto auto minmax(220px, 1fr) auto;
  gap: 8px 10px;
  align-items: center;
}

.governed-pdf-toolbar-group {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.governed-pdf-toolbar-group--search {
  justify-content: flex-start;
}

.governed-pdf-toolbar-group--actions {
  justify-content: flex-end;
}

.governed-pdf-toolbar-group--actions,
.governed-pdf-toolbar-group--page,
.governed-pdf-toolbar-group--zoom {
  white-space: nowrap;
}

.governed-pdf-tool {
  min-height: 32px;
  min-width: 32px;
  padding: 0 9px;
  border-radius: 8px;
  gap: 6px;
  white-space: nowrap;
  border-color: var(--governed-pdf-border);
  background: var(--governed-pdf-control-bg);
}

.governed-pdf-tool.is-subtle {
  background: rgba(255, 255, 255, 0.7);
}

.governed-pdf-tool.is-active {
  border-color: var(--governed-pdf-active-border);
  background: var(--governed-pdf-active-bg);
}

.governed-pdf-tool-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.governed-pdf-tool-icon svg {
  width: 14px;
  height: 14px;
}

.governed-pdf-tool-label {
  display: inline-block;
  font-size: 0.74rem;
  line-height: 1;
}

.governed-pdf-page-field {
  min-height: 32px;
  padding: 0 4px 0 0;
  white-space: nowrap;
}

.governed-pdf-page-field input {
  width: 58px;
}

.governed-pdf-page-summary {
  padding: 0 4px;
}

.governed-pdf-toolbar .cde-pdf-search-form {
  min-width: 0;
}

.governed-pdf-toolbar .cde-pdf-search-form input {
  width: min(220px, 100%);
}

.governed-pdf-search-summary {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.governed-pdf-search-summary.is-hidden {
  display: none;
}

.governed-pdf-page-rail {
  padding: 8px;
}

.governed-pdf-page-rail .cde-pdf-thumbnails {
  gap: 8px;
}

.governed-pdf-page-rail .cde-pdf-thumbnail {
  gap: 6px;
  padding: 6px;
  border-radius: 7px;
}

.governed-pdf-page-rail .cde-pdf-thumbnail-label {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.governed-pdf-page-rail .cde-pdf-thumbnail-preview {
  min-height: 94px;
}

body.governed-pdf-full-page-open {
  overflow: hidden;
}

@media (max-width: 1920px) {
  .governed-pdf-toolbar {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .governed-pdf-toolbar-title {
    max-width: none;
  }

  .governed-pdf-toolbar-controls {
    width: 100%;
    justify-self: stretch;
    grid-template-columns: auto auto minmax(180px, 1fr) auto;
  }
}

@media (max-width: 1600px) {
  .cde-workspace {
    grid-template-columns: calc(206px * var(--ui-sidebar-scale)) minmax(0, 1fr) calc(344px * var(--ui-inspector-scale));
  }

  .governed-pdf-tool {
    padding: 0 8px;
  }

  .governed-pdf-toolbar-controls {
    gap: 6px 8px;
    grid-template-columns: auto auto minmax(160px, 1fr) auto;
  }

  .governed-pdf-toolbar .cde-pdf-search-form input {
    width: min(180px, 100%);
  }

  .governed-pdf-page-rail .cde-pdf-thumbnail-preview {
    min-height: 86px;
  }
}

@media (max-width: 1440px) {
  .cde-workspace {
    grid-template-columns: calc(206px * var(--ui-sidebar-scale)) minmax(0, 1fr) calc(324px * var(--ui-inspector-scale));
  }

  .governed-pdf-tool {
    min-width: 32px;
    padding: 0 7px;
  }

  .governed-pdf-tool-label {
    display: none;
  }

  .governed-pdf-toolbar-controls {
    grid-template-columns: auto auto minmax(132px, 1fr) auto;
  }

  .governed-pdf-search-summary {
    max-width: 96px;
  }
}

@media (max-width: 1360px) {
  .cde-workspace {
    grid-template-columns: var(--cde-explorer-width) minmax(0, 1fr);
  }

  .cde-details-pane {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--line-soft);
  }

  .governed-pdf-surface .cde-pdf-layout {
    min-height: 620px;
  }

  .governed-pdf-toolbar-group--actions {
    overflow-x: auto;
    padding-bottom: 2px;
  }
}

@media (max-width: 1080px) {
  .governed-pdf-toolbar {
    gap: 10px;
  }

  .governed-pdf-toolbar-controls {
    grid-template-columns: auto auto minmax(120px, 1fr) auto;
    align-items: center;
    gap: 6px 8px;
  }

  .governed-pdf-toolbar .cde-pdf-search-form input {
    width: min(120px, 100%);
  }

  .governed-pdf-page-field span {
    display: none;
  }

  .governed-pdf-page-rail .cde-pdf-thumbnail-preview {
    min-height: 82px;
  }

  .governed-pdf-surface.is-full-page {
    inset: 8px;
    padding: 12px;
  }

  .cde-selection-header,
  .cde-detail-grid div,
  .cde-linked-row-item,
  .cde-inspector-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .cde-detail-grid dd {
    text-align: left;
  }
}

.cde-empty-state {
  padding: 32px 24px;
  border-radius: 16px;
  border: 1px dashed var(--line-soft);
  color: var(--muted);
  display: grid;
  gap: 8px;
  place-items: start;
  background: rgba(255, 255, 255, 0.03);
}

.cde-empty-state.is-attention {
  border-color: rgba(201, 162, 84, 0.34);
  background: rgba(201, 162, 84, 0.06);
}

.quick-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(32px * var(--ui-control-scale));
  padding: 0 var(--control-padding-inline-sm);
  border-radius: calc(8px * var(--ui-control-scale));
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  text-decoration: none;
  font-size: 0.82rem;
}

.quick-action:hover {
  border-color: var(--line-strong);
}

.quick-action.is-primary {
  border-color: rgba(132, 195, 255, 0.34);
  background: rgba(132, 195, 255, 0.14);
}

.quick-action.is-danger {
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger) 32%, var(--line-soft));
}

@media (max-width: 1320px) {
  .governance-workspace-grid,
  .governance-toolbar-grid {
    grid-template-columns: 1fr;
  }

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

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

@media (max-width: 1180px) {
  .cde-page {
    width: 100%;
    position: static;
    left: auto;
    transform: none;
  }

  .dashboard-grid,
  .projects-layout-grid,
  .overview-layout-grid {
    grid-template-columns: 1fr;
  }

  .cde-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .cde-details-pane {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--line-soft);
  }

  .cde-topbar {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .cde-topbar-identity,
  .cde-topbar-side {
    width: 100%;
  }

  .cde-topbar-side {
    justify-content: space-between;
  }

  .cde-topbar-control-shell {
    flex-basis: 100%;
    flex-wrap: wrap;
    border-top: 1px solid var(--line-soft);
    padding-top: 8px;
  }

  .cde-topbar-control-shell .cde-filter-search {
    flex-basis: 100%;
  }

  .cde-metric-grid.is-toolbar {
    width: 100%;
    flex-wrap: wrap;
  }

  .template-library-structure-panel {
    grid-template-columns: 1fr;
  }

  .governance-rail {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 1120px) {
  .auth-grid,
  .auth-workflow-panel {
    grid-template-columns: 1fr;
  }

  .auth-workflow-copy,
  .auth-panel-copy {
    max-width: none;
  }

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

  .auth-plan-list.is-core {
    grid-template-columns: 1fr;
  }

  .auth-billing-controls {
    justify-items: start;
  }
}

@media (max-width: 920px) {
  .auth-entry,
  .auth-workflow-panel {
    gap: var(--space-3);
  }

  .auth-panel-head {
    flex-direction: column;
  }

  .auth-feature-grid,
  .auth-pricing-grid {
    grid-template-columns: 1fr;
  }

  .auth-video-preview-grid,
  .auth-video-main-grid,
  .auth-video-thumb-grid {
    grid-template-columns: 1fr;
  }

  .auth-video-sidebar {
    display: none;
  }

  .auth-video-table-head {
    display: none;
  }

  .auth-video-table-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .auth-footer-strip {
    align-items: flex-start;
    flex-direction: column;
  }

  .auth-billing-controls {
    width: 100%;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
  }

  .auth-billing-choice-group {
    width: fit-content;
  }

  .auth-billing-option {
    width: fit-content;
  }

  .cde-workspace,
  .cde-review-layout {
    grid-template-columns: 1fr;
  }

  .cde-pdf-overlay-shell {
    padding: 12px;
  }

  .cde-pdf-layout {
    grid-template-columns: 1fr;
  }

  .cde-pdf-thumbnails-pane {
    max-height: 180px;
  }

  .cde-explorer-pane {
    border-right: 0;
    border-bottom: 1px solid var(--line-soft);
  }

  .cde-topbar-control-shell,
  .cde-scope-selects {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cde-topbar {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .cde-topbar-identity {
    flex-wrap: wrap;
  }

  .cde-topbar-identity h1 {
    white-space: normal;
  }

  .cde-topbar-identity,
  .cde-topbar-side,
  .cde-topbar-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .cde-registry-main-row {
    grid-template-columns: 1fr;
  }

  .cde-registry-filter-row,
  .cde-registry-utility-cluster {
    justify-content: start;
    justify-items: start;
    width: 100%;
  }

  .cde-table-head {
    display: none;
  }

  .cde-table-row {
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: start;
  }

  .cde-kind-cell {
    grid-row: 1 / span 6;
    align-content: start;
  }

  .cde-table-row .cde-table-cell:nth-child(n + 3) {
    grid-column: 2;
    font-size: 0.84rem;
  }

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

  .template-library-structure-defaults {
    grid-template-columns: 1fr;
  }

  .project-row--banner {
    min-height: 196px;
  }

  .project-row-shell {
    grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  }

  .project-row-content {
    padding: 26px 26px 26px 20px;
  }

  .project-row-fade {
    width: 44%;
  }

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

  .governance-table-head,
  .governance-queue-head {
    display: none;
  }

  .governance-library-row,
  .governance-queue-row,
  .governance-adoption-grid,
  .governance-timeline-entry {
    grid-template-columns: 1fr;
  }

  .governance-cell::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
  }

  .governance-cell-overflow {
    display: none;
  }

  .governance-map-lanes,
  .governance-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .project-layout,
  .project-layout.is-sidebar-collapsed {
    grid-template-columns: 1fr;
  }

  .project-sidebar {
    position: static;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-soft);
  }
}

@media (max-width: 1180px) {
  .project-layout {
    grid-template-columns: minmax(228px, 268px) minmax(0, 1fr);
  }

  .topbar-actions {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .toolbar-search {
    order: 3;
    flex-basis: 100%;
    max-width: none;
  }

  .account-shell-nav {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

@media (max-width: 820px) {
  .brand-bar,
  .app-topbar,
  .public-auth-main,
  .layout-content {
    padding-left: var(--space-3);
    padding-right: var(--space-3);
  }

  .brand-bar,
  .app-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-bar-actions,
  .topbar-leading,
  .topbar-actions,
  .page-header-actions,
  .button-row {
    width: 100%;
  }

  .brand-bar-note {
    max-width: none;
  }

  .toolbar-search {
    width: 100%;
    max-width: none;
  }

  .account-shell-nav {
    padding-left: var(--space-3);
    padding-right: var(--space-3);
    grid-template-columns: 1fr;
  }

  .project-switcher-trigger {
    max-width: 100%;
  }

  .project-switcher-trigger-label {
    max-width: min(58vw, 260px);
  }

  .project-switcher-menu {
    width: min(360px, calc(100vw - 24px));
  }

  .project-row--banner {
    min-height: 0;
  }

  .project-row-shell {
    grid-template-columns: 1fr;
  }

  .project-row-content {
    padding: 24px 20px 18px;
  }

  .project-row-identity {
    gap: 14px;
  }

  .project-monogram {
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }

  .project-row-heading h3 {
    font-size: 1.28rem;
  }

  .project-row-media {
    min-height: 172px;
    padding: 16px;
  }

  .project-row-fade {
    inset: -1px 0 auto 0;
    width: auto;
    min-width: 0;
    height: 76%;
    background: linear-gradient(
      180deg,
      var(--project-banner-surface) 0%,
      var(--project-banner-surface) 18%,
      var(--project-banner-surface-soft) 56%,
      var(--project-banner-surface-clear) 100%
    );
  }

  .project-row-open {
    min-height: 40px;
    padding: 0 16px;
  }

  .governance-band-top,
  .governance-workspace-head,
  .governance-map-head,
  .governance-drawer-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .governance-action-cluster,
  .governance-filter-row {
    width: 100%;
  }

  .governance-filter-row {
    grid-template-columns: 1fr;
  }

  .governance-drawer {
    width: calc(100vw - 16px);
    height: calc(100vh - 16px);
    margin: 8px;
    padding: 16px;
  }
}

@media (max-width: 640px) {
  .auth-value-panel,
  .auth-card,
  .auth-pricing-panel,
  .auth-workflow-panel {
    padding: 20px;
  }

  .auth-video-trigger {
    width: calc(100% - 36px);
    min-width: 0;
  }

  .auth-entry {
    gap: 12px;
  }

  .auth-feature-row,
  .auth-plan-card,
  .auth-pricing-footnote {
    padding: 16px;
  }

  .auth-footer-links,
  .auth-footer-company {
    gap: 8px;
  }
}

.layout-content:has(.template-library-page) {
  width: 100%;
  max-width: none;
}

.template-library-page {
  display: grid;
}

.template-library-shell {
  display: grid;
  gap: 18px;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(31, 52, 73, 0.1);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 34px rgba(38, 58, 82, 0.06);
}

body[data-theme="whites"] .template-library-shell {
  background: rgba(255, 255, 255, 0.98);
}

.template-library-header,
.template-library-title-block {
  display: grid;
  gap: 12px;
}

.template-library-title-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.template-library-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(31, 52, 73, 0.12);
  background: #f4f7fb;
  display: inline-grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  flex: none;
}

.template-library-icon span {
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #304762;
}

.template-library-title-copy {
  display: grid;
  gap: 2px;
}

.template-library-title-copy h1 {
  margin: 0;
  font-size: 1.72rem;
  line-height: 1.08;
  color: #17314f;
}

.template-library-section-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(31, 52, 73, 0.1);
  background: #f5f8fb;
}

.template-library-section-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: #55697f;
  font-weight: 600;
}

.template-library-section-tab.is-active {
  background: #ffffff;
  border-color: rgba(31, 52, 73, 0.1);
  color: #17314f;
}

.template-library-descriptor {
  margin: 0;
  color: #65798f;
  line-height: 1.5;
}

.template-library-structure-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 1fr);
  gap: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(31, 52, 73, 0.1);
  background: #f7f9fc;
}

.template-library-structure-copy {
  display: grid;
  gap: 10px;
  align-content: start;
}

.template-library-structure-copy h2 {
  margin: 0;
  color: #17314f;
  font-size: 1.24rem;
}

.template-library-structure-copy p {
  margin: 0;
  color: #65798f;
  line-height: 1.5;
}

.template-library-structure-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #55697f;
}

.template-library-structure-options {
  display: grid;
  gap: 12px;
}

.template-library-structure-choice-list {
  display: grid;
  gap: 8px;
}

.template-library-structure-choice {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(31, 52, 73, 0.1);
  background: #ffffff;
  color: #55697f;
  text-align: left;
}

.template-library-structure-choice strong {
  color: #17314f;
}

.template-library-structure-choice.is-active {
  border-color: rgba(48, 91, 144, 0.28);
  box-shadow: 0 0 0 1px rgba(48, 91, 144, 0.12);
}

.template-library-structure-choice small {
  color: #7b8d9f;
}

.template-library-structure-defaults {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.template-library-structure-default {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(31, 52, 73, 0.08);
  background: #ffffff;
}

.template-library-structure-default strong {
  color: #17314f;
  font-size: 0.8rem;
}

.template-library-structure-default span,
.template-library-structure-guidance span {
  color: #65798f;
  line-height: 1.45;
}

.template-library-structure-guidance {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(31, 52, 73, 0.08);
  background: #ffffff;
}

.template-library-structure-link {
  width: fit-content;
}

.template-library-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.template-library-toolbar-controls,
.template-library-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.template-library-toolbar-controls {
  flex: 1 1 880px;
}

.template-library-control {
  min-width: 132px;
}

.template-library-control select,
.template-library-search input {
  width: 100%;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(31, 52, 73, 0.12);
  background: #ffffff;
  color: #22384e;
}

.template-library-search {
  position: relative;
  min-width: 240px;
  flex: 1 1 280px;
}

.template-library-search input {
  padding-left: 40px;
}

.template-library-search-icon {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 1.8px solid #6f8296;
  border-radius: 50%;
  transform: translateY(-58%);
}

.template-library-search-icon::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -4px;
  width: 6px;
  height: 1.8px;
  border-radius: 999px;
  background: #6f8296;
  transform: rotate(45deg);
}

.template-library-primary-action,
.template-library-secondary-action {
  min-height: 40px;
  white-space: nowrap;
}

.template-register-shell {
  display: grid;
  border: 1px solid rgba(31, 52, 73, 0.1);
  border-radius: 18px;
  background: #ffffff;
  overflow-x: auto;
  overflow-y: hidden;
}

.template-register-head,
.template-register-row {
  display: grid;
  grid-template-columns: 24px 94px minmax(210px, 1.7fr) 118px 148px 108px 98px 116px 56px;
  gap: 10px;
  align-items: center;
  min-width: 970px;
}

.template-register-head {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(31, 52, 73, 0.08);
  background: #f7f9fc;
}

.template-register-head-cell {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6a7d91;
}

.template-register-body {
  display: grid;
}

.template-register-item {
  border-bottom: 1px solid rgba(31, 52, 73, 0.08);
}

.template-register-item:last-child {
  border-bottom: 0;
}

.template-register-row {
  width: 100%;
  padding: 0 14px;
  min-height: 58px;
  border: 0;
  background: #ffffff;
  color: #22384e;
  text-align: left;
}

.template-register-row:hover {
  background: #fafcff;
}

.template-register-cell {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9rem;
  color: #5a6d82;
}

.template-register-cell-title strong {
  color: #17314f;
  font-size: 0.96rem;
}

.template-register-cell-id,
.template-register-cell-version,
.template-register-cell-owner {
  color: #31485f;
}

.template-register-expand-icon {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 1.6px solid #687c92;
  border-bottom: 1.6px solid #687c92;
  transform: rotate(45deg);
  transition: transform 140ms ease;
}

.template-register-cell-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(31, 52, 73, 0.1);
  background: #ffffff;
}

.template-register-expand-icon.is-expanded {
  transform: rotate(225deg) translate(-1px, -1px);
}

.template-library-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}

.template-library-chip[data-variant="category"][data-tone="blue"] {
  background: #edf4fc;
  border-color: #d8e7f7;
  color: #315a82;
}

.template-library-chip[data-variant="category"][data-tone="slate"] {
  background: #eef2f6;
  border-color: #dde6ee;
  color: #475d74;
}

.template-library-chip[data-variant="category"][data-tone="green"] {
  background: #edf7f1;
  border-color: #d5eadf;
  color: #35664d;
}

.template-library-chip[data-variant="category"][data-tone="tan"] {
  background: #faf3e8;
  border-color: #ecdeca;
  color: #7a5f35;
}

.template-library-chip[data-variant="category"][data-tone="indigo"] {
  background: #eef0fb;
  border-color: #dfe3f6;
  color: #4f5f8d;
}

.template-library-chip[data-variant="phase"][data-tone="amber"] {
  background: #fbf5ea;
  border-color: #eedfbe;
  color: #7a6437;
}

.template-library-chip[data-variant="phase"][data-tone="rose"] {
  background: #fbf0ef;
  border-color: #eddad6;
  color: #835a55;
}

.template-library-chip[data-variant="phase"][data-tone="blue"] {
  background: #eef4fb;
  border-color: #d9e6f5;
  color: #456482;
}

.template-library-format {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #31485f;
}

.template-library-format-icon {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 1px solid rgba(31, 52, 73, 0.14);
  background: #f4f7fb;
  position: relative;
  flex: none;
}

.template-library-format-icon[data-format="docx"]::before,
.template-library-format-icon[data-format="pdf-form"]::before,
.template-library-format-icon[data-format="spreadsheet"]::before,
.template-library-format-icon[data-format="register"]::before,
.template-library-format-icon[data-format="standard"]::before,
.template-library-format-icon[data-format="matrix"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 3px;
}

.template-library-format-icon[data-format="docx"]::before {
  background: linear-gradient(180deg, #5f83aa 0%, #486b92 100%);
}

.template-library-format-icon[data-format="pdf-form"]::before {
  background:
    linear-gradient(180deg, #b9cad9 0%, #9fb4c7 100%),
    linear-gradient(90deg, transparent 0%, transparent 45%, #ffffff 45%, #ffffff 55%, transparent 55%, transparent 100%);
}

.template-library-format-icon[data-format="spreadsheet"]::before,
.template-library-format-icon[data-format="matrix"]::before {
  background:
    linear-gradient(180deg, #adc3b1 0%, #8eab93 100%),
    repeating-linear-gradient(90deg, transparent 0, transparent 5px, rgba(255, 255, 255, 0.9) 5px, rgba(255, 255, 255, 0.9) 6px),
    repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(255, 255, 255, 0.9) 5px, rgba(255, 255, 255, 0.9) 6px);
}

.template-library-format-icon[data-format="register"]::before,
.template-library-format-icon[data-format="standard"]::before {
  background: linear-gradient(180deg, #c2cfdd 0%, #a9bbcf 100%);
}

.template-register-detail {
  padding: 16px 18px 18px 166px;
  border-top: 1px solid rgba(31, 52, 73, 0.08);
  background: #fafbfd;
  animation: template-register-expand 160ms ease;
}

@keyframes template-register-expand {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.template-register-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr);
  gap: 18px;
}

.template-register-detail-column {
  display: grid;
  gap: 10px;
  align-content: start;
}

.template-register-detail-column.is-workflows {
  justify-items: end;
  text-align: right;
}

.template-register-detail-column h3 {
  margin: 0;
  font-size: 0.96rem;
  color: #17314f;
}

.template-register-detail-lines {
  display: grid;
  gap: 8px;
}

.template-register-detail-line {
  display: grid;
  gap: 3px;
}

.template-register-detail-line strong {
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #667a8f;
}

.template-register-detail-line span {
  color: #44576c;
  line-height: 1.45;
}

.template-register-workflows {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.template-register-workflow-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(31, 52, 73, 0.12);
  background: #ffffff;
  color: #31485f;
  font-size: 0.8rem;
}

.template-register-workflow-icon {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #a5b7ca;
  flex: none;
}

.template-register-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 14px;
}

.template-register-detail-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(31, 52, 73, 0.12);
  background: #ffffff;
  color: #35597f;
  font-weight: 600;
  font-size: 0.82rem;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.template-register-detail-action:hover {
  border-color: rgba(49, 90, 130, 0.22);
  background: #f5f8fb;
  color: #17314f;
  transform: translateY(-1px);
}

.template-register-detail-action:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.template-library-empty-state {
  display: grid;
  gap: 6px;
  padding: 28px;
  color: #6d8094;
}

.template-library-empty-state strong {
  color: #17314f;
}

@media (max-width: 1280px) {
  .template-library-toolbar {
    align-items: stretch;
  }

  .template-library-toolbar-actions {
    justify-content: flex-end;
  }
}

@media (max-width: 1120px) {
  .template-register-shell {
    overflow-x: auto;
  }
}

@media (max-width: 980px) {
  .template-library-shell {
    padding: 18px;
  }

  .template-library-toolbar-controls,
  .template-library-toolbar-actions {
    width: 100%;
  }

  .template-library-toolbar-actions {
    justify-content: flex-start;
  }

  .template-register-head {
    display: none;
  }

  .template-register-row {
    grid-template-columns: 28px minmax(0, 1fr) 24px;
    gap: 10px;
    min-width: 0;
    padding: 12px 16px;
    align-items: start;
  }

  .template-register-row > .template-register-cell:not(.template-register-cell-toggle) {
    grid-column: 2;
    white-space: normal;
  }

  .template-register-row > .template-register-cell::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #708398;
  }

  .template-register-cell-title {
    order: -1;
  }

  .template-register-cell-title::before {
    display: none;
  }

  .template-register-detail {
    padding: 14px 16px 18px;
  }

  .template-register-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .template-library-title-row {
    align-items: flex-start;
  }

  .template-library-shell {
    padding: 16px;
  }

  .template-library-section-tabs {
    width: 100%;
  }

  .template-library-section-tab {
    flex: 1 1 0;
  }

  .template-library-control,
  .template-library-search {
    min-width: 100%;
    flex-basis: 100%;
  }
}

.layout-content:has(.standards-console) {
  width: 100%;
  max-width: none;
}

.standards-console {
  display: grid;
  gap: var(--pmis-pane-gap, var(--space-2));
}

.standards-console-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--panel-padding-md);
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-panel);
  background: var(--pmis-surface-card, var(--surface-card-bg));
  box-shadow: var(--surface-shadow);
}

.standards-console-title,
.standards-console-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.standards-console-title {
  flex: 1 1 auto;
}

.standards-console-title h1 {
  margin: 0;
  color: var(--pmis-text-primary, var(--text));
  font-size: clamp(1.24rem, 1.4vw, 1.62rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.standards-console-title p {
  max-width: 920px;
  margin: 4px 0 0;
  color: var(--pmis-text-secondary, var(--muted));
  line-height: 1.36;
  font-size: 0.9rem;
}

.standards-console-header-actions {
  justify-content: flex-end;
  flex: none;
  flex-wrap: wrap;
}

.standards-console-grid {
  display: grid;
  grid-template-columns:
    minmax(230px, calc(280px * var(--ui-sidebar-scale)))
    minmax(420px, 1fr)
    minmax(340px, var(--pmis-inspector-width, var(--inspector-width-lg)));
  gap: var(--pmis-pane-gap, var(--cde-pane-gap, var(--space-2)));
  min-height: calc(760px * var(--ui-panel-scale));
  align-items: stretch;
}

.standards-nav-pane,
.standards-records-pane,
.standards-preview-pane {
  min-width: 0;
}

.standards-nav-pane,
.standards-preview-pane {
  display: grid;
  gap: var(--space-2);
  align-content: start;
}

.standards-nav-card,
.standards-records-pane,
.standards-preview-card {
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-panel);
  background: var(--pmis-surface-panel, var(--surface-panel-bg));
  box-shadow: 0 14px 34px rgba(11, 22, 36, 0.06);
}

.standards-nav-card,
.standards-preview-card {
  display: grid;
  gap: var(--space-2);
  padding: var(--panel-padding-sm);
}

.standards-nav-card-head {
  display: grid;
  gap: 2px;
}

.standards-nav-card-head span,
.standards-nav-group h3,
.standards-record-head,
.standards-preview-section h3,
.standards-preview-fields dt,
.standards-structure-default strong {
  color: var(--pmis-text-secondary, var(--muted));
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standards-nav-card-head strong {
  color: var(--pmis-text-primary, var(--text));
  font-size: 0.94rem;
}

.standards-segmented-control {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: fit-content;
  padding: 3px;
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-pill);
  background: var(--entry-soft-surface);
}

.standards-segmented-control.is-vertical {
  display: grid;
  width: 100%;
  border-radius: var(--radius-control-lg);
}

.standards-segment {
  min-height: var(--control-height-xs);
  padding: 0 var(--control-padding-inline-sm);
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--pmis-text-secondary, var(--muted));
  font-weight: 700;
  font-size: 0.8rem;
  white-space: nowrap;
}

.standards-segmented-control.is-vertical .standards-segment {
  justify-content: flex-start;
  border-radius: var(--radius-control);
  text-align: left;
}

.standards-segment.is-active {
  border-color: var(--pmis-border-strong, var(--line-strong));
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary, var(--text));
}

.standards-nav-group {
  display: grid;
  gap: var(--space-1);
}

.standards-nav-group h3 {
  margin: 0;
}

.standards-structure-option-list {
  display: grid;
  gap: 6px;
}

.standards-structure-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-1);
  align-items: center;
  width: 100%;
  min-height: calc(58px * var(--ui-control-scale));
  padding: 8px 10px;
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-control);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary, var(--muted));
  text-align: left;
}

.standards-structure-option:hover,
.standards-record-row:hover {
  border-color: var(--pmis-border-strong, var(--line-strong));
  background: var(--entry-soft-surface-strong);
}

.standards-structure-option.is-previewed {
  border-color: rgba(71, 122, 176, 0.42);
  box-shadow: inset 3px 0 0 rgba(71, 122, 176, 0.58);
}

.standards-structure-option strong,
.standards-record-title strong,
.standards-preview-header h2,
.standards-revision-item strong {
  color: var(--pmis-text-primary, var(--text));
}

.standards-structure-option small,
.standards-structure-option em {
  display: block;
  color: var(--pmis-text-secondary, var(--muted));
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.25;
}

.standards-structure-option em {
  min-width: 58px;
  padding: 3px 7px;
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-pill);
  background: var(--entry-soft-surface);
  text-align: center;
}

.standards-structure-empty {
  padding: 10px;
  border: 1px dashed var(--line-soft);
  border-radius: var(--radius-control);
  color: var(--pmis-text-secondary, var(--muted));
  font-size: 0.82rem;
  line-height: 1.35;
}

.standards-records-pane {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.standards-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(5, minmax(112px, 0.72fr));
  gap: 8px;
  align-items: center;
  padding: var(--panel-padding-sm);
  border-bottom: 1px solid var(--pmis-border-subtle, var(--line-soft));
}

.standards-search,
.standards-filter {
  position: relative;
  min-width: 0;
}

.standards-search input,
.standards-filter select {
  width: 100%;
  min-height: var(--control-height-sm);
  border: 1px solid var(--pmis-border-subtle, var(--line-soft));
  border-radius: var(--radius-control);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary, var(--text));
  font: inherit;
  font-size: 0.84rem;
}

.standards-search input {
  padding: 0 12px 0 34px;
}

.standards-filter select {
  padding: 0 28px 0 10px;
}

.standards-search-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 11px;
  height: 11px;
  border: 1.6px solid var(--muted);
  border-radius: 50%;
  transform: translateY(-58%);
  pointer-events: none;
}

.standards-search-icon::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -4px;
  width: 6px;
  height: 1.6px;
  border-radius: var(--radius-pill);
  background: var(--muted);
  transform: rotate(45deg);
}

.standards-records-table {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.standards-record-head,
.standards-record-row {
  display: grid;
  grid-template-columns: 96px minmax(210px, 1.45fr) 124px minmax(130px, 0.8fr) 130px minmax(110px, 0.7fr);
  gap: 10px;
  align-items: center;
  min-width: 890px;
}

.standards-record-head {
  padding: 9px var(--panel-padding-sm);
  border-bottom: 1px solid var(--pmis-border-subtle, var(--line-soft));
  background: var(--entry-soft-surface);
}

.standards-record-body {
  min-height: 0;
  overflow: auto;
}

.standards-record-row {
  width: 100%;
  min-height: var(--pmis-row-height-sm, clamp(42px, calc(50px * var(--ui-control-scale)), 52px));
  padding: 0 var(--panel-padding-sm);
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle, var(--line-soft));
  background: transparent;
  color: var(--pmis-text-primary, var(--text));
  text-align: left;
}

.standards-record-row.is-selected {
  background: var(--entry-soft-surface-strong);
  box-shadow: inset 3px 0 0 rgba(71, 122, 176, 0.68);
}

.standards-record-cell {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.84rem;
}

.standards-record-title {
  display: grid;
  gap: 2px;
}

.standards-record-title small,
.standards-record-cell small,
.standards-record-muted {
  color: var(--pmis-text-secondary, var(--muted));
}

.standards-record-code {
  color: var(--text);
  font-weight: 700;
  font-size: 0.78rem;
}

.standards-preview-pane {
  min-height: 0;
  overflow: auto;
}

.standards-preview-card {
  align-content: start;
}

.standards-preview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
}

.standards-preview-header h2 {
  margin: 2px 0 0;
  font-size: 1.02rem;
  line-height: 1.16;
  letter-spacing: 0;
}

.standards-preview-note {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
  font-size: 0.86rem;
}

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

.standards-preview-meta span {
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
  background: var(--entry-soft-surface);
  color: var(--muted);
  font-size: 0.78rem;
}

.standards-preview-section {
  display: grid;
  gap: var(--space-1);
  padding-top: var(--space-2);
  border-top: 1px solid var(--line-soft);
}

.standards-preview-section h3 {
  margin: 0;
}

.standards-preview-fields,
.standards-revision-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.standards-preview-fields div,
.standards-revision-item {
  display: grid;
  gap: 2px;
}

.standards-preview-fields dd {
  margin: 0;
  color: var(--text);
  line-height: 1.35;
  font-size: 0.86rem;
}

.standards-preview-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.standards-preview-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
  background: var(--entry-soft-surface);
  color: var(--text);
  font-size: 0.78rem;
}

.standards-preview-chip.is-empty,
.standards-revision-item.is-empty span,
.standards-revision-item span {
  color: var(--muted);
}

.standards-preview-actions,
.standards-structure-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: var(--space-2);
  border-top: 1px solid var(--line-soft);
}

.standards-preview-actions .template-register-detail-action {
  min-height: var(--control-height-xs);
  border-color: var(--line-soft);
  background: var(--entry-soft-surface);
  color: var(--text);
}

.standards-structure-default-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.standards-structure-default {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-control);
  background: var(--entry-soft-surface);
}

.standards-structure-default span {
  color: var(--text);
  font-size: 0.82rem;
}

.standards-structure-guidance {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.36;
}

.standards-preview-empty,
.template-library-empty-state {
  display: grid;
  gap: 6px;
  padding: var(--panel-padding-md);
  color: var(--muted);
}

.standards-preview-empty strong,
.template-library-empty-state strong {
  color: var(--text);
}

@media (max-width: 1500px) {
  .standards-console-grid {
    grid-template-columns: minmax(220px, calc(260px * var(--ui-sidebar-scale))) minmax(0, 1fr);
  }

  .standards-preview-pane {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    overflow: visible;
  }
}

@media (max-width: 1180px) {
  .standards-console-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .standards-console-header-actions {
    justify-content: flex-start;
    width: 100%;
  }

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

  .standards-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .standards-console-grid,
  .standards-preview-pane {
    grid-template-columns: 1fr;
  }

  .standards-preview-pane {
    grid-column: auto;
  }

  .standards-records-pane {
    overflow-x: auto;
  }

  .standards-records-table {
    min-width: 890px;
  }
}

@media (max-width: 720px) {
  .standards-console-header {
    padding: var(--panel-padding-sm);
  }

  .standards-console-title {
    align-items: flex-start;
  }

  .standards-console-header-actions,
  .standards-segmented-control {
    width: 100%;
  }

  .standards-segment {
    flex: 1 1 0;
  }

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

  .standards-structure-default-grid {
    grid-template-columns: 1fr;
  }
}

.layout-content:has(.directory-workspace-page) {
  width: 100%;
  max-width: none;
}

.directory-workspace-page {
  display: grid;
  gap: var(--space-3);
}

.directory-workspace-header,
.directory-summary-row,
.directory-main-surface,
.directory-rail-section {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-panel);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow, none);
}

.directory-workspace-header {
  padding: var(--panel-padding-lg);
}

.directory-workspace-header .page-title-block {
  max-width: 920px;
}

.directory-workspace-header .page-title-block h1 {
  font-size: 2rem;
  color: var(--pmis-text-primary);
}

.directory-workspace-header .page-title-block p {
  color: var(--pmis-text-secondary);
}

.directory-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--panel-padding-md);
  flex-wrap: wrap;
}

.directory-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: var(--space-2);
  flex: 1 1 780px;
}

.directory-summary-card {
  display: grid;
  gap: 6px;
  padding: var(--panel-padding-sm);
  border-radius: var(--radius-control);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.directory-summary-label,
.directory-summary-meta,
.directory-card-section-label,
.directory-resource-association,
.directory-company-group-copy span,
.directory-rail-toggle-copy span {
  color: var(--pmis-text-secondary);
}

.directory-summary-label,
.directory-card-section-label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.directory-summary-value {
  font-size: 1.6rem;
  line-height: 1;
  color: var(--pmis-text-primary);
}

.directory-primary-action {
  min-height: 40px;
  white-space: nowrap;
}

.directory-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 260px);
  gap: var(--space-3);
  align-items: start;
}

.directory-main-surface,
.directory-support-rail {
  min-width: 0;
}

.directory-main-surface {
  display: grid;
  gap: var(--space-2);
  padding: var(--panel-padding-md);
}

.directory-main-topbar,
.directory-search-row,
.directory-contact-filters {
  display: flex;
  align-items: center;
  gap: var(--ui-control-gap);
  flex-wrap: wrap;
}

.directory-workspace-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.directory-workspace-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-secondary);
  font-weight: 600;
}

.directory-workspace-tab.is-active {
  background: var(--entry-soft-surface-strong);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.directory-search-field {
  position: relative;
  min-width: min(420px, 100%);
  flex: 1 1 420px;
}

.directory-search-field input,
.directory-contact-filter select {
  width: 100%;
  min-height: 40px;
  border-radius: var(--radius-control);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.directory-search-field input {
  padding: 0 14px 0 40px;
}

.directory-contact-filter select {
  min-width: 156px;
  padding: 0 12px;
}

.directory-contact-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-control-gap);
  flex-wrap: wrap;
  min-width: 0;
}

.directory-contact-filter-row .directory-contact-filters {
  flex: 1 1 auto;
}

.directory-contact-result-count {
  flex: none;
  color: var(--pmis-text-secondary);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.directory-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 1.8px solid var(--pmis-text-secondary);
  border-radius: 50%;
  transform: translateY(-58%);
}

.directory-search-icon::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -4px;
  width: 6px;
  height: 1.8px;
  border-radius: var(--radius-pill);
  background: var(--pmis-text-secondary);
  transform: rotate(45deg);
}

.directory-main-body,
.directory-company-groups,
.directory-support-rail,
.directory-rail-accordion,
.directory-resource-list {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.directory-company-group,
.directory-rail-item {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg);
  background: var(--pmis-surface-card);
}

.directory-company-group-toggle,
.directory-rail-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.directory-company-group-copy,
.directory-company-card-copy,
.directory-company-preview-copy,
.directory-contact-card-copy,
.directory-rail-toggle-copy,
.directory-resource-copy {
  display: grid;
  gap: 4px;
}

.directory-company-group-copy strong,
.directory-company-card-copy h3,
.directory-contact-card-copy strong,
.directory-rail-toggle-copy strong,
.directory-resource-copy strong {
  color: var(--pmis-text-primary);
}

.directory-company-group-meta,
.directory-rail-toggle-meta,
.directory-company-card-head,
.directory-company-card-foot,
.directory-contact-card-head,
.directory-contact-card-links,
.directory-resource-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.directory-accordion-caret {
  width: 10px;
  height: 10px;
  border-right: 1.6px solid var(--pmis-text-secondary);
  border-bottom: 1.6px solid var(--pmis-text-secondary);
  transform: rotate(45deg);
  transition: transform 140ms ease;
}

.directory-accordion-caret.is-open {
  transform: rotate(225deg) translate(-1px, -1px);
}

.directory-workspace-page .directory-company-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  padding: 0;
}

.directory-company-card,
.directory-contact-card {
  display: grid;
  gap: var(--space-2);
  padding: var(--panel-padding-md);
  border-radius: var(--radius-control);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.directory-company-card-copy h3 {
  margin: 0;
  font-size: 1.08rem;
}

.directory-company-card-copy p {
  margin: 0;
  color: var(--pmis-text-secondary);
  line-height: 1.45;
}

.directory-workspace-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.directory-workspace-chip[data-tone="blue"] {
  background: var(--pmis-accent-soft);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.directory-workspace-chip[data-tone="teal"] {
  background: var(--pmis-accent-soft);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.directory-workspace-chip[data-tone="green"] {
  background: var(--entry-soft-surface);
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
  color: var(--pmis-success);
}

.directory-workspace-chip[data-tone="amber"] {
  background: var(--entry-soft-surface);
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, transparent);
  color: var(--pmis-warning);
}

.directory-workspace-chip[data-tone="indigo"] {
  background: var(--pmis-accent-soft);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.directory-workspace-chip[data-tone="slate"] {
  background: var(--entry-soft-surface);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-secondary);
}

.directory-company-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.directory-company-preview {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.directory-workspace-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--entry-soft-surface-strong);
  border: 1px solid var(--pmis-border-subtle);
  color: var(--pmis-text-primary);
  font-size: 0.76rem;
  font-weight: 700;
  flex: none;
}

.directory-workspace-avatar[data-size="md"] {
  width: 42px;
  height: 42px;
  font-size: 0.84rem;
}

.directory-company-preview-copy strong,
.directory-contact-card-copy strong {
  font-size: 0.94rem;
}

.directory-company-preview-copy span,
.directory-contact-card-copy span,
.directory-contact-card-company,
.directory-resource-copy span,
.directory-resource-meta span,
.directory-inline-action {
  color: var(--pmis-text-secondary);
}

.directory-company-preview-copy a,
.directory-contact-card-links a {
  color: var(--pmis-info);
  text-decoration: none;
  font-size: 0.84rem;
}

.directory-company-preview-copy a:hover,
.directory-contact-card-links a:hover,
.directory-inline-action:hover {
  text-decoration: underline;
}

.directory-company-card-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--pmis-text-secondary);
  font-size: 0.84rem;
}

.directory-inline-action {
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: 600;
}

.directory-contact-filters {
  padding-bottom: 2px;
}

.directory-workspace-page .directory-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.directory-contact-card {
  grid-template-columns: 1fr;
  align-items: start;
}

.directory-contact-card-head {
  align-items: flex-start;
}

.directory-contact-card-identity {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.directory-contact-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  flex: none;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary);
  font-size: 0.82rem;
  font-weight: 800;
}

.directory-contact-card-copy {
  min-width: 0;
}

.directory-contact-card-copy strong,
.directory-contact-card-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.directory-contact-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.directory-contact-card-company {
  font-weight: 600;
}

.directory-contact-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory-contact-card-links {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.directory-contact-register {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg);
  background: var(--pmis-surface-card);
}

.directory-contact-register .pmis-record-head,
.directory-contact-register .pmis-record-body {
  min-width: 910px;
}

.directory-contact-register .pmis-record-head,
.directory-contact-register .pmis-record-row {
  gap: 0;
}

.directory-contact-register .pmis-record-head {
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.directory-contact-register .pmis-record-head span,
.directory-contact-register-cell {
  min-width: 0;
  padding: 7px 10px;
}

.directory-contact-register .pmis-record-head span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-contact-register-body {
  max-height: clamp(360px, 54vh, 720px);
  overflow-x: hidden;
  overflow-y: auto;
}

.directory-contact-register-row {
  min-height: 48px;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.directory-contact-register-row:last-child {
  border-bottom: 0;
}

.directory-contact-register-person {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.directory-contact-register-avatar {
  width: 28px;
  height: 28px;
  font-size: 0.66rem;
}

.directory-contact-register-person-copy,
.directory-contact-register-company,
.directory-contact-register-methods,
.directory-contact-register-responsibility {
  display: grid;
  gap: 2px;
  min-width: 0;
  line-height: 1.24;
}

.directory-contact-register-person-copy strong,
.directory-contact-register-company strong,
.directory-contact-register-responsibility strong {
  color: var(--pmis-text-primary);
  font-size: 0.86rem;
}

.directory-contact-register-person-copy span,
.directory-contact-register-company span,
.directory-contact-register-responsibility span,
.directory-contact-register-muted {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
}

.directory-contact-register-person-copy strong,
.directory-contact-register-person-copy span,
.directory-contact-register-company strong,
.directory-contact-register-company span,
.directory-contact-register-responsibility strong,
.directory-contact-register-responsibility span,
.directory-contact-register-methods a,
.directory-contact-register-muted {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-contact-register-methods a {
  color: var(--pmis-info);
  font-size: 0.8rem;
  text-decoration: none;
}

.directory-contact-register-methods a:hover {
  text-decoration: underline;
}

.directory-contact-register-tags,
.directory-contact-register-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.directory-contact-register-tags {
  flex-wrap: wrap;
}

.directory-contact-register-tags .directory-workspace-chip {
  min-height: 22px;
  padding: 0 8px;
  font-size: 0.7rem;
}

.directory-contact-register-actions {
  justify-content: flex-end;
}

.directory-resource-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1.4fr) minmax(0, 0.9fr) minmax(220px, 1fr) 48px;
  gap: 14px;
  padding: 14px 16px;
  border-radius: var(--radius-control-lg);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  text-decoration: none;
}

.directory-resource-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  position: relative;
}

.directory-resource-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: var(--pmis-text-tertiary);
}

.directory-resource-icon[data-tone="blue"]::before {
  background: var(--pmis-info);
}

.directory-resource-icon[data-tone="teal"]::before {
  background: var(--pmis-info);
}

.directory-resource-icon[data-tone="green"]::before {
  background: var(--pmis-success);
}

.directory-resource-icon[data-tone="amber"]::before {
  background: var(--pmis-warning);
}

.directory-resource-icon[data-tone="indigo"]::before {
  background: var(--pmis-info);
}

.directory-resource-copy strong {
  font-size: 0.95rem;
}

.directory-resource-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  text-align: right;
  font-size: 0.82rem;
}

.directory-resource-arrow {
  justify-self: end;
  color: var(--pmis-info);
  font-weight: 600;
}

.directory-support-rail {
  display: grid;
  gap: 12px;
}

.directory-rail-section {
  display: grid;
  gap: var(--space-2);
  padding: var(--panel-padding-md);
}

.directory-rail-section .section-heading {
  margin-bottom: 0;
}

.directory-rail-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  font-size: 0.8rem;
}

.directory-rail-expand {
  padding: 0 16px 14px;
}

.directory-rail-member-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory-workspace-empty {
  display: grid;
  gap: 6px;
  padding: 28px 12px;
  color: var(--pmis-text-secondary);
  text-align: center;
}

.directory-workspace-empty strong {
  color: var(--pmis-text-primary);
}

body[data-theme="whites"] .directory-workspace-header,
body[data-theme="whites"] .directory-summary-row,
body[data-theme="whites"] .directory-main-surface,
body[data-theme="whites"] .directory-rail-section,
body[data-theme="whites"] .directory-company-card,
body[data-theme="whites"] .directory-contact-card,
body[data-theme="whites"] .directory-contact-register,
body[data-theme="whites"] .directory-company-group,
body[data-theme="whites"] .directory-rail-item,
body[data-theme="whites"] .directory-resource-row {
  background: var(--pmis-surface-card);
}

@media (max-width: 1220px) {
  .directory-summary-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .directory-workspace-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 940px) {
  .directory-workspace-page .directory-company-grid,
  .directory-workspace-page .directory-contact-grid {
    grid-template-columns: 1fr;
  }

  .directory-resource-row {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .directory-resource-association,
  .directory-resource-meta,
  .directory-resource-arrow {
    justify-self: start;
    text-align: left;
  }
}

@media (max-width: 760px) {
  .directory-workspace-header,
  .directory-summary-row,
  .directory-main-surface,
  .directory-rail-section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .directory-summary-grid,
  .directory-company-preview-grid {
    grid-template-columns: 1fr;
  }

  .directory-workspace-tabs {
    width: 100%;
  }

  .directory-workspace-tab {
    flex: 1 1 0;
  }

  .directory-search-field,
  .directory-contact-filter {
    min-width: 100%;
    flex-basis: 100%;
  }

  .directory-contact-filter-row,
  .directory-contact-filter-row .directory-contact-filters,
  .directory-contact-result-count {
    width: 100%;
  }

  .directory-contact-register {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .directory-contact-register .pmis-record-head {
    display: none;
  }

  .directory-contact-register .pmis-record-body {
    display: grid;
    gap: 8px;
    min-width: 0;
    max-height: none;
    overflow: visible;
  }

  .directory-contact-register-row {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    padding: 10px 12px;
    border: 1px solid var(--pmis-border-subtle);
    border-radius: var(--radius-control);
    background: var(--pmis-surface-card);
  }

  .directory-contact-register-cell {
    display: grid;
    gap: 5px;
    padding: 7px 0;
  }

  .directory-contact-register-cell::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .directory-contact-register-cell:first-child::before {
    display: none;
  }

  .directory-contact-register-actions {
    justify-content: flex-start;
  }
}

.layout-content:has(.project-info-page) {
  width: 100%;
  max-width: none;
}

.project-info-page {
  display: grid;
  gap: 18px;
}

.project-info-header,
.project-info-summary-row,
.project-info-overview-panel,
.project-info-link-section,
.project-info-rail-card {
  border: 1px solid rgba(34, 56, 78, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(40, 60, 84, 0.05);
}

.project-info-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  flex-wrap: wrap;
}

.project-info-header .page-title-block {
  max-width: 900px;
}

.project-info-header .page-title-block h1 {
  color: #17314f;
  font-size: 2rem;
}

.project-info-header .page-title-block p {
  color: #64788d;
}

.project-info-header-pills,
.project-info-panel-chips,
.project-info-tag-list,
.project-info-fact-chips,
.project-info-utility-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.project-info-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #f4f7fb;
  color: #4c6279;
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.project-info-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  flex-wrap: wrap;
}

.project-info-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  flex: 1 1 760px;
}

.project-info-summary-card {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.project-info-summary-label,
.project-info-summary-meta,
.project-info-overview-label,
.project-info-meta-copy span,
.project-info-detail-copy span,
.project-info-rail-copy span,
.project-info-panel-title h2 + .project-info-panel-chips,
.project-info-section-header p {
  color: #6b7f93;
}

.project-info-summary-label,
.project-info-overview-label,
.project-info-utility-count {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.project-info-summary-value {
  font-size: 1.72rem;
  line-height: 1;
  color: #17314f;
}

.project-info-action-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.project-info-secondary-action::after {
  content: " v";
  font-size: 0.8rem;
}

.project-info-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 16px;
  align-items: start;
}

.project-info-main-column,
.project-info-rail {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.project-info-overview-panel,
.project-info-link-section,
.project-info-rail-card {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.project-info-panel-header,
.project-info-section-header,
.project-info-subsection-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.project-info-panel-title,
.project-info-section-header > div {
  display: grid;
  gap: 8px;
}

.project-info-panel-title h2,
.project-info-section-header h2,
.project-info-subsection-header h3 {
  margin: 0;
  color: #17314f;
}

.project-info-more-button {
  min-width: 30px;
  min-height: 30px;
  border-radius: 10px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #ffffff;
  color: #61758a;
}

.project-info-overview-body {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.project-info-map-column,
.project-info-meta-column,
.project-info-overview-stack,
.project-info-overview-block,
.project-info-details-section,
.project-info-detail-card,
.project-info-facts-card,
.project-info-rail-list {
  display: grid;
  gap: 12px;
}

.project-info-map {
  position: relative;
  min-height: 190px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background:
    radial-gradient(circle at 80% 78%, rgba(124, 183, 232, 0.32), transparent 22%),
    linear-gradient(180deg, #f5f4ec 0%, #edf1ea 48%, #cfe2ea 48%, #b9d7ec 100%);
}

.project-info-map-grid {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.34) 0, rgba(255, 255, 255, 0.34) 1px, transparent 1px, transparent 24px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.28) 0, rgba(255, 255, 255, 0.28) 1px, transparent 1px, transparent 24px);
  opacity: 0.7;
}

.project-info-map-water {
  position: absolute;
  right: -12%;
  bottom: -22%;
  width: 62%;
  height: 68%;
  border-radius: 52% 0 0 0;
  background: rgba(109, 175, 226, 0.45);
}

.project-info-map-pin {
  position: absolute;
  top: 30%;
  left: 62%;
  width: 18px;
  height: 18px;
  border-radius: 50% 50% 50% 0;
  background: #da6f5f;
  transform: rotate(-45deg);
  box-shadow: 0 8px 16px rgba(218, 111, 95, 0.22);
}

.project-info-map-pin::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #ffffff;
}

.project-info-map-copy {
  position: absolute;
  left: 18px;
  bottom: 16px;
  display: grid;
  gap: 2px;
  color: #17314f;
}

.project-info-map-copy strong {
  font-size: 1.08rem;
}

.project-info-map-copy span {
  color: #60748a;
}

.project-info-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.project-info-meta-item,
.project-info-detail-line,
.project-info-rail-row,
.project-info-task-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.project-info-meta-item {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #ffffff;
}

.project-info-meta-icon,
.project-info-detail-icon,
.project-info-link-icon,
.project-info-rail-icon,
.project-info-task-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #eff4fa;
  position: relative;
  flex: none;
}

.project-info-meta-icon::before,
.project-info-detail-icon::before,
.project-info-link-icon::before,
.project-info-rail-icon::before,
.project-info-task-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: #9cb1c7;
}

.project-info-meta-icon[data-icon="location"]::before,
.project-info-rail-icon[data-icon="feed"]::before {
  background: #8fb5d9;
}

.project-info-meta-icon[data-icon="client"]::before,
.project-info-detail-icon[data-icon="project"]::before,
.project-info-link-icon[data-icon="scope"]::before,
.project-info-task-icon[data-icon="confirm"]::before {
  background: #9db7de;
}

.project-info-meta-icon[data-icon="delivery"]::before,
.project-info-detail-icon[data-icon="delivery"]::before,
.project-info-link-icon[data-icon="directory"]::before,
.project-info-task-icon[data-icon="task"]::before {
  background: #9ec7be;
}

.project-info-meta-icon[data-icon="phase"]::before,
.project-info-detail-icon[data-icon="phase"]::before,
.project-info-link-icon[data-icon="templates"]::before,
.project-info-rail-icon[data-icon="review"]::before,
.project-info-task-icon[data-icon="publish"]::before {
  background: #d1b58e;
}

.project-info-meta-copy,
.project-info-detail-copy,
.project-info-rail-copy,
.project-info-task-copy {
  display: grid;
  gap: 2px;
}

.project-info-meta-copy strong,
.project-info-detail-copy strong,
.project-info-rail-copy strong,
.project-info-task-copy strong,
.project-info-link-copy strong {
  color: #17314f;
}

.project-info-date-list {
  display: grid;
  gap: 6px;
  color: #43586d;
}

.project-info-details-section {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #ffffff;
}

.project-info-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.92fr);
  gap: 14px;
}

.project-info-detail-card,
.project-info-facts-card {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.project-info-facts-title {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7f93;
}

.project-info-utility-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
  flex-wrap: wrap;
}

.project-info-utility-links a {
  color: #36597e;
  text-decoration: none;
  font-weight: 600;
}

.project-info-utility-links a:hover {
  text-decoration: underline;
}

.project-info-inline-button {
  min-height: 34px;
}

.project-info-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.project-info-link-card {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
  text-decoration: none;
}

.project-info-link-copy {
  display: grid;
  gap: 3px;
}

.project-info-link-copy span,
.project-info-link-arrow,
.project-info-rail-time,
.project-info-task-arrow {
  color: #677b90;
}

.project-info-link-arrow,
.project-info-task-arrow {
  font-weight: 600;
  white-space: nowrap;
}

.project-info-rail-card {
  padding: 16px;
}

.project-info-rail-card .section-heading {
  margin-bottom: 12px;
}

.project-info-rail-row,
.project-info-task-row {
  justify-content: space-between;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.project-info-rail-time {
  font-size: 0.78rem;
  white-space: nowrap;
}

body[data-theme="whites"] .project-info-header,
body[data-theme="whites"] .project-info-summary-row,
body[data-theme="whites"] .project-info-overview-panel,
body[data-theme="whites"] .project-info-link-section,
body[data-theme="whites"] .project-info-rail-card,
body[data-theme="whites"] .project-info-meta-item,
body[data-theme="whites"] .project-info-detail-card,
body[data-theme="whites"] .project-info-facts-card,
body[data-theme="whites"] .project-info-link-card,
body[data-theme="whites"] .project-info-rail-row,
body[data-theme="whites"] .project-info-task-row {
  background: #ffffff;
}

@media (max-width: 1240px) {
  .project-info-layout {
    grid-template-columns: 1fr;
  }

  .project-info-summary-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}

@media (max-width: 980px) {
  .project-info-overview-body,
  .project-info-details-grid,
  .project-info-link-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .project-info-header,
  .project-info-summary-row,
  .project-info-overview-panel,
  .project-info-link-section,
  .project-info-rail-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .project-info-summary-grid,
  .project-info-meta-grid {
    grid-template-columns: 1fr;
  }
}

.project-info-page {
  gap: 14px;
}

.project-info-header,
.project-info-summary-row,
.project-info-overview-panel,
.project-info-link-section,
.project-info-rail-card {
  border-color: rgba(32, 50, 70, 0.12);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(31, 49, 70, 0.06);
}

.project-info-header {
  padding: 18px 20px;
}

.project-info-header .page-title-block h1 {
  font-size: 1.62rem;
  line-height: 1.08;
}

.project-info-summary-row {
  padding: 12px;
}

.project-info-summary-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.project-info-summary-card {
  min-height: 78px;
  padding: 12px;
  border-radius: 8px;
  background: #ffffff;
}

.project-info-summary-value {
  font-size: 1.28rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.project-info-summary-meta {
  font-size: 0.78rem;
}

.project-info-action-row .ui-button,
.project-info-action-row .ui-button-secondary,
.project-info-action-row .pmis-action-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  white-space: nowrap;
}

.project-info-secondary-action::after {
  content: "";
}

.project-info-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 18px;
  height: 18px;
  color: currentColor;
}

.project-info-inline-icon svg {
  width: 16px;
  height: 16px;
}

.project-info-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
}

.project-info-overview-panel,
.project-info-link-section,
.project-info-rail-card {
  padding: 14px;
}

.project-info-panel-title h2,
.project-info-section-header h2 {
  font-size: 1rem;
}

.project-info-overview-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.project-info-profile-grid {
  display: grid;
  grid-template-columns: minmax(300px, clamp(340px, 42%, 760px)) minmax(360px, 1fr);
  gap: 16px;
  align-items: start;
}

.project-info-visual {
  display: grid;
  gap: 10px;
  margin: 0;
  min-width: 0;
}

.project-info-picture-frame {
  position: relative;
  aspect-ratio: 16 / 10;
  min-height: 265px;
  max-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(32, 50, 70, 0.12);
  border-radius: 8px;
  background: #e9eff5;
}

.project-info-picture-frame img,
.project-info-picture-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.project-info-picture-frame img {
  display: block;
  object-fit: cover;
}

.project-info-picture-placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: #20324a;
  background:
    linear-gradient(135deg, rgba(66, 102, 132, 0.1), rgba(140, 168, 148, 0.14)),
    #edf2f6;
}

.project-info-picture-placeholder strong {
  font-size: 2rem;
  letter-spacing: 0;
}

.project-info-picture-placeholder span {
  color: #5c6f82;
  font-size: 0.82rem;
  font-weight: 700;
}

.project-info-picture-overlay {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(11, 22, 34, 0.66);
  color: #ffffff;
  backdrop-filter: blur(10px);
}

.project-info-picture-overlay span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.project-info-picture-overlay strong {
  overflow-wrap: anywhere;
}

.project-info-picture-caption {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #52677d;
  font-size: 0.84rem;
}

.project-info-picture-caption span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-info-picture-caption strong {
  margin-left: auto;
  color: #20324a;
  white-space: nowrap;
}

.project-info-profile-copy {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
}

.project-info-brief {
  display: grid;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(32, 50, 70, 0.1);
}

.project-info-brief h3 {
  margin: 0;
  color: #17314f;
  font-size: 1.2rem;
  line-height: 1.15;
}

.project-info-brief p {
  max-width: 76ch;
  margin: 0;
  color: #4c6075;
  line-height: 1.5;
}

.project-info-brief-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.project-info-brief-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(32, 50, 70, 0.1);
  border-radius: 999px;
  background: #f6f8fb;
  color: #41566d;
  font-size: 0.78rem;
  font-weight: 700;
}

.project-info-highlight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.project-info-highlight {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(32, 50, 70, 0.1);
  border-radius: 8px;
  background: #fbfcfe;
}

.project-info-highlight-icon {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(46, 96, 131, 0.18);
  border-radius: 8px;
  background: #edf4f8;
  color: #38627d;
}

.project-info-highlight-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-info-highlight-copy span,
.project-info-highlight-copy small {
  color: #667b90;
  font-size: 0.76rem;
}

.project-info-highlight-copy strong {
  color: #17314f;
  overflow-wrap: anywhere;
}

.project-info-detail-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.project-info-detail-group {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 50, 70, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.project-info-detail-group h3 {
  margin: 0;
  color: #17314f;
  font-size: 0.88rem;
}

.project-info-detail-list {
  display: grid;
  gap: 8px;
}

.project-info-detail-row {
  display: grid;
  grid-template-columns: minmax(90px, 0.55fr) minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  min-width: 0;
}

.project-info-detail-row span {
  color: #6b7f93;
  font-size: 0.76rem;
}

.project-info-detail-row strong {
  color: #20324a;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.project-info-link-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.project-info-link-card {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  min-height: 82px;
  padding: 12px;
  border-radius: 8px;
  color: inherit;
  transition:
    border-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.project-info-link-card:hover {
  border-color: rgba(54, 98, 126, 0.28);
  box-shadow: 0 10px 20px rgba(31, 49, 70, 0.08);
  transform: translateY(-1px);
}

.project-info-link-card .project-info-link-icon {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(46, 96, 131, 0.18);
  border-radius: 8px;
  background: #edf4f8;
  color: #38627d;
}

.project-info-link-arrow {
  color: #38627d;
  font-size: 0.82rem;
}

.project-info-note-row {
  gap: 6px;
}

.project-info-note-row strong {
  color: #17314f;
}

@media (max-width: 1240px) {
  .project-info-layout {
    grid-template-columns: 1fr;
  }

  .project-info-rail {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1080px) {
  .project-info-profile-grid,
  .project-info-detail-sections,
  .project-info-link-grid {
    grid-template-columns: 1fr;
  }

  .project-info-picture-frame {
    min-height: 230px;
  }
}

@media (max-width: 860px) {
  .project-info-summary-grid,
  .project-info-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .project-info-header,
  .project-info-summary-row {
    align-items: stretch;
  }

  .project-info-summary-grid,
  .project-info-highlight-grid {
    grid-template-columns: 1fr;
  }

  .project-info-action-row,
  .project-info-action-row .ui-button,
  .project-info-action-row .ui-button-secondary,
  .project-info-action-row .pmis-action-button {
    width: 100%;
  }

  .project-info-action-row .ui-button,
  .project-info-action-row .ui-button-secondary,
  .project-info-action-row .pmis-action-button {
    justify-content: center;
  }

  .project-info-detail-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

.layout-content:has(.roles-matrix-page) {
  width: 100%;
  max-width: none;
}

.roles-matrix-page {
  display: grid;
  gap: var(--space-3, 18px);
}

.roles-matrix-header,
.roles-matrix-summary-row,
.roles-matrix-workspace,
.roles-matrix-rail-card {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 20px;
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow, none);
}

.roles-matrix-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3, 16px);
  padding: var(--panel-padding-lg, 24px);
  flex-wrap: wrap;
}

.roles-matrix-header .page-title-block {
  max-width: 900px;
}

.roles-matrix-header .page-title-block h1 {
  color: var(--pmis-text-primary);
  font-size: 2rem;
}

.roles-matrix-header .page-title-block p {
  color: var(--pmis-text-secondary);
}

.roles-matrix-header-pills,
.roles-matrix-action-row,
.roles-matrix-role-foot,
.roles-matrix-quick-links,
.roles-matrix-rail-list {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  flex-wrap: wrap;
}

.roles-matrix-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.roles-matrix-pill[data-tone="slate"] {
  background: var(--entry-soft-surface, transparent);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-secondary);
}

.roles-matrix-pill[data-tone="blue"] {
  background: color-mix(in srgb, var(--pmis-info) 12%, transparent);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.roles-matrix-pill[data-tone="green"] {
  background: color-mix(in srgb, var(--pmis-success) 12%, transparent);
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
  color: var(--pmis-success);
}

.roles-matrix-pill[data-tone="amber"] {
  background: color-mix(in srgb, var(--pmis-warning) 12%, transparent);
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, transparent);
  color: var(--pmis-warning);
}

.roles-matrix-pill[data-tone="indigo"] {
  background: color-mix(in srgb, var(--pmis-info) 12%, transparent);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.roles-matrix-pill[data-tone="red"] {
  background: color-mix(in srgb, var(--pmis-danger) 12%, transparent);
  border-color: color-mix(in srgb, var(--pmis-danger) 34%, transparent);
  color: var(--pmis-danger);
}

.roles-matrix-summary-row {
  grid-template-columns: repeat(4, minmax(160px, 1fr)) auto;
  align-items: stretch;
  gap: var(--space-2, 12px);
  padding: var(--panel-padding-md, 16px);
}

.roles-matrix-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: var(--space-2, 12px);
  flex: 1 1 780px;
}

.roles-matrix-kpi-card {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: var(--space-2, 12px);
  padding: var(--panel-padding-sm, 12px);
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
}

.roles-matrix-kpi-icon,
.roles-matrix-role-icon,
.roles-matrix-approval-icon,
.roles-matrix-rail-icon,
.roles-matrix-task-icon,
.roles-matrix-quick-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface, var(--pmis-accent-soft));
  position: relative;
  flex: none;
}

.roles-matrix-kpi-icon::before,
.roles-matrix-role-icon::before,
.roles-matrix-approval-icon::before,
.roles-matrix-rail-icon::before,
.roles-matrix-task-icon::before,
.roles-matrix-quick-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: var(--pmis-text-tertiary);
}

.roles-matrix-kpi-icon[data-icon="roles"]::before,
.roles-matrix-role-icon[data-icon="design"]::before,
.roles-matrix-rail-icon[data-icon="design"]::before {
  background: var(--pmis-info);
}

.roles-matrix-kpi-icon[data-icon="paths"]::before,
.roles-matrix-role-icon[data-icon="owner"]::before,
.roles-matrix-approval-icon[data-icon="change"]::before,
.roles-matrix-task-icon[data-icon="confirm"]::before {
  background: var(--pmis-success);
}

.roles-matrix-kpi-icon[data-icon="reviews"]::before,
.roles-matrix-role-icon[data-icon="contractor"]::before,
.roles-matrix-approval-icon[data-icon="commissioning"]::before,
.roles-matrix-task-icon[data-icon="review"]::before {
  background: var(--pmis-warning);
}

.roles-matrix-kpi-icon[data-icon="links"]::before,
.roles-matrix-role-icon[data-icon="bim"]::before,
.roles-matrix-approval-icon[data-icon="rfi"]::before,
.roles-matrix-rail-icon[data-icon="bim"]::before,
.roles-matrix-task-icon[data-icon="publish"]::before {
  background: var(--pmis-info);
}

.roles-matrix-approval-icon[data-icon="drawings"]::before,
.roles-matrix-quick-icon[data-icon="directory"]::before {
  background: var(--pmis-info);
}

.roles-matrix-quick-icon[data-icon="approvals"]::before {
  background: var(--pmis-success);
}

.roles-matrix-quick-icon[data-icon="reviews"]::before {
  background: var(--pmis-warning);
}

.roles-matrix-quick-icon[data-icon="templates"]::before {
  background: var(--pmis-info);
}

.roles-matrix-kpi-copy {
  display: grid;
  gap: 4px;
}

.roles-matrix-kpi-label,
.roles-matrix-kpi-meta,
.roles-matrix-section-header p,
.roles-matrix-role-copy span,
.roles-matrix-role-meta span,
.roles-matrix-table-cell span,
.roles-matrix-rail-copy span,
.roles-matrix-task-copy span,
.roles-matrix-quick-copy span,
.roles-matrix-task-count {
  color: var(--pmis-text-secondary);
}

.roles-matrix-kpi-label,
.roles-matrix-task-count {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.roles-matrix-kpi-value {
  font-size: 1.7rem;
  line-height: 1;
  color: var(--pmis-text-primary);
}

.roles-matrix-secondary-action::after {
  content: " v";
  font-size: 0.8rem;
}

.roles-matrix-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 308px;
  gap: var(--space-3, 16px);
  align-items: start;
}

.roles-matrix-main-column,
.roles-matrix-rail {
  min-width: 0;
  display: grid;
  gap: var(--space-3, 16px);
}

.roles-matrix-workspace {
  display: grid;
  gap: var(--space-2, 12px);
  padding: var(--panel-padding-md, 16px);
}

.roles-matrix-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface, transparent);
  width: fit-content;
  flex-wrap: wrap;
}

.roles-matrix-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-secondary);
  font-weight: 600;
}

.roles-matrix-tab.is-active {
  background: var(--entry-soft-surface-strong, var(--pmis-surface-card));
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.roles-matrix-section {
  display: grid;
  gap: var(--space-2, 12px);
  padding: var(--panel-padding-md, 16px);
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.roles-matrix-section-header,
.roles-matrix-role-head,
.roles-matrix-approval-head,
.roles-matrix-flow-label,
.roles-matrix-quick-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.roles-matrix-section-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.roles-matrix-section-header h2,
.roles-matrix-role-copy strong,
.roles-matrix-approval-head strong,
.roles-matrix-flow-label strong,
.roles-matrix-rail-copy strong,
.roles-matrix-task-copy strong,
.roles-matrix-quick-copy strong {
  color: var(--pmis-text-primary);
}

.roles-matrix-section-header h2 {
  margin: 0;
}

.roles-matrix-inline-action {
  min-height: 34px;
}

.roles-matrix-role-grid,
.roles-matrix-approval-grid,
.roles-matrix-flow-grid,
.roles-matrix-rail-list,
.roles-matrix-quick-links {
  display: grid;
  gap: var(--space-2, 12px);
}

.roles-matrix-role-grid,
.roles-matrix-approval-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.roles-matrix-role-card,
.roles-matrix-approval-card,
.roles-matrix-flow-card,
.roles-matrix-rail-row,
.roles-matrix-task-row,
.roles-matrix-quick-link {
  padding: var(--panel-padding-sm, 12px);
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
}

.roles-matrix-role-card,
.roles-matrix-approval-card,
.roles-matrix-flow-card {
  display: grid;
  gap: var(--space-2, 12px);
}

.roles-matrix-role-head {
  align-items: flex-start;
}

.roles-matrix-role-copy,
.roles-matrix-role-meta,
.roles-matrix-flow-copy,
.roles-matrix-quick-copy {
  display: grid;
  gap: 4px;
}

.roles-matrix-role-body {
  display: grid;
  gap: var(--space-1, 8px);
}

.roles-matrix-approval-lines {
  display: grid;
  gap: var(--space-1, 8px);
}

.roles-matrix-role-meta strong,
.roles-matrix-table-cell strong,
.roles-matrix-flow-copy strong {
  color: var(--pmis-text-primary);
}

.roles-matrix-role-foot {
  justify-content: space-between;
  color: var(--pmis-text-secondary);
  font-size: 0.84rem;
}

.roles-matrix-table-shell {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 16px;
  overflow-x: auto;
  background: var(--pmis-surface-card);
}

.roles-matrix-table-head,
.roles-matrix-table-row {
  display: grid;
  grid-template-columns: 150px repeat(5, minmax(160px, 1fr));
  gap: 12px;
  min-width: 980px;
  align-items: start;
}

.roles-matrix-table-head {
  padding: var(--panel-padding-sm, 12px);
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
}

.roles-matrix-table-head-cell {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.roles-matrix-table-head-cell[data-tone="green"] {
  color: var(--pmis-success);
}

.roles-matrix-table-head-cell[data-tone="amber"] {
  color: var(--pmis-warning);
}

.roles-matrix-table-head-cell[data-tone="blue"] {
  color: var(--pmis-info);
}

.roles-matrix-table-head-cell[data-tone="indigo"] {
  color: var(--pmis-info);
}

.roles-matrix-table-row {
  padding: var(--panel-padding-sm, 12px);
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.roles-matrix-table-row:last-child {
  border-bottom: 0;
}

.roles-matrix-table-cell {
  display: grid;
  gap: 4px;
  color: var(--pmis-text-secondary);
}

.roles-matrix-table-cell-workflow strong {
  font-size: 0.94rem;
}

.roles-matrix-flow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2, 12px);
}

.roles-matrix-flow-step {
  position: relative;
  display: grid;
  gap: var(--space-1, 8px);
  padding: var(--panel-padding-sm, 12px);
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
}

.roles-matrix-flow-index {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--entry-soft-surface-strong, var(--pmis-accent-soft));
  color: var(--pmis-text-primary);
  font-size: 0.78rem;
  font-weight: 700;
}

.roles-matrix-flow-connector {
  position: absolute;
  top: 50%;
  right: -12px;
  width: 14px;
  height: 1px;
  background: var(--pmis-border-strong);
}

.roles-matrix-rail-card {
  display: grid;
  gap: var(--space-2, 12px);
  padding: var(--panel-padding-md, 16px);
}

.roles-matrix-rail-card .section-heading {
  margin-bottom: 0;
}

.roles-matrix-rail-link {
  color: var(--pmis-info);
  text-decoration: none;
  font-weight: 600;
}

.roles-matrix-rail-row,
.roles-matrix-task-row,
.roles-matrix-quick-link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2, 12px);
}

.roles-matrix-rail-time {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
  white-space: nowrap;
}

.roles-matrix-task-row {
  align-items: center;
}

.roles-matrix-task-arrow,
.roles-matrix-link-arrow {
  color: var(--pmis-text-secondary);
  font-weight: 700;
  white-space: nowrap;
}

body[data-theme="whites"] .roles-matrix-header,
body[data-theme="whites"] .roles-matrix-summary-row,
body[data-theme="whites"] .roles-matrix-workspace,
body[data-theme="whites"] .roles-matrix-rail-card,
body[data-theme="whites"] .roles-matrix-role-card,
body[data-theme="whites"] .roles-matrix-approval-card,
body[data-theme="whites"] .roles-matrix-flow-card,
body[data-theme="whites"] .roles-matrix-rail-row,
body[data-theme="whites"] .roles-matrix-task-row,
body[data-theme="whites"] .roles-matrix-quick-link {
  background: var(--pmis-surface-card);
}

@media (max-width: 1240px) {
  .roles-matrix-layout {
    grid-template-columns: 1fr;
  }

  .roles-matrix-summary-row,
  .roles-matrix-kpi-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .roles-matrix-action-row {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .roles-matrix-role-grid,
  .roles-matrix-approval-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .roles-matrix-flow-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roles-matrix-flow-connector {
    display: none;
  }
}

@media (max-width: 760px) {
  .roles-matrix-header,
  .roles-matrix-summary-row,
  .roles-matrix-workspace,
  .roles-matrix-rail-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .roles-matrix-summary-row {
    grid-template-columns: 1fr;
  }

  .roles-matrix-kpi-grid,
  .roles-matrix-role-grid,
  .roles-matrix-approval-grid,
  .roles-matrix-flow-steps {
    grid-template-columns: 1fr;
  }

  .roles-matrix-table-head {
    display: none;
  }

  .roles-matrix-table-body,
  .roles-matrix-table-row {
    min-width: 0;
  }

  .roles-matrix-table-row {
    grid-template-columns: 1fr;
  }
}

.layout-content:has(.scope-req-page) {
  width: 100%;
  max-width: none;
}

.scope-req-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.scope-req-header,
.scope-req-summary-row,
.scope-req-workspace,
.scope-req-rail-card {
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow, none);
}

.scope-req-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3, 16px);
  flex-wrap: wrap;
}

.scope-req-header .page-title-block {
  max-width: 900px;
}

.scope-req-header .page-title-block h1 {
  color: var(--pmis-text-primary);
  font-size: 2rem;
}

.scope-req-header .page-title-block p {
  color: var(--pmis-text-secondary);
}

.scope-req-header-pills,
.scope-req-action-row,
.scope-req-component-chips,
.scope-req-rail-list,
.scope-req-related-list {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale, 1));
  flex-wrap: wrap;
}

.scope-req-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-pill, 999px);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
  color: var(--pmis-text-primary);
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.scope-req-pill[data-tone="slate"] {
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-secondary);
}

.scope-req-pill[data-tone="blue"] {
  background: var(--pmis-accent-soft);
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.scope-req-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3, 16px);
  padding: 16px 18px;
  border-radius: var(--radius-panel, 18px);
  flex-wrap: wrap;
}

.scope-req-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: var(--space-2, 12px);
  flex: 1 1 780px;
}

.scope-req-kpi-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2, 12px);
  padding: 14px 16px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--pmis-surface-panel);
}

.scope-req-kpi-icon,
.scope-req-overview-icon,
.scope-req-wbs-node-icon,
.scope-req-rail-icon,
.scope-req-task-icon,
.scope-req-related-icon {
  width: 24px;
  height: 24px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
  position: relative;
  flex: none;
}

.scope-req-kpi-icon::before,
.scope-req-overview-icon::before,
.scope-req-wbs-node-icon::before,
.scope-req-rail-icon::before,
.scope-req-task-icon::before,
.scope-req-related-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: var(--pmis-text-tertiary);
}

.scope-req-kpi-icon[data-icon="items"]::before,
.scope-req-overview-icon[data-icon="scope"]::before,
.scope-req-wbs-node-icon[data-icon="tower"]::before,
.scope-req-rail-icon[data-icon="item"]::before,
.scope-req-task-icon[data-icon="confirm"]::before {
  background: var(--pmis-info);
}

.scope-req-kpi-icon[data-icon="structures"]::before,
.scope-req-overview-icon[data-icon="components"]::before,
.scope-req-wbs-node-icon[data-icon="podium"]::before,
.scope-req-rail-icon[data-icon="structure"]::before,
.scope-req-task-icon[data-icon="review"]::before {
  background: var(--pmis-success);
}

.scope-req-kpi-icon[data-icon="approvals"]::before,
.scope-req-wbs-node-icon[data-icon="site"]::before,
.scope-req-rail-icon[data-icon="review"]::before,
.scope-req-task-icon[data-icon="publish"]::before,
.scope-req-related-icon[data-icon="rfis"]::before {
  background: var(--pmis-warning);
}

.scope-req-kpi-icon[data-icon="modules"]::before,
.scope-req-wbs-node-icon[data-icon="root"]::before,
.scope-req-related-icon[data-icon="reviews"]::before,
.scope-req-related-icon[data-icon="templates"]::before {
  background: var(--pmis-accent);
}

.scope-req-related-icon[data-icon="specifications"]::before {
  background: var(--pmis-info);
}

.scope-req-kpi-copy {
  display: grid;
  gap: 4px;
}

.scope-req-kpi-label,
.scope-req-kpi-meta,
.scope-req-section-header h2 + p,
.scope-req-task-count,
.scope-req-rail-copy span,
.scope-req-task-copy span,
.scope-req-related-copy span,
.scope-req-wbs-node-owner {
  color: var(--pmis-text-secondary);
}

.scope-req-kpi-label,
.scope-req-task-count {
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.scope-req-kpi-value {
  font-size: 1.7rem;
  line-height: 1;
  color: var(--pmis-text-primary);
}

.scope-req-secondary-action::after {
  content: " v";
  font-size: 0.8rem;
}

.scope-req-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--pmis-pane-gap);
  align-items: start;
}

.scope-req-main-column,
.scope-req-rail {
  display: grid;
  gap: var(--pmis-pane-gap);
  min-width: 0;
}

.scope-req-workspace {
  display: grid;
  gap: var(--space-2, 12px);
  background: var(--pmis-surface-card);
}

.scope-req-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-pill, 999px);
  background: var(--entry-soft-surface, var(--pmis-surface-panel));
  width: fit-content;
  flex-wrap: wrap;
}

.scope-req-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-secondary);
  font-weight: 600;
}

.scope-req-tab.is-active {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.scope-req-section {
  display: grid;
  gap: var(--space-2, 12px);
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-panel, 18px);
  background: var(--pmis-surface-panel);
}

.scope-req-section-header,
.scope-req-overview-title,
.scope-req-wbs-root,
.scope-req-wbs-node-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2, 12px);
}

.scope-req-section-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.scope-req-section-header h2,
.scope-req-overview-title strong,
.scope-req-wbs-root-title strong,
.scope-req-wbs-node-title strong,
.scope-req-rail-copy strong,
.scope-req-task-copy strong,
.scope-req-related-copy strong {
  color: var(--pmis-text-primary);
}

.scope-req-section-header h2 {
  margin: 0;
}

.scope-req-inline-action {
  min-height: 34px;
}

.scope-req-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2, 12px);
}

.scope-req-overview-card,
.scope-req-wbs-root,
.scope-req-rail-row,
.scope-req-task-row,
.scope-req-related-row {
  padding: 14px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control-lg, 12px);
  background: var(--entry-soft-surface, var(--pmis-surface-card));
}

.scope-req-overview-card,
.scope-req-wbs-node,
.scope-req-rail-row,
.scope-req-task-row,
.scope-req-related-row {
  display: grid;
  gap: 12px;
}

.scope-req-overview-title {
  justify-content: flex-start;
}

.scope-req-bullet-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--pmis-text-secondary);
}

.scope-req-component-chips {
  justify-content: flex-start;
}

.scope-req-more-button {
  min-width: 30px;
  min-height: 30px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-control, 8px);
  background: var(--entry-soft-surface, var(--pmis-surface-card));
  color: var(--pmis-text-secondary);
}

.scope-req-wbs-root-title,
.scope-req-wbs-node-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.scope-req-wbs-featured {
  display: grid;
}

.scope-req-wbs-node-metrics {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--pmis-text-secondary);
  font-size: 0.84rem;
}

.scope-req-wbs-tree {
  display: grid;
  gap: var(--space-2, 12px);
}

.scope-req-wbs-node {
  min-width: 0;
}

.scope-req-wbs-row {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.scope-req-wbs-connector {
  position: relative;
  margin-left: 8px;
  width: 2px;
  border-radius: var(--radius-pill, 999px);
  background: var(--pmis-border-strong);
}

.scope-req-wbs-connector::before {
  content: "";
  position: absolute;
  top: 26px;
  left: -7px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--pmis-border-strong);
  border: 2px solid var(--pmis-surface-card);
}

.scope-req-rail-card {
  display: grid;
  gap: var(--space-2, 12px);
}

.scope-req-rail-card .section-heading {
  margin-bottom: 0;
}

.scope-req-rail-list,
.scope-req-related-list {
  display: grid;
  gap: var(--space-2, 12px);
}

.scope-req-rail-row,
.scope-req-task-row {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: flex-start;
}

.scope-req-related-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.scope-req-rail-time,
.scope-req-task-arrow {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
  white-space: nowrap;
}

.scope-req-task-row,
.scope-req-related-row {
  align-items: center;
}

body[data-theme="whites"] .scope-req-header,
body[data-theme="whites"] .scope-req-summary-row,
body[data-theme="whites"] .scope-req-workspace,
body[data-theme="whites"] .scope-req-rail-card,
body[data-theme="whites"] .scope-req-overview-card,
body[data-theme="whites"] .scope-req-wbs-root,
body[data-theme="whites"] .scope-req-wbs-node,
body[data-theme="whites"] .scope-req-rail-row,
body[data-theme="whites"] .scope-req-task-row,
body[data-theme="whites"] .scope-req-related-row {
  background: var(--pmis-surface-card);
}

@media (max-width: 1240px) {
  .scope-req-layout {
    grid-template-columns: 1fr;
  }

  .scope-req-kpi-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 900px) {
  .scope-req-overview-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .scope-req-header,
  .scope-req-summary-row,
  .scope-req-workspace,
  .scope-req-rail-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .scope-req-kpi-grid {
    grid-template-columns: 1fr;
  }
}

.layout-content:has(.contracts-packages-page) {
  width: 100%;
  max-width: none;
}

.contracts-packages-page {
  display: grid;
  gap: 18px;
}

.contracts-packages-header,
.contracts-packages-summary-row,
.contracts-packages-workspace,
.contracts-packages-rail-card {
  border: 1px solid rgba(34, 56, 78, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(40, 60, 84, 0.05);
}

.contracts-packages-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  flex-wrap: wrap;
}

.contracts-packages-header .page-title-block {
  max-width: 900px;
}

.contracts-packages-header .page-title-block h1 {
  color: #17314f;
  font-size: 2rem;
}

.contracts-packages-header .page-title-block p {
  color: #64788d;
}

.contracts-packages-header-pills,
.contracts-packages-action-row,
.contracts-packages-root-actions,
.contracts-packages-rail-list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.contracts-packages-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.contracts-packages-pill[data-tone="slate"] {
  background: #f2f6fb;
  border-color: #dfe8f1;
  color: #52677c;
}

.contracts-packages-pill[data-tone="amber"] {
  background: #fbf4e8;
  border-color: #eedec1;
  color: #7a6336;
}

.contracts-packages-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  flex-wrap: wrap;
}

.contracts-packages-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  flex: 1 1 780px;
}

.contracts-packages-kpi-card {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.contracts-packages-kpi-icon,
.contracts-packages-overview-icon,
.contracts-packages-row-icon,
.contracts-packages-rail-icon,
.contracts-packages-task-icon,
.contracts-packages-destination-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #eff4fa;
  position: relative;
  flex: none;
}

.contracts-packages-kpi-icon::before,
.contracts-packages-overview-icon::before,
.contracts-packages-row-icon::before,
.contracts-packages-rail-icon::before,
.contracts-packages-task-icon::before,
.contracts-packages-destination-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: #9eb2c7;
}

.contracts-packages-kpi-icon[data-icon="items"]::before,
.contracts-packages-overview-icon[data-icon="packages"]::before,
.contracts-packages-row-icon[data-icon="structural"]::before,
.contracts-packages-rail-icon[data-icon="structural"]::before {
  background: #8cb1d7;
}

.contracts-packages-kpi-icon[data-icon="contract"]::before,
.contracts-packages-overview-icon[data-icon="sum"]::before,
.contracts-packages-row-icon[data-icon="architectural"]::before,
.contracts-packages-destination-icon[data-icon="changes"]::before {
  background: #9ca9d7;
}

.contracts-packages-kpi-icon[data-icon="stage"]::before,
.contracts-packages-overview-icon[data-icon="phase"]::before,
.contracts-packages-row-icon[data-icon="site"]::before,
.contracts-packages-task-icon[data-icon="publish"]::before,
.contracts-packages-destination-icon[data-icon="cost"]::before {
  background: #d1b58b;
}

.contracts-packages-kpi-icon[data-icon="modules"]::before,
.contracts-packages-overview-icon[data-icon="tender"]::before,
.contracts-packages-row-icon[data-icon="mechanical"]::before,
.contracts-packages-row-icon[data-icon="electrical"]::before,
.contracts-packages-rail-icon[data-icon="review"]::before,
.contracts-packages-task-icon[data-icon="review"]::before,
.contracts-packages-task-icon[data-icon="confirm"]::before,
.contracts-packages-destination-icon[data-icon="deliveries"]::before,
.contracts-packages-destination-icon[data-icon="submittals"]::before {
  background: #90c3b3;
}

.contracts-packages-kpi-copy,
.contracts-packages-overview-copy,
.contracts-packages-row-copy,
.contracts-packages-rail-copy,
.contracts-packages-task-copy,
.contracts-packages-destination-copy {
  display: grid;
  gap: 4px;
}

.contracts-packages-kpi-label,
.contracts-packages-kpi-meta,
.contracts-packages-overview-label,
.contracts-packages-overview-copy span,
.contracts-packages-row-copy span,
.contracts-packages-rail-copy span,
.contracts-packages-task-copy span,
.contracts-packages-destination-copy span,
.contracts-packages-task-count {
  color: #687c90;
}

.contracts-packages-kpi-label,
.contracts-packages-overview-label,
.contracts-packages-task-count {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contracts-packages-kpi-value {
  font-size: 1.7rem;
  line-height: 1;
  color: #17314f;
}

.contracts-packages-secondary-action::after {
  content: " v";
  font-size: 0.8rem;
}

.contracts-packages-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
}

.contracts-packages-main-column,
.contracts-packages-rail {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.contracts-packages-workspace {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.contracts-packages-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #f4f7fb;
  width: fit-content;
  flex-wrap: wrap;
}

.contracts-packages-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: #586c82;
  font-weight: 600;
}

.contracts-packages-tab.is-active {
  background: #ffffff;
  border-color: rgba(34, 56, 78, 0.1);
  color: #17314f;
}

.contracts-packages-section {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #fbfcfe;
}

.contracts-packages-section-header,
.contracts-packages-root-bar,
.contracts-packages-row-head,
.contracts-packages-row-title,
.contracts-packages-destination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.contracts-packages-section-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.contracts-packages-section-header h2,
.contracts-packages-root-title strong,
.contracts-packages-overview-copy strong,
.contracts-packages-row-copy strong,
.contracts-packages-rail-copy strong,
.contracts-packages-task-copy strong,
.contracts-packages-destination-copy strong {
  color: #17314f;
}

.contracts-packages-section-header h2 {
  margin: 0;
}

.contracts-packages-inline-action {
  min-height: 34px;
}

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

.contracts-packages-overview-card,
.contracts-packages-root-bar,
.contracts-packages-row,
.contracts-packages-rail-row,
.contracts-packages-task-row,
.contracts-packages-destination-row {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #ffffff;
}

.contracts-packages-overview-card,
.contracts-packages-row,
.contracts-packages-rail-row,
.contracts-packages-task-row,
.contracts-packages-destination-row {
  display: grid;
  gap: 10px;
}

.contracts-packages-overview-card {
  grid-template-columns: 24px minmax(0, 1fr);
}

.contracts-packages-root-title,
.contracts-packages-row-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.contracts-packages-root-value {
  color: #17314f;
}

.contracts-packages-list {
  display: grid;
  gap: 12px;
}

.contracts-packages-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.contracts-packages-row-main {
  display: grid;
  gap: 10px;
}

.contracts-packages-row-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.contracts-packages-meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #f7f9fc;
  color: #5f7388;
  font-size: 0.78rem;
  white-space: nowrap;
}

.contracts-packages-more-button {
  min-width: 30px;
  min-height: 30px;
  border-radius: 10px;
  border: 1px solid rgba(34, 56, 78, 0.08);
  background: #ffffff;
  color: #607489;
}

.contracts-packages-rail-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.contracts-packages-rail-card .section-heading {
  margin-bottom: 0;
}

.contracts-packages-rail-list,
.contracts-packages-destination-list {
  display: grid;
  gap: 10px;
}

.contracts-packages-rail-row,
.contracts-packages-task-row,
.contracts-packages-destination-row {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: flex-start;
}

.contracts-packages-rail-time,
.contracts-packages-arrow {
  color: #677b8f;
  font-size: 0.78rem;
  white-space: nowrap;
}

.contracts-packages-task-row,
.contracts-packages-destination-row {
  align-items: center;
}

body[data-theme="whites"] .contracts-packages-header,
body[data-theme="whites"] .contracts-packages-summary-row,
body[data-theme="whites"] .contracts-packages-workspace,
body[data-theme="whites"] .contracts-packages-rail-card,
body[data-theme="whites"] .contracts-packages-overview-card,
body[data-theme="whites"] .contracts-packages-root-bar,
body[data-theme="whites"] .contracts-packages-row,
body[data-theme="whites"] .contracts-packages-rail-row,
body[data-theme="whites"] .contracts-packages-task-row,
body[data-theme="whites"] .contracts-packages-destination-row {
  background: #ffffff;
}

@media (max-width: 1240px) {
  .contracts-packages-layout {
    grid-template-columns: 1fr;
  }

  .contracts-packages-kpi-grid,
  .contracts-packages-overview-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 760px) {
  .contracts-packages-header,
  .contracts-packages-summary-row,
  .contracts-packages-workspace,
  .contracts-packages-rail-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .contracts-packages-kpi-grid,
  .contracts-packages-overview-grid {
    grid-template-columns: 1fr;
  }

  .contracts-packages-root-bar,
  .contracts-packages-row {
    grid-template-columns: 1fr;
  }
}

.layout-content:has(.locations-areas-page) {
  width: 100%;
  max-width: none;
}

.locations-areas-page {
  display: grid;
  gap: var(--pmis-pane-gap);
}

.locations-areas-header,
.locations-areas-summary-row,
.locations-areas-workspace,
.locations-areas-rail-card {
  border: 1px solid var(--pmis-border-subtle);
  border-radius: var(--radius-panel);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow, none);
}

.locations-areas-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  flex-wrap: wrap;
}

.locations-areas-header .page-title-block {
  max-width: 900px;
}

.locations-areas-header .page-title-block h1 {
  color: var(--pmis-text-primary);
  font-size: 2rem;
}

.locations-areas-header .page-title-block p {
  color: var(--pmis-text-secondary);
}

.locations-areas-header-pills,
.locations-areas-header-actions,
.locations-areas-action-row,
.locations-areas-rail-list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.locations-areas-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.locations-areas-pill[data-tone="slate"] {
  background: var(--entry-soft-surface);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-secondary);
}

.locations-areas-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  flex-wrap: wrap;
}

.locations-areas-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  flex: 1 1 780px;
}

.locations-areas-kpi-card {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: var(--radius-control);
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.locations-areas-kpi-icon,
.locations-areas-overview-icon,
.locations-areas-row-icon,
.locations-areas-rail-icon,
.locations-areas-task-icon,
.locations-areas-destination-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-accent-soft);
  position: relative;
  flex: none;
}

.locations-areas-kpi-icon::before,
.locations-areas-overview-icon::before,
.locations-areas-row-icon::before,
.locations-areas-rail-icon::before,
.locations-areas-task-icon::before,
.locations-areas-destination-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: var(--pmis-accent);
}

.locations-areas-kpi-icon[data-icon="items"]::before,
.locations-areas-overview-icon[data-icon="areas"]::before,
.locations-areas-row-icon[data-icon="tower"]::before,
.locations-areas-row-icon[data-icon="level"]::before,
.locations-areas-rail-icon[data-icon="site"]::before {
  background: var(--pmis-info);
}

.locations-areas-kpi-icon[data-icon="buildings"]::before,
.locations-areas-overview-icon[data-icon="levels"]::before,
.locations-areas-row-icon[data-icon="podium"]::before,
.locations-areas-destination-icon[data-icon="daily"]::before,
.locations-areas-task-icon[data-icon="logs"]::before {
  background: var(--pmis-success);
}

.locations-areas-kpi-icon[data-icon="levels"]::before,
.locations-areas-overview-icon[data-icon="rooms"]::before,
.locations-areas-row-icon[data-icon="site"]::before,
.locations-areas-row-icon[data-icon="roads"]::before,
.locations-areas-row-icon[data-icon="utilities"]::before,
.locations-areas-destination-icon[data-icon="install"]::before,
.locations-areas-task-icon[data-icon="review"]::before {
  background: var(--pmis-warning);
}

.locations-areas-kpi-icon[data-icon="zones"]::before,
.locations-areas-overview-icon[data-icon="area"]::before,
.locations-areas-row-icon[data-icon="root"]::before,
.locations-areas-row-icon[data-icon="parking"]::before,
.locations-areas-rail-icon[data-icon="review"]::before,
.locations-areas-rail-icon[data-icon="report"]::before,
.locations-areas-task-icon[data-icon="publish"]::before,
.locations-areas-destination-icon[data-icon="asset"]::before {
  background: var(--pmis-accent);
}

.locations-areas-kpi-copy,
.locations-areas-overview-copy,
.locations-areas-row-copy,
.locations-areas-rail-copy,
.locations-areas-task-copy,
.locations-areas-destination-copy {
  display: grid;
  gap: 4px;
}

.locations-areas-kpi-label,
.locations-areas-kpi-meta,
.locations-areas-overview-label,
.locations-areas-overview-copy span,
.locations-areas-row-copy span,
.locations-areas-row-area,
.locations-areas-rail-copy span,
.locations-areas-task-copy span,
.locations-areas-destination-copy span,
.locations-areas-task-count {
  color: var(--pmis-text-secondary);
}

.locations-areas-kpi-label,
.locations-areas-overview-label,
.locations-areas-task-count {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.locations-areas-kpi-value {
  font-size: 1.7rem;
  line-height: 1;
  color: var(--pmis-text-primary);
}

.locations-areas-import-action,
.locations-areas-secondary-action {
  white-space: nowrap;
}

.locations-areas-import-action {
  border-style: dashed;
}

.locations-areas-import-action::after,
.locations-areas-secondary-action::after {
  content: none;
}

.locations-areas-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
}

.locations-areas-main-column,
.locations-areas-rail {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.locations-areas-workspace {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.locations-areas-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  width: fit-content;
  flex-wrap: wrap;
}

.locations-areas-tab {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-secondary);
  font-weight: 600;
}

.locations-areas-tab.is-active {
  background: var(--entry-soft-surface-strong);
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
}

.locations-areas-section {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
}

.locations-areas-section-header,
.locations-areas-root-bar,
.locations-areas-root-title,
.locations-areas-row-head,
.locations-areas-row-title,
.locations-areas-destination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.locations-areas-section-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.locations-areas-section-header h2,
.locations-areas-root-title strong,
.locations-areas-overview-copy strong,
.locations-areas-row-copy strong,
.locations-areas-rail-copy strong,
.locations-areas-task-copy strong,
.locations-areas-destination-copy strong {
  color: var(--pmis-text-primary);
}

.locations-areas-section-header h2 {
  margin: 0;
}

.locations-areas-inline-action {
  min-height: 34px;
}

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

.locations-areas-overview-card,
.locations-areas-root-bar,
.locations-areas-row,
.locations-areas-rail-row,
.locations-areas-task-row,
.locations-areas-destination-row {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.locations-areas-overview-card,
.locations-areas-rail-row,
.locations-areas-task-row,
.locations-areas-destination-row {
  display: grid;
  gap: 10px;
}

.locations-areas-overview-card {
  grid-template-columns: 24px minmax(0, 1fr);
}

.locations-areas-root-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.locations-areas-root-area {
  color: var(--pmis-text-primary);
}

.locations-areas-root-utility {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.locations-areas-structure {
  display: grid;
  gap: 12px;
}

.locations-areas-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.locations-areas-row[data-depth]:not([data-depth="0"]) {
  box-shadow: inset 3px 0 0 var(--pmis-accent-soft);
}

.locations-areas-row-main {
  display: grid;
  gap: 10px;
}

.locations-areas-row-hierarchy {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.locations-areas-row-hierarchy-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.locations-areas-row-hierarchy-label {
  color: var(--pmis-text-secondary);
  font-size: 0.79rem;
  font-weight: 600;
}

.locations-areas-row-hierarchy-trail {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
  color: var(--pmis-text-tertiary);
  font-size: 0.76rem;
}

.locations-areas-row-hierarchy-arrow {
  color: var(--pmis-text-tertiary);
}

.locations-areas-row-hierarchy-branch {
  position: relative;
  width: 18px;
  height: 18px;
}

.locations-areas-row-hierarchy.is-root .locations-areas-row-hierarchy-branch {
  border-radius: 999px;
  border: 1px solid var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.locations-areas-row-hierarchy.is-root .locations-areas-row-hierarchy-branch::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: var(--pmis-accent);
}

.locations-areas-row-hierarchy.is-child .locations-areas-row-hierarchy-branch::before,
.locations-areas-row-hierarchy.is-child .locations-areas-row-hierarchy-branch::after {
  content: "";
  position: absolute;
}

.locations-areas-row-hierarchy.is-child .locations-areas-row-hierarchy-branch::before {
  top: -6px;
  left: 8px;
  width: 2px;
  height: 14px;
  border-radius: 999px;
  background: var(--pmis-border-strong);
}

.locations-areas-row-hierarchy.is-child .locations-areas-row-hierarchy-branch::after {
  left: 8px;
  top: 7px;
  width: 10px;
  height: 8px;
  border-left: 2px solid var(--pmis-border-strong);
  border-bottom: 2px solid var(--pmis-border-strong);
  border-bottom-left-radius: 10px;
}

.locations-areas-tree-toggle,
.locations-areas-tree-spacer {
  width: 12px;
  height: 12px;
  flex: none;
}

.locations-areas-tree-toggle {
  border-right: 1.6px solid var(--pmis-text-secondary);
  border-bottom: 1.6px solid var(--pmis-text-secondary);
  transform: rotate(45deg);
}

.locations-areas-row-area {
  font-size: 0.84rem;
  white-space: nowrap;
}

.locations-areas-row-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.locations-areas-meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
  white-space: nowrap;
}

.locations-areas-more-button {
  min-width: 30px;
  min-height: 30px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
}

.locations-areas-tree {
  display: grid;
  gap: 12px;
}

.locations-areas-tree-row {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
}

.locations-areas-tree-row[data-depth="1"] {
  padding-left: 22px;
}

.locations-areas-tree-connector {
  position: relative;
  margin-left: 8px;
  width: 2px;
  border-radius: 999px;
  background: var(--pmis-border-strong);
}

.locations-areas-tree-connector::before {
  content: "";
  position: absolute;
  top: 26px;
  left: -7px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--pmis-accent-soft);
  border: 2px solid var(--pmis-surface-card);
}

.locations-areas-rail-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.locations-areas-rail-card .section-heading {
  margin-bottom: 0;
}

.locations-areas-rail-list,
.locations-areas-destination-list {
  display: grid;
  gap: 10px;
}

.locations-areas-rail-row,
.locations-areas-task-row,
.locations-areas-destination-row {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: flex-start;
}

.locations-areas-rail-time,
.locations-areas-arrow {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
  white-space: nowrap;
}

.locations-areas-task-row,
.locations-areas-destination-row {
  align-items: center;
}

body[data-theme="whites"] .locations-areas-header,
body[data-theme="whites"] .locations-areas-summary-row,
body[data-theme="whites"] .locations-areas-workspace,
body[data-theme="whites"] .locations-areas-rail-card,
body[data-theme="whites"] .locations-areas-overview-card,
body[data-theme="whites"] .locations-areas-root-bar,
body[data-theme="whites"] .locations-areas-row,
body[data-theme="whites"] .locations-areas-rail-row,
body[data-theme="whites"] .locations-areas-task-row,
body[data-theme="whites"] .locations-areas-destination-row {
  background: var(--pmis-surface-card);
}

@media (max-width: 1240px) {
  .locations-areas-layout {
    grid-template-columns: 1fr;
  }

  .locations-areas-kpi-grid,
  .locations-areas-overview-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 760px) {
  .locations-areas-header,
  .locations-areas-summary-row,
  .locations-areas-workspace,
  .locations-areas-rail-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .locations-areas-kpi-grid,
  .locations-areas-overview-grid {
    grid-template-columns: 1fr;
  }

  .locations-areas-root-bar,
  .locations-areas-row {
    grid-template-columns: 1fr;
  }
}

.locations-editor-header-copy,
.locations-areas-filter-field,
.locations-areas-inspector-title {
  display: grid;
  gap: 6px;
}

.locations-editor-field-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
}

.locations-editor-header-copy span,
.locations-editor-header-copy p,
.locations-editor-kind-hint,
.locations-areas-row-title span,
.locations-areas-row-context,
.locations-areas-breadcrumb,
.locations-areas-detail-row span,
.locations-areas-inspector-title span,
.locations-areas-inspector-description {
  color: var(--pmis-text-secondary);
}

.locations-editor-sections,
.locations-areas-detail-list,
.locations-areas-linked-records {
  display: grid;
  gap: 12px;
}

.locations-editor-section,
.locations-areas-inspector-block {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.locations-editor-section.is-secondary {
  background: var(--entry-soft-surface-strong);
}

.locations-editor-section-head h3,
.locations-editor-header-copy h2 {
  margin: 0;
  color: var(--pmis-text-primary);
}

.locations-editor-kind-hint {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed var(--pmis-border-strong);
  background: var(--entry-soft-surface);
  font-size: 0.9rem;
}

.locations-editor-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.locations-editor-checkbox-grid,
.locations-areas-chip-list,
.locations-areas-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.locations-editor-checkbox {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 12px;
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
}

.locations-editor-checkbox input {
  margin: 0;
}

.locations-editor-checkbox span {
  white-space: nowrap;
}

.locations-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 1px;
}

.locations-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid var(--pmis-border-strong);
  border-radius: 999px;
  background: var(--pmis-surface-card);
  color: var(--pmis-text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-1px);
}

.locations-help-tooltip {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(260px, 48vw);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--pmis-border-strong);
  background: var(--pmis-surface-card);
  box-shadow: var(--surface-shadow, none);
  color: var(--pmis-text-secondary);
  font-size: 0.82rem;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 140ms ease, transform 140ms ease;
  z-index: 5;
}

.locations-help:hover .locations-help-tooltip,
.locations-help:focus-within .locations-help-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.locations-areas-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1.8fr) repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: end;
}

.locations-areas-search-field {
  min-width: 0;
}

.locations-areas-filter-field select {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 8px;
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
}

.locations-areas-row {
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.locations-areas-row:hover {
  border-color: var(--pmis-border-strong);
  transform: translateY(-1px);
}

.locations-areas-row.is-selected {
  border-color: var(--pmis-border-strong);
  box-shadow: inset 3px 0 0 var(--pmis-accent), var(--surface-shadow, none);
}

.locations-areas-row-title {
  align-items: flex-start;
  flex-wrap: wrap;
}

.locations-areas-row-context,
.locations-areas-breadcrumb {
  font-size: 0.84rem;
}

.locations-areas-row-divider {
  color: var(--pmis-text-tertiary);
}

.locations-areas-inspector-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.locations-areas-inspector-title strong,
.locations-areas-detail-row strong {
  color: var(--pmis-text-primary);
}

.locations-areas-inspector-description {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  line-height: 1.45;
}

.locations-areas-inspector-description.is-empty {
  font-style: italic;
}

.locations-areas-detail-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.locations-areas-detail-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.locations-areas-detail-row strong {
  text-align: right;
}

.locations-areas-chip-list.is-muted .locations-areas-meta-chip {
  background: var(--entry-soft-surface);
}

@media (max-width: 1240px) {
  .locations-areas-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .locations-editor-section-grid,
  .locations-areas-toolbar {
    grid-template-columns: 1fr;
  }

  .locations-areas-inspector-summary,
  .locations-areas-detail-row {
    flex-direction: column;
  }

  .locations-areas-detail-row strong {
    text-align: left;
  }

  .locations-help-tooltip {
    width: min(240px, calc(100vw - 40px));
    right: auto;
    left: 0;
  }
}

.layout-content:has(.project-dashboard-page) {
  width: 100%;
  max-width: none;
  padding: 18px 20px 28px;
}

.project-dashboard-page {
  --dashboard-ink: #17314f;
  --dashboard-muted: #66798d;
  --dashboard-line: rgba(34, 56, 78, 0.11);
  --dashboard-line-strong: rgba(34, 56, 78, 0.16);
  --dashboard-surface: rgba(255, 255, 255, 0.96);
  --dashboard-surface-soft: #f7f9fc;
  --dashboard-row-hover: #f8fbfe;
  --dashboard-red: #c94f4f;
  --dashboard-red-soft: #faecec;
  --dashboard-amber: #b78324;
  --dashboard-amber-soft: #fbf2dd;
  --dashboard-green: #3b8f6e;
  --dashboard-green-soft: #e8f5ef;
  display: grid;
  gap: 12px;
}

.project-dashboard-header,
.project-dashboard-pulse-row,
.project-dashboard-rail-card {
  border: 1px solid var(--dashboard-line);
  border-radius: 14px;
  background: var(--dashboard-surface);
  box-shadow: 0 8px 20px rgba(40, 60, 84, 0.035);
}

.project-dashboard-header {
  padding: 8px 4px 2px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.project-dashboard-header .page-title-block {
  max-width: 960px;
}

.project-dashboard-header .page-title-block h1 {
  color: var(--dashboard-ink);
  font-size: clamp(1.72rem, 1.65vw, 2.08rem);
  letter-spacing: -0.035em;
}

.project-dashboard-header .page-title-block p {
  color: var(--dashboard-muted);
  max-width: 780px;
  line-height: 1.45;
}

.project-dashboard-action-row,
.project-dashboard-section-actions,
.project-dashboard-priority-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.project-dashboard-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--dashboard-line);
  background: #f5f7fa;
  color: #4d6176;
  font-size: 0.76rem;
  font-weight: 600;
  text-decoration: none;
}

.project-dashboard-chip.is-link {
  cursor: pointer;
}

.project-dashboard-chip.is-link:hover,
.project-dashboard-chip.is-link:focus-visible {
  border-color: var(--dashboard-line-strong);
  background: #ffffff;
  color: var(--dashboard-ink);
}

.project-dashboard-chip:not(.is-link) {
  cursor: default;
}

.project-dashboard-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--dashboard-line);
  background: #f5f7fa;
  color: #54687d;
  cursor: default;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.project-dashboard-status-pill[data-tone="red"] {
  border-color: rgba(201, 79, 79, 0.24);
  background: var(--dashboard-red-soft);
  color: #9e3838;
}

.project-dashboard-status-pill[data-tone="amber"] {
  border-color: rgba(183, 131, 36, 0.26);
  background: var(--dashboard-amber-soft);
  color: #84611e;
}

.project-dashboard-status-pill[data-tone="green"] {
  border-color: rgba(59, 143, 110, 0.24);
  background: var(--dashboard-green-soft);
  color: #2e7358;
}

.project-dashboard-pulse-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
  padding: 10px 12px;
}

.project-dashboard-pulse-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0;
  min-width: 0;
}

.project-dashboard-pulse-card {
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 72px;
  padding: 8px 14px;
  border-left: 1px solid var(--dashboard-line);
  background: transparent;
}

.project-dashboard-pulse-card:first-child {
  border-left: 0;
}

.project-dashboard-pulse-label,
.project-dashboard-pulse-meta,
.project-dashboard-pulse-submeta,
.project-dashboard-section-filter,
.project-dashboard-priority-copy span,
.project-dashboard-signal-copy span,
.project-dashboard-recent-copy span,
.project-dashboard-rail-copy span {
  color: var(--dashboard-muted);
}

.project-dashboard-pulse-label {
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.project-dashboard-pulse-value {
  font-size: 1.45rem;
  line-height: 1;
  color: var(--dashboard-ink);
}

.project-dashboard-pulse-meta {
  min-height: 1.1em;
  font-size: 0.76rem;
}

.project-dashboard-pulse-submeta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  font-weight: 650;
}

.project-dashboard-pulse-submeta::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9dafc0;
  flex: none;
}

.project-dashboard-pulse-card[data-tone="red"] .project-dashboard-pulse-submeta {
  color: #9e3838;
}

.project-dashboard-pulse-card[data-tone="red"] .project-dashboard-pulse-submeta::before {
  background: var(--dashboard-red);
}

.project-dashboard-pulse-card[data-tone="amber"] .project-dashboard-pulse-submeta {
  color: #84611e;
}

.project-dashboard-pulse-card[data-tone="amber"] .project-dashboard-pulse-submeta::before {
  background: var(--dashboard-amber);
}

.project-dashboard-pulse-card[data-tone="green"] .project-dashboard-pulse-submeta {
  color: #2e7358;
}

.project-dashboard-pulse-card[data-tone="green"] .project-dashboard-pulse-submeta::before {
  background: var(--dashboard-green);
}

.project-dashboard-button-disabled,
.project-dashboard-button-disabled:hover,
.project-dashboard-button-disabled:focus-visible {
  border-color: rgba(34, 56, 78, 0.14) !important;
  border-style: dashed;
  background: #eef2f6 !important;
  color: #758294 !important;
  box-shadow: none !important;
  transform: none;
  cursor: not-allowed;
  opacity: 1;
}

.project-dashboard-split-action:not([disabled])::after {
  content: " v";
  font-size: 0.78rem;
}

.project-dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(286px, 320px);
  gap: 14px;
  align-items: start;
}

.project-dashboard-main-column,
.project-dashboard-rail {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.project-dashboard-workspace {
  display: grid;
  gap: 12px;
}

.project-dashboard-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--dashboard-line);
  background: transparent;
  flex-wrap: wrap;
}

.project-dashboard-tab {
  appearance: none;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: #5c7084;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}

.project-dashboard-tab.is-active {
  background: #edf3f8;
  border-color: rgba(34, 56, 78, 0.12);
  color: var(--dashboard-ink);
}

.project-dashboard-tab:hover,
.project-dashboard-tab:focus-visible {
  border-color: var(--dashboard-line-strong);
  background: #ffffff;
  color: var(--dashboard-ink);
}

.project-dashboard-tab.is-active:hover,
.project-dashboard-tab.is-active:focus-visible {
  background: #edf3f8;
  border-color: rgba(34, 56, 78, 0.16);
}

.project-dashboard-tab.is-disabled {
  cursor: default;
  color: #8996a5;
  opacity: 0.72;
}

.project-dashboard-filter-empty {
  padding: 16px 14px;
  color: var(--dashboard-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.project-dashboard-primary-panel,
.project-dashboard-subpanel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--dashboard-line);
  background: var(--dashboard-surface);
  box-shadow: 0 8px 20px rgba(40, 60, 84, 0.03);
}

.project-dashboard-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.project-dashboard-section-header h2,
.project-dashboard-priority-copy strong,
.project-dashboard-signal-copy strong,
.project-dashboard-recent-copy strong,
.project-dashboard-rail-copy strong {
  color: var(--dashboard-ink);
  margin: 0;
}

.project-dashboard-section-header h2 {
  font-size: 0.98rem;
  letter-spacing: -0.01em;
}

.project-dashboard-inline-action {
  min-height: 28px;
}

.project-dashboard-inline-label {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--dashboard-line);
  background: #f3f6f9;
  color: #617386;
  cursor: default;
  font-size: 0.75rem;
  font-weight: 600;
}

.project-dashboard-priority-list,
.project-dashboard-signal-list,
.project-dashboard-recent-list,
.project-dashboard-rail-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--dashboard-line);
  border-radius: 12px;
  background: #ffffff;
}

.project-dashboard-priority-item,
.project-dashboard-signal-row,
.project-dashboard-recent-row,
.project-dashboard-rail-row,
.project-dashboard-watch-row,
.project-dashboard-task-row {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.project-dashboard-priority-item + .project-dashboard-priority-item,
.project-dashboard-signal-row + .project-dashboard-signal-row,
.project-dashboard-recent-row + .project-dashboard-recent-row,
.project-dashboard-rail-row + .project-dashboard-rail-row,
.project-dashboard-watch-row + .project-dashboard-watch-row,
.project-dashboard-task-row + .project-dashboard-task-row {
  border-top: 1px solid var(--dashboard-line);
}

.project-dashboard-priority-item {
  display: grid;
  gap: 9px;
  padding: 12px;
}

.project-dashboard-priority-head,
.project-dashboard-priority-title,
.project-dashboard-signal-row,
.project-dashboard-recent-row,
.project-dashboard-rail-row,
.project-dashboard-watch-row,
.project-dashboard-task-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.project-dashboard-priority-head,
.project-dashboard-recent-row,
.project-dashboard-watch-row,
.project-dashboard-task-row {
  justify-content: space-between;
}

.project-dashboard-priority-badge {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  flex: none;
  background: #6e87a4;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.project-dashboard-priority-item[data-tone="red"] .project-dashboard-priority-badge {
  background: var(--dashboard-red);
}

.project-dashboard-priority-item[data-tone="amber"] .project-dashboard-priority-badge {
  background: var(--dashboard-amber);
}

.project-dashboard-priority-item[data-tone="green"] .project-dashboard-priority-badge {
  background: var(--dashboard-green);
}

.project-dashboard-priority-copy,
.project-dashboard-signal-copy,
.project-dashboard-recent-copy,
.project-dashboard-rail-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-dashboard-priority-copy strong,
.project-dashboard-signal-copy strong,
.project-dashboard-recent-copy strong,
.project-dashboard-rail-copy strong {
  font-size: 0.9rem;
  line-height: 1.25;
}

.project-dashboard-priority-copy span,
.project-dashboard-signal-copy span,
.project-dashboard-recent-copy span,
.project-dashboard-rail-copy span {
  font-size: 0.79rem;
  line-height: 1.34;
}

.project-dashboard-rail-copy {
  flex: 1 1 auto;
}

.project-dashboard-priority-meta {
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.project-dashboard-priority-age,
.project-dashboard-signal-time,
.project-dashboard-recent-time,
.project-dashboard-rail-time {
  color: #708195;
  font-size: 0.74rem;
  white-space: nowrap;
}

.project-dashboard-priority-notes {
  display: grid;
  gap: 6px;
  padding: 8px 8px 0 31px;
}

.project-dashboard-priority-note {
  padding: 8px 10px;
  border-left: 3px solid rgba(201, 79, 79, 0.38);
  border-radius: 8px;
  background: #f5f8fc;
  color: #4f6175;
  font-size: 0.8rem;
  line-height: 1.35;
}

.project-dashboard-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  gap: 12px;
}

.project-dashboard-signal-row,
.project-dashboard-recent-row {
  padding: 10px 12px;
}

.project-dashboard-signal-row,
.project-dashboard-recent-row,
.project-dashboard-task-row {
  cursor: default;
}

.project-dashboard-signal-row {
  --dashboard-signal-tone: #9dafc0;
  box-shadow: inset 3px 0 0 var(--dashboard-signal-tone);
}

.project-dashboard-signal-row[data-tone="red"] {
  --dashboard-signal-tone: var(--dashboard-red);
}

.project-dashboard-signal-row[data-tone="amber"] {
  --dashboard-signal-tone: var(--dashboard-amber);
}

.project-dashboard-signal-row[data-tone="green"] {
  --dashboard-signal-tone: var(--dashboard-green);
}

.project-dashboard-signal-row[data-tone="red"] .project-dashboard-signal-dot {
  background: var(--dashboard-red);
}

.project-dashboard-signal-row[data-tone="amber"] .project-dashboard-signal-dot {
  background: var(--dashboard-amber);
}

.project-dashboard-signal-row[data-tone="green"] .project-dashboard-signal-dot {
  background: var(--dashboard-green);
}

.project-dashboard-signal-dot {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 50%;
  background: #9db2c7;
  flex: none;
}

.project-dashboard-recent-icon,
.project-dashboard-rail-icon,
.project-dashboard-task-icon {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  border: 1px solid var(--dashboard-line);
  background: #eff4fa;
  position: relative;
  flex: none;
}

.project-dashboard-recent-icon::before,
.project-dashboard-rail-icon::before,
.project-dashboard-task-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  background: #9eb2c7;
}

.project-dashboard-rail-icon[data-icon="rfis"]::before,
.project-dashboard-recent-icon::before {
  background: #8cb1d7;
}

.project-dashboard-rail-icon[data-icon="submittals"]::before {
  background: #90c3b3;
}

.project-dashboard-rail-icon[data-icon="drawings"]::before,
.project-dashboard-rail-icon[data-icon="asset"]::before,
.project-dashboard-task-icon[data-icon="task"]::before {
  background: #d1b58b;
}

.project-dashboard-recent-tag {
  color: #5d7287;
  font-size: 0.74rem;
  font-weight: 650;
  white-space: nowrap;
}

.project-dashboard-rail-card {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.project-dashboard-rail-card .section-heading {
  margin-bottom: 0;
  gap: 6px;
}

.project-dashboard-rail-card .section-heading h2 {
  font-size: 0.94rem;
}

.project-dashboard-rail-row,
.project-dashboard-watch-row,
.project-dashboard-task-row {
  padding: 10px 11px;
  color: inherit;
  text-decoration: none;
}

.project-dashboard-rail-row.is-link,
.project-dashboard-watch-row {
  transition: background-color 140ms ease, color 140ms ease;
}

.project-dashboard-rail-row.is-link:hover,
.project-dashboard-rail-row.is-link:focus-visible,
.project-dashboard-watch-row:hover,
.project-dashboard-watch-row:focus-visible {
  background: var(--dashboard-row-hover);
  color: var(--dashboard-ink);
}

.project-dashboard-rail-time {
  margin-left: auto;
}

.project-dashboard-watch-arrow {
  color: #6a7f93;
  flex: none;
  font-weight: 700;
  white-space: nowrap;
}

body[data-theme="whites"] .project-dashboard-pulse-row,
body[data-theme="whites"] .project-dashboard-rail-card,
body[data-theme="whites"] .project-dashboard-primary-panel,
body[data-theme="whites"] .project-dashboard-subpanel,
body[data-theme="whites"] .project-dashboard-priority-list,
body[data-theme="whites"] .project-dashboard-signal-list,
body[data-theme="whites"] .project-dashboard-recent-list,
body[data-theme="whites"] .project-dashboard-rail-list,
body[data-theme="whites"] .project-dashboard-priority-item,
body[data-theme="whites"] .project-dashboard-signal-row,
body[data-theme="whites"] .project-dashboard-recent-row,
body[data-theme="whites"] .project-dashboard-rail-row,
body[data-theme="whites"] .project-dashboard-watch-row,
body[data-theme="whites"] .project-dashboard-task-row {
  background: #ffffff;
}

@media (max-width: 1040px) {
  .project-dashboard-layout {
    grid-template-columns: 1fr;
  }

  .project-dashboard-pulse-row {
    grid-template-columns: 1fr;
  }

  .project-dashboard-action-row {
    justify-content: flex-start;
  }
}

@media (max-width: 980px) {
  .project-dashboard-lower-grid {
    grid-template-columns: 1fr;
  }

  .project-dashboard-pulse-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}

@media (max-width: 760px) {
  .layout-content:has(.project-dashboard-page) {
    padding: 14px 12px 22px;
  }

  .project-dashboard-pulse-row,
  .project-dashboard-primary-panel,
  .project-dashboard-subpanel,
  .project-dashboard-rail-card {
    padding-left: 12px;
    padding-right: 12px;
  }

  .project-dashboard-pulse-grid {
    grid-template-columns: 1fr;
  }

  .project-dashboard-pulse-card,
  .project-dashboard-pulse-card:first-child {
    border-left: 0;
    border-top: 1px solid var(--dashboard-line);
  }

  .project-dashboard-pulse-card:first-child {
    border-top: 0;
  }

  .project-dashboard-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 10px;
  }

  .project-dashboard-priority-head,
  .project-dashboard-recent-row,
  .project-dashboard-watch-row,
  .project-dashboard-task-row {
    flex-direction: column;
  }

  .project-dashboard-priority-meta {
    justify-content: flex-start;
    padding-left: 31px;
  }

  .project-dashboard-recent-tag,
  .project-dashboard-recent-time,
  .project-dashboard-rail-time {
    margin-left: 31px;
  }

  .project-dashboard-action-row .ui-button {
    flex: 1 1 auto;
  }
}

.layout-content:has(.drawings-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.drawings-page {
  --draw-panel-radius: var(--radius-panel);
  --draw-card-radius: calc(14px * var(--ui-panel-scale));
  --draw-control-height: calc(34px * var(--ui-control-scale));
  --draw-control-height-compact: var(--control-height-xs);
  --draw-control-radius: calc(10px * var(--ui-control-scale));
  --draw-control-radius-tight: calc(8px * var(--ui-control-scale));
  --draw-panel-padding: var(--panel-padding-sm);
  --draw-panel-padding-md: calc(14px * var(--ui-panel-scale));
  --draw-panel-gap: calc(10px * var(--ui-space-scale));
  --draw-kpi-min-height: calc(58px * var(--ui-panel-scale));
  --draw-explorer-width: calc(212px * var(--ui-sidebar-scale));
  --draw-inspector-width: var(--inspector-width-lg);
  --draw-tile-width-regular: calc(522px * var(--ui-panel-scale));
  --draw-tile-width-compact: calc(425px * var(--ui-panel-scale));
  --draw-list-preview-width: calc(188px * var(--ui-panel-scale));
  --draw-chip-height: calc(24px * var(--ui-control-scale));
  --draw-empty-min-height: calc(220px * var(--ui-panel-scale));
  --draw-panel: var(--pmis-surface-panel);
  --draw-panel-soft: var(--pmis-surface-card);
  --draw-border: var(--pmis-border-subtle);
  --draw-border-strong: var(--pmis-border-strong);
  --draw-border-soft: var(--pmis-border-subtle);
  --draw-text: var(--pmis-text-primary);
  --draw-muted: var(--pmis-text-secondary);
  --draw-heading: var(--pmis-text-primary);
  --draw-accent: var(--pmis-info);
  --draw-accent-soft: var(--pmis-accent-soft);
  --draw-accent-border: var(--pmis-border-strong);
  --draw-accent-fill: var(--pmis-accent-soft);
  --draw-accent-fill-soft: var(--entry-soft-surface);
  --draw-accent-gradient: var(--entry-soft-surface-strong);
  --draw-warning: var(--pmis-warning);
  --draw-card-fill: var(--pmis-surface-card);
  --draw-control-fill: var(--entry-soft-surface);
  --draw-empty-fill: var(--entry-soft-surface);
  --draw-panel-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 18px 34px rgba(0, 0, 0, 0.2);
  --draw-info-border: var(--pmis-border-strong);
  --draw-info-fill: var(--pmis-accent-soft);
  --draw-info-text: var(--pmis-text-secondary);
  --draw-selected-panel: var(--entry-soft-surface-strong);
  --draw-selected-shadow: inset 0 0 0 1px var(--pmis-border-strong);
  --draw-preview-shell: var(--pmis-surface-card);
  --draw-preview-paper: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 244, 249, 0.98) 100%);
  --draw-preview-paper-stroke: rgba(181, 193, 209, 0.48);
  --draw-preview-grid-major: rgba(94, 111, 133, 0.2);
  --draw-preview-grid-minor: rgba(94, 111, 133, 0.18);
  --draw-preview-line: #889cb2;
  --draw-preview-stamp-bg: rgba(231, 236, 242, 0.86);
  --draw-preview-stamp-stroke: rgba(161, 176, 193, 0.45);
  --draw-preview-label: #5a6e86;
  --draw-chip-fill: var(--entry-soft-surface);
  --draw-chip-border: var(--pmis-border-subtle);
  --draw-chip-text: var(--pmis-text-secondary);
  --draw-revision-border: var(--pmis-border-strong);
  --draw-revision-fill: var(--pmis-accent-soft);
  --draw-revision-text: var(--pmis-text-primary);
  --draw-revision-muted-border: var(--pmis-warning);
  --draw-revision-muted-fill: var(--entry-soft-surface);
  --draw-revision-muted-text: var(--pmis-warning);
  --draw-icon-color: var(--pmis-text-tertiary);
  --draw-detail-value: var(--pmis-text-primary);
  color: var(--draw-text);
}

body[data-theme="darkgreys"] .drawings-page {
  --draw-panel: var(--pmis-surface-panel);
  --draw-panel-soft: var(--pmis-surface-card);
  --draw-border: var(--pmis-border-subtle);
  --draw-border-strong: var(--pmis-border-strong);
  --draw-border-soft: var(--pmis-border-subtle);
  --draw-heading: var(--pmis-text-primary);
  --draw-card-fill: var(--pmis-surface-card);
  --draw-control-fill: var(--entry-soft-surface);
  --draw-empty-fill: var(--entry-soft-surface);
  --draw-panel-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 18px 34px rgba(0, 0, 0, 0.24);
  --draw-preview-line: #99a8b9;
  --draw-chip-text: var(--pmis-text-secondary);
  --draw-icon-color: var(--pmis-text-tertiary);
  --draw-detail-value: var(--pmis-text-primary);
}

body[data-theme="whites"] .drawings-page {
  --draw-panel: var(--pmis-surface-panel);
  --draw-panel-soft: var(--pmis-surface-card);
  --draw-border: var(--pmis-border-subtle);
  --draw-border-strong: var(--pmis-border-strong);
  --draw-border-soft: var(--pmis-border-subtle);
  --draw-text: var(--pmis-text-primary);
  --draw-muted: var(--pmis-text-secondary);
  --draw-heading: var(--pmis-text-primary);
  --draw-accent-soft: var(--pmis-accent-soft);
  --draw-accent-border: var(--pmis-border-strong);
  --draw-accent-fill: var(--pmis-accent-soft);
  --draw-accent-fill-soft: var(--entry-soft-surface);
  --draw-accent-gradient: var(--entry-soft-surface-strong);
  --draw-card-fill: var(--pmis-surface-card);
  --draw-control-fill: var(--entry-soft-surface);
  --draw-empty-fill: var(--entry-soft-surface);
  --draw-panel-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52), 0 18px 34px rgba(123, 145, 166, 0.14);
  --draw-info-border: var(--pmis-border-strong);
  --draw-info-fill: var(--pmis-accent-soft);
  --draw-info-text: var(--pmis-text-secondary);
  --draw-selected-panel: var(--entry-soft-surface-strong);
  --draw-selected-shadow: inset 0 0 0 1px var(--pmis-border-strong);
  --draw-preview-shell: var(--pmis-surface-card);
  --draw-chip-fill: var(--entry-soft-surface);
  --draw-chip-border: var(--pmis-border-subtle);
  --draw-chip-text: var(--pmis-text-secondary);
  --draw-revision-border: var(--pmis-border-strong);
  --draw-revision-fill: var(--pmis-accent-soft);
  --draw-revision-text: var(--pmis-text-primary);
  --draw-revision-muted-border: var(--pmis-warning);
  --draw-revision-muted-fill: var(--entry-soft-surface);
  --draw-revision-muted-text: var(--pmis-warning);
  --draw-icon-color: var(--pmis-text-tertiary);
  --draw-detail-value: var(--pmis-text-primary);
}

.drawings-page .page-title-block {
  max-width: 980px;
}

.drawings-page .page-kicker {
  color: var(--draw-accent);
}

.drawings-page .page-title-block h1 {
  color: var(--draw-heading);
  font-size: clamp(2rem, 2vw, 2.65rem);
}

.drawings-page .page-title-block p {
  color: var(--draw-muted);
  max-width: 900px;
}

.drawings-header-band,
.drawings-toolbar,
.drawings-capability-note,
.drawings-explorer-panel,
.drawings-grid-panel,
.drawings-inspector-panel {
  border-radius: var(--draw-panel-radius);
  border: 1px solid var(--draw-border);
  background: var(--draw-panel);
  box-shadow: var(--draw-panel-shadow);
}

.drawings-header-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--draw-panel-gap);
  padding: var(--draw-panel-padding) var(--draw-panel-padding-md);
  align-items: center;
}

.drawings-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-1);
}

.drawings-kpi-card {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
  min-height: var(--draw-kpi-min-height);
  padding: var(--draw-panel-padding) var(--draw-panel-padding-md);
  border-radius: var(--draw-control-radius-tight);
  border: 1px solid var(--draw-border-soft);
  background: var(--draw-card-fill);
  align-content: center;
}

.drawings-kpi-card strong {
  font-size: 1.45rem;
  line-height: 1;
  color: var(--draw-heading);
}

.drawings-kpi-card span {
  color: var(--draw-muted);
  font-size: 0.72rem;
}

.drawings-kpi-card.is-warning strong {
  color: var(--draw-warning);
}

.drawings-header-actions,
.drawings-view-controls,
.drawings-selection-badges,
.drawings-pagination-controls,
.drawings-pagination-summary {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.drawings-header-actions {
  justify-content: flex-end;
  position: relative;
  flex-wrap: nowrap;
  gap: calc(6px * var(--ui-space-scale));
}

.drawings-view-controls {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.drawings-action-button,
.drawings-mini-button,
.drawings-mode-select,
.drawings-filter-select,
.drawings-page-button,
.drawings-compare-button {
  min-height: var(--draw-control-height);
  border-radius: var(--draw-control-radius);
  border: 1px solid var(--draw-border);
  background: var(--draw-control-fill);
  color: var(--draw-text);
  font: inherit;
}

.drawings-action-button,
.drawings-mini-button,
.drawings-page-button,
.drawings-compare-button {
  padding: 0 var(--control-padding-inline-sm);
}

.drawings-action-button.is-topbar {
  min-height: var(--draw-control-height-compact);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--draw-control-radius-tight);
  font-size: 0.76rem;
  white-space: nowrap;
}

.drawings-action-button.has-chevron {
  gap: 6px;
}

.drawings-action-button:hover,
.drawings-mini-button:hover,
.drawings-page-button:hover,
.drawings-compare-button:hover,
.drawings-filter-select:hover,
.drawings-mode-select:hover,
.drawings-explorer-item:hover,
.drawings-sheet-card:hover,
.drawings-icon-button:hover {
  border-color: var(--draw-border-strong);
  background: var(--draw-accent-fill-soft);
}

.drawings-action-button.is-emphasis,
.drawings-compare-button {
  border-color: var(--draw-accent-border);
  background: var(--draw-accent-gradient);
}

.drawings-action-button.is-danger {
  border-color: var(--pmis-danger);
  background: var(--entry-soft-surface);
  color: var(--pmis-danger);
}

.drawings-action-button.is-danger:hover {
  border-color: var(--pmis-danger);
  background: var(--entry-soft-surface-strong);
}

.drawings-review-menu-shell {
  position: relative;
}

.drawings-review-menu {
  position: absolute;
  top: calc(100% + var(--space-1));
  right: 0;
  z-index: 30;
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  width: min(248px, calc(100vw - 36px));
  padding: var(--space-1);
  border-radius: var(--draw-control-radius-tight);
  border: 1px solid var(--draw-border-strong);
  background: var(--draw-panel-soft);
  box-shadow: var(--draw-panel-shadow);
}

.drawings-review-menu[hidden] {
  display: none;
}

.drawings-review-menu-item {
  display: grid;
  gap: calc(3px * var(--ui-space-scale));
  width: 100%;
  padding: var(--space-1) calc(9px * var(--ui-space-scale));
  border-radius: var(--draw-control-radius-tight);
  border: 1px solid transparent;
  background: transparent;
  color: var(--draw-text);
  text-align: left;
  font: inherit;
}

.drawings-review-menu-item strong {
  font-size: 0.76rem;
  color: var(--draw-heading);
}

.drawings-review-menu-item span {
  font-size: 0.68rem;
  color: var(--draw-muted);
}

.drawings-review-menu-item:hover {
  border-color: var(--draw-border-strong);
  background: var(--draw-accent-fill-soft);
}

.drawings-review-menu-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.drawings-review-menu-item:disabled:hover {
  border-color: transparent;
  background: transparent;
}

.drawings-toolbar {
  display: grid;
  grid-template-columns: calc(320px * var(--ui-panel-scale)) repeat(5, minmax(calc(150px * var(--ui-panel-scale)), 1fr)) max-content;
  gap: var(--draw-panel-gap);
  padding: var(--draw-panel-padding) var(--draw-panel-padding-md);
  align-items: center;
}

.drawings-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  min-height: var(--draw-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-control);
  border: 1px solid var(--draw-border);
  background: var(--draw-control-fill);
  width: 100%;
  max-width: none;
}

.drawings-search-field input,
.drawings-filter-select,
.drawings-mode-select {
  width: 100%;
  padding: 0;
  background: transparent;
  color: var(--draw-text);
}

.drawings-search-field input {
  border: 0;
}

.drawings-search-field input::placeholder {
  color: var(--draw-muted);
}

.drawings-filter-select,
.drawings-mode-select {
  padding: 0 var(--control-padding-inline-sm);
}

.drawings-view-controls .drawings-mode-select {
  width: auto;
  min-width: 92px;
}

.drawings-view-controls .drawings-mini-button {
  white-space: nowrap;
}

.drawings-capability-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--draw-panel-padding) var(--draw-panel-padding-md);
  color: var(--draw-muted);
  font-size: 0.8rem;
}

.drawings-workspace {
  display: grid;
  grid-template-columns: var(--draw-explorer-width) minmax(0, 1fr) var(--draw-inspector-width);
  gap: var(--space-2);
  align-items: start;
}

.drawings-center-panel {
  min-width: 0;
}

.drawings-panel-head {
  display: grid;
  gap: 6px;
}

.drawings-panel-head h2 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--draw-heading);
}

.drawings-panel-head p,
.drawings-explorer-group-label,
.drawings-grid-header span,
.drawings-linked-panel-head span,
.drawings-linked-group-head span,
.drawings-detail-grid dt,
.drawings-selection-note,
.drawings-sheet-meta,
.drawings-inline-meta,
.drawings-pagination-summary {
  color: var(--draw-muted);
}

.drawings-panel-head.is-tight {
  gap: 2px;
}

.drawings-explorer-panel,
.drawings-inspector-panel {
  display: grid;
  gap: var(--draw-panel-gap);
  padding: var(--draw-panel-padding);
}

.drawings-explorer-nav,
.drawings-explorer-group,
.drawings-explorer-group-items,
.drawings-grid-panel,
.drawings-linked-panel,
.drawings-linked-list {
  display: grid;
  gap: var(--draw-panel-gap);
}

.drawings-explorer-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.drawings-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  width: 100%;
  min-height: var(--draw-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--draw-control-radius);
  border: 1px solid transparent;
  background: transparent;
  color: var(--draw-text);
  text-align: left;
  font: inherit;
}

.drawings-explorer-item strong {
  color: var(--draw-muted);
  font-size: 0.8rem;
}

.drawings-explorer-item.is-active {
  border-color: var(--draw-accent-border);
  background: var(--draw-accent-fill);
}

.drawings-grid-panel {
  padding: var(--draw-panel-padding);
}

.drawings-mode-notice {
  padding: var(--draw-panel-padding) var(--draw-panel-padding-md);
  border-radius: var(--radius-control);
  border: 1px solid var(--draw-info-border);
  background: var(--draw-info-fill);
  color: var(--draw-info-text);
  font-size: 0.8rem;
}

.drawings-empty-state {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  min-height: var(--draw-empty-min-height);
  place-content: center;
  padding: var(--panel-padding-md);
  border-radius: var(--draw-card-radius);
  border: 1px dashed var(--draw-border);
  background: var(--draw-empty-fill);
  text-align: center;
}

.drawings-empty-state span {
  color: var(--draw-muted);
}

.drawings-grid-header,
.drawings-sheet-heading,
.drawings-sheet-footer,
.drawings-linked-panel-head,
.drawings-linked-group-head,
.drawings-linked-row-item,
.drawings-detail-grid div,
.drawings-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
}

.drawings-grid-header strong,
.drawings-selection-copy strong,
.drawings-linked-panel-head strong,
.drawings-linked-group-head strong,
.drawings-linked-row-copy strong {
  color: var(--draw-heading);
}

.drawings-sheet-grid {
  display: grid;
  gap: var(--draw-panel-gap);
  align-items: start;
  justify-content: start;
  --draw-tile-width: var(--draw-tile-width-regular);
}

.drawings-sheet-card {
  display: grid;
  gap: calc(5px * var(--ui-space-scale));
  width: 100%;
  padding: 0;
  border-radius: var(--draw-card-radius);
  border: 1px solid var(--draw-border-soft);
  background: var(--draw-panel-soft);
  color: var(--draw-text);
  text-align: left;
  font: inherit;
  align-content: start;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "preview"
    "heading"
    "meta"
    "chips"
    "counts"
    "footer";
}

.drawings-sheet-card > .drawings-sheet-preview {
  grid-area: preview;
  inline-size: 100%;
  min-width: 0;
  margin: 0;
  border-radius: var(--draw-card-radius) var(--draw-card-radius) 0 0;
  overflow: hidden;
}

.drawings-sheet-card > .drawings-sheet-heading {
  grid-area: heading;
  inline-size: 100%;
  min-width: 0;
  padding: calc(5px * var(--ui-space-scale)) calc(5px * var(--ui-space-scale)) 0;
}

.drawings-sheet-card > .drawings-sheet-meta {
  grid-area: meta;
  inline-size: 100%;
  min-width: 0;
  padding: 0 calc(5px * var(--ui-space-scale));
}

.drawings-sheet-card > .drawings-context-chip-row {
  grid-area: chips;
  inline-size: 100%;
  min-width: 0;
  padding: 0 calc(5px * var(--ui-space-scale));
}

.drawings-sheet-card > .drawings-linked-row {
  grid-area: counts;
  inline-size: 100%;
  min-width: 0;
  padding: 0 calc(5px * var(--ui-space-scale));
}

.drawings-sheet-card > .drawings-sheet-footer {
  grid-area: footer;
  inline-size: 100%;
  min-width: 0;
  padding: 0 calc(5px * var(--ui-space-scale)) calc(5px * var(--ui-space-scale));
}

.drawings-sheet-grid.is-mode-thumbnails,
.drawings-sheet-grid.is-mode-viewer,
.drawings-sheet-grid.is-mode-compare {
  grid-template-columns: repeat(auto-fill, minmax(var(--draw-tile-width), var(--draw-tile-width)));
}

.drawings-sheet-grid.is-detail-basic {
  --draw-tile-width: var(--draw-tile-width-regular);
}

.drawings-sheet-grid.is-detail-compact {
  --draw-tile-width: var(--draw-tile-width-compact);
}

.drawings-sheet-grid.is-mode-thumbnails .drawings-sheet-card,
.drawings-sheet-grid.is-mode-viewer .drawings-sheet-card,
.drawings-sheet-grid.is-mode-compare .drawings-sheet-card {
  inline-size: var(--draw-tile-width);
  max-inline-size: 100%;
}

.drawings-sheet-grid.is-mode-list {
  grid-template-columns: 1fr;
}

.drawings-sheet-grid.is-mode-list .drawings-sheet-card {
  grid-template-columns: var(--draw-list-preview-width) minmax(0, 1fr);
  grid-template-areas:
    "preview heading"
    "preview meta"
    "preview chips"
    "preview counts"
    "preview footer";
  align-items: start;
}

.drawings-sheet-grid.is-detail-compact .drawings-sheet-card {
  gap: calc(5px * var(--ui-space-scale));
}

.drawings-sheet-grid.is-detail-compact .drawings-sheet-heading strong {
  font-size: 0.92rem;
}

.drawings-sheet-grid.is-detail-basic .drawings-sheet-heading strong {
  font-size: 1.02rem;
}

.drawings-sheet-grid.is-detail-compact .drawings-sheet-heading span,
.drawings-sheet-grid.is-detail-compact .drawings-sheet-meta,
.drawings-sheet-grid.is-detail-compact .drawings-governance-tag,
.drawings-sheet-grid.is-detail-compact .drawings-status-tag,
.drawings-sheet-grid.is-detail-compact .drawings-context-chip,
.drawings-sheet-grid.is-detail-compact .drawings-count-chip {
  font-size: 0.7rem;
}

.drawings-sheet-grid.is-detail-basic .drawings-sheet-meta,
.drawings-sheet-grid.is-detail-basic .drawings-governance-tag,
.drawings-sheet-grid.is-detail-basic .drawings-status-tag,
.drawings-sheet-grid.is-detail-basic .drawings-context-chip,
.drawings-sheet-grid.is-detail-basic .drawings-count-chip {
  font-size: 0.76rem;
}

.drawings-sheet-card.is-selected {
  border-color: var(--draw-accent-border);
  background: var(--draw-selected-panel);
  box-shadow: var(--draw-selected-shadow);
}

.drawings-sheet-preview {
  padding: 0;
  border-radius: inherit;
  background: transparent;
  border: 0;
}

.drawings-sheet-preview.is-large {
  padding: var(--space-1);
}

.drawings-sheet-preview-frame {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: inherit;
  overflow: hidden;
  background: var(--draw-preview-paper);
  box-shadow: inset 0 0 0 1px var(--draw-preview-paper-stroke);
}

.drawings-sheet-preview.is-large .drawings-sheet-preview-frame {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
}

.drawings-sheet-preview-frame.is-stored-preview,
.drawings-sheet-preview-frame.is-placeholder {
  display: grid;
  place-items: center;
  background: #fff;
}

.drawings-sheet-preview-frame.is-stored-preview::before,
.drawings-sheet-preview-frame.is-stored-preview::after,
.drawings-sheet-preview-frame.is-placeholder::before,
.drawings-sheet-preview-frame.is-placeholder::after {
  content: none;
}

.drawings-sheet-preview-frame.is-stored-preview .drawings-sheet-preview-grid,
.drawings-sheet-preview-frame.is-placeholder .drawings-sheet-preview-grid {
  display: none;
}

.drawings-sheet-preview-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--space-1);
  opacity: 0;
}

.drawings-sheet-preview-frame.is-loaded .drawings-sheet-preview-image {
  opacity: 1;
}

.drawings-sheet-preview-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: calc(4px * var(--ui-space-scale));
  padding: var(--panel-padding-md);
  text-align: center;
  color: var(--draw-preview-label);
}

.drawings-sheet-preview-fallback strong,
.drawings-sheet-preview-fallback span {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.drawings-sheet-preview-fallback strong {
  font-size: 0.76rem;
  font-weight: 700;
}

.drawings-sheet-preview-fallback span {
  font-size: 0.68rem;
  color: var(--draw-muted);
}

.drawings-sheet-preview-frame.is-loaded .drawings-sheet-preview-fallback {
  display: none;
}

.drawings-sheet-preview-grid,
.drawings-sheet-preview-frame::before,
.drawings-sheet-preview-frame::after {
  position: absolute;
  inset: 8px;
  content: "";
}

.drawings-sheet-preview-grid {
  inset: 0;
  opacity: 0.55;
  background-image:
    repeating-linear-gradient(90deg, var(--draw-preview-grid-major) 0, var(--draw-preview-grid-major) 1px, transparent 1px, transparent 18px),
    repeating-linear-gradient(0deg, var(--draw-preview-grid-minor) 0, var(--draw-preview-grid-minor) 1px, transparent 1px, transparent 14px);
}

.drawings-sheet-preview-frame::before,
.drawings-sheet-preview-frame::after {
  inset: 14px 0 14px 14px;
  background-repeat: no-repeat;
}

.drawings-sheet-preview[data-variant="architectural-grid"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 58% 2px, 2px 46%, 24% 2px;
  background-position: 12% 24%, 38% 24%, 58% 63%;
}

.drawings-sheet-preview[data-variant="wall-section"] .drawings-sheet-preview-frame::before,
.drawings-sheet-preview[data-variant="wall-section-alt"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 16% 70%, 16% 58%, 22% 2px, 36% 2px;
  background-position: 18% 20%, 42% 28%, 18% 84%, 42% 72%;
}

.drawings-sheet-preview[data-variant="structure-grid"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 64% 2px, 64% 2px, 2px 52%;
  background-position: 10% 32%, 10% 68%, 54% 24%;
}

.drawings-sheet-preview[data-variant="schedule-grid"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 70% 2px, 70% 2px;
  background-position: 12% 28%, 12% 70%;
}

.drawings-sheet-preview[data-variant="electrical-grid"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 54% 2px, 2px 40%, 20% 2px;
  background-position: 14% 30%, 49% 30%, 60% 58%;
}

.drawings-sheet-preview[data-variant="site-plan"] .drawings-sheet-preview-frame::before,
.drawings-sheet-preview[data-variant="planning-grid"] .drawings-sheet-preview-frame::before {
  background-image: linear-gradient(var(--draw-preview-line), var(--draw-preview-line)), linear-gradient(var(--draw-preview-line), var(--draw-preview-line));
  background-size: 46% 2px, 2px 46%;
  background-position: 18% 52%, 34% 22%;
}

.drawings-sheet-preview-frame::after {
  inset: auto 0 10px auto;
  width: 54px;
  height: 20px;
  border-radius: 4px;
  background: var(--draw-preview-stamp-bg);
  box-shadow: inset 0 0 0 1px var(--draw-preview-stamp-stroke);
}

.drawings-sheet-preview-label {
  position: absolute;
  right: 8px;
  bottom: 14px;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--draw-preview-label);
  letter-spacing: 0.08em;
}

.drawings-sheet-heading strong {
  display: block;
  font-size: 1rem;
}

.drawings-sheet-heading span {
  color: var(--draw-text);
}

.drawings-revision-badge,
.drawings-status-tag,
.drawings-context-chip,
.drawings-count-chip,
.drawings-governance-tag {
  display: inline-flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  min-height: var(--draw-chip-height);
  padding: 0 calc(8px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--draw-chip-border);
  background: var(--draw-chip-fill);
  font-size: 0.74rem;
}

.drawings-revision-badge {
  border-color: var(--draw-revision-border);
  background: var(--draw-revision-fill);
  color: var(--draw-revision-text);
}

.drawings-revision-badge.is-muted {
  border-color: var(--draw-revision-muted-border);
  background: var(--draw-revision-muted-fill);
  color: var(--draw-revision-muted-text);
}

.drawings-sheet-meta {
  display: grid;
  gap: calc(5px * var(--ui-space-scale));
  font-size: 0.78rem;
}

.drawings-inline-meta,
.drawings-linked-row-copy {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  min-width: 0;
}

.drawings-inline-icon,
.drawings-chip-icon,
.drawings-linked-row-icon {
  display: inline-flex;
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  color: var(--draw-icon-color);
  flex: none;
}

.drawings-inline-icon svg,
.drawings-chip-icon svg,
.drawings-linked-row-icon svg,
.drawings-icon-button svg {
  width: 100%;
  height: 100%;
}

.drawings-context-chip-row,
.drawings-linked-row {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.drawings-status-tag {
  color: var(--draw-chip-text);
}

.drawings-governance-tag {
  max-width: 70%;
  color: var(--draw-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.drawings-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--draw-control-height);
  height: var(--draw-control-height);
  border-radius: var(--draw-control-radius);
  border: 1px solid var(--draw-border);
  background: var(--draw-control-fill);
  color: var(--draw-muted);
}

.drawings-icon-button.is-active {
  border-color: var(--draw-accent-border);
  background: var(--draw-accent-fill);
  color: var(--draw-revision-text);
}

.drawings-selection-card,
.drawings-selection-preview-card,
.drawings-linked-panel {
  display: grid;
  gap: var(--draw-panel-gap);
  padding: var(--draw-panel-padding);
  border-radius: var(--draw-card-radius);
  border: 1px solid var(--draw-border-soft);
  background: var(--draw-card-fill);
}

.drawings-selection-preview-card {
  padding: 0;
  overflow: hidden;
}

.drawings-selection-copy {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  padding: 0 2px;
}

.drawings-detail-grid {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  margin: 0;
}

.drawings-detail-grid--selection {
  gap: 0;
  padding: 0 2px;
}

.drawings-detail-grid div {
  align-items: flex-start;
  padding: calc(7px * var(--ui-space-scale)) 0;
  border-bottom: 1px solid var(--draw-border-soft);
}

.drawings-detail-grid div:last-child {
  border-bottom: 0;
}

.drawings-detail-grid dt,
.drawings-detail-grid dd {
  margin: 0;
}

.drawings-detail-grid dt {
  flex: 0 0 40%;
  font-size: 0.74rem;
}

.drawings-detail-grid dd {
  flex: 1 1 auto;
  text-align: right;
  color: var(--draw-detail-value);
  font-size: 0.78rem;
  word-break: break-word;
}

.drawings-linked-row-item {
  align-items: flex-start;
  padding: calc(8px * var(--ui-space-scale)) 0;
  border-bottom: 1px solid var(--draw-border-soft);
}

.drawings-linked-row-item:last-child {
  border-bottom: 0;
}

.drawings-linked-row-item span:last-child {
  color: var(--draw-muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.drawings-pagination {
  padding-top: var(--space-1);
  border-top: 1px solid var(--draw-border-soft);
}

.drawings-page-button.is-active {
  border-color: var(--draw-accent-border);
  background: var(--draw-accent-fill);
  color: var(--draw-revision-text);
}

.drawings-compare-button {
  width: 100%;
  min-height: calc(32px * var(--ui-control-scale));
}

.drawings-inspector-panel .drawings-panel-head {
  padding: 0 2px;
}

.drawings-inspector-panel .drawings-linked-panel {
  gap: 8px;
  padding: 0 2px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.drawings-inspector-panel .drawings-linked-panel-head {
  padding-top: 6px;
  border-top: 1px solid var(--draw-border-soft);
}

.drawings-inspector-panel .drawings-linked-group {
  display: grid;
  gap: calc(4px * var(--ui-space-scale));
}

.drawings-inspector-panel .drawings-linked-group-head {
  padding: 0;
}

.drawings-inspector-panel .drawings-selection-note {
  max-width: 24ch;
}

.drawings-inspector-panel .drawings-sheet-preview.is-large {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.drawings-inspector-panel .drawings-sheet-preview.is-large .drawings-sheet-preview-frame {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: var(--draw-card-radius);
}

.drawings-viewer-shell,
.drawings-compare-shell {
  display: grid;
  gap: var(--space-2);
}

.drawings-surface-panel {
  padding: 0;
  overflow: hidden;
}

.drawings-pdf-surface {
  display: grid;
  gap: 12px;
}

.drawings-pdf-surface.is-full-page {
  position: fixed;
  inset: 14px;
  z-index: 140;
  padding: 18px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(247, 250, 253, 0.98) 0%, rgba(239, 245, 251, 0.99) 100%);
  box-shadow: 0 28px 70px rgba(34, 54, 76, 0.24);
}

.drawings-pdf-surface:fullscreen {
  inset: auto;
  width: 100%;
  height: 100%;
  padding: 18px;
  border-radius: 0;
}

.drawings-pdf-surface:fullscreen .cde-pdf-layout {
  min-height: calc(100vh - 120px);
}

.drawings-pdf-surface.is-full-page .cde-pdf-layout {
  min-height: calc(100vh - 128px);
}

.drawings-surface-close-button {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid var(--draw-border);
  background: rgba(255, 255, 255, 0.92);
  color: var(--draw-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.drawings-surface-close-button.is-hidden {
  display: none;
}

.drawings-surface-close-button:hover {
  border-color: var(--draw-border-strong);
}

.drawings-surface-close-button svg {
  width: 14px;
  height: 14px;
}

.drawings-pdf-surface .cde-pdf-layout {
  min-height: 720px;
}

.drawings-surface-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, max-content) minmax(0, 1fr);
  align-items: start;
  gap: 8px 12px;
  padding: 10px 12px;
}

.drawings-surface-toolbar .cde-pdf-toolbar-title {
  display: grid;
  gap: 2px;
  align-content: start;
  justify-items: start;
  min-width: 0;
  max-width: 320px;
}

.drawings-surface-toolbar .cde-pdf-toolbar-title strong {
  font-size: 0.84rem;
  line-height: 1.15;
}

.drawings-surface-toolbar .cde-pdf-toolbar-title span {
  display: block;
  font-size: 0.72rem;
  line-height: 1.15;
  color: var(--muted);
}

.drawings-surface-toolbar .cde-pdf-toolbar-controls {
  min-width: 0;
  justify-self: end;
  display: grid;
  grid-template-columns: auto auto minmax(220px, 1fr) auto;
  gap: 8px 10px;
  align-items: center;
}

.drawings-surface-toolbar-group {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.drawings-surface-toolbar-group--search {
  display: flex;
  justify-content: flex-start;
}

.drawings-surface-toolbar-group--actions {
  justify-content: flex-end;
}

.drawings-surface-toolbar-group--actions,
.drawings-surface-toolbar-group--page,
.drawings-surface-toolbar-group--zoom {
  white-space: nowrap;
}

.drawings-surface-tool {
  min-height: 32px;
  min-width: 32px;
  padding: 0 9px;
  border-radius: 8px;
  gap: 6px;
  white-space: nowrap;
}

.drawings-surface-tool.is-subtle {
  background: rgba(255, 255, 255, 0.7);
}

.drawings-surface-tool.is-active {
  border-color: var(--draw-accent-border);
  background: var(--draw-accent-gradient);
}

.drawings-surface-tool-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.drawings-surface-tool-icon svg {
  width: 14px;
  height: 14px;
}

.drawings-surface-tool-label {
  display: inline-block;
  font-size: 0.74rem;
  line-height: 1;
}

.drawings-surface-page-field {
  min-height: 32px;
  padding: 0 4px 0 0;
  white-space: nowrap;
}

.drawings-surface-page-field input {
  width: 58px;
}

.drawings-surface-page-summary {
  padding: 0 4px;
}

.drawings-surface-toolbar .cde-pdf-search-form {
  min-width: 0;
}

.drawings-surface-toolbar .cde-pdf-search-form input {
  width: min(220px, 100%);
}

.drawings-surface-toolbar .cde-pdf-search-summary {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.drawings-surface-toolbar .cde-pdf-search-summary.is-hidden {
  display: none;
}

.drawings-surface-page-rail {
  padding: 8px;
}

.drawings-surface-page-rail .cde-pdf-thumbnails {
  gap: 8px;
}

.drawings-surface-page-rail .cde-pdf-thumbnail {
  gap: 6px;
  padding: 6px;
  border-radius: 7px;
}

.drawings-surface-page-rail .cde-pdf-thumbnail-label {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.drawings-surface-page-rail .cde-pdf-thumbnail-preview {
  min-height: 94px;
}

.drawings-compare-header,
.drawings-inspector-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.drawings-compare-header span,
.drawings-compare-status {
  color: var(--draw-muted);
  font-size: 0.82rem;
}

.drawings-compare-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.drawings-compare-panel {
  min-width: 0;
}

.drawings-filter-field--compact {
  min-width: 180px;
}

.drawings-filter-field--compact span {
  color: var(--draw-muted);
}

.drawings-upload-dialog {
  width: min(940px, calc(100vw - 32px));
}

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

.drawings-upload-config-row,
.drawings-upload-config-actions,
.drawings-upload-config-save-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.drawings-upload-config-row {
  justify-content: space-between;
}

.drawings-upload-config-row > .cde-filter-field {
  flex: 1 1 280px;
}

.drawings-upload-config-description,
.drawings-upload-config-save {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--draw-border-soft);
  background: var(--draw-card-fill);
}

.drawings-upload-config-description span,
.drawings-upload-config-default-toggle span {
  color: var(--draw-muted);
  font-size: 0.82rem;
}

.drawings-upload-config-save-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.drawings-upload-config-default-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.drawings-upload-scale-field {
  display: grid;
  gap: 10px;
}

.drawings-upload-revision-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--draw-border-soft);
  background: var(--draw-card-fill);
}

.drawings-upload-revision-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.84rem;
  color: var(--draw-text);
}

.drawings-upload-revision-copy {
  color: var(--draw-muted);
  font-size: 0.8rem;
}

.drawings-upload-scale-custom.is-hidden {
  display: none;
}

@media (max-width: 2560px) {
  .drawings-surface-tool {
    padding: 0 8px;
  }

  .drawings-surface-tool-label {
    display: none;
  }

  .drawings-surface-toolbar .cde-pdf-toolbar-controls {
    grid-template-columns: auto auto minmax(180px, 1fr) auto;
  }
}

@media (max-width: 2560px) {
  .drawings-surface-toolbar {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .drawings-surface-toolbar .cde-pdf-toolbar-controls {
    width: 100%;
    justify-self: stretch;
    grid-template-columns: auto auto minmax(140px, 1fr) auto;
  }

  .drawings-surface-toolbar-group--actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
  }
}

@media (max-width: 1360px) {
  .drawings-workspace {
    grid-template-columns: calc(220px * var(--ui-sidebar-scale)) minmax(0, 1fr);
  }

  .drawings-inspector-panel {
    grid-column: 1 / -1;
  }

  .drawings-toolbar {
    grid-template-columns: minmax(calc(240px * var(--ui-panel-scale)), 1fr) repeat(2, minmax(calc(120px * var(--ui-panel-scale)), 0.7fr)) auto;
  }

  .drawings-pdf-surface .cde-pdf-layout {
    min-height: 620px;
  }

  .drawings-surface-toolbar-group--actions {
    overflow-x: auto;
    padding-bottom: 2px;
  }
}

@media (max-width: 1080px) {
  .drawings-header-band {
    grid-template-columns: 1fr;
  }

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

  .drawings-header-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .drawings-toolbar,
  .drawings-workspace {
    grid-template-columns: 1fr;
  }

  .drawings-capability-note {
    flex-direction: column;
    align-items: flex-start;
  }

  .drawings-surface-toolbar {
    gap: 10px;
  }

  .drawings-surface-toolbar .cde-pdf-toolbar-controls {
    grid-template-columns: auto auto minmax(120px, 1fr) auto;
    align-items: center;
    gap: 6px 8px;
  }

  .drawings-surface-toolbar .cde-pdf-search-form input {
    width: min(140px, 100%);
  }

  .drawings-surface-page-field span {
    display: none;
  }

  .drawings-surface-page-rail .cde-pdf-thumbnail-preview {
    min-height: 82px;
  }

  .drawings-pdf-surface.is-full-page {
    inset: 8px;
    padding: 12px;
  }

  .drawings-compare-layout,
  .drawings-upload-grid,
  .drawings-upload-config-save-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .drawings-kpi-grid,
  .drawings-sheet-grid {
    grid-template-columns: 1fr;
  }

  .drawings-header-band,
  .drawings-toolbar,
  .drawings-capability-note,
  .drawings-explorer-panel,
  .drawings-grid-panel,
  .drawings-inspector-panel {
    padding-left: 12px;
    padding-right: 12px;
  }

  .drawings-detail-grid div,
  .drawings-pagination {
    flex-direction: column;
    align-items: flex-start;
  }

  .drawings-detail-grid dd {
    text-align: left;
  }
}

.layout-content:has(.models-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.models-page {
  --model-panel-radius: var(--radius-panel);
  --model-card-radius: calc(14px * var(--ui-panel-scale));
  --model-control-height: calc(34px * var(--ui-control-scale));
  --model-control-radius: calc(10px * var(--ui-control-scale));
  --model-panel-padding: var(--panel-padding-sm);
  --model-panel-padding-md: calc(14px * var(--ui-panel-scale));
  --model-panel-gap: calc(10px * var(--ui-space-scale));
  --model-kpi-min-height: calc(84px * var(--ui-panel-scale));
  --model-explorer-width: calc(212px * var(--ui-sidebar-scale));
  --model-inspector-width: var(--inspector-width-lg);
  --model-chip-height: calc(24px * var(--ui-control-scale));
  --model-viewer-title-height: calc(28px * var(--ui-control-scale));
  --model-browser-tile-width: calc(522px * var(--ui-panel-scale));
  --model-browser-tile-width-compact: calc(425px * var(--ui-panel-scale));
  --model-viewer-min-height: calc(420px * var(--ui-panel-scale));
  --model-panel: var(--pmis-surface-card);
  --model-panel-soft: var(--pmis-surface-panel);
  --model-panel-muted: var(--entry-soft-surface);
  --model-border: var(--pmis-border-subtle);
  --model-border-strong: var(--pmis-border-strong);
  --model-border-soft: var(--pmis-border-subtle);
  --model-text: var(--pmis-text-primary);
  --model-muted: var(--pmis-text-secondary);
  --model-heading: var(--pmis-text-primary);
  --model-accent: var(--pmis-info);
  --model-accent-soft: var(--pmis-accent-soft);
  --model-warning: var(--pmis-warning);
  --model-card-fill: var(--entry-soft-surface);
  --model-control-fill: var(--entry-soft-surface);
  --model-hover-fill: var(--entry-soft-surface-strong);
  --model-active-fill: var(--pmis-accent-soft);
  --model-active-text: var(--pmis-text-primary);
  --model-chip-fill: var(--entry-soft-surface);
  --model-chip-border: var(--pmis-border-subtle);
  --model-chip-text: var(--pmis-text-primary);
  --model-viewer-title-fill: var(--pmis-accent-soft);
  --model-viewer-title-border: var(--pmis-border-strong);
  --model-viewer-title-text: var(--pmis-text-primary);
  --model-canvas-fill:
    radial-gradient(circle at center, rgba(56, 72, 94, 0.34) 0%, rgba(21, 27, 38, 0.96) 62%, rgba(12, 15, 22, 1) 100%);
  --model-metrics-fill:
    radial-gradient(circle at top right, rgba(119, 201, 255, 0.12) 0%, transparent 26%),
    linear-gradient(180deg, rgba(23, 27, 37, 0.98) 0%, rgba(12, 15, 22, 1) 100%);
  --model-metric-surface: rgba(255, 255, 255, 0.025);
  --model-preview-fill:
    radial-gradient(circle at 48% 24%, rgba(142, 206, 255, 0.14), transparent 32%),
    linear-gradient(180deg, rgba(69, 86, 108, 0.42) 0%, rgba(29, 38, 54, 0.96) 100%);
  --model-preview-structure: linear-gradient(180deg, rgba(160, 190, 214, 0.56) 0%, rgba(72, 94, 120, 0.92) 100%);
  --model-preview-structure-accent: linear-gradient(180deg, rgba(124, 238, 223, 0.65) 0%, rgba(47, 135, 134, 0.82) 100%);
  --model-preview-shadow: 0 18px 22px rgba(4, 12, 16, 0.28);
  color: var(--model-text);
}

body[data-theme="darkgreys"] .models-page {
  --model-accent-soft: var(--pmis-accent-soft);
  --model-card-fill: var(--entry-soft-surface);
  --model-control-fill: var(--entry-soft-surface);
  --model-hover-fill: var(--entry-soft-surface-strong);
  --model-active-fill: var(--pmis-accent-soft);
  --model-active-text: var(--pmis-text-primary);
  --model-chip-fill: var(--entry-soft-surface);
  --model-viewer-title-fill: var(--pmis-accent-soft);
  --model-viewer-title-border: var(--pmis-border-strong);
  --model-canvas-fill:
    radial-gradient(circle at center, rgba(78, 82, 86, 0.28) 0%, rgba(28, 30, 33, 0.96) 62%, rgba(19, 20, 22, 1) 100%);
  --model-metrics-fill:
    radial-gradient(circle at top right, rgba(216, 221, 227, 0.08) 0%, transparent 26%),
    linear-gradient(180deg, rgba(34, 36, 39, 0.98) 0%, rgba(21, 23, 26, 1) 100%);
  --model-preview-fill:
    radial-gradient(circle at 48% 24%, rgba(216, 221, 227, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(78, 86, 98, 0.42) 0%, rgba(32, 36, 42, 0.96) 100%);
  --model-preview-structure: linear-gradient(180deg, rgba(183, 190, 199, 0.52) 0%, rgba(84, 93, 104, 0.94) 100%);
  --model-preview-structure-accent: linear-gradient(180deg, rgba(185, 198, 210, 0.62) 0%, rgba(86, 102, 118, 0.86) 100%);
}

body[data-theme="whites"] .models-page {
  --model-border: var(--pmis-border-subtle);
  --model-border-strong: var(--pmis-border-strong);
  --model-border-soft: var(--pmis-border-subtle);
  --model-accent: var(--pmis-info);
  --model-accent-soft: var(--pmis-accent-soft);
  --model-card-fill: var(--entry-soft-surface);
  --model-control-fill: var(--entry-soft-surface);
  --model-hover-fill: var(--entry-soft-surface-strong);
  --model-active-fill: var(--pmis-accent-soft);
  --model-active-text: var(--pmis-text-primary);
  --model-chip-fill: var(--entry-soft-surface);
  --model-chip-border: var(--pmis-border-subtle);
  --model-chip-text: var(--pmis-text-primary);
  --model-viewer-title-fill: var(--pmis-accent-soft);
  --model-viewer-title-border: var(--pmis-border-strong);
  --model-viewer-title-text: var(--pmis-text-primary);
  --model-canvas-fill:
    radial-gradient(circle at center, rgba(182, 200, 220, 0.34) 0%, rgba(240, 245, 250, 0.98) 58%, rgba(234, 240, 247, 1) 100%);
  --model-metrics-fill:
    radial-gradient(circle at top right, rgba(70, 97, 124, 0.08) 0%, transparent 26%),
    linear-gradient(180deg, rgba(251, 253, 255, 0.98) 0%, rgba(241, 246, 251, 1) 100%);
  --model-metric-surface: rgba(255, 255, 255, 0.74);
  --model-preview-fill:
    radial-gradient(circle at 48% 24%, rgba(112, 147, 180, 0.14), transparent 32%),
    linear-gradient(180deg, rgba(214, 226, 239, 0.98) 0%, rgba(187, 202, 221, 0.98) 100%);
  --model-preview-structure: linear-gradient(180deg, rgba(173, 189, 208, 0.92) 0%, rgba(110, 130, 156, 0.98) 100%);
  --model-preview-structure-accent: linear-gradient(180deg, rgba(135, 201, 202, 0.82) 0%, rgba(82, 154, 156, 0.92) 100%);
  --model-preview-shadow: 0 14px 18px rgba(123, 145, 166, 0.16);
}

.models-page .page-title-block {
  max-width: 980px;
}

.models-page .page-kicker {
  color: var(--model-accent);
}

.models-page .page-title-block h1 {
  color: var(--model-heading);
}

.models-page .page-title-block p {
  color: var(--model-muted);
  max-width: 920px;
}

.models-header-band,
.models-toolbar,
.models-capability-note,
.models-explorer-panel,
.models-viewer-shell,
.models-browser-shell,
.models-inspector-panel {
  border-radius: var(--model-panel-radius);
  border: 1px solid var(--model-border);
  background: var(--model-panel);
  box-shadow: var(--surface-shadow);
}

.models-header-band {
  padding: var(--model-panel-padding-md);
}

.models-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--model-panel-gap);
}

.models-kpi-card {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  min-height: var(--model-kpi-min-height);
  padding: var(--model-panel-padding-md) var(--panel-padding-md);
  border-radius: var(--model-card-radius);
  border: 1px solid var(--model-border-soft);
  background: var(--model-card-fill);
}

.models-kpi-card strong {
  font-size: 1.95rem;
  line-height: 1;
  color: var(--model-heading);
}

.models-kpi-card span {
  color: var(--model-muted);
  font-size: 0.82rem;
}

.models-kpi-card.is-warning strong,
.models-kpi-card.is-accent strong {
  color: var(--model-warning);
}

.models-header-actions,
.models-view-controls,
.models-viewer-actions,
.models-viewer-context,
.models-selection-chips,
.models-browser-pagination,
.models-browser-footer {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.models-header-actions {
  justify-content: flex-end;
}

.models-view-controls {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.models-action-button,
.models-mini-button,
.models-mode-select,
.models-filter-select,
.models-page-button,
.models-compare-button,
.models-viewer-tool,
.models-viewer-rail-button {
  min-height: var(--model-control-height);
  border-radius: var(--model-control-radius);
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  color: var(--model-text);
  font: inherit;
}

.models-action-button,
.models-mini-button,
.models-page-button,
.models-compare-button,
.models-viewer-tool {
  padding: 0 var(--control-padding-inline-sm);
}

.models-viewer-rail-button {
  width: calc(36px * var(--ui-control-scale));
  padding: 0;
}

.models-action-button:hover,
.models-mini-button:hover,
.models-page-button:hover,
.models-compare-button:hover,
.models-filter-select:hover,
.models-mode-select:hover,
.models-explorer-item:hover,
.models-tile-card:hover,
.models-icon-button:hover,
.models-viewer-tool:hover,
.models-viewer-rail-button:hover {
  border-color: var(--model-border-strong);
  background: var(--model-hover-fill);
}

.models-action-button.is-emphasis,
.models-compare-button {
  border-color: var(--model-viewer-title-border);
  background: var(--model-viewer-title-fill);
}

.models-toolbar {
  display: grid;
  grid-template-columns: calc(300px * var(--ui-panel-scale)) repeat(5, minmax(calc(136px * var(--ui-panel-scale)), 1fr)) max-content;
  gap: var(--model-panel-gap);
  padding: var(--model-panel-padding) var(--model-panel-padding-md);
  align-items: center;
}

.models-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  min-height: var(--model-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-control);
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  width: 100%;
  max-width: none;
}

.models-search-field input,
.models-filter-select,
.models-mode-select {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--model-text);
}

.models-search-field input::placeholder {
  color: var(--model-muted);
}

.models-filter-select,
.models-mode-select {
  padding: 0 var(--control-padding-inline-sm);
}

.models-view-controls .models-mode-select {
  width: auto;
  min-width: calc(92px * var(--ui-panel-scale));
}

.models-view-controls .models-mini-button {
  white-space: nowrap;
}

.models-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--model-control-height);
  height: var(--model-control-height);
  border-radius: var(--model-control-radius);
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  color: var(--model-muted);
}

.models-icon-button.is-active {
  border-color: var(--model-border-strong);
  background: var(--model-accent-soft);
  color: var(--model-active-text);
}

.models-capability-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--model-panel-padding) var(--model-panel-padding-md);
  color: var(--model-muted);
  font-size: 0.8rem;
}

.models-workspace {
  display: grid;
  grid-template-columns: var(--model-explorer-width) minmax(0, 1fr) var(--model-inspector-width);
  gap: var(--space-2);
  align-items: start;
}

.models-center-panel {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.models-panel-head {
  display: grid;
  gap: 6px;
}

.models-panel-head h2 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--model-heading);
}

.models-panel-head p,
.models-explorer-group-label,
.models-browser-head span,
.models-linked-panel-head span,
.models-linked-group-head span,
.models-detail-grid dt,
.models-browser-footer span,
.models-tile-meta,
.models-viewer-footer span {
  color: var(--model-muted);
}

.models-explorer-panel,
.models-inspector-panel {
  display: grid;
  gap: var(--space-2);
  padding: var(--model-panel-padding-md);
}

.models-quality-score {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--model-border-soft);
  background: var(--model-card-fill);
}

.models-quality-score strong {
  font-size: 2rem;
  line-height: 1;
  color: var(--model-heading);
}

.models-quality-score span,
.models-quality-card span,
.models-quality-row span {
  color: var(--model-muted);
}

.models-quality-card-grid,
.models-quality-list {
  display: grid;
  gap: 8px;
}

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

.models-quality-card {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid var(--model-border-soft);
  background: var(--model-card-fill);
}

.models-quality-card strong {
  color: var(--model-heading);
  font-size: 1.08rem;
}

.models-quality-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--model-border-soft);
}

.models-quality-row:last-child {
  border-bottom: 0;
}

.models-quality-row-copy {
  display: flex;
  align-items: center;
  gap: 8px;
}

.models-quality-row-copy strong {
  color: var(--model-heading);
  font-size: 0.82rem;
}

.models-quality-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--model-muted);
  flex: none;
}

.models-quality-dot.is-good {
  background: var(--pmis-success);
}

.models-quality-dot.is-warn {
  background: var(--pmis-warning);
}

.models-quality-dot.is-info {
  background: var(--pmis-info);
}

.models-explorer-nav,
.models-explorer-group,
.models-explorer-group-items,
.models-linked-panel,
.models-linked-list,
.models-browser-shell,
.models-viewer-shell {
  display: grid;
  gap: var(--model-panel-gap);
}

.models-explorer-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.models-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  width: 100%;
  min-height: var(--model-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--model-control-radius);
  border: 1px solid transparent;
  background: transparent;
  color: var(--model-text);
  text-align: left;
  font: inherit;
}

.models-explorer-item strong {
  color: var(--model-muted);
  font-size: 0.8rem;
}

.models-explorer-item.is-active {
  border-color: var(--model-border-strong);
  background: var(--model-active-fill);
}

.models-viewer-shell,
.models-browser-shell {
  padding: var(--model-panel-padding);
}

.models-viewer-toolbar,
.models-browser-head,
.models-linked-panel-head,
.models-linked-group-head,
.models-linked-row,
.models-detail-grid div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
}

.models-viewer-toolbar {
  padding-bottom: calc(6px * var(--ui-space-scale));
  border-bottom: 1px solid var(--model-border-soft);
}

.models-viewer-tool {
  display: inline-flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
}

.models-viewer-context {
  justify-content: flex-end;
}

.models-viewer-title {
  display: inline-flex;
  align-items: center;
  min-height: var(--model-viewer-title-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: 999px;
  border: 1px solid var(--model-viewer-title-border);
  background: var(--model-viewer-title-fill);
  color: var(--model-viewer-title-text);
  font-size: 0.78rem;
}

.models-context-chip,
.models-status-chip,
.models-count-chip,
.models-version-badge {
  display: inline-flex;
  align-items: center;
  min-height: var(--model-chip-height);
  padding: 0 calc(8px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--model-chip-border);
  background: var(--model-chip-fill);
  color: var(--model-chip-text);
  font-size: 0.72rem;
  gap: calc(6px * var(--ui-space-scale));
}

.models-status-chip.is-warning {
  color: var(--warning);
}

.models-status-chip.is-active {
  color: var(--model-active-text);
}

.models-status-chip.is-neutral {
  color: var(--model-muted);
}

.models-viewer-canvas {
  position: relative;
  min-height: var(--model-viewer-min-height);
  border-radius: calc(16px * var(--ui-panel-scale));
  overflow: hidden;
  border: 1px solid var(--model-border-soft);
  background: var(--model-canvas-fill);
}

.models-empty-state {
  display: grid;
  gap: 6px;
  min-height: 180px;
  place-content: center;
  padding: 18px;
  border-radius: 14px;
  border: 1px dashed var(--model-border-soft);
  background: var(--model-card-fill);
  text-align: center;
}

.models-empty-state span {
  color: var(--model-muted);
}

.models-viewer-canvas.is-metrics {
  padding: 18px;
  background: var(--model-metrics-fill);
}

.models-metrics-stage {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1fr);
  gap: 16px;
  min-height: 100%;
}

.models-metrics-hero,
.models-metric-card,
.models-metrics-list {
  border-radius: 16px;
  border: 1px solid var(--model-border-soft);
  background: var(--model-metric-surface);
}

.models-metrics-hero {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px;
}

.models-metrics-hero strong {
  font-size: 3rem;
  line-height: 1;
  color: var(--model-heading);
}

.models-metrics-hero span:last-child {
  color: var(--model-muted);
  font-size: 0.86rem;
}

.models-metrics-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.models-metric-card {
  display: grid;
  gap: 4px;
  padding: 14px;
}

.models-metric-card strong {
  font-size: 1.4rem;
  color: var(--model-heading);
}

.models-metric-card span {
  color: var(--model-muted);
  font-size: 0.8rem;
}

.models-metrics-list {
  display: grid;
  gap: 0;
  padding: 12px 14px;
}

.models-metric-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--model-border-soft);
}

.models-metric-row:last-child {
  border-bottom: 0;
}

.models-metric-row-copy {
  display: flex;
  align-items: center;
  gap: 8px;
}

.models-metric-row-copy strong {
  color: var(--model-heading);
  font-size: 0.86rem;
}

.models-metric-row span:last-child {
  color: var(--model-muted);
  font-size: 0.82rem;
}

.models-viewer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 4px;
  font-size: 0.8rem;
}

.models-browser-head strong,
.models-linked-panel-head strong,
.models-linked-group-head strong,
.models-tile-head strong,
.models-linked-row-copy strong {
  color: var(--model-heading);
}

.models-browser-grid {
  display: grid;
  gap: var(--model-panel-gap);
  align-items: start;
  justify-content: start;
  --model-tile-width: var(--model-browser-tile-width);
}

.models-browser-grid.is-detail-basic {
  --model-tile-width: var(--model-browser-tile-width);
}

.models-browser-grid.is-detail-compact {
  --model-tile-width: var(--model-browser-tile-width-compact);
}

.models-browser-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--model-tile-width), var(--model-tile-width)));
}

.models-tile-card {
  display: grid;
  gap: 0;
  border: 1px solid var(--model-border-soft);
  border-radius: var(--model-card-radius);
  background: var(--model-panel-soft);
  overflow: hidden;
}

.models-browser-grid.is-detail-compact {
  gap: var(--space-1);
}

.models-tile-hit {
  display: grid;
  gap: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--model-text);
  text-align: left;
  font: inherit;
}

.models-browser-grid.is-detail-compact .models-tile-hit {
  gap: 0;
  padding: 0;
}

.models-tile-card.is-selected .models-tile-hit {
  background: transparent;
}

.models-tile-card.is-selected {
  border-color: var(--model-border-strong);
  box-shadow: inset 0 0 0 1px var(--model-border-strong);
}

.models-tile-preview {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 3 / 2;
  border-radius: 0;
  overflow: hidden;
  background: var(--model-preview-fill);
}

.models-tile-preview-grid {
  position: absolute;
  inset: 0;
  background: none;
}

.models-tile-preview::before,
.models-tile-preview::after {
  content: "";
  position: absolute;
  border: 0;
  background: var(--model-preview-structure);
  box-shadow: var(--model-preview-shadow);
}

.models-tile-preview[data-variant="tower"]::before {
  inset: 18px 94px 28px 40px;
  transform: skewY(-10deg);
}

.models-tile-preview[data-variant="tower"]::after {
  inset: 28px 46px 34px 122px;
  transform: skewY(-10deg);
}

.models-tile-preview[data-variant="podium"]::before,
.models-tile-preview[data-variant="core"]::before,
.models-tile-preview[data-variant="level"]::before,
.models-tile-preview[data-variant="mechanical"]::before,
.models-tile-preview[data-variant="structure"]::before,
.models-tile-preview[data-variant="facade"]::before,
.models-tile-preview[data-variant="site"]::before {
  inset: 34px 28px 28px 28px;
  transform: perspective(800px) rotateX(68deg) rotateZ(-28deg);
}

.models-tile-preview[data-variant="podium"]::after,
.models-tile-preview[data-variant="core"]::after,
.models-tile-preview[data-variant="level"]::after,
.models-tile-preview[data-variant="mechanical"]::after,
.models-tile-preview[data-variant="structure"]::after,
.models-tile-preview[data-variant="facade"]::after,
.models-tile-preview[data-variant="site"]::after {
  inset: 54px 58px 42px 58px;
  background: var(--model-preview-structure-accent);
  box-shadow: var(--model-preview-shadow);
}

.models-tile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.models-tile-body {
  display: grid;
  gap: 8px;
  padding: 10px 10px 0;
}

.models-browser-grid.is-detail-compact .models-tile-body {
  gap: 6px;
  padding: 8px 8px 0;
}

.models-tile-meta {
  display: grid;
  gap: 4px;
  font-size: 0.76rem;
}

.models-browser-grid.is-detail-compact .models-tile-meta,
.models-browser-grid.is-detail-compact .models-count-chip,
.models-browser-grid.is-detail-compact .models-version-badge {
  font-size: 0.68rem;
}

.models-tile-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 10px 10px;
}

.models-browser-grid.is-detail-compact .models-tile-actions {
  padding: 6px 8px 8px;
}

.models-tile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  color: var(--model-text);
  text-decoration: none;
  font-size: 0.72rem;
}

.models-tile-action:hover {
  border-color: var(--model-border-strong);
  background: var(--model-hover-fill);
}

.models-tile-counts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.models-browser-footer {
  padding-top: 2px;
  border-top: 1px solid var(--model-border-soft);
  justify-content: space-between;
  font-size: 0.8rem;
}

.models-register-table,
.models-elements-table,
.models-revisions-table {
  display: grid;
  gap: 0;
  overflow-x: auto;
  border: 1px solid var(--model-border-soft);
  border-radius: var(--model-card-radius);
  background: var(--model-panel-soft);
}

.models-register-row,
.models-elements-row,
.models-revisions-row {
  display: grid;
  gap: 8px;
  align-items: center;
  min-width: calc(1320px * var(--ui-panel-scale));
  padding: 7px 10px;
  border-bottom: 1px solid var(--model-border-soft);
  color: var(--model-text);
  font-size: 0.78rem;
  line-height: 1.15;
}

.models-register-row {
  grid-template-columns:
    calc(92px * var(--ui-panel-scale))
    calc(86px * var(--ui-panel-scale))
    calc(116px * var(--ui-panel-scale))
    minmax(calc(180px * var(--ui-panel-scale)), 1.4fr)
    calc(112px * var(--ui-panel-scale))
    calc(136px * var(--ui-panel-scale))
    calc(132px * var(--ui-panel-scale))
    calc(88px * var(--ui-panel-scale))
    calc(100px * var(--ui-panel-scale))
    calc(86px * var(--ui-panel-scale))
    calc(86px * var(--ui-panel-scale))
    calc(76px * var(--ui-panel-scale))
    calc(76px * var(--ui-panel-scale))
    calc(96px * var(--ui-panel-scale))
    calc(118px * var(--ui-panel-scale))
    calc(110px * var(--ui-panel-scale))
    calc(176px * var(--ui-panel-scale));
}

.models-elements-row {
  grid-template-columns:
    minmax(calc(170px * var(--ui-panel-scale)), 1fr)
    minmax(calc(180px * var(--ui-panel-scale)), 1.2fr)
    calc(128px * var(--ui-panel-scale))
    calc(140px * var(--ui-panel-scale))
    calc(140px * var(--ui-panel-scale))
    calc(132px * var(--ui-panel-scale))
    calc(150px * var(--ui-panel-scale))
    calc(92px * var(--ui-panel-scale))
    calc(210px * var(--ui-panel-scale));
}

.models-elements-row.is-native {
  grid-template-columns:
    calc(150px * var(--ui-panel-scale))
    minmax(calc(190px * var(--ui-panel-scale)), 1.2fr)
    calc(100px * var(--ui-panel-scale))
    minmax(calc(170px * var(--ui-panel-scale)), 1fr)
    minmax(calc(180px * var(--ui-panel-scale)), 1fr)
    calc(170px * var(--ui-panel-scale));
}

.models-revisions-row {
  min-width: calc(760px * var(--ui-panel-scale));
  grid-template-columns:
    calc(98px * var(--ui-panel-scale))
    calc(118px * var(--ui-panel-scale))
    minmax(calc(150px * var(--ui-panel-scale)), 1fr)
    minmax(calc(180px * var(--ui-panel-scale)), 1fr)
    calc(116px * var(--ui-panel-scale))
    calc(94px * var(--ui-panel-scale));
}

.models-revisions-row.is-reference {
  min-width: calc(980px * var(--ui-panel-scale));
  grid-template-columns:
    minmax(calc(190px * var(--ui-panel-scale)), 1.2fr)
    calc(116px * var(--ui-panel-scale))
    calc(92px * var(--ui-panel-scale))
    calc(118px * var(--ui-panel-scale))
    minmax(calc(170px * var(--ui-panel-scale)), 1fr)
    minmax(calc(250px * var(--ui-panel-scale)), auto);
}

.models-register-row:last-child,
.models-elements-row:last-child,
.models-revisions-row:last-child {
  border-bottom: 0;
}

.models-register-row.is-header,
.models-elements-row.is-header,
.models-revisions-row.is-header {
  background: var(--model-card-fill);
  color: var(--model-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.models-register-row.is-selected {
  background: var(--model-active-fill);
}

.models-register-link {
  border: 0;
  background: transparent;
  color: var(--model-active-text);
  font: inherit;
  font-weight: 700;
  text-align: left;
  padding: 0;
}

.models-register-link:hover {
  text-decoration: underline;
}

.models-row-actions,
.models-empty-actions,
.models-inspector-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.models-register-row .models-row-actions {
  flex-wrap: nowrap;
}

.models-row-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(24px * var(--ui-control-scale));
  height: calc(24px * var(--ui-control-scale));
  min-width: calc(24px * var(--ui-control-scale));
  border-radius: calc(6px * var(--ui-control-scale));
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  color: var(--model-muted);
  padding: 0;
  text-decoration: none;
}

.models-row-action-icon:hover {
  border-color: var(--model-border-strong);
  background: var(--model-hover-fill);
  color: var(--model-text);
}

.models-row-action-icon.is-danger {
  color: var(--pmis-danger);
}

.models-row-action-icon svg {
  width: calc(13px * var(--ui-control-scale));
  height: calc(13px * var(--ui-control-scale));
}

.models-mini-button.is-danger,
.models-action-button.is-danger {
  color: var(--pmis-danger);
}

.models-empty-actions {
  justify-content: center;
}

.models-tree-grid,
.models-analytics-grid {
  display: grid;
  gap: var(--model-panel-gap);
}

.models-tree-grid {
  grid-template-columns: repeat(auto-fit, minmax(calc(230px * var(--ui-panel-scale)), 1fr));
}

.models-tree-group {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: var(--model-card-radius);
  border: 1px solid var(--model-border-soft);
  background: var(--model-card-fill);
}

.models-tree-list {
  display: grid;
  gap: 0;
}

.models-tree-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--model-border-soft);
  color: var(--model-muted);
}

.models-tree-row:last-child {
  border-bottom: 0;
}

.models-tree-row strong {
  color: var(--model-heading);
}

.models-analytics-grid {
  grid-template-columns: minmax(calc(210px * var(--ui-panel-scale)), 0.6fr) minmax(0, 1fr);
}

.models-analytics-grid .models-quality-list {
  grid-column: 1 / -1;
}

.models-inspector-tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.models-tab-button {
  min-height: calc(30px * var(--ui-control-scale));
  padding: 0 10px;
  border-radius: var(--model-control-radius);
  border: 1px solid var(--model-border);
  background: var(--model-control-fill);
  color: var(--model-text);
  font: inherit;
  font-size: 0.74rem;
}

.models-tab-button.is-active {
  border-color: var(--model-border-strong);
  background: var(--model-active-fill);
  color: var(--model-active-text);
}

.models-inspector-tab-body {
  display: grid;
  gap: var(--model-panel-gap);
  min-width: 0;
}

.models-search-field.is-compact {
  max-width: none;
  width: 100%;
}

.models-dialog {
  width: min(calc(760px * var(--ui-panel-scale)), calc(100vw - 32px));
}

.models-form {
  display: grid;
  gap: var(--model-panel-gap);
}

.models-set-member-list {
  display: grid;
  gap: 6px;
  max-height: 220px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--model-border-soft);
  border-radius: var(--model-card-radius);
  background: var(--model-card-fill);
}

.models-set-member {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--model-text);
  font-size: 0.82rem;
}

.models-detail-grid,
.models-linked-panel,
.models-linked-list {
  display: grid;
  gap: 8px;
}

.models-selection-copy {
  display: grid;
  gap: 6px;
}

.models-detail-grid {
  margin: 0;
}

.models-detail-grid div {
  padding: 7px 0;
  border-bottom: 1px solid var(--model-border-soft);
}

.models-detail-grid div:last-child,
.models-linked-row:last-child {
  border-bottom: 0;
}

.models-detail-grid dt,
.models-detail-grid dd {
  margin: 0;
}

.models-detail-grid dt {
  flex: 0 0 42%;
  font-size: 0.74rem;
}

.models-detail-grid dd {
  flex: 1 1 auto;
  text-align: right;
  color: var(--model-heading);
  font-size: 0.78rem;
  word-break: break-word;
}

.models-linked-panel {
  padding-top: 6px;
  border-top: 1px solid var(--model-border-soft);
}

.models-linked-group {
  display: grid;
  gap: 4px;
}

.models-linked-row {
  align-items: flex-start;
  padding: 7px 0;
  border-bottom: 1px solid var(--model-border-soft);
}

.models-linked-row-copy,
.models-inline-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.models-inline-icon {
  width: 14px;
  height: 14px;
  color: var(--pmis-info);
  flex: none;
}

.models-inline-icon svg,
.models-icon-button svg,
.models-viewer-tool svg,
.models-viewer-rail-button svg {
  width: 100%;
  height: 100%;
}

.models-linked-row span:last-child {
  color: var(--model-muted);
  font-size: 0.76rem;
  white-space: nowrap;
}

.models-compare-button {
  width: 100%;
  min-height: 34px;
}

@media (max-width: 1480px) {
  .models-workspace {
    grid-template-columns: calc(206px * var(--ui-sidebar-scale)) minmax(0, 1fr) var(--model-inspector-width);
  }
}

@media (max-width: 1200px) {
  .models-workspace {
    grid-template-columns: 1fr;
  }

  .models-toolbar {
    grid-template-columns: minmax(calc(240px * var(--ui-panel-scale)), 1fr) repeat(2, minmax(calc(120px * var(--ui-panel-scale)), 0.8fr)) auto;
  }

  .models-metrics-stage {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .models-kpi-grid,
  .models-quality-card-grid {
    grid-template-columns: 1fr;
  }

  .models-header-band,
  .models-toolbar,
  .models-capability-note,
  .models-explorer-panel,
  .models-viewer-shell,
  .models-browser-shell,
  .models-inspector-panel {
    padding-left: 12px;
    padding-right: 12px;
  }

  .models-header-band,
  .models-toolbar,
  .models-capability-note {
    grid-template-columns: 1fr;
  }

  .models-capability-note,
  .models-viewer-toolbar,
  .models-browser-footer,
  .models-detail-grid div {
    flex-direction: column;
    align-items: flex-start;
  }

  .models-detail-grid dd {
    text-align: left;
  }
}

.layout-content:has(.specifications-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.specifications-page {
  --spec-panel-radius: var(--radius-panel);
  --spec-card-radius: calc(14px * var(--ui-panel-scale));
  --spec-control-height: calc(34px * var(--ui-control-scale));
  --spec-control-radius: calc(10px * var(--ui-control-scale));
  --spec-panel-padding: var(--panel-padding-sm);
  --spec-panel-padding-md: calc(14px * var(--ui-panel-scale));
  --spec-panel-gap: calc(10px * var(--ui-space-scale));
  --spec-kpi-min-height: calc(84px * var(--ui-panel-scale));
  --spec-explorer-width: var(--left-rail-width-lg);
  --spec-inspector-width: var(--inspector-width-sm);
  --spec-chip-height: calc(22px * var(--ui-control-scale));
  --spec-register-columns:
    calc(110px * var(--ui-panel-scale))
    minmax(calc(220px * var(--ui-panel-scale)), 1.8fr)
    calc(116px * var(--ui-panel-scale))
    calc(116px * var(--ui-panel-scale))
    calc(92px * var(--ui-panel-scale))
    calc(76px * var(--ui-panel-scale))
    calc(104px * var(--ui-panel-scale))
    calc(110px * var(--ui-panel-scale));
  --spec-panel: var(--pmis-surface-card);
  --spec-panel-alt: var(--entry-soft-surface);
  --spec-border: var(--pmis-border-subtle);
  --spec-border-strong: var(--pmis-border-strong);
  --spec-text: var(--pmis-text-primary);
  --spec-muted: var(--pmis-text-secondary);
  --spec-accent: var(--pmis-info);
  --spec-row-fill: var(--pmis-accent-soft);
  color: var(--spec-text);
}

.specifications-page .page-title-block {
  max-width: 980px;
}

.specifications-page .page-title-block p {
  max-width: 940px;
}

.specifications-page .page-kicker {
  color: var(--spec-accent);
}

.specs-header-band,
.specs-toolbar,
.specs-explorer-panel,
.specs-register-shell,
.specs-inspector-panel {
  border-radius: var(--spec-panel-radius);
  border: 1px solid var(--spec-border);
  background: var(--spec-panel);
  box-shadow: var(--surface-shadow);
}

.specs-header-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2);
  padding: var(--spec-panel-padding-md);
}

.specs-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--spec-panel-gap);
}

.specs-kpi-card {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
  min-height: var(--spec-kpi-min-height);
  padding: var(--spec-panel-padding-md) var(--panel-padding-md);
  border-radius: var(--spec-card-radius);
  border: 1px solid var(--spec-border);
  background: var(--entry-soft-surface);
}

.specs-kpi-card strong {
  font-size: 1.8rem;
  line-height: 1;
}

.specs-kpi-card span {
  color: var(--spec-muted);
  font-size: 0.82rem;
}

.specs-header-actions,
.specs-view-controls,
.specs-register-tabs,
.specs-selection-chips {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.specs-header-actions {
  justify-content: flex-end;
}

.specs-action-button,
.specs-mini-button,
.specs-mode-select,
.specs-filter-select,
.specs-icon-button,
.specs-tab-chip,
.specs-compare-button {
  min-height: var(--spec-control-height);
  border-radius: var(--spec-control-radius);
  border: 1px solid var(--spec-border);
  background: var(--entry-soft-surface);
  color: var(--spec-text);
  font: inherit;
}

.specs-action-button,
.specs-mini-button,
.specs-compare-button,
.specs-tab-chip {
  padding: 0 var(--control-padding-inline-sm);
}

.specs-mode-select,
.specs-filter-select {
  padding: 0 var(--control-padding-inline-sm);
}

.specs-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--spec-control-height);
  padding: 0;
}

.specs-action-button:hover,
.specs-mini-button:hover,
.specs-mode-select:hover,
.specs-filter-select:hover,
.specs-icon-button:hover,
.specs-tab-chip:hover,
.specs-explorer-item:hover,
.specs-register-row:hover,
.specs-compare-button:hover {
  border-color: var(--spec-border-strong);
}

.specs-action-button.is-emphasis,
.specs-tab-chip.is-active,
.specs-icon-button.is-active,
.specs-compare-button {
  border-color: var(--spec-border-strong);
  box-shadow: inset 0 0 0 1px var(--spec-border-strong);
}

.specs-toolbar {
  display: grid;
  grid-template-columns: minmax(calc(280px * var(--ui-panel-scale)), 1.6fr) repeat(4, minmax(calc(120px * var(--ui-panel-scale)), 0.8fr)) auto;
  gap: var(--spec-panel-gap);
  padding: var(--spec-panel-padding) var(--spec-panel-padding-md);
}

.specs-search-field {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-space-scale));
  min-height: var(--spec-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--radius-control);
  border: 1px solid var(--spec-border);
  background: var(--entry-soft-surface);
}

.specs-search-field input {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--spec-text);
}

.specs-search-field input::placeholder {
  color: var(--spec-muted);
}

.specs-workspace {
  display: grid;
  grid-template-columns: var(--spec-explorer-width) minmax(0, 1fr) var(--spec-inspector-width);
  gap: var(--space-2);
  align-items: start;
}

.specs-workspace.is-inspector-collapsed {
  grid-template-columns: var(--spec-explorer-width) minmax(0, 1fr);
}

.specs-center-panel {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.specs-panel-head {
  display: grid;
  gap: 6px;
}

.specs-panel-head h2,
.specs-panel-head p {
  margin: 0;
}

.specs-panel-head p,
.specs-explorer-group-label,
.specs-register-head span,
.specs-register-head-row,
.specs-detail-grid dt,
.specs-inspector-group-head span,
.specs-inspector-row span:last-child {
  color: var(--spec-muted);
}

.specs-explorer-panel,
.specs-inspector-panel {
  display: grid;
  gap: var(--space-2);
  padding: var(--spec-panel-padding-md);
}

.specs-explorer-nav,
.specs-explorer-group,
.specs-explorer-group-items,
.specs-inspector-group,
.specs-inspector-list {
  display: grid;
  gap: var(--space-1);
}

.specs-explorer-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.specs-explorer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  width: 100%;
  min-height: var(--spec-control-height);
  padding: 0 var(--control-padding-inline-sm);
  border-radius: var(--spec-control-radius);
  border: 1px solid transparent;
  background: transparent;
  color: var(--spec-text);
  text-align: left;
  font: inherit;
}

.specs-explorer-item strong {
  color: var(--spec-muted);
  font-size: 0.8rem;
}

.specs-explorer-item.is-active {
  border-color: var(--spec-border-strong);
  background: var(--spec-panel-alt);
}

.specs-register-shell,
.specs-inspector-panel {
  padding: var(--spec-panel-padding);
}

.specs-register-shell.is-secondary {
  padding-top: var(--spec-panel-padding);
}

.specs-register-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  padding-bottom: var(--space-1);
}

.specs-register-head strong,
.specs-inspector-group-head strong,
.specs-inspector-row-copy strong,
.specs-register-section strong,
.specs-panel-head h2 {
  color: var(--spec-text);
}

.specs-register-table {
  display: grid;
  gap: 0;
  border-radius: var(--spec-card-radius);
  border: 1px solid var(--spec-border);
  overflow: hidden;
  background: var(--spec-panel-alt);
}

.specs-register-head-row,
.specs-register-row {
  display: grid;
  grid-template-columns: var(--spec-register-columns);
  gap: calc(10px * var(--ui-space-scale));
  align-items: center;
}

.specs-register-head-row {
  padding: var(--spec-panel-padding) var(--spec-panel-padding-md);
  border-bottom: 1px solid var(--spec-border);
  font-size: 0.76rem;
  text-transform: none;
}

.specs-register-body {
  display: grid;
}

.specs-register-row {
  width: 100%;
  padding: var(--spec-panel-padding) var(--spec-panel-padding-md);
  border: 0;
  border-bottom: 1px solid var(--spec-border);
  background: transparent;
  color: var(--spec-text);
  text-align: left;
  font: inherit;
}

.specs-register-row:last-child {
  border-bottom: 0;
}

.specs-register-row.is-selected {
  background: var(--spec-row-fill);
  box-shadow: inset 3px 0 0 var(--spec-accent);
}

.specs-register-cell {
  min-width: 0;
}

.specs-register-section strong {
  display: block;
}

.specs-register-copy {
  display: block;
  color: var(--spec-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.specs-register-source {
  display: grid;
  gap: 6px;
}

.specs-register-status .pmis-status-pill,
.specs-register-source .pmis-status-pill {
  width: fit-content;
}

.specs-status-pill,
.specs-source-pill {
  display: inline-flex;
  align-items: center;
  min-height: var(--spec-chip-height);
  padding: 0 calc(8px * var(--ui-space-scale));
  border: 1px solid var(--spec-border);
  border-radius: 999px;
  background: var(--pmis-surface-card);
  color: var(--pmis-text-secondary);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.specs-status-pill[data-tone="success"],
.specs-source-pill[data-tone="success"] {
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
  color: var(--pmis-success);
}

.specs-status-pill[data-tone="warning"],
.specs-source-pill[data-tone="warning"] {
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, transparent);
  color: var(--pmis-warning);
}

.specs-status-pill[data-tone="info"],
.specs-source-pill[data-tone="info"] {
  border-color: color-mix(in srgb, var(--pmis-info) 34%, transparent);
  color: var(--pmis-info);
}

.specs-register-linked,
.specs-register-signals {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
  flex-wrap: wrap;
}

.specs-linked-pill,
.specs-signal-chip {
  display: inline-flex;
  align-items: center;
  min-height: var(--spec-chip-height);
  padding: 0 calc(8px * var(--ui-space-scale));
  border-radius: 999px;
  border: 1px solid var(--spec-border);
  background: var(--pmis-surface-card);
  color: var(--spec-text);
  font-size: 0.72rem;
  gap: calc(6px * var(--ui-space-scale));
}

.specs-signal-chip.is-accent {
  border-color: var(--spec-border-strong);
}

.specs-signal-chip.is-success {
  color: var(--success);
}

.specs-signal-chip.is-warning {
  color: var(--warning);
}

.specs-signal-chip.is-muted {
  color: var(--spec-muted);
}

.specs-inline-icon {
  display: inline-flex;
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  color: var(--spec-muted);
  flex: none;
}

.specs-inline-icon svg,
.specs-icon-button svg {
  width: 100%;
  height: 100%;
}

.specs-empty-state {
  display: grid;
  gap: 6px;
  padding: var(--panel-padding-lg) var(--spec-panel-padding-md);
  color: var(--spec-muted);
}

.specs-empty-state span {
  color: var(--spec-muted);
}

.specs-detail-grid {
  display: grid;
  gap: 0;
}

.specs-detail-grid .pmis-detail-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
  padding: var(--space-1) 0;
  border-bottom: 1px solid var(--spec-border);
}

.specs-detail-grid .pmis-detail-row:last-child,
.specs-inspector-row:last-child {
  border-bottom: 0;
}

.specs-detail-grid .pmis-detail-row-label {
  flex: 0 0 42%;
  font-size: 0.74rem;
  color: var(--spec-muted);
}

.specs-detail-grid .pmis-detail-row-value {
  flex: 1 1 auto;
  text-align: right;
  font-size: 0.78rem;
  word-break: break-word;
  color: var(--spec-text);
}

.specs-inspector-group {
  padding-top: var(--space-1);
  border-top: 1px solid var(--spec-border);
}

.specs-inspector-group-head,
.specs-inspector-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(10px * var(--ui-space-scale));
}

.specs-inspector-row {
  padding: var(--space-1) 0;
  border-bottom: 1px solid var(--spec-border);
}

.specs-inspector-row-copy {
  display: flex;
  align-items: center;
  gap: calc(6px * var(--ui-space-scale));
}

.specs-compare-button {
  width: 100%;
}

@media (max-width: 1400px) {
  .specifications-page {
    --spec-register-columns:
      calc(106px * var(--ui-panel-scale))
      minmax(calc(200px * var(--ui-panel-scale)), 1.6fr)
      calc(110px * var(--ui-panel-scale))
      calc(110px * var(--ui-panel-scale))
      calc(220px * var(--ui-panel-scale))
      calc(180px * var(--ui-panel-scale))
      calc(94px * var(--ui-panel-scale))
      calc(24px * var(--ui-panel-scale));
  }
}

@media (max-width: 1200px) {
  .specs-workspace,
  .specs-workspace.is-inspector-collapsed {
    grid-template-columns: 1fr;
  }

  .specs-toolbar {
    grid-template-columns: minmax(calc(240px * var(--ui-panel-scale)), 1fr) repeat(2, minmax(calc(120px * var(--ui-panel-scale)), 0.8fr)) auto;
  }
}

@media (max-width: 760px) {
  .specs-kpi-grid {
    grid-template-columns: 1fr;
  }

  .specs-header-band,
  .specs-toolbar {
    grid-template-columns: 1fr;
  }

  .specs-register-head,
  .specs-register-head-row,
  .specs-register-row,
  .specs-detail-grid div,
  .specs-inspector-group-head,
  .specs-inspector-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .specs-detail-grid dd {
    text-align: left;
  }
}

.specs-feedback {
  margin: 0 0 16px;
  padding: var(--spec-panel-padding) var(--spec-panel-padding-md);
  border: 1px solid var(--spec-border);
  border-radius: var(--radius-control);
  background: var(--entry-soft-surface);
  color: var(--spec-text);
}

.specs-feedback.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 35%, var(--spec-border));
}

.specs-feedback.is-error {
  border-color: color-mix(in srgb, var(--pmis-danger) 35%, var(--spec-border));
}

.specs-register-head-row,
.specs-register-row {
  grid-template-columns: var(--spec-register-columns);
}

.specs-register-section {
  display: grid;
  gap: 4px;
}

.specs-register-section small {
  color: var(--spec-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.specs-editor-shell,
.specs-viewer-shell {
  margin-top: var(--space-3);
}

.specs-part-editor-list {
  display: grid;
  gap: var(--spec-panel-gap);
}

.specs-shell-actions,
.specs-inline-form-actions,
.specs-link-row,
.specs-part-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spec-panel-gap);
}

.specs-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.specs-field {
  display: grid;
  gap: calc(6px * var(--ui-space-scale));
}

.specs-field span {
  color: var(--spec-muted);
  font-size: 0.82rem;
}

.specs-field-help {
  color: var(--spec-muted);
  font-size: 0.76rem;
  line-height: 1.45;
}

.specs-field-full {
  grid-column: 1 / -1;
}

.specs-field input,
.specs-field select,
.specs-textarea,
.specs-source-select {
  width: 100%;
  min-height: 38px;
  padding: 10px 12px;
  border: 1px solid var(--spec-border);
  border-radius: 12px;
  background: var(--pmis-surface-card);
  color: var(--spec-text);
  font: inherit;
}

.specs-textarea {
  min-height: 120px;
  resize: vertical;
}

.platform-rich-text-field {
  --platform-rich-text-min-height: 260px;
  display: grid;
  gap: 8px;
}

.platform-rich-text-editor .ck.ck-editor {
  width: 100%;
}

.platform-rich-text-editor .ck.ck-toolbar {
  border-radius: 12px 12px 0 0;
  border-color: var(--spec-border);
  background: color-mix(in srgb, var(--pmis-surface-card) 84%, var(--entry-soft-surface-strong) 16%);
  box-shadow: none;
}

.platform-rich-text-editor .ck.ck-editor__main > .ck-editor__editable {
  min-height: var(--platform-rich-text-min-height);
  max-height: none;
  padding: 18px 20px;
  border-radius: 0 0 12px 12px;
  border-color: var(--spec-border);
  background: var(--pmis-surface-card);
  color: var(--pmis-text-primary);
  box-shadow: none;
}

.platform-rich-text-editor .ck.ck-editor__main > .ck-editor__editable.ck-focused,
.platform-rich-text-editor .ck.ck-editor__main > .ck-editor__editable:focus {
  border-color: var(--spec-border-strong);
  box-shadow: inset 0 0 0 1px var(--spec-border-strong);
}

.platform-rich-text-editor .ck.ck-button:not(.ck-disabled):hover,
.platform-rich-text-editor .ck.ck-button.ck-on {
  background: var(--pmis-accent-soft);
}

.platform-rich-text-editor .ck-content {
  font-family: "Segoe UI", "Trebuchet MS", sans-serif;
  line-height: 1.7;
}

.platform-rich-text-editor .ck-content h2,
.platform-rich-text-editor .ck-content h3 {
  color: var(--pmis-text-primary);
  letter-spacing: 0.02em;
}

.platform-rich-text-editor .ck-content figure.table {
  margin: 1.2em 0;
}

.platform-rich-text-editor .ck-content table td,
.platform-rich-text-editor .ck-content table th {
  padding: 10px 12px;
}

body[data-theme="darkgreys"] .platform-rich-text-editor .ck.ck-toolbar,
body:not([data-theme="whites"]) .platform-rich-text-editor .ck.ck-toolbar {
  background: color-mix(in srgb, var(--pmis-surface-card) 88%, var(--entry-soft-surface-strong) 12%);
}

body[data-theme="darkgreys"] .platform-rich-text-editor .ck.ck-editor__main > .ck-editor__editable,
body:not([data-theme="whites"]) .platform-rich-text-editor .ck.ck-editor__main > .ck-editor__editable {
  background: var(--pmis-surface-card);
}

.specs-editor-shell,
.specs-viewer-shell {
  display: grid;
  gap: 14px;
}

.specs-linker-block,
.specs-part-editor {
  display: grid;
  gap: 12px;
}

.specs-format-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.specs-format-button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--spec-border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--spec-text);
  font: inherit;
}

.specs-format-button:hover {
  border-color: var(--spec-border-strong);
  background: var(--spec-row-fill);
}

.specs-part-card {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--spec-border);
  border-radius: 12px;
  background: var(--entry-soft-surface);
}

.specs-part-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.specs-part-card-head span {
  color: var(--spec-muted);
}

.specs-inspector-copy {
  margin: 0;
  color: var(--spec-text);
  line-height: 1.5;
}

.specs-inspector-source {
  display: grid;
  gap: 6px;
}

.specs-doc-sheet {
  display: grid;
  gap: 18px;
  padding: 28px 32px;
  border: 1px solid var(--spec-border);
  border-radius: 12px;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--pmis-surface-card) 92%, white 8%) 0%,
      color-mix(in srgb, var(--entry-soft-surface-strong) 72%, var(--pmis-surface-card) 28%) 100%
    );
  color: var(--pmis-text-primary);
  box-shadow: inset 0 1px 0 color-mix(in srgb, white 72%, transparent);
}

body[data-theme="darkgreys"] .specs-doc-sheet,
body:not([data-theme="whites"]) .specs-doc-sheet {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--pmis-surface-card) 94%, white 6%) 0%,
      color-mix(in srgb, var(--entry-soft-surface-strong) 76%, var(--pmis-surface-card) 24%) 100%
    );
}

.specs-doc-sheet.is-detailed {
  gap: 22px;
}

.specs-doc-header {
  display: grid;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.specs-doc-context,
.specs-doc-subhead {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
}

.specs-doc-section-label {
  font-size: 0.82rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pmis-text-tertiary);
}

.specs-doc-title {
  margin: 0;
  font-size: 1.7rem;
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--pmis-text-primary);
}

.specs-doc-summary {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid color-mix(in srgb, var(--pmis-info) 34%, transparent);
  background: color-mix(in srgb, var(--pmis-accent-soft) 72%, transparent);
  line-height: 1.65;
}

.specs-doc-source-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: color-mix(in srgb, var(--pmis-surface-card) 80%, var(--entry-soft-surface-strong) 20%);
}

.specs-doc-source-note.is-empty {
  background: var(--entry-soft-surface);
}

.specs-doc-source-note > div {
  display: grid;
  gap: 4px;
}

.specs-doc-source-note span {
  color: var(--pmis-text-secondary);
}

.specs-doc-part {
  display: grid;
  gap: 14px;
}

.specs-doc-part-heading {
  padding-top: 8px;
  font-size: 1rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pmis-text-primary);
  border-top: 1px solid var(--pmis-border-subtle);
}

.specs-doc-part-body {
  display: grid;
  gap: 10px;
}

.specs-doc-rich-content.ck-content {
  color: var(--pmis-text-primary);
  font-family: "Segoe UI", "Trebuchet MS", sans-serif;
  line-height: 1.72;
}

.specs-doc-rich-content.ck-content > :first-child {
  margin-top: 0;
}

.specs-doc-rich-content.ck-content > :last-child {
  margin-bottom: 0;
}

.specs-doc-rich-content.ck-content h2,
.specs-doc-rich-content.ck-content h3 {
  color: var(--pmis-text-primary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.specs-doc-rich-content.ck-content h2 {
  font-size: 0.95rem;
}

.specs-doc-rich-content.ck-content h3 {
  font-size: 0.84rem;
  color: var(--pmis-text-secondary);
}

.specs-doc-rich-content.ck-content p,
.specs-doc-rich-content.ck-content li,
.specs-doc-rich-content.ck-content blockquote {
  color: var(--pmis-text-primary);
}

.specs-doc-rich-content.ck-content ul,
.specs-doc-rich-content.ck-content ol {
  margin: 0;
  padding-left: 1.6rem;
}

.specs-doc-rich-content.ck-content li + li {
  margin-top: 0.35rem;
}

.specs-doc-rich-content.ck-content blockquote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid color-mix(in srgb, var(--pmis-info) 36%, transparent);
  background: color-mix(in srgb, var(--pmis-accent-soft) 70%, transparent);
}

.specs-doc-rich-content.ck-content figure.table {
  margin: 0;
}

.specs-doc-rich-content.ck-content table {
  width: 100%;
  border-collapse: collapse;
  background: color-mix(in srgb, var(--pmis-surface-card) 88%, white 12%);
}

.specs-doc-rich-content.ck-content th,
.specs-doc-rich-content.ck-content td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--pmis-border-subtle);
  text-align: left;
  vertical-align: top;
  color: var(--pmis-text-primary);
}

.specs-doc-rich-content.ck-content th {
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
  background: var(--entry-soft-surface);
}

.specs-doc-inline-heading {
  margin: 0;
  color: var(--pmis-text-primary);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.specs-doc-inline-heading.is-level-2 {
  font-size: 0.95rem;
}

.specs-doc-inline-heading.is-level-3 {
  font-size: 0.84rem;
  color: var(--pmis-text-secondary);
}

.specs-doc-paragraph {
  margin: 0;
  line-height: 1.75;
  color: var(--pmis-text-primary);
}

.specs-doc-note {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-left: 3px solid color-mix(in srgb, var(--pmis-info) 36%, transparent);
  background: color-mix(in srgb, var(--pmis-accent-soft) 70%, transparent);
}

.specs-doc-note p {
  margin: 0;
  line-height: 1.65;
  color: var(--pmis-text-primary);
}

.specs-doc-clause {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.specs-doc-clause.is-level-0 {
  grid-template-columns: 64px minmax(0, 1fr);
}

.specs-doc-clause.is-level-1 {
  padding-left: 10px;
}

.specs-doc-clause.is-level-2,
.specs-doc-clause.is-level-3,
.specs-doc-clause.is-level-4 {
  padding-left: 26px;
}

.specs-doc-clause-marker {
  font-weight: 700;
  color: var(--pmis-text-primary);
}

.specs-doc-clause-copy {
  display: grid;
  gap: 8px;
}

.specs-doc-clause-copy p {
  margin: 0;
  line-height: 1.72;
  color: var(--pmis-text-primary);
}

.specs-doc-table-wrap {
  overflow: auto;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
}

.specs-doc-table {
  width: 100%;
  border-collapse: collapse;
  background: color-mix(in srgb, var(--pmis-surface-card) 88%, white 12%);
}

.specs-doc-table th,
.specs-doc-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--pmis-border-subtle);
  text-align: left;
  vertical-align: top;
  color: var(--pmis-text-primary);
}

.specs-doc-table th {
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pmis-text-secondary);
  background: var(--entry-soft-surface);
}

.specs-doc-end {
  padding-top: 12px;
  border-top: 1px solid var(--pmis-border-subtle);
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pmis-text-tertiary);
}

@media (max-width: 1400px) {
  .specs-register-head-row,
  .specs-register-row {
    grid-template-columns: 102px minmax(200px, 1.6fr) 104px 104px 88px 72px 96px 96px;
  }
}

@media (max-width: 760px) {
  .specs-form-grid {
    grid-template-columns: 1fr;
  }

  .specs-doc-sheet {
    padding: 20px 18px;
  }

  .specs-doc-source-note,
  .specs-doc-context,
  .specs-doc-subhead {
    display: grid;
  }

  .specs-doc-clause,
  .specs-doc-clause.is-level-0,
  .specs-doc-clause.is-level-1,
  .specs-doc-clause.is-level-2,
  .specs-doc-clause.is-level-3,
  .specs-doc-clause.is-level-4 {
    grid-template-columns: 1fr;
    padding-left: 0;
  }
}

.layout-content:has(.photos-media-page) {
  width: 100%;
  max-width: none;
  margin: 0;
}

.photos-media-page {
  --photo-panel: var(--pmis-surface-card);
  --photo-panel-alt: var(--pmis-surface-panel);
  --photo-border: var(--pmis-border-subtle);
  --photo-border-strong: var(--pmis-border-strong);
  --photo-text: var(--pmis-text-primary);
  --photo-muted: var(--pmis-text-secondary);
  --photo-accent: var(--pmis-info);
  --photo-shadow: var(--surface-shadow);
  color: var(--photo-text);
}

.photos-media-page .page-title-block {
  max-width: 980px;
}

.photos-media-page .page-title-block p {
  max-width: 920px;
}

.photos-media-page .page-kicker {
  color: var(--photo-accent);
}

.photos-header-band,
.photos-toolbar,
.photos-explorer-panel,
.photos-primary-shell,
.photos-plan-mode-shell,
.photos-inspector-panel {
  border-radius: 18px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  box-shadow: var(--photo-shadow);
}

.photos-header-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 14px;
}

.photos-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.photos-kpi-card {
  display: grid;
  gap: 6px;
  min-height: 82px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
}

.photos-kpi-card strong {
  font-size: 1.72rem;
  line-height: 1;
}

.photos-kpi-card span {
  color: var(--photo-muted);
  font-size: 0.8rem;
}

.photos-header-actions,
.photos-view-controls,
.photos-plan-tools,
.photos-mode-switch,
.photos-inspector-actions,
.photos-selection-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.photos-header-actions {
  justify-content: flex-end;
}

.photos-action-button,
.photos-mini-button,
.photos-filter-select,
.photos-icon-button,
.photos-mode-chip {
  min-height: 34px;
  border-radius: 10px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  font: inherit;
}

.photos-action-button,
.photos-mini-button,
.photos-mode-chip {
  padding: 0 12px;
}

.photos-mode-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.photos-filter-select {
  width: 100%;
  padding: 0 12px;
}

.photos-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  padding: 0;
}

.photos-action-button:hover,
.photos-mini-button:hover,
.photos-filter-select:hover,
.photos-icon-button:hover,
.photos-mode-chip:hover,
.photos-explorer-item:hover,
.photos-gallery-card:hover,
.photos-level-item:hover,
.photos-plan-pin:hover,
.photos-nearby-card:hover {
  border-color: var(--photo-border-strong);
}

.photos-mode-chip.is-active,
.photos-action-button.is-emphasis,
.photos-plan-pin.is-selected {
  border-color: var(--photo-border-strong);
  box-shadow: inset 0 0 0 1px var(--photo-border-strong);
}

.photos-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1.45fr) repeat(7, minmax(0, 0.68fr));
  gap: 10px;
  padding: 12px 14px;
}

.photos-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
}

.photos-search-field input {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--photo-text);
}

.photos-search-field input::placeholder {
  color: var(--photo-muted);
}

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

.photos-center-panel {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.photos-panel-head {
  display: grid;
  gap: 6px;
}

.photos-panel-head h2,
.photos-panel-head p {
  margin: 0;
}

.photos-panel-head p,
.photos-explorer-group-label,
.photos-section-head-copy span,
.photos-card-meta,
.photos-plan-shell .photos-subhead span,
.photos-gallery-shell .photos-subhead span,
.photos-detail-grid dt,
.photos-inspector-group-head span,
.photos-inspector-row span:last-child,
.photos-nearby-card span {
  color: var(--photo-muted);
}

.photos-explorer-panel,
.photos-inspector-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.photos-explorer-nav,
.photos-explorer-group,
.photos-explorer-group-items,
.photos-inspector-group,
.photos-inspector-list {
  display: grid;
  gap: 8px;
}

.photos-explorer-group-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.photos-explorer-item,
.photos-level-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-explorer-item strong,
.photos-level-item strong {
  color: var(--photo-muted);
  font-size: 0.8rem;
}

.photos-explorer-item.is-active,
.photos-level-item.is-active {
  color: var(--photo-focus-accent);
  border-color: var(--photo-focus-border);
  background: linear-gradient(180deg, var(--photo-focus-wash) 0%, var(--photo-panel-alt) 100%);
  box-shadow: var(--photo-focus-shadow);
}

.photos-primary-shell,
.photos-plan-mode-shell {
  padding: 12px;
}

.photos-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
}

.photos-section-head-copy {
  display: grid;
  gap: 3px;
}

.photos-section-head-copy strong,
.photos-subhead strong,
.photos-card-head strong,
.photos-inspector-row-copy strong,
.photos-inspector-group-head strong,
.photos-nearby-card strong {
  color: var(--photo-text);
}

.photos-primary-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 12px;
  align-items: stretch;
}

.photos-gallery-shell,
.photos-plan-shell {
  display: grid;
  gap: 10px;
  min-height: 100%;
}

.photos-plan-shell {
  grid-template-rows: auto 1fr;
}

.photos-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

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

.photos-gallery-card {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-gallery-grid.is-wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.photos-card-hit {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
}

.photos-card-actions,
.photos-empty-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.photos-action-button:disabled,
.photos-mini-button:disabled,
.photos-mode-chip:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.photos-action-button.is-danger,
.photos-mini-button.is-danger {
  border-color: color-mix(in srgb, var(--pmis-danger) 42%, transparent);
  color: var(--pmis-danger);
}

.photos-gallery-card.is-selected {
  border-color: var(--photo-focus-border);
  background: linear-gradient(180deg, var(--photo-focus-wash) 0%, var(--photo-panel-alt) 100%);
  box-shadow: var(--photo-focus-shadow);
  transform: translateY(-1px);
}

.photos-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.photos-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.76rem;
}

.photos-card-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.photos-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  color: var(--photo-text);
  font-size: 0.72rem;
}

.photos-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--photo-border);
  background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);
}

.photos-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.photos-thumb-placeholder {
  display: grid;
  place-content: center;
  gap: 6px;
  height: 100%;
  padding: 12px;
  text-align: center;
}

.photos-thumb-placeholder strong {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.photos-thumb-placeholder span {
  color: var(--photo-muted);
  font-size: 0.74rem;
  overflow-wrap: anywhere;
}

.photos-thumb.is-small {
  aspect-ratio: 3 / 2;
}

.photos-thumb-glow {
  position: absolute;
  inset: 0;
  opacity: 0.45;
}

.photos-thumb[data-variant="corridor"] .photos-thumb-glow,
.photos-thumb[data-variant="corridor-alt"] .photos-thumb-glow {
  background: linear-gradient(180deg, var(--panel-2) 0%, transparent 35%);
}

.photos-thumb[data-variant="plantroom"] .photos-thumb-glow,
.photos-thumb[data-variant="service"] .photos-thumb-glow {
  background: linear-gradient(135deg, var(--accent) 0%, transparent 55%);
}

.photos-thumb[data-variant="podium"] .photos-thumb-glow,
.photos-thumb[data-variant="suite"] .photos-thumb-glow,
.photos-thumb[data-variant="unfinished"] .photos-thumb-glow,
.photos-thumb[data-variant="site"] .photos-thumb-glow {
  background: linear-gradient(135deg, var(--success) 0%, transparent 60%);
}

.photos-thumb-frame {
  position: absolute;
  inset: 0;
}

.photos-thumb-structure {
  position: absolute;
  background: var(--panel);
  border: 1px solid var(--photo-border);
  opacity: 0.82;
}

.photos-thumb[data-variant="corridor"] .photos-thumb-structure.is-a,
.photos-thumb[data-variant="corridor-alt"] .photos-thumb-structure.is-a {
  inset: 12% 8% 16% 12%;
}

.photos-thumb[data-variant="corridor"] .photos-thumb-structure.is-b,
.photos-thumb[data-variant="corridor-alt"] .photos-thumb-structure.is-b {
  inset: 18% 22% 22% 48%;
}

.photos-thumb[data-variant="corridor"] .photos-thumb-structure.is-c,
.photos-thumb[data-variant="corridor-alt"] .photos-thumb-structure.is-c {
  inset: auto 8% 12% 8%;
  height: 14%;
  background: var(--panel-2);
}

.photos-thumb[data-variant="plantroom"] .photos-thumb-structure.is-a,
.photos-thumb[data-variant="service"] .photos-thumb-structure.is-a,
.photos-thumb[data-variant="unfinished"] .photos-thumb-structure.is-a,
.photos-thumb[data-variant="podium"] .photos-thumb-structure.is-a,
.photos-thumb[data-variant="suite"] .photos-thumb-structure.is-a {
  inset: 16% 10% 18% 14%;
}

.photos-thumb[data-variant="plantroom"] .photos-thumb-structure.is-b,
.photos-thumb[data-variant="service"] .photos-thumb-structure.is-b,
.photos-thumb[data-variant="unfinished"] .photos-thumb-structure.is-b,
.photos-thumb[data-variant="podium"] .photos-thumb-structure.is-b,
.photos-thumb[data-variant="suite"] .photos-thumb-structure.is-b {
  inset: 24% 18% 20% 54%;
}

.photos-thumb[data-variant="plantroom"] .photos-thumb-structure.is-c,
.photos-thumb[data-variant="service"] .photos-thumb-structure.is-c,
.photos-thumb[data-variant="unfinished"] .photos-thumb-structure.is-c,
.photos-thumb[data-variant="podium"] .photos-thumb-structure.is-c,
.photos-thumb[data-variant="suite"] .photos-thumb-structure.is-c {
  inset: auto 10% 12% 12%;
  height: 12%;
  background: var(--panel-2);
}

.photos-thumb[data-variant="site"] .photos-thumb-structure.is-a {
  inset: 18% 20% 28% 12%;
  transform: skewY(-9deg);
}

.photos-thumb[data-variant="site"] .photos-thumb-structure.is-b {
  inset: 28% 8% 22% 52%;
  transform: skewY(-8deg);
}

.photos-thumb[data-variant="site"] .photos-thumb-structure.is-c {
  inset: auto 8% 10% 14%;
  height: 14%;
  background: var(--panel-2);
}

.photos-plan-canvas {
  position: relative;
  min-height: 322px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  overflow: hidden;
  background: var(--photo-panel-alt);
}

.photos-mode-panel {
  display: grid;
  gap: 12px;
}

.photos-mode-panel.is-plan-board {
  gap: 0;
}

.photos-plan-stage {
  min-width: 0;
}

.photos-plan-instruction {
  margin: 0;
  color: var(--photo-muted);
  font-size: 0.8rem;
  line-height: 1.55;
}

.photos-plan-level-explorer {
  display: grid;
  align-content: start;
  gap: 8px;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--photo-border);
}

.photos-plan-level-explorer p {
  margin: 0;
  color: var(--photo-muted);
  font-size: 0.78rem;
}

.photos-plan-level-list,
.photos-plan-level-group,
.photos-plan-drawing-list {
  display: grid;
  gap: 8px;
}

.photos-plan-level-group {
  padding: 8px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
}

.photos-plan-level-group.is-active {
  border-color: var(--photo-border-strong);
  box-shadow: inset 0 0 0 1px var(--photo-border-strong);
}

.photos-plan-level-head,
.photos-plan-drawing-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.photos-plan-level-head span,
.photos-plan-drawing-item span,
.photos-plan-drawing-empty {
  color: var(--photo-muted);
  font-size: 0.76rem;
}

.photos-plan-drawing-item {
  width: 100%;
  min-height: 42px;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-plan-drawing-item strong,
.photos-plan-drawing-item span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.photos-plan-drawing-item span {
  max-width: 116px;
}

.photos-plan-drawing-item.is-selected,
.photos-plan-drawing-item:hover {
  border-color: var(--photo-border-strong);
  background: var(--photo-panel-alt);
}

.photos-plan-stage {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
}

.photos-plan-base-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--photo-panel);
}

.photos-plan-canvas.is-large-preview {
  min-height: clamp(520px, 62vh, 760px);
  border-radius: 8px;
}

.photos-plan-canvas.is-large-preview.has-preview .photos-plan-base-image {
  object-fit: cover;
  object-position: center center;
}

.photos-plan-canvas.has-pdf-viewer {
  display: grid;
  overflow: hidden;
  background: var(--photo-panel);
}

.photos-pdf-surface {
  width: 100%;
  height: 100%;
  min-height: clamp(520px, 62vh, 760px);
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}

.photos-pdf-surface .cde-pdf-layout {
  min-height: 0;
}

.photos-pdf-surface .cde-pdf-stage {
  min-height: 0;
}

.photos-plan-pin-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
}

.photos-plan-pin-layer.is-pdf-layer {
  inset: auto;
}

.photos-plan-pin-layer .photos-plan-pin {
  pointer-events: auto;
}

.photos-plan-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 20px;
  text-align: center;
  background-image:
    repeating-linear-gradient(90deg, var(--border) 0, var(--border) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(0deg, var(--border) 0, var(--border) 1px, transparent 1px, transparent 36px);
  background-color: var(--photo-panel-alt);
}

.photos-plan-placeholder span,
.photos-plan-empty-note {
  color: var(--photo-muted);
}

.photos-plan-empty-note {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  max-width: calc(100% - 28px);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  text-align: center;
  font-size: 0.78rem;
}

.photos-plan-canvas.is-compact {
  min-height: 100%;
  height: 100%;
  align-self: stretch;
}

.photos-plan-grid {
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, var(--border) 0, var(--border) 1px, transparent 1px, transparent 42px),
    repeating-linear-gradient(0deg, var(--border) 0, var(--border) 1px, transparent 1px, transparent 42px);
  opacity: 0.26;
}

.photos-plan-core,
.photos-plan-room {
  position: absolute;
  border: 1px solid var(--photo-border);
  background: var(--panel);
}

.photos-plan-core {
  inset: 34% 28% 24% 22%;
}

.photos-plan-room.is-a {
  inset: 12% 64% 50% 12%;
}

.photos-plan-room.is-b {
  inset: 14% 34% 54% 46%;
}

.photos-plan-room.is-c {
  inset: 46% 60% 18% 18%;
}

.photos-plan-room.is-d {
  inset: 42% 26% 22% 54%;
}

.photos-plan-room.is-e {
  inset: 18% 10% 42% 74%;
}

.photos-plan-pin {
  position: absolute;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border-radius: 999px;
  border: 2px solid var(--photo-panel);
  background: var(--photo-accent);
  color: var(--bg);
  font: inherit;
  font-size: 0.66rem;
  font-weight: 700;
  box-shadow: 0 0 0 2px var(--photo-panel);
  z-index: 3;
}

.photos-plan-pin.is-evidence {
  background: var(--photo-accent);
  color: var(--bg);
}

.photos-plan-pin.is-draft {
  border-style: dashed;
  background: var(--warning);
  color: var(--text);
}

.photos-plan-pin.is-selected {
  border-color: var(--photo-border-strong);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--photo-accent) 28%, transparent), 0 2px 10px rgba(12, 18, 30, 0.18);
}

.photos-plan-pin.is-issue {
  background: var(--warning);
}

.photos-plan-pin.is-inspection {
  background: var(--success);
}

.photos-plan-pin.is-asset {
  background: var(--accent);
  color: var(--text);
}

.photos-plan-pin.is-review {
  background: var(--danger);
}

.photos-plan-pin .photos-plan-pin-core,
.photos-plan-pin .photos-plan-pin-count {
  display: grid;
  place-items: center;
}

.photos-plan-pin .photos-plan-pin-count {
  min-width: 18px;
  height: 18px;
  line-height: 1;
}

.photos-plan-pin .photos-plan-pin-badges {
  position: absolute;
  top: -8px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 88px;
  pointer-events: none;
}

.photos-plan-pin .photos-plan-pin-badges em {
  display: inline-flex;
  align-items: center;
  min-height: 14px;
  padding: 0 4px;
  border-radius: 999px;
  border: 1px solid var(--photo-panel);
  background: var(--panel-2);
  color: var(--text);
  font-size: 0.52rem;
  font-style: normal;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(12, 18, 30, 0.18);
}

.photos-plan-pin .photos-plan-pin-label {
  display: none;
}

.photos-plan-pin.is-selected .photos-plan-pin-label {
  display: inline-flex;
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 54px;
  justify-content: center;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  color: var(--photo-text);
  white-space: nowrap;
  box-shadow: var(--photo-shadow);
}

.photos-plan-canvas.is-placement-mode,
.photos-plan-canvas.is-placement-mode .cde-pdf-page-shell,
.photos-plan-canvas.is-placement-mode .photos-plan-base-image,
.photos-plan-canvas.is-placement-mode .photos-plan-placeholder {
  cursor: crosshair;
}

.photos-plan-placement-hint {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 9;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 24px);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--photo-border-strong);
  background: var(--photo-panel);
  color: var(--photo-text);
  box-shadow: var(--photo-shadow);
}

.photos-plan-placement-hint span {
  color: var(--photo-muted);
  font-size: 0.76rem;
}

.photos-pin-composer {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 10;
  width: min(420px, calc(100% - 24px));
  max-height: calc(100% - 24px);
  overflow: auto;
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid var(--photo-border-strong);
  background: var(--photo-panel);
  color: var(--photo-text);
  box-shadow: var(--photo-shadow);
}

.photos-modal-form {
  display: grid;
  gap: 12px;
}

.photos-form-section {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
}

.photos-form-section-head {
  display: grid;
  gap: 4px;
}

.photos-form-section-head strong {
  font-size: 0.8rem;
}

.photos-form-section-head p,
.photos-form-support-note {
  margin: 0;
  color: var(--photo-muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

.photos-form-section .photos-composer-section {
  padding-top: 0;
  border-top: 0;
}

.photos-pin-composer header,
.photos-pin-composer footer,
.photos-composer-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.photos-pin-composer header span,
.photos-composer-section-head span,
.photos-workflow-intent small {
  color: var(--photo-muted);
  font-size: 0.72rem;
}

.photos-pin-composer header button {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
}

.photos-composer-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--photo-border);
}

.photos-composer-section-head,
.photos-workflow-intent-grid {
  grid-column: 1 / -1;
}

.photos-composer-section label,
.photos-advanced-coordinates label {
  display: grid;
  gap: 5px;
  color: var(--photo-muted);
  font-size: 0.76rem;
}

.photos-composer-section input,
.photos-composer-section select,
.photos-composer-section textarea,
.photos-advanced-coordinates input {
  width: 100%;
  min-height: 34px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  padding: 0 9px;
  font: inherit;
}

.photos-composer-section textarea {
  padding-block: 8px;
}

.photos-workflow-intent-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.photos-workflow-intent {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 7px 8px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
}

.photos-workflow-intent span {
  display: grid;
  gap: 2px;
}

.photos-advanced-coordinates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--photo-border);
}

.photos-advanced-coordinates summary {
  grid-column: 1 / -1;
  cursor: pointer;
  color: var(--photo-muted);
  font-size: 0.76rem;
}

.photos-anchor-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  background: var(--pmis-surface-card);
}

.photos-anchor-panel.is-draft {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pmis-warning) 10%, transparent) 0%, transparent 52%),
    var(--pmis-surface-card);
}

.photos-empty-explainer {
  padding: 12px;
  border-radius: 10px;
  border: 1px dashed var(--photo-border);
  background: var(--entry-soft-surface);
  color: var(--photo-muted);
  font-size: 0.79rem;
  line-height: 1.55;
}

.photos-anchor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.photos-form-full {
  grid-column: 1 / -1;
}

.photos-plan-minimap {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 78px;
  aspect-ratio: 1;
  border-radius: 10px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  opacity: 0.92;
}

.photos-plan-mode-layout {
  display: grid;
  grid-template-columns: 188px minmax(0, 1fr);
  gap: 12px;
}

.photos-level-list {
  display: grid;
  gap: 8px;
}

.photos-plan-mode-canvas .photos-plan-canvas {
  min-height: 360px;
}

.photos-detail-grid {
  display: grid;
  gap: 0;
  margin: 0;
}

.photos-detail-grid div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--photo-border);
}

.photos-empty-state {
  display: grid;
  gap: 6px;
  min-height: 180px;
  place-content: center;
  padding: 18px;
  border-radius: 14px;
  border: 1px dashed var(--photo-border);
  background: var(--photo-panel-alt);
  text-align: center;
}

.photos-empty-state span {
  color: var(--photo-muted);
}

.photos-detail-grid div:last-child,
.photos-inspector-row:last-child {
  border-bottom: 0;
}

.photos-detail-grid dt,
.photos-detail-grid dd {
  margin: 0;
}

.photos-detail-grid dt {
  flex: 0 0 42%;
  color: var(--photo-muted);
  font-size: 0.74rem;
}

.photos-detail-grid dd {
  flex: 1 1 auto;
  text-align: right;
  font-size: 0.78rem;
  word-break: break-word;
}

.photos-inspector-group {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--photo-border);
}

.photos-inspector-group-head,
.photos-inspector-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.photos-inspector-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--photo-border);
}

.photos-inspector-row-copy {
  display: flex;
  align-items: center;
  gap: 6px;
}

.photos-inline-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
  color: var(--photo-muted);
  flex: none;
}

.photos-inline-icon svg,
.photos-icon-button svg,
.photos-mode-chip svg {
  width: 100%;
  height: 100%;
}

.photos-nearby-shell {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--photo-border);
}

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

.photos-nearby-card {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-nearby-card strong {
  font-size: 0.74rem;
}

.photos-rooms-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.photos-room-tree,
.photos-room-detail,
.photos-timeline,
.photos-inspector-media-list {
  display: grid;
  gap: 8px;
}

.photos-room-row,
.photos-timeline-item,
.photos-media-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-room-row {
  padding-left: calc(12px + var(--depth, 0) * 16px);
}

.photos-room-row span,
.photos-timeline-item,
.photos-media-row span {
  display: grid;
  gap: 3px;
}

.photos-room-row small,
.photos-timeline-item span,
.photos-media-row small,
.photos-room-row em {
  color: var(--photo-muted);
  font-size: 0.76rem;
  font-style: normal;
}

.photos-room-row.is-selected,
.photos-timeline-item.is-selected,
.photos-media-row.is-selected {
  border-color: var(--photo-border-strong);
  box-shadow: inset 0 0 0 1px var(--photo-border-strong);
}

.photos-timeline-group {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 12px;
}

.photos-timeline-date {
  color: var(--photo-muted);
  font-size: 0.82rem;
  padding-top: 10px;
}

.photos-timeline-items {
  display: grid;
  gap: 8px;
}

.photos-inspector-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.photos-inspector-tabs button {
  min-height: 32px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  font: inherit;
  font-size: 0.78rem;
}

.photos-inspector-tabs button.is-active {
  border-color: var(--photo-border-strong);
  box-shadow: inset 0 0 0 1px var(--photo-border-strong);
}

.photos-media-row {
  justify-content: flex-start;
}

.photos-media-row .photos-thumb {
  width: 72px;
  flex: none;
}

.photos-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(12, 18, 30, 0.42);
}

.photos-modal {
  width: min(680px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel);
  box-shadow: var(--photo-shadow);
}

.photos-modal header,
.photos-modal footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.photos-modal header button {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
}

.photos-modal form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.photos-modal label {
  display: grid;
  gap: 6px;
  color: var(--photo-muted);
  font-size: 0.78rem;
}

.photos-modal input,
.photos-modal select,
.photos-modal textarea {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  padding: 0 10px;
  font: inherit;
}

.photos-modal textarea {
  padding-block: 8px;
}

.photos-modal footer,
.photos-modal .photos-form-note {
  grid-column: 1 / -1;
}

.photos-form-note {
  color: var(--photo-muted);
  margin: 0;
}

.photos-empty-state.is-large {
  min-height: 420px;
}

.photos-empty-state.is-error {
  border-color: rgba(204, 80, 80, 0.45);
}

@media (max-width: 1480px) {
  .photos-workspace {
    grid-template-columns: 236px minmax(0, 1fr) 300px;
  }

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

  .photos-gallery-grid.is-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1200px) {
  .photos-workspace {
    grid-template-columns: 1fr;
  }

  .photos-toolbar {
    grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(0, 0.8fr)) auto;
  }

  .photos-plan-mode-layout {
    grid-template-columns: 1fr;
  }

  .photos-rooms-layout,
  .photos-timeline-group {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .photos-kpi-grid,
  .photos-gallery-grid,
  .photos-nearby-grid {
    grid-template-columns: 1fr;
  }

  .photos-header-band,
  .photos-toolbar,
  .photos-modal form {
    grid-template-columns: 1fr;
  }

  .photos-section-head,
  .photos-primary-grid,
  .photos-detail-grid div,
  .photos-inspector-group-head,
  .photos-inspector-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .photos-detail-grid dd {
    text-align: left;
  }
}

.photos-media-page {
  --photo-review: var(--pmis-info);
  --photo-publish: var(--pmis-success);
  --photo-draft: var(--pmis-text-tertiary);
  --photo-needs-review: var(--pmis-warning);
  --photo-milestone: var(--pmis-text-secondary);
  --photo-focus-accent: var(--pmis-warning);
  --photo-focus-wash: var(--pmis-accent-soft);
  --photo-focus-border: color-mix(in srgb, var(--pmis-warning) 34%, var(--pmis-border-strong));
  --photo-focus-shadow:
    0 0 0 1px color-mix(in srgb, var(--pmis-warning) 14%, transparent),
    0 0 16px color-mix(in srgb, var(--pmis-warning) 18%, transparent);
  --photo-soft-blue: color-mix(in srgb, var(--pmis-info) 14%, transparent);
  --photo-soft-green: color-mix(in srgb, var(--pmis-success) 16%, transparent);
  --photo-soft-gray: color-mix(in srgb, var(--pmis-text-tertiary) 16%, transparent);
  --photo-soft-orange: color-mix(in srgb, var(--pmis-warning) 16%, transparent);
  --photos-timeline-header-height: 48px;
  --photos-timeline-row-height: 44px;
  --photos-timeline-columns: 28px minmax(188px, 2.15fr) minmax(110px, 1.2fr) 76px minmax(102px, 1.05fr) 116px 58px 58px;
}

.photos-media-page .page-title-block {
  max-width: 1120px;
}

.photos-media-page .page-title-block p {
  max-width: 780px;
}

.photos-media-page .page-kicker {
  color: var(--muted);
}

.photos-media-page .photos-header-band,
.photos-media-page .photos-toolbar,
.photos-media-page .photos-explorer-panel,
.photos-media-page .photos-primary-shell,
.photos-media-page .photos-inspector-panel {
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.04);
}

.photos-media-page .photos-header-band {
  gap: 12px;
  padding: 12px;
  justify-content: flex-end;
}

.photos-media-page .photos-feedback-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  background: var(--pmis-surface-card);
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.04);
}

.photos-media-page .photos-feedback-banner.is-error {
  border-color: color-mix(in srgb, var(--pmis-danger) 36%, transparent);
  background: color-mix(in srgb, var(--pmis-danger) 8%, var(--pmis-surface-card));
}

.photos-media-page .photos-feedback-banner.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 28%, transparent);
  background: color-mix(in srgb, var(--pmis-success) 7%, var(--pmis-surface-card));
}

.photos-media-page .photos-feedback-banner strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.82rem;
}

.photos-media-page .photos-feedback-banner p {
  margin: 0;
  color: var(--photo-muted);
  font-size: 0.79rem;
  line-height: 1.5;
}

.photos-media-page .photos-feedback-banner button {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  font: inherit;
}

.photos-media-page .photos-context-band,
.photos-media-page .photos-guidance-band {
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.04);
}

.photos-media-page .photos-context-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 12px;
}

.photos-media-page .photos-context-card,
.photos-media-page .photos-guidance-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--photo-border);
  background: var(--pmis-surface-card);
}

.photos-media-page .photos-context-card.is-primary {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pmis-info) 8%, transparent) 0%, transparent 48%),
    var(--pmis-surface-card);
}

.photos-media-page .photos-context-card.is-stats {
  align-content: start;
}

.photos-media-page .photos-context-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.photos-media-page .photos-context-card h2,
.photos-media-page .photos-guidance-intro h2 {
  margin: 0;
  font-size: 1.18rem;
}

.photos-media-page .photos-context-card p,
.photos-media-page .photos-guidance-intro p {
  margin: 0;
  color: var(--photo-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.photos-media-page .photos-context-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.photos-media-page .photos-context-meta > div {
  display: grid;
  gap: 4px;
}

.photos-media-page .photos-context-label {
  color: var(--photo-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.photos-media-page .photos-guidance-band {
  display: grid;
  gap: 12px;
}

.photos-media-page .photos-guidance-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.photos-media-page .photos-guidance-card strong {
  font-size: 0.83rem;
}

.photos-media-page .photos-guidance-card span {
  color: var(--photo-muted);
  font-size: 0.77rem;
  line-height: 1.5;
}

.photos-media-page .photos-guidance-notes {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed var(--photo-border);
  background: var(--entry-soft-surface);
}

.photos-media-page .photos-guidance-notes p {
  margin: 0;
  color: var(--photo-text);
  font-size: 0.8rem;
  line-height: 1.55;
}

.photos-media-page .photos-kpi-grid {
  gap: 8px;
}

.photos-media-page .photos-kpi-card {
  min-height: 72px;
  padding: 12px 14px;
  border-radius: 12px;
}

.photos-media-page .photos-kpi-card strong {
  font-size: 1.55rem;
}

.photos-media-page .photos-kpi-card span {
  font-size: 0.76rem;
}

.photos-media-page .photos-header-actions {
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.photos-media-page .photos-action-button,
.photos-media-page .photos-mini-button,
.photos-media-page .photos-filter-select,
.photos-media-page .photos-icon-button {
  min-height: 32px;
  border-radius: 9px;
  font-size: 0.78rem;
}

.photos-media-page .photos-action-button,
.photos-media-page .photos-mini-button {
  gap: 6px;
  padding: 0 11px;
}

.photos-media-page .photos-mini-button.is-quiet,
.photos-media-page .photos-action-button.is-quiet {
  background: var(--surface-card-bg);
}

.photos-media-page .photos-filter-select {
  padding: 0 10px;
}

.photos-media-page .photos-icon-button {
  width: 32px;
  font-size: 1rem;
}

.photos-media-page .photos-toolbar {
  grid-template-columns: minmax(320px, 1.7fr) repeat(7, minmax(0, 0.8fr));
  gap: 8px;
  padding: 10px 12px;
}

.photos-media-page .photos-search-field {
  min-height: 34px;
  gap: 8px;
  padding: 0 10px;
  border-radius: 10px;
}

.photos-media-page .photos-search-field input {
  font-size: 0.8rem;
}

.photos-media-page .photos-workspace {
  grid-template-columns: 220px minmax(0, 1fr) 300px;
  gap: 12px;
  align-items: stretch;
}

.photos-media-page .photos-explorer-panel,
.photos-media-page .photos-inspector-panel {
  padding: 12px;
}

.photos-media-page .photos-inspector-panel {
  align-content: start;
}

.photos-media-page .photos-inspector-preview {
  min-width: 0;
}

.photos-media-page .photos-inspector-preview .photos-thumb {
  aspect-ratio: 1 / 1;
  max-height: 220px;
}

.photos-media-page .photos-explorer-panel,
.photos-media-page .photos-explorer-nav,
.photos-media-page .photos-explorer-group,
.photos-media-page .photos-explorer-group-items {
  align-content: start;
}

.photos-media-page .photos-panel-head.is-explorer {
  gap: 0;
}

.photos-media-page .photos-panel-label {
  color: var(--photo-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.photos-media-page .photos-explorer-nav {
  gap: 10px;
}

.photos-media-page .photos-explorer-group {
  gap: 6px;
}

.photos-media-page .photos-explorer-group-label {
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}

.photos-media-page .photos-explorer-item {
  min-height: 30px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 0.8rem;
}

.photos-media-page .photos-explorer-item strong {
  font-size: 0.74rem;
}

.photos-media-page .photos-primary-shell.is-timeline {
  padding: 0;
  overflow: hidden;
}

.photos-media-page .photos-primary-shell.is-timeline .photos-section-head {
  padding: 10px 14px 0;
  border-bottom: 1px solid var(--photo-border);
}

.photos-media-page .photos-section-head.is-workspace {
  align-items: flex-start;
  padding-bottom: 6px;
}

.photos-media-page .photos-primary-shell.is-timeline .photos-section-head.is-workspace {
  padding-bottom: 0;
}

.photos-media-page .photos-section-head-copy.is-pane-style {
  gap: 2px;
}

.photos-media-page .photos-section-head-copy.is-pane-style strong {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.photos-media-page .photos-section-head-copy.is-pane-style .photos-panel-label {
  display: inline-flex;
  align-items: center;
}

.photos-media-page .photos-section-head-copy.is-pane-style span:last-child {
  color: var(--photo-muted);
  font-size: 0.76rem;
}

.photos-media-page .photos-mode-switch {
  gap: 18px;
  width: auto;
  margin-left: auto;
  justify-content: flex-end;
  flex: none;
}

.photos-media-page .photos-mode-chip {
  min-height: 0;
  padding: 0 0 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--photo-muted);
  font-size: 0.79rem;
  position: relative;
}

.photos-media-page .photos-mode-chip::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: transparent;
}

.photos-media-page .photos-mode-chip .photos-inline-icon {
  width: 12px;
  height: 12px;
}

.photos-media-page .photos-mode-chip.is-active {
  color: var(--photo-text);
  box-shadow: none;
}

.photos-media-page .photos-mode-chip.is-active::after {
  background: var(--photo-review);
}

.photos-media-page .photos-timeline-workbench {
  display: grid;
  gap: 0;
}

.photos-media-page .photos-timeline-toolbar {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
}

.photos-media-page .photos-timeline-toolbar-main {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.photos-media-page .photos-timeline-inline-field {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--photo-muted);
  font-size: 0.74rem;
}

.photos-media-page .photos-timeline-inline-field .photos-filter-select {
  width: auto;
  min-width: 90px;
}

.photos-media-page .photos-timeline-segmented {
  display: inline-flex;
  padding: 2px;
  border-radius: 9px;
  border: 1px solid var(--photo-border);
  background: var(--surface-card-bg);
}

.photos-media-page .photos-timeline-segmented button {
  min-width: 38px;
  min-height: 26px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--photo-muted);
  font: inherit;
  font-size: 0.75rem;
}

.photos-media-page .photos-timeline-segmented button.is-active {
  background: rgba(58, 115, 218, 0.12);
  color: var(--photo-review);
}

.photos-media-page .photos-timeline-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

.photos-media-page .photos-timeline-legend-item,
.photos-media-page .photos-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--photo-text);
  font-size: 0.74rem;
}

.photos-media-page .photos-status-pill {
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--photo-border);
  background: var(--surface-card-bg);
}

.photos-media-page .photos-status-pill.is-compact {
  min-height: 22px;
  padding-inline: 7px;
  font-size: 0.72rem;
}

.photos-media-page .photos-timeline-legend-item i,
.photos-media-page .photos-status-pill i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  flex: none;
}

.photos-media-page .photos-timeline-legend-item.is-draft,
.photos-media-page .photos-status-pill.is-draft {
  color: var(--photo-draft);
}

.photos-media-page .photos-timeline-legend-item.is-reviewed,
.photos-media-page .photos-status-pill.is-reviewed {
  color: var(--photo-review);
}

.photos-media-page .photos-timeline-legend-item.is-published,
.photos-media-page .photos-status-pill.is-published {
  color: var(--photo-publish);
}

.photos-media-page .photos-timeline-legend-item.is-needs_review,
.photos-media-page .photos-status-pill.is-needs_review {
  color: var(--photo-needs-review);
}

.photos-media-page .photos-timeline-legend-item.is-milestone,
.photos-media-page .photos-status-pill.is-milestone {
  color: var(--photo-milestone);
}

.photos-media-page .photos-timeline-legend-item.is-milestone i,
.photos-media-page .photos-status-pill.is-milestone i {
  border-radius: 2px;
  transform: rotate(45deg);
}

.photos-media-page .photos-timeline-split {
  display: grid;
  grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  border-top: 1px solid var(--photo-border);
  border-bottom: 1px solid var(--photo-border);
}

.photos-media-page .photos-timeline-table-shell,
.photos-media-page .photos-timeline-chart-shell {
  min-width: 0;
  background: linear-gradient(180deg, var(--pmis-surface-panel) 0%, var(--entry-soft-surface) 100%);
}

.photos-media-page .photos-timeline-table-shell {
  border-right: 1px solid var(--photo-border);
}

.photos-media-page .photos-timeline-table-header,
.photos-media-page .photos-timeline-table-row {
  display: grid;
  grid-template-columns: var(--photos-timeline-columns);
  align-items: center;
  gap: 10px;
  padding: 0 10px;
}

.photos-media-page .photos-timeline-table-header {
  min-height: var(--photos-timeline-header-height);
  border-bottom: 1px solid var(--photo-border);
  color: var(--photo-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.photos-media-page .photos-timeline-table-header .is-checkbox,
.photos-media-page .photos-timeline-table-row .photos-timeline-checkbox {
  justify-self: center;
}

.photos-media-page .photos-timeline-table-body {
  display: grid;
}

.photos-media-page .photos-timeline-table-row {
  min-height: var(--photos-timeline-row-height);
  border: 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
  background: transparent;
  color: var(--photo-text);
  text-align: left;
  font: inherit;
}

.photos-media-page .photos-timeline-table-row.is-selected,
.photos-media-page .photos-timeline-chart-row.is-selected {
  background: var(--pmis-accent-soft);
}

.photos-media-page .photos-timeline-cell {
  min-width: 0;
  font-size: 0.77rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.photos-media-page .photos-timeline-cell.is-primary {
  display: grid;
  gap: 2px;
}

.photos-media-page .photos-timeline-cell.is-primary strong {
  font-size: 0.79rem;
}

.photos-media-page .photos-timeline-cell small {
  color: var(--photo-muted);
  font-size: 0.68rem;
}

.photos-media-page .photos-timeline-cell.is-numeric,
.photos-media-page .photos-timeline-table-header .is-numeric {
  text-align: center;
  justify-self: center;
}

.photos-media-page .photos-timeline-checkbox {
  width: 14px;
  height: 14px;
  border-radius: 5px;
  border: 1px solid var(--pmis-border-strong);
  background: var(--pmis-surface-card);
}

.photos-media-page .photos-timeline-checkbox.is-selected {
  border-color: var(--photo-review);
  background: var(--photo-review);
  box-shadow: inset 0 0 0 3px var(--pmis-surface-card);
}

.photos-media-page .photos-timeline-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  padding: 0 10px;
  color: var(--photo-muted);
  font-size: 0.72rem;
}

.photos-media-page .photos-timeline-scale {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  min-height: var(--photos-timeline-header-height);
  border-bottom: 1px solid var(--photo-border);
}

.photos-media-page .photos-timeline-scale-day {
  display: grid;
  place-content: center;
  gap: 3px;
  padding: 4px 0 3px;
  border-left: 1px solid var(--pmis-border-subtle);
  color: var(--photo-muted);
  font-size: 0.69rem;
  text-align: center;
}

.photos-media-page .photos-timeline-scale-day strong {
  color: var(--photo-text);
  font-size: 0.74rem;
}

.photos-media-page .photos-timeline-scale-day:first-child {
  border-left: 0;
}

.photos-media-page .photos-timeline-scale-day.is-today {
  background: var(--pmis-accent-soft);
}

.photos-media-page .photos-timeline-chart-body {
  position: relative;
  display: grid;
}

.photos-media-page .photos-timeline-chart-row {
  position: relative;
  min-height: var(--photos-timeline-row-height);
  border: 0;
  border-bottom: 1px solid rgba(208, 215, 224, 0.72);
  background: transparent;
  padding: 0;
}

.photos-media-page .photos-timeline-chart-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.photos-media-page .photos-timeline-chart-grid span {
  border-left: 1px solid var(--pmis-border-subtle);
}

.photos-media-page .photos-timeline-chart-grid span:first-child {
  border-left: 0;
}

.photos-media-page .photos-timeline-today-line {
  position: absolute;
  inset-block: 0;
  width: 0;
  border-left: 1px dashed var(--pmis-info);
  z-index: 2;
  pointer-events: none;
}

.photos-media-page .photos-timeline-range,
.photos-media-page .photos-timeline-marker,
.photos-media-page .photos-timeline-milestone {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.photos-media-page .photos-timeline-range {
  transform: translateY(-50%);
  height: 8px;
  border-radius: 999px;
}

.photos-media-page .photos-timeline-range.is-draft {
  background: var(--photo-soft-gray);
}

.photos-media-page .photos-timeline-range.is-reviewed {
  background: var(--photo-soft-blue);
}

.photos-media-page .photos-timeline-range.is-published {
  background: var(--photo-soft-green);
}

.photos-media-page .photos-timeline-range.is-needs_review {
  background: var(--photo-soft-orange);
}

.photos-media-page .photos-timeline-marker {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 2px solid var(--pmis-surface-card);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pmis-border-strong) 22%, transparent);
}

.photos-media-page .photos-timeline-marker.is-draft {
  background: var(--photo-draft);
}

.photos-media-page .photos-timeline-marker.is-reviewed {
  background: var(--photo-review);
}

.photos-media-page .photos-timeline-marker.is-published {
  background: var(--photo-publish);
}

.photos-media-page .photos-timeline-marker.is-needs_review {
  background: var(--photo-needs-review);
}

.photos-media-page .photos-timeline-milestone {
  width: 11px;
  height: 11px;
  border-radius: 2px;
  border: 1px solid var(--pmis-border-strong);
  background: color-mix(in srgb, var(--pmis-info) 72%, var(--pmis-surface-card));
  transform: translate(-50%, -50%) rotate(45deg);
}

.photos-media-page .photos-thumbnail-rail {
  display: grid;
  gap: 8px;
  padding: 10px 12px 12px;
  background: var(--pmis-surface-panel);
}

.photos-media-page .photos-thumbnail-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.photos-media-page .photos-thumbnail-rail-head strong {
  font-size: 0.73rem;
  letter-spacing: 0.05em;
}

.photos-media-page .photos-thumbnail-rail-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  color: var(--photo-review);
  font: inherit;
  font-size: 0.76rem;
}

.photos-media-page .photos-thumbnail-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(92px, 1fr);
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.photos-media-page .photos-thumbnail-card {
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  padding: 0;
}

.photos-media-page .photos-thumbnail-card.is-selected {
  border-color: var(--photo-focus-border);
  box-shadow: var(--photo-focus-shadow);
}

.photos-media-page .photos-thumbnail-card.is-selected .photos-thumb {
  border-color: var(--photo-focus-border);
}

.photos-media-page .photos-thumbnail-card .photos-thumb,
.photos-media-page .photos-thumbnail-card .photos-thumb.is-small {
  width: 100%;
  aspect-ratio: 1.55 / 1;
  border-radius: 9px;
}

.photos-media-page .photos-thumbnail-empty {
  color: var(--photo-muted);
  font-size: 0.78rem;
}

.photos-media-page .photos-inspector-panel.photos-timeline-inspector {
  gap: 12px;
  align-content: start;
}

.photos-media-page .photos-timeline-inspector-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.photos-media-page .photos-timeline-inspector-title {
  display: grid;
  gap: 7px;
}

.photos-media-page .photos-timeline-inspector-title h2 {
  margin: 0;
  font-size: 1.12rem;
}

.photos-media-page .photos-inspector-dismiss {
  color: var(--photo-muted);
  font-size: 0.86rem;
  line-height: 1;
  padding: 3px 2px;
}

.photos-media-page .photos-timeline-inspector-preview .photos-thumb {
  aspect-ratio: 1.72 / 1;
}

.photos-media-page .photos-timeline-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 0;
}

.photos-media-page .photos-timeline-meta div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.photos-media-page .photos-timeline-meta .is-wide {
  grid-column: 1 / -1;
}

.photos-media-page .photos-timeline-meta dt {
  color: var(--photo-muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.photos-media-page .photos-timeline-meta dd {
  margin: 0;
  color: var(--photo-text);
  font-size: 0.78rem;
  line-height: 1.45;
}

.photos-media-page .photos-timeline-linked-records {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--photo-border);
}

.photos-media-page .photos-timeline-section-label {
  color: var(--photo-muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.photos-media-page .photos-timeline-linked-list {
  display: grid;
  gap: 4px;
}

.photos-media-page .photos-timeline-linked-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  font-size: 0.78rem;
}

.photos-media-page .photos-timeline-linked-row strong {
  font-size: 0.77rem;
}

.photos-media-page .photos-timeline-linked-row .photos-inline-icon {
  width: 12px;
  height: 12px;
  color: var(--photo-muted);
}

.photos-media-page .photos-inspector-tabs {
  grid-template-columns: repeat(4, 34px);
  justify-content: start;
}

.photos-media-page .photos-inspector-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: 9px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-muted);
  font: inherit;
}

.photos-media-page .photos-inspector-icon-button .photos-inline-icon {
  width: 14px;
  height: 14px;
  color: currentColor;
}

.photos-media-page .photos-inspector-icon-button:hover {
  border-color: var(--photo-border-strong);
  color: var(--photo-text);
}

.photos-media-page .photos-inspector-icon-button.is-active {
  color: var(--photo-focus-accent);
  border-color: var(--photo-focus-border);
  background: linear-gradient(180deg, var(--photo-focus-wash) 0%, var(--photo-panel-alt) 100%);
  box-shadow: var(--photo-focus-shadow);
}

.photos-media-page .photos-inspector-icon-button.is-danger {
  color: var(--pmis-danger);
  border-color: color-mix(in srgb, var(--pmis-danger) 42%, transparent);
}

.photos-media-page .photos-inspector-icon-button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.photos-media-page .photos-inline-link-button {
  min-height: 24px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid var(--photo-border);
  background: var(--photo-panel-alt);
  color: var(--photo-text);
  font: inherit;
  font-size: 0.72rem;
}

.photos-media-page .photos-inline-link-button:hover {
  border-color: var(--photo-border-strong);
}

.photos-media-page .photos-inspector-actions {
  display: grid;
  grid-template-columns: repeat(5, 34px);
  justify-content: start;
  gap: 6px;
}

.photos-media-page .photos-inspector-actions.is-timeline {
  grid-template-columns: repeat(4, 34px);
}

.photos-media-page .photos-inspector-media-list {
  min-width: 0;
}

.photos-media-page .photos-media-row {
  align-items: flex-start;
}

.photos-media-page .photos-media-row .photos-thumb {
  width: 56px;
  aspect-ratio: 1 / 1;
  flex: none;
}

.photos-media-page .photos-media-row > span {
  flex: 1 1 auto;
  min-width: 0;
}

.photos-media-page .photos-media-row strong,
.photos-media-page .photos-media-row small {
  display: block;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.photos-media-page .photos-media-row.is-selected {
  color: var(--photo-focus-accent);
  border-color: var(--photo-focus-border);
  background: linear-gradient(180deg, var(--photo-focus-wash) 0%, var(--photo-panel-alt) 100%);
  box-shadow: var(--photo-focus-shadow);
  transform: translateY(-1px);
}

.photos-media-page .photos-media-row.is-selected .photos-thumb {
  border-color: var(--photo-focus-border);
  box-shadow: 0 0 0 1px rgba(255, 156, 71, 0.1);
}

.photos-media-page .photos-media-row.is-selected strong {
  color: var(--photo-text);
}

@media (max-width: 1480px) {
  .photos-media-page .photos-context-band-grid {
    grid-template-columns: 1fr;
  }

  .photos-media-page .photos-guidance-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .photos-media-page .photos-workspace {
    grid-template-columns: 210px minmax(0, 1fr) 288px;
  }

  .photos-media-page .photos-timeline-split {
    grid-template-columns: minmax(460px, 0.92fr) minmax(0, 1.08fr);
  }
}

@media (max-width: 1280px) {
  .photos-media-page .photos-guidance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .photos-media-page .photos-toolbar {
    grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(0, 0.8fr));
  }

  .photos-media-page .photos-timeline-split {
    grid-template-columns: 1fr;
  }

  .photos-media-page .photos-timeline-table-shell {
    border-right: 0;
    border-bottom: 1px solid var(--photo-border);
  }
}

@media (max-width: 1200px) {
  .photos-media-page .photos-context-meta,
  .photos-media-page .photos-timeline-meta,
  .photos-media-page .photos-inspector-actions.is-timeline {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .photos-media-page .photos-guidance-grid,
  .photos-media-page .photos-kpi-grid {
    grid-template-columns: 1fr;
  }

  .photos-media-page .photos-mode-switch,
  .photos-media-page .photos-timeline-toolbar-main,
  .photos-media-page .photos-timeline-legend,
  .photos-media-page .photos-thumbnail-rail-head {
    justify-content: flex-start;
  }

  .photos-media-page .photos-mode-switch {
    width: 100%;
    margin-left: 0;
  }

  .photos-media-page .photos-thumbnail-strip {
    grid-auto-columns: minmax(110px, 1fr);
  }

  .photos-media-page .photos-feedback-banner,
  .photos-anchor-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

.schedule-page {
  --schedule-ink: var(--pmis-text-primary);
  --schedule-muted-line: var(--pmis-border-subtle);
  --schedule-soft-surface: var(--entry-soft-surface);
  --schedule-soft-surface-strong: var(--entry-soft-surface-strong);
  display: grid;
  gap: 16px;
}

.schedule-page.pmis-page .pmis-page-header {
  background: var(--pmis-surface-panel);
  border-color: var(--pmis-border-subtle);
}

.schedule-page.pmis-page .pmis-panel,
.schedule-page.pmis-page .pmis-preview-pane,
.schedule-page.pmis-page .pmis-record-card {
  border-color: var(--pmis-border-subtle);
}

.schedule-page-header .page-title-block {
  max-width: 840px;
}

.schedule-header-chip {
  background: var(--pmis-accent-soft);
}

.schedule-action-rail,
.schedule-card,
.schedule-kpi-card {
  overflow: visible;
}

.schedule-card .pmis-panel-body {
  display: grid;
  gap: 14px;
}

.schedule-action-rail-row,
.schedule-filter-row,
.schedule-3d-stats,
.schedule-3d-actions,
.schedule-3d-legend,
.schedule-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.schedule-action-rail-row {
  position: relative;
}

.schedule-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--schedule-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.schedule-action-button.is-primary {
  border-color: var(--pmis-info);
  background: linear-gradient(180deg, var(--pmis-info) 0%, color-mix(in srgb, var(--pmis-info) 76%, #000 24%) 100%);
  color: var(--entry-soft-surface-strong);
}

.schedule-action-button.is-strategic {
  border-color: var(--pmis-border-strong);
  background: linear-gradient(180deg, var(--pmis-accent-soft) 0%, var(--schedule-soft-surface-strong) 100%);
  color: var(--pmis-text-primary);
}

.schedule-action-button.is-mini {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 0.84rem;
}

.schedule-action-button.is-overflow {
  min-width: 50px;
  padding: 0;
}

.schedule-action-icon,
.schedule-entity-quick span {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.schedule-action-icon svg,
.schedule-entity-quick svg {
  width: 16px;
  height: 16px;
}

.schedule-overflow {
  margin-left: auto;
  position: relative;
}

.schedule-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 48px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  box-shadow: 0 18px 40px rgba(15, 32, 46, 0.12);
  display: grid;
  gap: 8px;
  z-index: 15;
}

.schedule-overflow-item,
.schedule-list-row,
.schedule-analysis-row,
.schedule-review-row,
.schedule-drift-row,
.schedule-watch-item,
.schedule-fast-item,
.schedule-wbs-row {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.schedule-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
}

.schedule-overflow-item span,
.schedule-list-copy span,
.schedule-entity-copy span,
.schedule-watch-item span,
.schedule-analysis-copy span,
.schedule-review-row span,
.schedule-drift-row span,
.schedule-fast-item span,
.schedule-wbs-row span,
.schedule-kpi-detail,
.schedule-kpi-label,
.schedule-table .pmis-record-head span,
.schedule-table .pmis-record-cell small,
.schedule-3d-timeline-head,
.schedule-3d-callout span,
.schedule-3d-stats span,
.schedule-legend-item,
.schedule-drawer-grid .pmis-detail-row-label,
.schedule-drawer-list div,
.schedule-drawer-header p {
  color: var(--pmis-text-secondary);
}

.schedule-overflow-item:hover,
.schedule-list-row:hover,
.schedule-analysis-row:hover,
.schedule-review-row:hover,
.schedule-drift-row:hover,
.schedule-watch-item:hover,
.schedule-fast-item:hover,
.schedule-wbs-row:hover,
.schedule-entity-row:hover {
  transform: translateY(-1px);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-surface-panel);
}

.schedule-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.schedule-kpi-card {
  min-height: 122px;
  gap: 10px;
  position: relative;
}

.schedule-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: var(--pmis-border-strong);
}

.schedule-kpi-card.is-warning::before,
.schedule-kpi-card.is-attention::before {
  background: var(--pmis-warning);
}

.schedule-kpi-card.is-info::before,
.schedule-kpi-card.is-accent::before {
  background: var(--pmis-info);
}

.schedule-kpi-value {
  font-size: 1.7rem;
  line-height: 1;
}

.schedule-main-grid {
  display: grid;
  grid-template-columns: minmax(270px, 0.9fr) minmax(520px, 1.45fr) minmax(320px, 1fr);
  gap: 16px;
  align-items: start;
}

.schedule-column {
  display: grid;
  gap: 16px;
}

.schedule-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.schedule-list,
.schedule-entity-list,
.schedule-watchlist,
.schedule-analysis-list,
.schedule-review-list,
.schedule-drift-list,
.schedule-fast-list,
.schedule-wbs-list {
  display: grid;
  gap: 10px;
}

.schedule-list-row,
.schedule-review-row,
.schedule-drift-row,
.schedule-watch-item,
.schedule-fast-item,
.schedule-wbs-row {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--schedule-soft-surface);
}

.schedule-list-row.is-active,
.schedule-fast-item.is-active,
.schedule-entity-row.is-selected {
  border-color: var(--pmis-border-strong);
  background: var(--schedule-soft-surface-strong);
}

.schedule-list-meta,
.schedule-entity-meta,
.schedule-analysis-meta,
.schedule-review-meta,
.schedule-drift-meta,
.schedule-wbs-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.schedule-inline-chip,
.schedule-status-pill,
.schedule-filter-chip,
.schedule-variance-pill,
.schedule-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
  font-size: 0.76rem;
  white-space: nowrap;
}

.schedule-status-pill.is-complete,
.schedule-tone-dot.is-complete,
.schedule-variance-pill.is-complete {
  color: var(--pmis-success);
}

.schedule-status-pill.is-in-progress,
.schedule-tone-dot.is-in-progress {
  color: var(--pmis-info);
}

.schedule-status-pill.is-constrained,
.schedule-tone-dot.is-constrained,
.schedule-variance-pill.is-constrained {
  color: var(--pmis-warning);
}

.schedule-status-pill.is-delayed,
.schedule-tone-dot.is-delayed,
.schedule-variance-pill.is-delayed {
  color: var(--pmis-danger);
}

.schedule-status-pill.is-not-started,
.schedule-tone-dot.is-not-started {
  color: var(--pmis-text-tertiary);
}

.schedule-entity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--schedule-soft-surface);
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.schedule-entity-main,
.schedule-entity-quick {
  border: 0;
  background: transparent;
  color: var(--pmis-text-primary);
}

.schedule-entity-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
}

.schedule-entity-copy {
  display: grid;
  gap: 4px;
}

.schedule-entity-quick {
  border-radius: 12px;
  border: 1px solid var(--pmis-border-subtle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pmis-surface-panel);
}

.schedule-tone-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
  margin-top: 6px;
}

.schedule-watch-item {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
}

.schedule-analysis-row {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--schedule-soft-surface);
}

.schedule-analysis-copy {
  display: grid;
  gap: 5px;
}

.schedule-analysis-meta {
  justify-content: flex-start;
}

.schedule-review-row,
.schedule-drift-row,
.schedule-fast-item,
.schedule-wbs-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.schedule-filter-chip {
  min-height: 32px;
  font-weight: 600;
}

.schedule-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.schedule-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
}

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

.schedule-table.pmis-record-table {
  border: 0;
  background: transparent;
}

.schedule-table .pmis-record-head,
.schedule-table .pmis-record-row {
  display: grid;
  grid-template-columns: var(--pmis-record-table-columns);
}

.schedule-table .pmis-record-head {
  background: var(--schedule-soft-surface-strong);
  border-bottom: 1px solid var(--schedule-muted-line);
}

.schedule-table .pmis-record-head span {
  padding: 12px 14px;
  font-size: 0.73rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pmis-text-tertiary);
}

.schedule-table .pmis-record-body {
  display: grid;
}

.schedule-table .pmis-record-row {
  color: var(--pmis-text-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--schedule-muted-line);
}

.schedule-table .pmis-record-row:last-child {
  border-bottom: 0;
}

.schedule-table .pmis-record-row:hover {
  background: var(--pmis-accent-soft);
}

.schedule-table .pmis-record-cell {
  padding: 12px 14px;
  min-width: 0;
}

.schedule-table .pmis-record-cell strong {
  display: block;
}

.schedule-table-variance {
  font-weight: 700;
  color: var(--pmis-danger);
}

.schedule-table-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
  color: var(--pmis-info);
  font-weight: 600;
}

.schedule-3d-card {
  gap: 16px;
}

.schedule-3d-timeline {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
}

.schedule-3d-timeline-head {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 6px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.schedule-3d-timeline-body {
  display: grid;
  gap: 8px;
}

.schedule-3d-lane {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.schedule-3d-lane > span {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--pmis-text-primary);
}

.schedule-3d-bars {
  position: relative;
  min-height: 28px;
  border-radius: 12px;
  border: 1px solid var(--schedule-muted-line);
  background: linear-gradient(180deg, var(--pmis-surface-card) 0%, var(--pmis-surface-panel) 100%);
}

.schedule-3d-bar {
  position: absolute;
  left: var(--bar-start);
  width: var(--bar-span);
  top: 4px;
  bottom: 4px;
  border-radius: 9px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  font-size: 0.72rem;
  white-space: nowrap;
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.schedule-3d-bar.is-complete {
  background: color-mix(in srgb, var(--pmis-success) 18%, var(--pmis-surface-card));
  color: var(--pmis-success);
}

.schedule-3d-bar.is-in-progress {
  background: color-mix(in srgb, var(--pmis-info) 18%, var(--pmis-surface-card));
  color: var(--pmis-info);
}

.schedule-3d-bar.is-delayed {
  background: color-mix(in srgb, var(--pmis-danger) 18%, var(--pmis-surface-card));
  color: var(--pmis-danger);
}

.schedule-3d-bar.is-constrained {
  background: color-mix(in srgb, var(--pmis-warning) 18%, var(--pmis-surface-card));
  color: var(--pmis-warning);
}

.schedule-3d-bar.is-not-started {
  background: color-mix(in srgb, var(--pmis-text-tertiary) 12%, var(--pmis-surface-card));
  color: var(--pmis-text-tertiary);
}

.schedule-3d-stage {
  position: relative;
  min-height: 340px;
  border-radius: 22px;
  border: 1px solid var(--schedule-muted-line);
  background: linear-gradient(180deg, var(--pmis-surface-panel) 0%, color-mix(in srgb, var(--pmis-info) 12%, var(--pmis-surface-card)) 100%);
  overflow: hidden;
}

.schedule-3d-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 16%, color-mix(in srgb, var(--pmis-surface-card) 92%, transparent), transparent 30%),
    linear-gradient(180deg, color-mix(in srgb, var(--pmis-surface-card) 16%, transparent) 0%, color-mix(in srgb, var(--pmis-info) 14%, transparent) 100%);
}

.schedule-3d-grid {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -14%;
  height: 62%;
  transform: perspective(880px) rotateX(72deg);
  transform-origin: center top;
  background:
    repeating-linear-gradient(90deg, color-mix(in srgb, var(--pmis-border-strong) 35%, transparent) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, color-mix(in srgb, var(--pmis-border-subtle) 42%, transparent) 0 1px, transparent 1px 42px);
}

.schedule-3d-block {
  position: absolute;
  left: var(--block-left);
  bottom: var(--block-bottom);
  width: var(--block-width);
  height: var(--block-height);
  padding: 12px;
  border-radius: 12px 12px 8px 8px;
  background: var(--pmis-surface-card);
  box-shadow: 0 18px 24px rgba(15, 32, 46, 0.12);
  color: var(--schedule-ink);
  z-index: 2;
}

.schedule-3d-block::before,
.schedule-3d-block::after {
  content: "";
  position: absolute;
}

.schedule-3d-block::before {
  left: 0;
  right: 0;
  top: calc(var(--block-depth) * -0.65);
  height: calc(var(--block-depth) * 0.7);
  transform: skewX(-38deg);
  transform-origin: bottom left;
  border-radius: 8px 8px 0 0;
  background: color-mix(in srgb, var(--pmis-surface-card) 90%, var(--pmis-surface-panel));
}

.schedule-3d-block::after {
  top: 0;
  right: calc(var(--block-depth) * -1);
  width: var(--block-depth);
  bottom: 0;
  transform: skewY(-52deg);
  transform-origin: left top;
  border-radius: 0 8px 8px 0;
  background: color-mix(in srgb, var(--pmis-surface-panel) 84%, var(--pmis-border-subtle));
}

.schedule-3d-block.is-complete {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pmis-success) 18%, var(--pmis-surface-card)) 0%, color-mix(in srgb, var(--pmis-success) 10%, var(--pmis-surface-panel)) 100%);
}

.schedule-3d-block.is-in-progress {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pmis-info) 18%, var(--pmis-surface-card)) 0%, color-mix(in srgb, var(--pmis-info) 10%, var(--pmis-surface-panel)) 100%);
}

.schedule-3d-block.is-delayed {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pmis-danger) 18%, var(--pmis-surface-card)) 0%, color-mix(in srgb, var(--pmis-danger) 10%, var(--pmis-surface-panel)) 100%);
}

.schedule-3d-block.is-constrained {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pmis-warning) 18%, var(--pmis-surface-card)) 0%, color-mix(in srgb, var(--pmis-warning) 10%, var(--pmis-surface-panel)) 100%);
}

.schedule-3d-block strong,
.schedule-3d-callout strong,
.schedule-3d-stats strong,
.schedule-drawer-grid .pmis-detail-row-value strong {
  display: block;
}

.schedule-3d-block span {
  display: block;
  margin-top: 6px;
  font-size: 0.78rem;
  line-height: 1.45;
}

.schedule-3d-callouts {
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  z-index: 3;
}

.schedule-3d-callout,
.schedule-drawer-highlight {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
}

.schedule-3d-stats {
  justify-content: space-between;
}

.schedule-3d-stats > div {
  flex: 1 1 96px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--pmis-surface-panel);
}

.schedule-drawer {
  gap: 16px;
}

.schedule-drawer-header h3,
.schedule-drawer-section h3 {
  margin: 0;
}

.schedule-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.schedule-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.schedule-drawer-grid .pmis-detail-row,
.schedule-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--schedule-muted-line);
  background: var(--schedule-soft-surface);
}

.schedule-drawer-grid .pmis-detail-row {
  display: grid;
  gap: 6px;
}

.schedule-drawer-grid .pmis-detail-row-value {
  color: var(--pmis-text-primary);
}

.schedule-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--schedule-muted-line);
  text-decoration: none;
  background: var(--pmis-surface-panel);
  color: var(--pmis-text-primary);
}

@media (max-width: 1380px) {
  .schedule-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .schedule-main-grid {
    grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1.25fr);
  }

  .schedule-main-grid > .schedule-column:last-child {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
  }
}

@media (max-width: 1080px) {
  .schedule-main-grid,
  .schedule-analysis-grid,
  .schedule-main-grid > .schedule-column:last-child,
  .schedule-kpi-grid {
    grid-template-columns: 1fr;
  }

  .schedule-3d-lane {
    grid-template-columns: 1fr;
  }

  .schedule-3d-stats {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 760px) {
  .schedule-action-rail-row,
  .schedule-review-row,
  .schedule-drift-row,
  .schedule-fast-item,
  .schedule-wbs-row,
  .schedule-entity-main {
    flex-direction: column;
    align-items: flex-start;
  }

  .schedule-kpi-value {
    font-size: 1.45rem;
  }

  .schedule-drawer-grid {
    grid-template-columns: 1fr;
  }

  .schedule-3d-stage {
    min-height: 290px;
  }

  .schedule-3d-callouts {
    position: static;
    padding: 16px 16px 0;
  }
}

.lookahead-page {
  display: grid;
  gap: 16px;
}

.lookahead-page.pmis-page .pmis-page-header {
  background: var(--pmis-surface-panel);
  border-color: var(--pmis-border-subtle);
}

.lookahead-page.pmis-page .pmis-panel,
.lookahead-page.pmis-page .pmis-preview-pane {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
}

.lookahead-header-block,
.lookahead-main-column,
.lookahead-right-rail,
.lookahead-list-stack,
.lookahead-week-group-list,
.lookahead-drawer-list,
.lookahead-drawer-links {
  display: grid;
  gap: 14px;
}

.lookahead-page-header .page-title-block {
  max-width: 860px;
}

.lookahead-header-chip {
  background: var(--pmis-accent-soft);
}

.lookahead-header-controls .pmis-panel-body {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.lookahead-horizon-group,
.lookahead-chip-row,
.lookahead-action-rail-row,
.lookahead-3d-legend,
.lookahead-3d-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.lookahead-horizon-group {
  flex-direction: column;
  align-items: flex-start;
}

.lookahead-control-label,
.lookahead-kpi-label,
.lookahead-kpi-detail,
.lookahead-select-field span,
.lookahead-list-row span,
.lookahead-list-row small,
.lookahead-overflow-item span,
.lookahead-readiness-flag,
.lookahead-ppc-grid span,
.lookahead-ppc-reasons span,
.lookahead-drawer-grid span,
.lookahead-drawer-list div,
.lookahead-3d-summary span {
  color: var(--pmis-text-secondary);
}

.lookahead-select-field {
  display: grid;
  gap: 6px;
}

.lookahead-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.lookahead-select-field.is-compact select {
  min-height: 36px;
  border-radius: 12px;
}

.lookahead-filter-chip,
.lookahead-inline-chip,
.lookahead-status-pill,
.lookahead-severity-pill,
.lookahead-readiness-flag,
.lookahead-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  white-space: nowrap;
  font-size: 0.76rem;
}

.lookahead-filter-chip {
  font-weight: 600;
}

.lookahead-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.lookahead-action-rail {
  overflow: visible;
}

.lookahead-action-rail-row {
  position: relative;
}

.lookahead-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.lookahead-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-info);
}

.lookahead-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.lookahead-action-button.is-mini {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
}

.lookahead-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.lookahead-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lookahead-action-icon svg {
  width: 16px;
  height: 16px;
}

.lookahead-overflow {
  margin-left: auto;
  position: relative;
}

.lookahead-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(241, 247, 252, 0.99) 100%);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.lookahead-overflow-item,
.lookahead-list-row,
.lookahead-inline-link,
.lookahead-row-action,
.lookahead-workplan-toolbar button,
.lookahead-week-group,
.lookahead-inline-link {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.lookahead-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.lookahead-overflow-item:hover,
.lookahead-list-row:hover,
.lookahead-week-group:hover {
  transform: translateY(-1px);
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.lookahead-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.lookahead-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.lookahead-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: rgba(110, 157, 202, 0.34);
}

.lookahead-kpi-card.is-ready::before { background: rgba(104, 164, 122, 0.48); }
.lookahead-kpi-card.is-blocked::before { background: rgba(201, 115, 94, 0.52); }
.lookahead-kpi-card.is-watch::before { background: rgba(177, 145, 76, 0.5); }
.lookahead-kpi-card.is-info::before { background: rgba(77, 132, 183, 0.52); }

.lookahead-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.lookahead-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.92fr);
  gap: 16px;
  align-items: start;
}

.lookahead-card {
  display: grid;
  gap: 14px;
}

.lookahead-workplan-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.lookahead-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  min-width: min(420px, 100%);
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.58);
}

.lookahead-search-field input {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
}

.lookahead-table-wrap,
.lookahead-week-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.lookahead-table,
.lookahead-week-table {
  width: 100%;
  border-collapse: collapse;
}

.lookahead-table {
  min-width: 1180px;
  font-size: 0.87rem;
}

.lookahead-week-table {
  min-width: 860px;
  font-size: 0.84rem;
}

.lookahead-table th,
.lookahead-table td,
.lookahead-week-table th,
.lookahead-week-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.lookahead-table th,
.lookahead-week-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.lookahead-table tbody tr:hover,
.lookahead-week-table tbody tr:hover {
  background: rgba(231, 240, 249, 0.68);
}

.lookahead-table td strong,
.lookahead-week-table td strong {
  display: block;
}

.lookahead-table td small,
.lookahead-week-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.lookahead-row-action,
.lookahead-inline-link {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: #294a6b;
  font-weight: 600;
  text-decoration: none;
}

.lookahead-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.lookahead-readiness-flags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.lookahead-readiness-flag.is-ready,
.lookahead-status-pill.is-ready,
.lookahead-status-dot.is-ready,
.lookahead-severity-pill.is-ready {
  color: #2e6a4f;
}

.lookahead-readiness-flag.is-blocked,
.lookahead-status-pill.is-blocked,
.lookahead-status-dot.is-blocked,
.lookahead-severity-pill.is-blocked {
  color: #a7544a;
}

.lookahead-readiness-flag.is-watch,
.lookahead-status-pill.is-at-risk,
.lookahead-status-dot.is-at-risk,
.lookahead-severity-pill.is-at-risk {
  color: #8b6a2d;
}

.lookahead-readiness-flag.is-linked,
.lookahead-status-pill.is-in-progress,
.lookahead-status-dot.is-in-progress {
  color: #2e5b85;
}

.lookahead-status-pill.is-complete,
.lookahead-status-dot.is-complete {
  color: #356847;
}

.lookahead-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.lookahead-week-group {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.lookahead-week-group-head,
.lookahead-list-row,
.lookahead-3d-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.lookahead-week-group-head > div,
.lookahead-list-row > div {
  display: grid;
  gap: 4px;
}

.lookahead-empty-state {
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed rgba(119, 148, 179, 0.22);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.36);
}

.lookahead-list-row {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.lookahead-list-row.is-escalation {
  background: rgba(249, 243, 240, 0.72);
}

.lookahead-list-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.lookahead-3d-card {
  gap: 16px;
}

.lookahead-3d-timeline {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(247, 251, 254, 0.92);
}

.lookahead-3d-timeline-head {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 6px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.lookahead-3d-timeline-body {
  display: grid;
  gap: 8px;
}

.lookahead-3d-lane {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.lookahead-3d-lane > span {
  font-size: 0.82rem;
  font-weight: 600;
  color: #36587a;
}

.lookahead-3d-bars {
  position: relative;
  min-height: 28px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(238, 245, 252, 0.92) 100%);
}

.lookahead-3d-bar {
  position: absolute;
  left: var(--bar-start);
  width: var(--bar-span);
  top: 4px;
  bottom: 4px;
  border-radius: 9px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  font-size: 0.72rem;
  white-space: nowrap;
  background: rgba(110, 157, 202, 0.24);
  color: #27496c;
}

.lookahead-3d-bar.is-ready { background: rgba(111, 163, 129, 0.24); color: #2f6246; }
.lookahead-3d-bar.is-blocked { background: rgba(201, 115, 94, 0.26); color: #964e43; }
.lookahead-3d-bar.is-in-progress { background: rgba(110, 157, 202, 0.28); color: #295172; }
.lookahead-3d-bar.is-complete { background: rgba(90, 139, 103, 0.22); color: #2f6246; }
.lookahead-3d-bar.is-at-risk { background: rgba(177, 145, 76, 0.22); color: #87672d; }

.lookahead-3d-stage {
  position: relative;
  min-height: 332px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, #eff6fd 0%, #d6e4f2 100%);
  overflow: hidden;
}

.lookahead-3d-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.lookahead-3d-grid {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -14%;
  height: 62%;
  transform: perspective(880px) rotateX(72deg);
  transform-origin: center top;
  background:
    repeating-linear-gradient(90deg, rgba(98, 123, 148, 0.16) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, rgba(98, 123, 148, 0.12) 0 1px, transparent 1px 42px);
}

.lookahead-3d-block {
  position: absolute;
  left: var(--block-left);
  bottom: var(--block-bottom);
  width: var(--block-width);
  height: var(--block-height);
  padding: 12px;
  border-radius: 12px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.lookahead-3d-block.is-ready { background: linear-gradient(180deg, rgba(223, 240, 229, 0.96) 0%, rgba(204, 232, 214, 0.96) 100%); color: #2f6246; }
.lookahead-3d-block.is-blocked { background: linear-gradient(180deg, rgba(248, 227, 223, 0.96) 0%, rgba(241, 208, 201, 0.96) 100%); color: #964e43; }
.lookahead-3d-block.is-in-progress { background: linear-gradient(180deg, rgba(226, 238, 251, 0.96) 0%, rgba(204, 224, 244, 0.96) 100%); color: #295172; }
.lookahead-3d-block.is-complete { background: linear-gradient(180deg, rgba(220, 234, 224, 0.96) 0%, rgba(197, 223, 205, 0.96) 100%); color: #2f6246; }
.lookahead-3d-block.is-at-risk { background: linear-gradient(180deg, rgba(248, 240, 223, 0.96) 0%, rgba(239, 225, 192, 0.96) 100%); color: #87672d; }

.lookahead-3d-block strong,
.lookahead-ppc-grid strong,
.lookahead-drawer-grid strong,
.lookahead-drawer-header h3 {
  display: block;
}

.lookahead-3d-block span,
.lookahead-3d-block small {
  display: block;
  margin-top: 5px;
}

.lookahead-legend-item {
  gap: 8px;
}

.lookahead-3d-summary {
  justify-content: space-between;
}

.lookahead-3d-summary > div,
.lookahead-ppc-grid > div {
  flex: 1 1 96px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
}

.lookahead-3d-footer {
  flex-wrap: wrap;
}

.lookahead-ppc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.lookahead-ppc-reasons {
  display: grid;
  gap: 8px;
}

.lookahead-ppc-reasons > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.lookahead-drawer {
  gap: 16px;
}

.lookahead-drawer-header p,
.lookahead-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.lookahead-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.lookahead-drawer-highlight,
.lookahead-drawer-grid > div,
.lookahead-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.lookahead-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1480px) {
  .lookahead-header-controls,
  .lookahead-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lookahead-horizon-group {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1240px) {
  .lookahead-main-grid {
    grid-template-columns: 1fr;
  }

  .lookahead-right-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    gap: 16px;
  }

  .lookahead-3d-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .lookahead-header-controls,
  .lookahead-kpi-grid,
  .lookahead-ppc-grid,
  .lookahead-right-rail {
    grid-template-columns: 1fr;
  }

  .lookahead-workplan-toolbar,
  .lookahead-week-group-head,
  .lookahead-list-row,
  .lookahead-3d-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .lookahead-3d-lane {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .lookahead-drawer-grid {
    grid-template-columns: 1fr;
  }

  .lookahead-kpi-value {
    font-size: 1.45rem;
  }

  .lookahead-3d-stage {
    min-height: 288px;
  }
}

.milestone-page {
  --milestone-tone-track: var(--pmis-info);
  --milestone-tone-risk: var(--pmis-warning);
  --milestone-tone-late: var(--pmis-danger);
  --milestone-tone-success: var(--pmis-success);
  display: grid;
  gap: 16px;
}

.milestone-page.pmis-page .pmis-page-header {
  gap: 16px;
}

.milestone-page.pmis-page .pmis-panel,
.milestone-page.pmis-page .pmis-preview-pane,
.milestone-page.pmis-page .pmis-kpi-card,
.milestone-page.pmis-page .pmis-entity-card {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-primary);
}

.milestone-page.pmis-page .surface-panel.pmis-panel,
.milestone-page.pmis-page .surface-panel.pmis-rail-card {
  background: var(--pmis-surface-panel);
}

.milestone-header-block,
.milestone-list-stack,
.milestone-drawer-links,
.milestone-drawer-list {
  display: grid;
  gap: 14px;
}

.milestone-page-header .page-title-block {
  max-width: 860px;
}

.milestone-header-chip {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-secondary);
}

.milestone-header-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) repeat(5, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.milestone-chip-row,
.milestone-action-rail-row,
.milestone-roadmap-toolbar,
.milestone-scope-meta,
.milestone-scope-legend,
.milestone-scope-counts,
.milestone-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.milestone-control-label,
.milestone-kpi-label,
.milestone-kpi-detail,
.milestone-select-field span,
.milestone-list-row span,
.milestone-list-row small,
.milestone-overflow-item span,
.milestone-related-card span,
.milestone-drawer-grid span,
.milestone-drawer-list div,
.milestone-scope-counts span,
.milestone-roadmap-row-label span {
  color: var(--pmis-text-secondary);
}

.milestone-select-field {
  display: grid;
  gap: 6px;
}

.milestone-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.milestone-filter-chip,
.milestone-inline-chip,
.milestone-status-pill,
.milestone-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
  font-size: 0.76rem;
}

.milestone-filter-chip {
  font-weight: 600;
}

.milestone-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.milestone-action-rail {
  overflow: visible;
}

.milestone-action-rail-row {
  position: relative;
}

.milestone-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.milestone-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-info);
  background: var(--pmis-info);
}

.milestone-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.milestone-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.milestone-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.milestone-action-icon svg {
  width: 16px;
  height: 16px;
}

.milestone-overflow {
  margin-left: auto;
  position: relative;
}

.milestone-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.milestone-overflow-item,
.milestone-list-row,
.milestone-related-card,
.milestone-inline-link,
.milestone-row-action,
.milestone-roadmap-item {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.milestone-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.milestone-overflow-item:hover,
.milestone-list-row:hover,
.milestone-related-card:hover {
  transform: translateY(-1px);
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
}

.milestone-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.milestone-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.milestone-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: var(--milestone-tone-track);
}

.milestone-kpi-card.is-risk::before { background: var(--milestone-tone-risk); }
.milestone-kpi-card.is-late::before { background: var(--milestone-tone-late); }
.milestone-kpi-card.is-complete::before { background: var(--milestone-tone-success); }
.milestone-kpi-card.is-info::before { background: var(--milestone-tone-track); }

.milestone-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.milestone-top-band,
.milestone-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.74fr);
  gap: 16px;
  align-items: start;
}

.milestone-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.72fr) minmax(280px, 0.56fr);
  gap: 16px;
  align-items: start;
}

.milestone-lower-side {
  display: grid;
  gap: 16px;
}

.milestone-card {
  display: grid;
  gap: 14px;
}

.milestone-roadmap-shell {
  display: grid;
  gap: 12px;
}

.milestone-roadmap-axis {
  position: relative;
  min-height: 22px;
  margin-left: 182px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.16);
}

.milestone-roadmap-axis span {
  position: absolute;
  bottom: -1px;
  transform: translateX(-50%) translateY(100%);
  font-size: 0.72rem;
  color: var(--muted);
}

.milestone-roadmap-body {
  display: grid;
  gap: 12px;
}

.milestone-roadmap-row {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.milestone-roadmap-row-label {
  display: grid;
  gap: 4px;
  padding-top: 16px;
}

.milestone-roadmap-track {
  position: relative;
  min-height: 88px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background:
    repeating-linear-gradient(90deg, rgba(119, 148, 179, 0.08) 0 1px, transparent 1px 18%),
    rgba(255, 255, 255, 0.42);
}

.milestone-roadmap-item {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--item-top);
  height: 16px;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.milestone-roadmap-item.is-selected .milestone-roadmap-label {
  color: var(--milestone-tone-track);
  font-weight: 700;
}

.milestone-roadmap-connector {
  position: absolute;
  top: 7px;
  height: 2px;
  background: rgba(119, 148, 179, 0.4);
}

.milestone-roadmap-marker,
.milestone-roadmap-actual {
  position: absolute;
  top: 2px;
  width: 10px;
  height: 10px;
  transform: translateX(-50%) rotate(45deg);
  border-radius: 2px;
}

.milestone-roadmap-marker.is-baseline {
  border: 1px solid rgba(119, 148, 179, 0.62);
  background: rgba(255, 255, 255, 0.95);
}

.milestone-roadmap-marker.is-forecast.is-track { background: var(--milestone-tone-track); }
.milestone-roadmap-marker.is-forecast.is-risk { background: var(--milestone-tone-risk); }
.milestone-roadmap-marker.is-forecast.is-late { background: var(--milestone-tone-late); }
.milestone-roadmap-marker.is-forecast.is-complete { background: var(--milestone-tone-success); }

.milestone-roadmap-actual {
  top: 3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateX(-50%);
  background: var(--milestone-tone-success);
}

.milestone-roadmap-label {
  position: absolute;
  left: 0;
  top: -6px;
  width: 220px;
  font-size: 0.8rem;
  line-height: 1.3;
  transform: translateX(12px);
}

.milestone-roadmap-label.is-end {
  transform: translateX(calc(-100% - 12px));
}

.milestone-roadmap-item {
  pointer-events: auto;
}

.milestone-roadmap-item .milestone-roadmap-label {
  pointer-events: none;
}

.milestone-list-row,
.milestone-related-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.milestone-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.milestone-list-row > div,
.milestone-related-card {
  display: grid;
  gap: 4px;
}

.milestone-list-row.is-risk {
  background: color-mix(in srgb, var(--milestone-tone-risk) 14%, var(--entry-soft-surface));
}

.milestone-list-meta,
.milestone-scope-counts {
  justify-content: space-between;
}

.milestone-list-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.milestone-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.milestone-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  font-size: 0.87rem;
}

.milestone-readiness-table {
  min-width: 1040px;
}

.milestone-table th,
.milestone-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.milestone-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.milestone-table tbody tr:hover,
.milestone-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.milestone-table td strong,
.milestone-table td small {
  display: block;
}

.milestone-table td small {
  margin-top: 4px;
  color: var(--muted);
}

.milestone-inline-link,
.milestone-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--milestone-tone-track);
  font-weight: 600;
  text-decoration: none;
}

.milestone-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.milestone-variance-cell {
  font-weight: 700;
  color: var(--milestone-tone-late);
}

.milestone-status-pill.is-track,
.milestone-status-dot.is-track {
  color: var(--milestone-tone-track);
}

.milestone-status-pill.is-risk,
.milestone-status-dot.is-risk {
  color: var(--milestone-tone-risk);
}

.milestone-status-pill.is-late,
.milestone-status-dot.is-late {
  color: var(--milestone-tone-late);
}

.milestone-status-pill.is-complete,
.milestone-status-dot.is-complete {
  color: var(--milestone-tone-success);
}

.milestone-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.milestone-scope-stage {
  position: relative;
  min-height: 280px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, var(--entry-soft-surface-strong) 0%, var(--entry-soft-surface) 100%);
  overflow: hidden;
}

.milestone-scope-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.milestone-scope-grid {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -14%;
  height: 62%;
  transform: perspective(880px) rotateX(72deg);
  transform-origin: center top;
  background:
    repeating-linear-gradient(90deg, rgba(98, 123, 148, 0.16) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, rgba(98, 123, 148, 0.12) 0 1px, transparent 1px 42px);
}

.milestone-scope-block {
  position: absolute;
  left: var(--scope-left);
  bottom: var(--scope-bottom);
  width: var(--scope-width);
  height: var(--scope-height);
  padding: 12px;
  border-radius: 12px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.milestone-scope-block.is-track { background: color-mix(in srgb, var(--milestone-tone-track) 14%, var(--pmis-surface-card)); color: var(--milestone-tone-track); }
.milestone-scope-block.is-risk { background: color-mix(in srgb, var(--milestone-tone-risk) 16%, var(--pmis-surface-card)); color: var(--milestone-tone-risk); }
.milestone-scope-block.is-late { background: color-mix(in srgb, var(--milestone-tone-late) 16%, var(--pmis-surface-card)); color: var(--milestone-tone-late); }
.milestone-scope-block.is-complete { background: color-mix(in srgb, var(--milestone-tone-success) 14%, var(--pmis-surface-card)); color: var(--milestone-tone-success); }

.milestone-scope-counts > div {
  flex: 1 1 92px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
}

.milestone-progress-shell {
  display: grid;
  gap: 6px;
}

.milestone-progress-bar {
  display: block;
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: var(--entry-soft-surface-strong);
  overflow: hidden;
}

.milestone-progress-bar::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--progress);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--milestone-tone-track), var(--milestone-tone-success));
}

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

.milestone-drawer {
  gap: 16px;
}

.milestone-drawer-header p,
.milestone-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.milestone-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.milestone-drawer-highlight,
.milestone-drawer-grid > div,
.milestone-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.milestone-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1480px) {
  .milestone-header-controls,
  .milestone-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .milestone-header-controls > .milestone-chip-row {
    grid-column: 1 / -1;
  }

  .milestone-middle-band {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  }

  .milestone-middle-side {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  .milestone-top-band,
  .milestone-middle-band,
  .milestone-lower-band,
  .milestone-kpi-grid,
  .milestone-related-grid {
    grid-template-columns: 1fr;
  }

  .milestone-roadmap-axis {
    margin-left: 0;
  }

  .milestone-roadmap-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .milestone-header-controls,
  .milestone-related-grid,
  .milestone-drawer-grid {
    grid-template-columns: 1fr;
  }

  .milestone-action-rail-row,
  .milestone-list-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .milestone-roadmap-axis {
    display: none;
  }
}

.delivery-page {
  --delivery-tone-track: var(--pmis-info);
  --delivery-tone-risk: var(--pmis-warning);
  --delivery-tone-late: var(--pmis-danger);
  --delivery-tone-arrived: var(--pmis-success);
  display: grid;
  gap: 16px;
}

.delivery-page.pmis-page .pmis-page-header {
  gap: 16px;
}

.delivery-page.pmis-page .pmis-panel,
.delivery-page.pmis-page .pmis-preview-pane,
.delivery-page.pmis-page .pmis-kpi-card,
.delivery-page.pmis-page .pmis-entity-card {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-primary);
}

.delivery-page.pmis-page .surface-panel.pmis-panel,
.delivery-page.pmis-page .surface-panel.pmis-rail-card {
  background: var(--pmis-surface-panel);
}

.delivery-header-block,
.delivery-list-stack,
.delivery-drawer-links,
.delivery-drawer-list {
  display: grid;
  gap: 14px;
}

.delivery-page-header .page-title-block {
  max-width: 860px;
}

.delivery-header-chip {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-secondary);
}

.delivery-header-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.delivery-chip-row,
.delivery-action-rail-row,
.delivery-roadmap-toolbar,
.delivery-logistics-meta,
.delivery-logistics-legend,
.delivery-logistics-counts,
.delivery-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.delivery-control-label,
.delivery-kpi-label,
.delivery-kpi-detail,
.delivery-select-field span,
.delivery-list-row span,
.delivery-list-row small,
.delivery-overflow-item span,
.delivery-related-card span,
.delivery-drawer-grid span,
.delivery-drawer-list div,
.delivery-logistics-counts span,
.delivery-roadmap-row-label span {
  color: var(--pmis-text-secondary);
}

.delivery-select-field {
  display: grid;
  gap: 6px;
}

.delivery-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.delivery-filter-chip,
.delivery-inline-chip,
.delivery-status-pill,
.delivery-risk-pill,
.delivery-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
  font-size: 0.76rem;
}

.delivery-filter-chip {
  font-weight: 600;
}

.delivery-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.delivery-action-rail {
  overflow: visible;
}

.delivery-action-rail-row {
  position: relative;
}

.delivery-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.delivery-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-info);
  background: var(--pmis-info);
}

.delivery-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.delivery-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.delivery-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.delivery-action-icon svg {
  width: 16px;
  height: 16px;
}

.delivery-overflow {
  margin-left: auto;
  position: relative;
}

.delivery-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.delivery-overflow-item,
.delivery-list-row,
.delivery-related-card,
.delivery-inline-link,
.delivery-row-action,
.delivery-roadmap-item {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.delivery-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.delivery-overflow-item:hover,
.delivery-list-row:hover,
.delivery-related-card:hover {
  transform: translateY(-1px);
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
}

.delivery-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.delivery-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.delivery-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: var(--delivery-tone-track);
}

.delivery-kpi-card.is-risk::before { background: var(--delivery-tone-risk); }
.delivery-kpi-card.is-late::before { background: var(--delivery-tone-late); }
.delivery-kpi-card.is-arrived::before { background: var(--delivery-tone-arrived); }
.delivery-kpi-card.is-info::before { background: var(--delivery-tone-track); }

.delivery-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.delivery-top-band,
.delivery-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.74fr);
  gap: 16px;
  align-items: start;
}

.delivery-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.72fr) minmax(280px, 0.56fr);
  gap: 16px;
  align-items: start;
}

.delivery-lower-side {
  display: grid;
  gap: 16px;
}

.delivery-card {
  display: grid;
  gap: 14px;
}

.delivery-roadmap-shell {
  display: grid;
  gap: 12px;
}

.delivery-roadmap-axis {
  position: relative;
  min-height: 22px;
  margin-left: 182px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.16);
}

.delivery-roadmap-axis span {
  position: absolute;
  bottom: -1px;
  transform: translateX(-50%) translateY(100%);
  font-size: 0.72rem;
  color: var(--muted);
}

.delivery-roadmap-body {
  display: grid;
  gap: 12px;
}

.delivery-roadmap-row {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.delivery-roadmap-row-label {
  display: grid;
  gap: 4px;
  padding-top: 16px;
}

.delivery-roadmap-track {
  position: relative;
  min-height: 88px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background:
    repeating-linear-gradient(90deg, rgba(119, 148, 179, 0.08) 0 1px, transparent 1px 18%),
    rgba(255, 255, 255, 0.42);
}

.delivery-roadmap-item {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--item-top);
  height: 16px;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.delivery-roadmap-item.is-selected .delivery-roadmap-label {
  color: var(--delivery-tone-track);
  font-weight: 700;
}

.delivery-roadmap-window {
  position: absolute;
  top: 6px;
  height: 4px;
  border-radius: 999px;
  background: rgba(119, 148, 179, 0.32);
}

.delivery-roadmap-window.is-track { background: color-mix(in srgb, var(--delivery-tone-track) 48%, transparent); }
.delivery-roadmap-window.is-risk { background: color-mix(in srgb, var(--delivery-tone-risk) 54%, transparent); }
.delivery-roadmap-window.is-late { background: color-mix(in srgb, var(--delivery-tone-late) 54%, transparent); }
.delivery-roadmap-window.is-arrived { background: color-mix(in srgb, var(--delivery-tone-arrived) 48%, transparent); }

.delivery-roadmap-marker,
.delivery-roadmap-actual {
  position: absolute;
  top: 2px;
  transform: translateX(-50%);
}

.delivery-roadmap-marker {
  width: 10px;
  height: 10px;
  border-radius: 3px;
}

.delivery-roadmap-marker.is-required {
  border: 1px solid rgba(119, 148, 179, 0.62);
  background: rgba(255, 255, 255, 0.96);
  transform: translateX(-50%) rotate(45deg);
}

.delivery-roadmap-marker.is-promised {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--pmis-border-strong) 82%, var(--delivery-tone-track));
}

.delivery-roadmap-marker.is-forecast {
  background: var(--delivery-tone-track);
}

.delivery-roadmap-marker.is-forecast.is-risk { background: var(--delivery-tone-risk); }
.delivery-roadmap-marker.is-forecast.is-late { background: var(--delivery-tone-late); }
.delivery-roadmap-marker.is-forecast.is-arrived { background: var(--delivery-tone-arrived); }

.delivery-roadmap-actual {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--delivery-tone-arrived);
}

.delivery-roadmap-label {
  position: absolute;
  left: 0;
  top: -6px;
  width: 220px;
  font-size: 0.8rem;
  line-height: 1.3;
  transform: translateX(12px);
}

.delivery-roadmap-label.is-end {
  transform: translateX(calc(-100% - 12px));
}

.delivery-list-row,
.delivery-related-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.delivery-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.delivery-list-row.is-risk {
  background: color-mix(in srgb, var(--delivery-tone-risk) 14%, var(--entry-soft-surface));
}

.delivery-list-row > div,
.delivery-related-card {
  display: grid;
  gap: 4px;
}

.delivery-list-meta,
.delivery-logistics-counts {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.delivery-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.delivery-table {
  width: 100%;
  min-width: 1240px;
  border-collapse: collapse;
  font-size: 0.87rem;
}

.delivery-readiness-table {
  min-width: 1040px;
}

.delivery-table th,
.delivery-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.delivery-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.delivery-table tbody tr:hover,
.delivery-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.delivery-table td strong,
.delivery-table td small {
  display: block;
}

.delivery-table td small {
  margin-top: 4px;
  color: var(--muted);
}

.delivery-inline-link,
.delivery-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--delivery-tone-track);
  font-weight: 600;
  text-decoration: none;
}

.delivery-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.delivery-status-pill.is-track,
.delivery-risk-pill.is-track,
.delivery-status-dot.is-track {
  color: var(--delivery-tone-track);
}

.delivery-status-pill.is-risk,
.delivery-risk-pill.is-risk,
.delivery-status-dot.is-risk {
  color: var(--delivery-tone-risk);
}

.delivery-status-pill.is-late,
.delivery-risk-pill.is-late,
.delivery-status-dot.is-late {
  color: var(--delivery-tone-late);
}

.delivery-status-pill.is-arrived,
.delivery-status-dot.is-arrived {
  color: var(--delivery-tone-arrived);
}

.delivery-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.delivery-logistics-stage {
  position: relative;
  min-height: 280px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, var(--entry-soft-surface-strong) 0%, var(--entry-soft-surface) 100%);
  overflow: hidden;
}

.delivery-logistics-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.delivery-logistics-grid {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -14%;
  height: 62%;
  transform: perspective(880px) rotateX(72deg);
  transform-origin: center top;
  background:
    repeating-linear-gradient(90deg, rgba(98, 123, 148, 0.16) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, rgba(98, 123, 148, 0.12) 0 1px, transparent 1px 42px);
}

.delivery-logistics-node {
  position: absolute;
  left: var(--node-left);
  top: var(--node-top);
  transform: translate(-50%, -50%);
  padding: 10px 12px;
  border-radius: 12px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.delivery-logistics-node.is-track { background: color-mix(in srgb, var(--delivery-tone-track) 14%, var(--pmis-surface-card)); color: var(--delivery-tone-track); }
.delivery-logistics-node.is-risk { background: color-mix(in srgb, var(--delivery-tone-risk) 16%, var(--pmis-surface-card)); color: var(--delivery-tone-risk); }
.delivery-logistics-node.is-late { background: color-mix(in srgb, var(--delivery-tone-late) 16%, var(--pmis-surface-card)); color: var(--delivery-tone-late); }
.delivery-logistics-node.is-arrived { background: color-mix(in srgb, var(--delivery-tone-arrived) 14%, var(--pmis-surface-card)); color: var(--delivery-tone-arrived); }

.delivery-logistics-counts > div {
  flex: 1 1 92px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
}

.delivery-progress-shell {
  display: grid;
  gap: 6px;
}

.delivery-progress-bar {
  display: block;
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: var(--entry-soft-surface-strong);
  overflow: hidden;
}

.delivery-progress-bar::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--progress);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--delivery-tone-track), var(--delivery-tone-arrived));
}

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

.delivery-drawer {
  gap: 16px;
}

.delivery-drawer-header p,
.delivery-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.delivery-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.delivery-drawer-highlight,
.delivery-drawer-grid > div,
.delivery-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.delivery-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1500px) {
  .delivery-header-controls,
  .delivery-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .delivery-header-controls > .delivery-chip-row {
    grid-column: 1 / -1;
  }

  .delivery-middle-band {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  }

  .delivery-middle-side {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  .delivery-top-band,
  .delivery-middle-band,
  .delivery-lower-band,
  .delivery-kpi-grid,
  .delivery-related-grid {
    grid-template-columns: 1fr;
  }

  .delivery-roadmap-axis {
    margin-left: 0;
  }

  .delivery-roadmap-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .delivery-header-controls,
  .delivery-related-grid,
  .delivery-drawer-grid {
    grid-template-columns: 1fr;
  }

  .delivery-action-rail-row,
  .delivery-list-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .delivery-roadmap-axis {
    display: none;
  }
}

.site-logistics-page {
  --site-logistics-tone-track: var(--pmis-info);
  --site-logistics-tone-risk: var(--pmis-warning);
  --site-logistics-tone-late: var(--pmis-danger);
  display: grid;
  gap: 16px;
}

.site-logistics-page.pmis-page .pmis-page-header {
  gap: 16px;
}

.site-logistics-page.pmis-page .pmis-panel,
.site-logistics-page.pmis-page .pmis-preview-pane,
.site-logistics-page.pmis-page .pmis-kpi-card {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-primary);
}

.site-logistics-page.pmis-page .surface-panel.pmis-panel,
.site-logistics-page.pmis-page .surface-panel.pmis-rail-card {
  background: var(--pmis-surface-panel);
}

.site-logistics-header-block,
.site-logistics-list-stack,
.site-logistics-drawer-links,
.site-logistics-drawer-list {
  display: grid;
  gap: 14px;
}

.site-logistics-page-header .page-title-block {
  max-width: 860px;
}

.site-logistics-header-chip {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-secondary);
}

.site-logistics-header-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) repeat(4, minmax(0, 1fr)) minmax(220px, 1.1fr);
  gap: 12px;
  align-items: end;
}

.site-logistics-chip-row,
.site-logistics-action-rail-row,
.site-logistics-overlay-row,
.site-logistics-map-legend,
.site-logistics-map-detail-grid,
.site-logistics-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.site-logistics-control-label,
.site-logistics-kpi-label,
.site-logistics-kpi-detail,
.site-logistics-select-field span,
.site-logistics-list-row span,
.site-logistics-list-row small,
.site-logistics-overflow-item span,
.site-logistics-drawer-grid span,
.site-logistics-drawer-list div,
.site-logistics-map-detail-grid span {
  color: var(--pmis-text-secondary);
}

.site-logistics-select-field {
  display: grid;
  gap: 6px;
}

.site-logistics-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.site-logistics-toggle-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.site-logistics-filter-chip,
.site-logistics-mini-chip,
.site-logistics-inline-chip,
.site-logistics-status-pill,
.site-logistics-severity-pill,
.site-logistics-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
  font-size: 0.76rem;
}

.site-logistics-filter-chip,
.site-logistics-mini-chip {
  font-weight: 600;
}

.site-logistics-filter-chip.is-active,
.site-logistics-mini-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.site-logistics-action-rail {
  overflow: visible;
}

.site-logistics-action-rail-row {
  position: relative;
}

.site-logistics-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.site-logistics-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-info);
  background: var(--pmis-info);
}

.site-logistics-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.site-logistics-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.site-logistics-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-logistics-action-icon svg {
  width: 16px;
  height: 16px;
}

.site-logistics-overflow {
  margin-left: auto;
  position: relative;
}

.site-logistics-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.site-logistics-overflow-item,
.site-logistics-list-row,
.site-logistics-inline-link,
.site-logistics-row-action {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.site-logistics-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.site-logistics-overflow-item:hover,
.site-logistics-list-row:hover {
  transform: translateY(-1px);
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
}

.site-logistics-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.site-logistics-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.site-logistics-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: var(--site-logistics-tone-track);
}

.site-logistics-kpi-card.is-risk::before { background: var(--site-logistics-tone-risk); }
.site-logistics-kpi-card.is-late::before { background: var(--site-logistics-tone-late); }
.site-logistics-kpi-card.is-info::before { background: var(--site-logistics-tone-track); }

.site-logistics-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.site-logistics-top-band {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.site-logistics-bottom-band {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.site-logistics-bottom-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
  gap: 16px;
}

.site-logistics-bottom-side {
  display: grid;
  gap: 16px;
}

.site-logistics-card {
  display: grid;
  gap: 14px;
}

.site-logistics-map-stage {
  position: relative;
  min-height: 430px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, var(--entry-soft-surface-strong) 0%, var(--entry-soft-surface) 100%);
  overflow: hidden;
}

.site-logistics-map-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.site-logistics-map-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(90, 127, 164, 0.08) 0 34%, transparent 34% 100%),
    radial-gradient(circle at 32% 66%, rgba(96, 149, 119, 0.2), transparent 12%),
    radial-gradient(circle at 70% 44%, rgba(120, 145, 170, 0.18), transparent 14%),
    radial-gradient(circle at 54% 78%, rgba(177, 145, 76, 0.18), transparent 10%);
}

.site-logistics-map-area,
.site-logistics-map-marker,
.site-logistics-map-route {
  position: absolute;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  z-index: 2;
}

.site-logistics-map-area {
  left: var(--area-left);
  top: var(--area-top);
  width: var(--area-width);
  height: var(--area-height);
  padding: 12px;
  transform: translate(-50%, -50%);
  border-radius: 16px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
}

.site-logistics-map-marker {
  left: var(--marker-left);
  top: var(--marker-top);
  transform: translate(-50%, -50%);
  min-width: 104px;
  padding: 10px 12px;
  border-radius: 14px;
  box-shadow: 0 16px 22px rgba(83, 108, 132, 0.16);
}

.site-logistics-map-route {
  left: var(--route-left);
  top: var(--route-top);
  width: var(--route-width);
  height: var(--route-height);
  transform: translate(-50%, -50%) rotate(var(--route-rotation));
}

.site-logistics-map-route::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(77, 132, 183, 0.35);
}

.site-logistics-map-route span {
  position: absolute;
  left: 50%;
  top: -18px;
  transform: translateX(-50%);
  font-size: 0.72rem;
  white-space: nowrap;
}

.site-logistics-map-area.is-track,
.site-logistics-map-marker.is-track,
.site-logistics-map-route.is-track { color: var(--site-logistics-tone-track); }
.site-logistics-map-area.is-risk,
.site-logistics-map-marker.is-risk,
.site-logistics-map-route.is-risk { color: var(--site-logistics-tone-risk); }
.site-logistics-map-area.is-late,
.site-logistics-map-marker.is-late,
.site-logistics-map-route.is-late { color: var(--site-logistics-tone-late); }

.site-logistics-map-area.is-track,
.site-logistics-map-marker.is-track,
.site-logistics-map-route.is-track::before { background: color-mix(in srgb, var(--site-logistics-tone-track) 16%, var(--pmis-surface-card)); }
.site-logistics-map-area.is-risk,
.site-logistics-map-marker.is-risk,
.site-logistics-map-route.is-risk::before { background: color-mix(in srgb, var(--site-logistics-tone-risk) 16%, var(--pmis-surface-card)); }
.site-logistics-map-area.is-late,
.site-logistics-map-marker.is-late,
.site-logistics-map-route.is-late::before { background: color-mix(in srgb, var(--site-logistics-tone-late) 16%, var(--pmis-surface-card)); }

.site-logistics-map-area.is-selected,
.site-logistics-map-marker.is-selected,
.site-logistics-map-route.is-selected {
  outline: 2px solid var(--site-logistics-tone-track);
  outline-offset: 2px;
}

.site-logistics-map-detail {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
}

.site-logistics-map-detail-copy {
  display: grid;
  gap: 4px;
}

.site-logistics-map-detail-grid > div {
  min-width: 120px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.52);
}

.site-logistics-list-row {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.site-logistics-list-row.is-hot {
  background: color-mix(in srgb, var(--site-logistics-tone-risk) 14%, var(--entry-soft-surface));
}

.site-logistics-list-row > div {
  display: grid;
  gap: 4px;
}

.site-logistics-list-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.site-logistics-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.site-logistics-table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

.site-logistics-occupancy-table {
  min-width: 760px;
}

.site-logistics-table th,
.site-logistics-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.site-logistics-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.site-logistics-table tbody tr:hover,
.site-logistics-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.site-logistics-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.site-logistics-inline-link,
.site-logistics-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--site-logistics-tone-track);
  font-weight: 600;
  text-decoration: none;
}

.site-logistics-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.site-logistics-status-pill.is-track,
.site-logistics-severity-pill.is-track,
.site-logistics-status-dot.is-track {
  color: var(--site-logistics-tone-track);
}

.site-logistics-status-pill.is-risk,
.site-logistics-severity-pill.is-risk,
.site-logistics-status-dot.is-risk {
  color: var(--site-logistics-tone-risk);
}

.site-logistics-status-pill.is-late,
.site-logistics-severity-pill.is-late,
.site-logistics-status-dot.is-late {
  color: var(--site-logistics-tone-late);
}

.site-logistics-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.site-logistics-drawer {
  gap: 16px;
}

.site-logistics-drawer-header p,
.site-logistics-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.site-logistics-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.site-logistics-drawer-highlight,
.site-logistics-drawer-grid > div,
.site-logistics-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.site-logistics-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1500px) {
  .site-logistics-header-controls,
  .site-logistics-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .site-logistics-header-controls > .site-logistics-chip-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1240px) {
  .site-logistics-top-band,
  .site-logistics-bottom-band,
  .site-logistics-kpi-grid {
    grid-template-columns: 1fr;
  }

  .site-logistics-bottom-main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .site-logistics-header-controls,
  .site-logistics-drawer-grid {
    grid-template-columns: 1fr;
  }

  .site-logistics-action-rail-row,
  .site-logistics-list-row,
  .site-logistics-toggle-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-logistics-map-stage {
    min-height: 340px;
  }
}

.constraints-page {
  display: grid;
  gap: 16px;
}

.constraints-page.pmis-page .pmis-page-header {
  background: var(--pmis-surface-panel);
  border-color: var(--pmis-border-subtle);
}

.constraints-page.pmis-page .pmis-panel,
.constraints-page.pmis-page .pmis-preview-pane {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
}

.constraints-header-block,
.constraints-list-stack,
.constraints-drawer-links,
.constraints-drawer-list {
  display: grid;
  gap: 14px;
}

.constraints-page-header .page-title-block {
  max-width: 860px;
}

.constraints-header-chip {
  background: var(--pmis-accent-soft);
}

.constraints-header-controls .pmis-panel-body {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.constraints-chip-row,
.constraints-action-rail-row,
.constraints-inline-controls,
.constraints-impact-map-shell,
.constraints-impact-legend,
.constraints-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.constraints-control-label,
.constraints-kpi-label,
.constraints-kpi-detail,
.constraints-select-field span,
.constraints-list-row span,
.constraints-list-row small,
.constraints-overflow-item span,
.constraints-destination-card span,
.constraints-drawer-grid span,
.constraints-drawer-list div,
.constraints-impact-summary-grid span {
  color: var(--pmis-text-secondary);
}

.constraints-select-field {
  display: grid;
  gap: 6px;
}

.constraints-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.constraints-select-field.is-compact select {
  min-height: 36px;
  border-radius: 12px;
}

.constraints-filter-chip,
.constraints-inline-chip,
.constraints-status-pill,
.constraints-severity-pill,
.constraints-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  white-space: nowrap;
  font-size: 0.76rem;
}

.constraints-filter-chip {
  font-weight: 600;
}

.constraints-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.constraints-action-rail {
  overflow: visible;
}

.constraints-action-rail-row {
  position: relative;
}

.constraints-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.constraints-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-info);
}

.constraints-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.constraints-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.constraints-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.constraints-action-icon svg {
  width: 16px;
  height: 16px;
}

.constraints-overflow {
  margin-left: auto;
  position: relative;
}

.constraints-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(241, 247, 252, 0.99) 100%);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.constraints-overflow-item,
.constraints-list-row,
.constraints-inline-link,
.constraints-row-action,
.constraints-destination-card {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.constraints-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.constraints-overflow-item:hover,
.constraints-list-row:hover,
.constraints-destination-card:hover {
  transform: translateY(-1px);
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.constraints-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.constraints-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.constraints-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: rgba(110, 157, 202, 0.34);
}

.constraints-kpi-card.is-risk::before { background: rgba(177, 145, 76, 0.5); }
.constraints-kpi-card.is-late::before { background: rgba(201, 115, 94, 0.52); }
.constraints-kpi-card.is-info::before { background: rgba(77, 132, 183, 0.52); }
.constraints-kpi-card.is-complete::before { background: rgba(104, 164, 122, 0.48); }

.constraints-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.constraints-top-band {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.constraints-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(320px, 0.72fr) minmax(300px, 0.68fr);
  gap: 16px;
  align-items: start;
}

.constraints-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.constraints-lower-side {
  display: grid;
  gap: 16px;
}

.constraints-card {
  display: grid;
  gap: 14px;
}

.constraints-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.constraints-table {
  width: 100%;
  min-width: 1160px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

.constraints-removal-table,
.constraints-impact-table {
  min-width: 900px;
}

.constraints-table th,
.constraints-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.constraints-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.constraints-table tbody tr:hover,
.constraints-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.constraints-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.constraints-inline-link,
.constraints-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: #294a6b;
  font-weight: 600;
  text-decoration: none;
}

.constraints-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.constraints-list-row,
.constraints-destination-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.constraints-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.constraints-list-row > div,
.constraints-destination-card,
.constraints-impact-summary-list,
.constraints-impact-summary-head {
  display: grid;
  gap: 4px;
}

.constraints-list-row.is-escalation {
  background: rgba(249, 243, 240, 0.72);
}

.constraints-list-row.is-pattern {
  align-items: flex-start;
}

.constraints-list-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.constraints-status-pill.is-track,
.constraints-severity-pill.is-track,
.constraints-status-dot.is-track {
  color: #375e85;
}

.constraints-status-pill.is-risk,
.constraints-severity-pill.is-risk,
.constraints-status-dot.is-risk {
  color: #8a682d;
}

.constraints-status-pill.is-late,
.constraints-severity-pill.is-late,
.constraints-status-dot.is-late {
  color: #a7544a;
}

.constraints-status-pill.is-complete,
.constraints-status-dot.is-complete {
  color: #2e6a4f;
}

.constraints-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.constraints-impact-map-shell {
  align-items: stretch;
  flex-wrap: nowrap;
}

.constraints-impact-stage {
  position: relative;
  flex: 1 1 0;
  min-height: 310px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, #eef6fc 0%, #d5e4f1 100%);
  overflow: hidden;
}

.constraints-impact-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.constraints-impact-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(90, 127, 164, 0.08) 0 34%, transparent 34% 100%),
    radial-gradient(circle at 42% 62%, rgba(96, 149, 119, 0.18), transparent 14%),
    radial-gradient(circle at 64% 40%, rgba(177, 145, 76, 0.18), transparent 12%);
}

.constraints-impact-block {
  position: absolute;
  left: var(--impact-left);
  bottom: var(--impact-bottom);
  width: var(--impact-width);
  height: var(--impact-height);
  padding: 12px;
  border-radius: 16px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.constraints-impact-block.is-track { background: linear-gradient(180deg, rgba(226, 238, 251, 0.96) 0%, rgba(204, 224, 244, 0.96) 100%); color: #295172; }
.constraints-impact-block.is-risk { background: linear-gradient(180deg, rgba(248, 240, 223, 0.96) 0%, rgba(239, 225, 192, 0.96) 100%); color: #87672d; }
.constraints-impact-block.is-blocked,
.constraints-impact-block.is-late { background: linear-gradient(180deg, rgba(248, 227, 223, 0.96) 0%, rgba(241, 208, 201, 0.96) 100%); color: #964e43; }

.constraints-impact-summary {
  width: min(320px, 100%);
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  display: grid;
  gap: 14px;
}

.constraints-impact-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.constraints-impact-summary-grid > div,
.constraints-drawer-highlight,
.constraints-drawer-grid > div,
.constraints-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.constraints-impact-summary-list > div {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.14);
  background: rgba(255, 255, 255, 0.48);
}

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

.constraints-drawer {
  gap: 16px;
}

.constraints-drawer-header p,
.constraints-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.constraints-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.constraints-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1540px) {
  .constraints-header-controls,
  .constraints-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .constraints-header-controls > .constraints-chip-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1280px) {
  .constraints-top-band,
  .constraints-middle-band,
  .constraints-lower-band,
  .constraints-kpi-grid,
  .constraints-destination-grid {
    grid-template-columns: 1fr;
  }

  .constraints-impact-map-shell {
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .constraints-header-controls,
  .constraints-drawer-grid,
  .constraints-destination-grid {
    grid-template-columns: 1fr;
  }

  .constraints-action-rail-row,
  .constraints-inline-controls,
  .constraints-list-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

.progress-page {
  display: grid;
  gap: 16px;
}

.progress-page.pmis-page .pmis-page-header {
  background: var(--pmis-surface-panel);
  border-color: var(--pmis-border-subtle);
}

.progress-page.pmis-page .pmis-panel,
.progress-page.pmis-page .pmis-preview-pane {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
}

.progress-header-block,
.progress-list-stack,
.progress-drawer-links,
.progress-drawer-list {
  display: grid;
  gap: 14px;
}

.progress-page-header .page-title-block {
  max-width: 860px;
}

.progress-header-chip {
  background: var(--pmis-accent-soft);
}

.progress-header-controls .pmis-panel-body {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) repeat(5, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.progress-chip-row,
.progress-action-rail-row,
.progress-chart-legend,
.progress-chart-axis,
.progress-chart-stats,
.progress-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.progress-control-label,
.progress-kpi-label,
.progress-kpi-detail,
.progress-select-field span,
.progress-list-row span,
.progress-list-row small,
.progress-overflow-item span,
.progress-destination-card span,
.progress-drawer-grid span,
.progress-drawer-list div,
.progress-detail-grid span,
.progress-detail-list span,
.progress-spatial-side-grid span {
  color: var(--pmis-text-secondary);
}

.progress-select-field {
  display: grid;
  gap: 6px;
}

.progress-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.progress-filter-chip,
.progress-inline-chip,
.progress-status-pill,
.progress-evidence-pill,
.progress-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  white-space: nowrap;
  font-size: 0.76rem;
}

.progress-filter-chip {
  font-weight: 600;
}

.progress-filter-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.progress-action-rail {
  overflow: visible;
}

.progress-action-rail-row {
  position: relative;
}

.progress-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.progress-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-info);
}

.progress-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.progress-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.progress-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.progress-action-icon svg {
  width: 16px;
  height: 16px;
}

.progress-overflow {
  margin-left: auto;
  position: relative;
}

.progress-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(241, 247, 252, 0.99) 100%);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.progress-overflow-item,
.progress-list-row,
.progress-inline-link,
.progress-row-action,
.progress-destination-card {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.progress-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.progress-overflow-item:hover,
.progress-list-row:hover,
.progress-destination-card:hover {
  transform: translateY(-1px);
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.progress-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.progress-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.progress-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: rgba(110, 157, 202, 0.34);
}

.progress-kpi-card.is-risk::before { background: rgba(177, 145, 76, 0.5); }
.progress-kpi-card.is-late::before { background: rgba(201, 115, 94, 0.52); }
.progress-kpi-card.is-info::before { background: rgba(77, 132, 183, 0.52); }
.progress-kpi-card.is-complete::before { background: rgba(104, 164, 122, 0.48); }

.progress-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.progress-top-band {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.progress-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.progress-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.76fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.progress-lower-side {
  display: grid;
  gap: 16px;
}

.progress-card {
  display: grid;
  gap: 14px;
}

.progress-chart-shell {
  display: grid;
  gap: 10px;
}

.progress-chart-svg {
  width: 100%;
  height: 260px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.46);
}

.progress-curve-line {
  fill: none;
  stroke-width: 1.8;
}

.progress-curve-line.is-planned { stroke: #7f9dbc; }
.progress-curve-line.is-actual { stroke: #4b86c4; }
.progress-curve-line.is-forecast { stroke: #8bb3d8; stroke-dasharray: 2.2 1.6; }

.progress-curve-point {
  fill: currentColor;
}

.progress-curve-point.is-planned { color: #7f9dbc; }
.progress-curve-point.is-actual { color: #4b86c4; }
.progress-curve-point.is-forecast { color: #8bb3d8; }

.progress-chart-axis {
  justify-content: space-between;
  font-size: 0.74rem;
  color: var(--muted);
}

.progress-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.progress-legend-dot.is-planned { color: #7f9dbc; }
.progress-legend-dot.is-actual { color: #4b86c4; }
.progress-legend-dot.is-forecast { color: #8bb3d8; }
.progress-legend-dot.is-complete { color: #2e6a4f; }
.progress-legend-dot.is-progress { color: #4b86c4; }
.progress-legend-dot.is-behind { color: #a7544a; }
.progress-legend-dot.is-risk { color: #8a682d; }

.progress-list-row,
.progress-destination-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.progress-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.progress-list-row > div,
.progress-destination-card,
.progress-detail-list,
.progress-spatial-side-head {
  display: grid;
  gap: 4px;
}

.progress-list-row.is-queue {
  background: rgba(249, 243, 240, 0.72);
}

.progress-list-meta,
.progress-chart-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.progress-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.progress-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

.progress-breakdown-table {
  min-width: 760px;
}

.progress-table th,
.progress-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.progress-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.progress-table tbody tr:hover,
.progress-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.progress-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.progress-inline-link,
.progress-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: #294a6b;
  font-weight: 600;
  text-decoration: none;
}

.progress-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.progress-variance-cell {
  font-weight: 700;
  color: #9b5148;
}

.progress-status-pill.is-track,
.progress-evidence-pill.is-track {
  color: #375e85;
}

.progress-status-pill.is-positive {
  color: #2e6a4f;
}

.progress-status-pill.is-behind,
.progress-evidence-pill.is-pending {
  color: #a7544a;
}

.progress-status-pill.is-risk,
.progress-evidence-pill.is-risk {
  color: #8a682d;
}

.progress-status-pill.is-complete,
.progress-evidence-pill.is-complete {
  color: #2e6a4f;
}

.progress-spatial-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
  gap: 14px;
}

.progress-spatial-stage {
  position: relative;
  min-height: 300px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, #eef6fc 0%, #d5e4f1 100%);
  overflow: hidden;
}

.progress-spatial-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.progress-spatial-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(90, 127, 164, 0.08) 0 34%, transparent 34% 100%),
    radial-gradient(circle at 42% 62%, rgba(96, 149, 119, 0.18), transparent 14%),
    radial-gradient(circle at 64% 40%, rgba(177, 145, 76, 0.18), transparent 12%);
}

.progress-spatial-block {
  position: absolute;
  left: var(--sp-left);
  bottom: var(--sp-bottom);
  width: var(--sp-width);
  height: var(--sp-height);
  padding: 12px;
  border-radius: 16px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.progress-spatial-block.is-complete { background: linear-gradient(180deg, rgba(223, 240, 229, 0.96) 0%, rgba(204, 232, 214, 0.96) 100%); color: #2f6246; }
.progress-spatial-block.is-in-progress { background: linear-gradient(180deg, rgba(226, 238, 251, 0.96) 0%, rgba(204, 224, 244, 0.96) 100%); color: #295172; }
.progress-spatial-block.is-behind { background: linear-gradient(180deg, rgba(248, 227, 223, 0.96) 0%, rgba(241, 208, 201, 0.96) 100%); color: #964e43; }
.progress-spatial-block.is-at-risk { background: linear-gradient(180deg, rgba(248, 240, 223, 0.96) 0%, rgba(239, 225, 192, 0.96) 100%); color: #87672d; }

.progress-spatial-side {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  display: grid;
  gap: 14px;
}

.progress-spatial-side-grid,
.progress-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.progress-spatial-side-grid > div,
.progress-detail-grid > div,
.progress-detail-list > div,
.progress-drawer-highlight,
.progress-drawer-grid > div,
.progress-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

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

.progress-drawer {
  gap: 16px;
}

.progress-drawer-header p,
.progress-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.progress-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.progress-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1500px) {
  .progress-header-controls,
  .progress-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .progress-header-controls > .progress-chip-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1280px) {
  .progress-top-band,
  .progress-middle-band,
  .progress-lower-band,
  .progress-kpi-grid,
  .progress-destination-grid {
    grid-template-columns: 1fr;
  }

  .progress-spatial-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .progress-header-controls,
  .progress-drawer-grid,
  .progress-destination-grid,
  .progress-detail-grid,
  .progress-spatial-side-grid {
    grid-template-columns: 1fr;
  }

  .progress-action-rail-row,
  .progress-list-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .progress-chart-axis {
    gap: 8px;
  }
}

.cost-forecast-page {
  --cost-forecast-tone-neutral: var(--pmis-info);
  --cost-forecast-tone-watch: var(--pmis-warning);
  --cost-forecast-tone-over: var(--pmis-danger);
  --cost-forecast-tone-success: var(--pmis-success);
  display: grid;
  gap: 16px;
}

.cost-forecast-page.pmis-page .pmis-page-header {
  gap: 16px;
}

.cost-forecast-page.pmis-page .pmis-panel,
.cost-forecast-page.pmis-page .pmis-preview-pane,
.cost-forecast-page.pmis-page .pmis-kpi-card,
.cost-forecast-page.pmis-page .pmis-entity-card {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
  color: var(--pmis-text-primary);
}

.cost-forecast-page.pmis-page .surface-panel.pmis-panel,
.cost-forecast-page.pmis-page .surface-panel.pmis-rail-card {
  background: var(--pmis-surface-panel);
}

.cost-forecast-header-block,
.cost-forecast-list-stack,
.cost-forecast-drawer-links,
.cost-forecast-drawer-list {
  display: grid;
  gap: 14px;
}

.cost-forecast-page-header .page-title-block {
  max-width: 860px;
}

.cost-forecast-header-chip {
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-secondary);
}

.cost-forecast-header-controls {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.cost-forecast-action-rail-row,
.cost-forecast-inline-controls,
.cost-forecast-chart-legend,
.cost-forecast-chart-axis,
.cost-forecast-chart-stats,
.cost-forecast-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cost-forecast-control-label,
.cost-forecast-kpi-label,
.cost-forecast-kpi-detail,
.cost-forecast-select-field span,
.cost-forecast-list-row span,
.cost-forecast-list-row small,
.cost-forecast-overflow-item span,
.cost-forecast-destination-card span,
.cost-forecast-drawer-grid span,
.cost-forecast-drawer-list div {
  color: var(--pmis-text-secondary);
}

.cost-forecast-select-field {
  display: grid;
  gap: 6px;
}

.cost-forecast-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.cost-forecast-select-field.is-compact select {
  min-height: 36px;
  border-radius: 12px;
}

.cost-forecast-inline-chip,
.cost-forecast-status-pill,
.cost-forecast-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-secondary);
  white-space: nowrap;
  font-size: 0.76rem;
}

.cost-forecast-action-rail {
  overflow: visible;
}

.cost-forecast-action-rail-row {
  position: relative;
}

.cost-forecast-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.cost-forecast-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-info);
  background: var(--pmis-info);
}

.cost-forecast-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.cost-forecast-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.cost-forecast-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cost-forecast-action-icon svg {
  width: 16px;
  height: 16px;
}

.cost-forecast-overflow {
  margin-left: auto;
  position: relative;
}

.cost-forecast-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--pmis-surface-panel);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.cost-forecast-overflow-item,
.cost-forecast-list-row,
.cost-forecast-inline-link,
.cost-forecast-row-action,
.cost-forecast-destination-card {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.cost-forecast-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--pmis-text-primary);
  text-align: left;
}

.cost-forecast-overflow-item:hover,
.cost-forecast-list-row:hover,
.cost-forecast-destination-card:hover {
  transform: translateY(-1px);
  border-color: var(--pmis-border-strong);
  background: var(--entry-soft-surface-strong);
}

.cost-forecast-kpi-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}

.cost-forecast-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.cost-forecast-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: var(--cost-forecast-tone-neutral);
}

.cost-forecast-kpi-card.is-risk::before { background: var(--cost-forecast-tone-watch); }
.cost-forecast-kpi-card.is-late::before { background: var(--cost-forecast-tone-over); }
.cost-forecast-kpi-card.is-info::before { background: var(--cost-forecast-tone-neutral); }
.cost-forecast-kpi-card.is-complete::before { background: var(--cost-forecast-tone-success); }

.cost-forecast-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.cost-forecast-top-band {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(260px, 0.54fr) minmax(300px, 0.64fr);
  gap: 16px;
  align-items: start;
}

.cost-forecast-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.36fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.cost-forecast-middle-side,
.cost-forecast-lower-side {
  display: grid;
  gap: 16px;
}

.cost-forecast-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.72fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.cost-forecast-card {
  display: grid;
  gap: 14px;
}

.cost-forecast-chart-shell {
  display: grid;
  gap: 10px;
}

.cost-forecast-chart-svg {
  width: 100%;
  height: 260px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.46);
}

.cost-forecast-line {
  fill: none;
  stroke-width: 1.8;
}

.cost-forecast-line.is-budget { stroke: var(--pmis-border-strong); }
.cost-forecast-line.is-actual { stroke: var(--cost-forecast-tone-neutral); }
.cost-forecast-line.is-forecast { stroke: var(--cost-forecast-tone-success); stroke-dasharray: 2.2 1.6; }

.cost-forecast-chart-axis {
  justify-content: space-between;
  font-size: 0.74rem;
  color: var(--muted);
}

.cost-forecast-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.cost-forecast-legend-dot.is-budget { color: var(--pmis-border-strong); }
.cost-forecast-legend-dot.is-actual { color: var(--cost-forecast-tone-neutral); }
.cost-forecast-legend-dot.is-forecast { color: var(--cost-forecast-tone-success); }

.cost-forecast-summary-grid,
.cost-forecast-drawer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.cost-forecast-summary-grid > div,
.cost-forecast-drawer-highlight,
.cost-forecast-drawer-grid > div,
.cost-forecast-drawer-list div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.cost-forecast-list-row,
.cost-forecast-destination-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.cost-forecast-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.cost-forecast-list-row.is-watch {
  background: color-mix(in srgb, var(--cost-forecast-tone-watch) 14%, var(--entry-soft-surface));
}

.cost-forecast-list-row > div,
.cost-forecast-destination-card {
  display: grid;
  gap: 4px;
}

.cost-forecast-list-meta,
.cost-forecast-chart-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cost-forecast-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.cost-forecast-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

.cost-forecast-adjustments-table {
  min-width: 980px;
}

.cost-forecast-table th,
.cost-forecast-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.cost-forecast-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.cost-forecast-table tbody tr:hover,
.cost-forecast-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.cost-forecast-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.cost-forecast-inline-link,
.cost-forecast-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--cost-forecast-tone-neutral);
  font-weight: 600;
  text-decoration: none;
}

.cost-forecast-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.cost-forecast-variance-cell {
  font-weight: 700;
  color: var(--cost-forecast-tone-over);
}

.cost-forecast-status-pill.is-neutral,
.cost-forecast-status-pill.is-stable {
  color: var(--cost-forecast-tone-neutral);
}

.cost-forecast-status-pill.is-watch {
  color: var(--cost-forecast-tone-watch);
}

.cost-forecast-status-pill.is-over {
  color: var(--cost-forecast-tone-over);
}

.cost-forecast-bars {
  display: grid;
  gap: 10px;
}

.cost-forecast-bar-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(0, 1.2fr) auto;
  gap: 10px;
  align-items: center;
}

.cost-forecast-bar-copy {
  display: grid;
  gap: 3px;
}

.cost-forecast-bar-shell {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: var(--entry-soft-surface-strong);
  overflow: hidden;
}

.cost-forecast-bar-actual {
  display: block;
  width: var(--bar-width);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cost-forecast-tone-neutral), var(--cost-forecast-tone-success));
}

.cost-forecast-destination-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cost-forecast-drawer {
  gap: 16px;
}

.cost-forecast-drawer-header p,
.cost-forecast-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.cost-forecast-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1500px) {
  .cost-forecast-header-controls,
  .cost-forecast-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

@media (max-width: 1280px) {
  .cost-forecast-top-band,
  .cost-forecast-middle-band,
  .cost-forecast-lower-band,
  .cost-forecast-kpi-grid,
  .cost-forecast-destination-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .cost-forecast-header-controls,
  .cost-forecast-drawer-grid,
  .cost-forecast-summary-grid,
  .cost-forecast-destination-grid {
    grid-template-columns: 1fr;
  }

  .cost-forecast-action-rail-row,
  .cost-forecast-inline-controls,
  .cost-forecast-list-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .cost-forecast-bar-row {
    grid-template-columns: 1fr;
  }
}

.project-info-feedback,
.directory-feedback,
.locations-feedback,
.scope-wbs-feedback,
.contracts-feedback {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--entry-soft-surface);
}

.project-info-feedback.is-error,
.directory-feedback.is-error,
.locations-feedback.is-error,
.scope-wbs-feedback.is-error,
.contracts-feedback.is-error {
  border-color: color-mix(in srgb, var(--pmis-danger) 34%, transparent);
  color: var(--pmis-danger);
}

.project-info-feedback.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 34%, transparent);
  color: var(--pmis-success);
}

.project-info-fields-card,
.directory-editor-card,
.locations-editor-card,
.scope-wbs-editor-card,
.contracts-editor-card,
.locations-areas-empty,
.scope-req-empty,
.contracts-packages-empty {
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: var(--entry-soft-surface);
}

.project-info-fields-card,
.locations-areas-empty,
.scope-req-empty,
.contracts-packages-empty {
  padding: 16px;
}

.directory-contact-import-panel {
  display: grid;
  grid-template-columns: minmax(180px, 0.75fr) minmax(280px, 1.2fr);
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: color-mix(in srgb, var(--entry-soft-surface-strong) 62%, transparent);
}

.directory-contact-import-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.directory-contact-import-copy span,
.directory-contact-import-field span,
.directory-contact-import-person span,
.directory-contact-import-person small,
.directory-contact-import-message {
  color: var(--muted);
}

.directory-contact-import-copy span,
.directory-contact-import-field span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.directory-contact-import-copy strong {
  color: var(--text);
}

.directory-contact-import-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  min-width: 0;
}

.directory-contact-import-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.directory-contact-import-field input {
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--entry-soft-surface-strong);
  color: var(--text);
}

.directory-contact-import-find {
  min-height: 40px;
  white-space: nowrap;
}

.directory-contact-import-message {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: var(--entry-soft-surface);
}

.directory-contact-import-message.is-error {
  border-color: color-mix(in srgb, var(--danger) 34%, transparent);
  color: var(--danger);
}

.directory-contact-import-result {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--success) 26%, var(--line-soft));
  border-radius: 8px;
  background: color-mix(in srgb, var(--success) 8%, var(--entry-soft-surface));
}

.directory-contact-import-result.is-linked {
  border-color: color-mix(in srgb, var(--warning) 28%, var(--line-soft));
  background: color-mix(in srgb, var(--warning) 9%, var(--entry-soft-surface));
}

.directory-contact-import-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--surface-card-bg);
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 800;
}

.directory-contact-import-person {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.directory-contact-import-person-head,
.directory-contact-import-result-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.directory-contact-import-person strong,
.directory-contact-import-person span,
.directory-contact-import-person small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-contact-import-result-actions {
  justify-content: flex-end;
}

.project-info-field-row,
.project-info-note-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-soft);
}

.project-info-field-row:first-child,
.project-info-note-row:first-child {
  padding-top: 0;
}

.project-info-field-row:last-child,
.project-info-note-row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.project-info-field-row span,
.project-info-note-row span {
  color: var(--muted);
}

.project-info-form-grid,
.directory-editor-grid,
.locations-editor-grid,
.scope-wbs-editor-grid,
.contracts-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.project-info-form-field,
.directory-editor-field,
.locations-editor-field,
.scope-wbs-editor-field,
.contracts-editor-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.project-info-form-field-label,
.directory-editor-field-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
}

.directory-editor-grid .directory-editor-field:nth-child(odd) .pmis-help-tooltip {
  right: auto;
  left: 0;
}

.directory-editor-grid .directory-editor-field.is-full .pmis-help-tooltip {
  right: auto;
  left: 0;
}

.project-info-form-field.is-full,
.directory-editor-field.is-full,
.locations-editor-field.is-full,
.scope-wbs-editor-field.is-full,
.contracts-editor-field.is-full {
  grid-column: 1 / -1;
}

.project-info-form-field input,
.project-info-form-field textarea,
.directory-editor-field input,
.directory-editor-field textarea,
.directory-editor-field select,
.locations-editor-field input,
.locations-editor-field textarea,
.locations-editor-field select,
.scope-wbs-editor-field input,
.scope-wbs-editor-field textarea,
.scope-wbs-editor-field select,
.contracts-editor-field input,
.contracts-editor-field textarea,
.contracts-editor-field select {
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--entry-soft-surface-strong);
  color: var(--text);
}

.project-info-form-field textarea,
.directory-editor-field textarea,
.locations-editor-field textarea,
.scope-wbs-editor-field textarea,
.contracts-editor-field textarea {
  min-height: 88px;
  resize: vertical;
}

.project-info-upload-control {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
}

.project-info-upload-control input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-info-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  min-width: 154px;
  margin: 0;
  cursor: pointer;
}

.project-info-upload-icon {
  width: 16px;
  height: 16px;
}

.project-info-upload-file {
  min-width: 0;
  color: var(--muted);
  font-size: 0.84rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-info-upload-file.is-error {
  color: var(--danger);
}

.project-info-picture-frame img[data-project-info-picture-storage]:not([src]) {
  opacity: 0;
}

@media (max-width: 640px) {
  .project-info-upload-control {
    align-items: stretch;
    flex-direction: column;
  }

  .project-info-upload-button {
    width: 100%;
  }
}

.directory-workspace-chip,
.locations-areas-meta-chip,
.scope-req-pill,
.contracts-packages-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--entry-accent-wash);
  color: var(--text);
  font-size: 0.82rem;
}

.directory-company-card-links,
.directory-company-card-meta,
.locations-areas-row-actions,
.scope-req-wbs-row-actions,
.contracts-packages-row-actions,
.directory-editor-actions,
.locations-editor-actions,
.scope-wbs-editor-actions,
.contracts-editor-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.directory-company-card-links {
  margin: 8px 0 0;
}

.directory-company-card-foot,
.locations-editor-actions,
.scope-wbs-editor-actions,
.contracts-editor-actions {
  margin-top: 12px;
}

.locations-areas-row-actions,
.scope-req-wbs-row-actions,
.contracts-packages-row-actions {
  align-items: center;
}

.project-info-note-list,
.directory-support-rail,
.locations-areas-empty,
.scope-req-empty,
.contracts-packages-empty {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.locations-areas-empty strong,
.scope-req-empty strong,
.contracts-packages-empty strong,
.directory-workspace-empty strong {
  display: block;
}

.contracts-packages-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.scope-req-wbs-tree {
  display: grid;
  gap: var(--space-2, 12px);
}

@media (max-width: 900px) {
  .project-info-form-grid,
  .directory-editor-grid,
  .locations-editor-grid,
  .scope-wbs-editor-grid,
  .contracts-editor-grid {
    grid-template-columns: 1fr;
  }

  .directory-contact-import-panel,
  .directory-contact-import-controls,
  .directory-contact-import-result {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .directory-contact-import-result-actions {
    justify-content: flex-start;
  }

  .directory-editor-grid .directory-editor-field .pmis-help-tooltip {
    right: auto;
    left: 0;
  }

  .locations-areas-row-actions,
  .scope-req-wbs-row-actions,
  .contracts-packages-row-actions,
  .directory-editor-actions,
  .locations-editor-actions,
  .scope-wbs-editor-actions,
  .contracts-editor-actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

.subm-governed-surface-panel,
.subm-governance-evidence-item,
.subm-governance-proposal-card,
.asset-governed-card,
.cde-pdf-evidence-actions {
  border: 1px solid var(--line-soft);
  background: var(--surface-card-bg);
}

.subm-governed-surface-panel {
  padding: 16px;
  border-radius: 8px;
}

.subm-governed-pdf-surface .cde-pdf-layout {
  min-height: 620px;
}

.subm-governance-grid,
.subm-governance-status-row,
.subm-governance-evidence-list,
.subm-governance-proposal-list,
.asset-governed-list,
.asset-governed-values {
  display: grid;
  gap: 10px;
}

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

.subm-governance-field {
  display: grid;
  gap: 6px;
}

.subm-governance-status-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.subm-governance-evidence-item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 8px;
  text-align: left;
}

.subm-governance-evidence-item.is-selected {
  border-color: var(--line-strong);
  box-shadow: inset 0 0 0 1px rgba(97, 140, 184, 0.18);
}

.subm-governance-evidence-item div,
.subm-governance-proposal-card {
  min-width: 0;
}

.subm-governance-evidence-item strong,
.subm-governance-proposal-card strong,
.asset-governed-card strong {
  overflow-wrap: anywhere;
}

.subm-governance-actions {
  display: flex;
  justify-content: flex-start;
}

.subm-governance-proposal-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 8px;
}

.subm-governance-proposal-card small,
.subm-governance-proposal-card em,
.asset-governed-meta,
.asset-governed-meta small {
  color: var(--muted);
}

.subm-governance-proposal-head,
.asset-governed-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.subm-governance-decision-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.asset-governed-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
}

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

.asset-governed-values dt {
  font-size: 0.72rem;
  text-transform: uppercase;
  color: var(--muted);
}

.asset-governed-values dd,
.asset-governed-meta {
  margin: 0;
}

.cde-pdf-evidence-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cde-pdf-evidence-rect {
  position: absolute;
  border: 1px solid rgba(70, 138, 205, 0.72);
  background: rgba(122, 181, 236, 0.18);
  border-radius: 4px;
  pointer-events: auto;
}

.cde-pdf-evidence-rect.is-selected {
  border-color: rgba(29, 107, 183, 0.88);
  background: rgba(96, 158, 216, 0.3);
}

.cde-pdf-evidence-rect.is-draft {
  border-style: dashed;
  background: rgba(255, 206, 112, 0.22);
  pointer-events: none;
}

.cde-pdf-evidence-actions {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 4;
  display: grid;
  gap: 10px;
  width: min(320px, calc(100% - 28px));
  padding: 12px;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(37, 58, 84, 0.16);
}

.cde-pdf-evidence-actions.is-hidden {
  display: none;
}

.cde-pdf-evidence-actions-copy {
  display: grid;
  gap: 4px;
}

.cde-pdf-evidence-actions-copy span {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.cde-pdf-evidence-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 1260px) {
  .subm-governance-grid,
  .subm-governance-status-row,
  .asset-governed-values {
    grid-template-columns: 1fr;
  }
}

.subm-page-shell {
  --subm-panel-bg: var(--pmis-surface-card);
  --subm-panel-bg-soft: var(--pmis-surface-panel);
  --subm-panel-border: var(--pmis-border-subtle);
  --subm-panel-border-strong: var(--pmis-border-strong);
  --subm-surface-soft: var(--entry-soft-surface);
  --subm-surface-soft-strong: var(--entry-soft-surface-strong);
  --subm-text-primary: var(--pmis-text-primary);
  --subm-text-secondary: var(--pmis-text-secondary);
  --subm-text-tertiary: var(--pmis-text-tertiary);
  --subm-accent: var(--pmis-accent);
  --subm-accent-soft: var(--pmis-accent-soft);
  --subm-panel-radius: 8px;
  --subm-table-columns: 96px minmax(300px, 1.85fr) 132px 148px 156px 180px 208px 112px;
  display: grid;
  gap: 12px;
}

.subm-page-shell .subm-header-actions,
.subm-page-shell .subm-context-chip-row,
.subm-page-shell .subm-selection-header,
.subm-page-shell .subm-evidence-action-row,
.subm-page-shell .subm-evidence-status-line,
.subm-page-shell .subm-topbar-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.subm-page-shell .subm-header-actions,
.subm-page-shell .subm-evidence-action-row {
  flex-wrap: wrap;
}

.subm-page-shell .subm-primary-button,
.subm-page-shell .subm-secondary-button,
.subm-page-shell .subm-action-button,
.subm-page-shell .subm-icon-button,
.subm-page-shell .subm-context-chip,
.subm-page-shell .subm-status-badge {
  min-height: 30px;
  border-radius: 8px;
}

.subm-page-shell .subm-primary-button,
.subm-page-shell .subm-secondary-button,
.subm-page-shell .subm-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-panel-bg-soft);
  color: var(--subm-text-primary);
  text-decoration: none;
}

.subm-page-shell .subm-primary-button {
  background: var(--subm-accent);
  border-color: var(--subm-accent);
  color: var(--pmis-surface-card);
}

.subm-page-shell .subm-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-panel-bg-soft);
  color: var(--subm-text-primary);
}

.subm-page-shell .subm-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: none;
}

.subm-page-shell .subm-icon-button svg,
.subm-page-shell .subm-inline-icon svg {
  width: 14px;
  height: 14px;
}

.subm-page-shell .subm-context-chip,
.subm-page-shell .subm-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-surface-soft);
  font-size: 0.76rem;
}

.subm-page-shell .subm-status-badge.is-info {
  color: var(--pmis-info);
}

.subm-page-shell .subm-status-badge.is-warning {
  color: var(--pmis-warning);
}

.subm-page-shell .subm-status-badge.is-success {
  color: var(--pmis-success);
}

.subm-page-shell .subm-status-badge.is-danger {
  color: var(--pmis-danger);
}

.subm-summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-panel-bg-soft);
}

.subm-summary-item {
  display: grid;
  gap: 8px;
  min-height: 56px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-surface-soft);
}

.subm-summary-item span {
  color: var(--subm-text-secondary);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.subm-summary-item strong {
  font-size: 0.88rem;
}

.subm-workspace,
.subm-browse-grid {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr) 332px;
  gap: 12px;
  align-items: start;
}

.subm-center-pane {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.subm-center-surface {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.subm-lens-panel,
.subm-table-panel,
.subm-selection-panel,
.subm-details-pane,
.subm-pdf-panel,
.subm-evidence-panel {
  min-width: 0;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-panel-bg);
}

.subm-lens-panel,
.subm-selection-panel,
.subm-details-pane,
.subm-evidence-panel {
  padding: 12px;
}

.subm-table-panel,
.subm-pdf-panel {
  padding: 10px;
}

.subm-panel-heading,
.subm-lens-section,
.subm-selection-section,
.subm-evidence-section,
.subm-table-panel {
  display: grid;
  gap: 10px;
}

.subm-panel-heading h2,
.subm-table-identity h2,
.subm-selection-title h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.subm-panel-heading p,
.subm-table-helper,
.subm-section-heading span,
.subm-queue-item small,
.subm-queue-item em,
.subm-runtime-panel span,
.subm-evidence-preview small,
.subm-evidence-preview p,
.subm-selection-grid span,
.subm-empty-inline,
.subm-empty-state span {
  color: var(--subm-text-secondary);
}

.subm-lens-section + .subm-lens-section,
.subm-selection-section + .subm-selection-section,
.subm-evidence-section + .subm-evidence-section {
  padding-top: 10px;
  border-top: 1px solid var(--subm-panel-border);
}

.subm-lens-section-label,
.subm-section-heading strong,
.subm-table-head {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--subm-text-secondary);
}

.subm-lens-list {
  display: grid;
  gap: 4px;
}

.subm-lens-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--subm-text-primary);
  text-align: left;
}

.subm-lens-button:hover {
  background: var(--subm-surface-soft);
}

.subm-lens-button.is-active {
  border-color: var(--subm-panel-border-strong);
  background: var(--subm-accent-soft);
}

.subm-lens-copy {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.subm-lens-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid var(--subm-panel-border);
  color: var(--subm-text-secondary);
  font-size: 0.72rem;
}

.subm-table-topbar {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-panel-bg-soft);
}

.subm-topbar-head {
  justify-content: space-between;
  flex-wrap: wrap;
}

.subm-mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-surface-soft);
}

.subm-mode-button {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--subm-text-primary);
}

.subm-mode-button.is-active {
  border-color: var(--subm-panel-border-strong);
  background: var(--subm-accent-soft);
}

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

.subm-table-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.subm-table-helper {
  min-width: 0;
  max-width: 220px;
  font-size: 0.76rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.subm-table-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(0, 0.82fr)) minmax(0, 0.8fr) minmax(0, 0.8fr);
  gap: 6px;
  align-items: center;
}

.subm-search-field,
.subm-filter-select,
.subm-evidence-field select {
  width: 100%;
  min-height: 32px;
  border-radius: 7px;
  border: 1px solid var(--subm-panel-border);
  background: var(--subm-surface-soft-strong);
  color: var(--subm-text-primary);
}

.subm-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
}

.subm-search-field input,
.subm-filter-select,
.subm-evidence-field select {
  border: 0;
  background: transparent;
  color: inherit;
}

.subm-table-shell {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-panel-bg);
}

.subm-table-head,
.subm-table-row {
  display: grid;
  grid-template-columns: var(--subm-table-columns);
  gap: 10px;
  align-items: center;
}

.subm-table-head {
  padding: 9px 12px;
  border-bottom: 1px solid var(--subm-panel-border);
  background: var(--subm-surface-soft);
}

.subm-table-body {
  display: grid;
}

.subm-table-row {
  width: 100%;
  min-height: 44px;
  padding: 7px 12px;
  border: 0;
  border-bottom: 1px solid var(--subm-panel-border);
  background: transparent;
  color: var(--subm-text-primary);
  text-align: left;
}

.subm-table-row:last-child {
  border-bottom: 0;
}

.subm-table-row:hover {
  background: var(--subm-surface-soft);
}

.subm-table-row.is-selected {
  background: var(--subm-accent-soft);
  box-shadow: inset 2px 0 0 var(--subm-accent);
}

.subm-table-cell {
  min-width: 0;
}

.subm-table-cell-title,
.subm-table-cell-package,
.subm-table-cell-requirement,
.subm-table-cell-person,
.subm-table-cell-updated {
  display: grid;
  gap: 2px;
}

.subm-table-cell strong,
.subm-queue-item strong,
.subm-selection-grid strong,
.subm-evidence-preview strong {
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.subm-table-cell small {
  color: var(--subm-text-secondary);
  font-size: 0.75rem;
  line-height: 1.2;
}

.subm-table-cell-title strong,
.subm-table-cell-title small,
.subm-table-cell-requirement strong,
.subm-table-cell-requirement small,
.subm-table-cell-package strong,
.subm-table-cell-package small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.subm-table-cell-type,
.subm-table-cell-id,
.subm-table-cell-status {
  white-space: nowrap;
}

.subm-table-cell-person strong,
.subm-table-cell-person small,
.subm-table-cell-updated strong,
.subm-table-cell-updated small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.subm-selection-panel,
.subm-details-pane,
.subm-evidence-panel {
  display: grid;
  gap: 10px;
}

.subm-selection-header {
  justify-content: space-between;
}

.subm-selection-title {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.subm-record-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--entry-accent-wash);
  color: var(--accent-strong);
}

.subm-selection-grid {
  display: grid;
  gap: 8px;
}

.subm-selection-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.subm-selection-row strong {
  text-align: right;
}

.subm-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.subm-processing-grid,
.subm-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 12px;
  align-items: start;
}

.subm-pdf-panel {
  min-width: 0;
}

.subm-evidence-field-grid,
.subm-queue-summary {
  display: grid;
  gap: 8px;
}

.subm-evidence-field-grid {
  grid-template-columns: 1fr;
}

.subm-evidence-field {
  display: grid;
  gap: 4px;
}

.subm-evidence-field span {
  font-size: 0.72rem;
  color: var(--subm-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.subm-evidence-preview,
.subm-queue-item,
.subm-evidence-item {
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-surface-soft);
}

.subm-evidence-preview,
.subm-queue-item {
  display: grid;
  gap: 6px;
  padding: 10px;
}

.subm-evidence-preview p,
.subm-evidence-preview small,
.subm-queue-item small,
.subm-queue-item em {
  margin: 0;
}

.subm-evidence-list,
.subm-queue-list {
  display: grid;
  gap: 8px;
}

.subm-evidence-item {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  text-align: left;
}

.subm-evidence-item.is-selected {
  border-color: var(--subm-panel-border-strong);
  background: var(--subm-accent-soft);
}

.subm-evidence-item-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.subm-evidence-item-copy strong,
.subm-evidence-item-copy small {
  overflow-wrap: anywhere;
}

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

.subm-queue-summary-item {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-surface-soft);
}

.subm-queue-summary-item span {
  color: var(--subm-text-secondary);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.subm-queue-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.subm-evidence-status-line {
  justify-content: space-between;
}

.subm-evidence-status-line span {
  color: var(--muted);
  font-size: 0.76rem;
}

.governed-pdf-surface--submittals {
  --governed-pdf-toolbar-bg: rgba(255, 255, 255, 0.84);
  --governed-pdf-panel-bg: rgba(255, 255, 255, 0.9);
  --governed-pdf-control-bg: rgba(255, 255, 255, 0.72);
  --governed-pdf-shadow: none;
}

.governed-pdf-surface--submittals .cde-pdf-layout {
  min-height: 640px;
}

.governed-pdf-surface--submittals .governed-pdf-toolbar {
  grid-template-columns: minmax(180px, max-content) minmax(0, 1fr);
  gap: 8px 10px;
  padding: 8px 10px;
}

.governed-pdf-surface--submittals .governed-pdf-toolbar-title strong {
  font-size: 0.8rem;
}

.governed-pdf-surface--submittals .governed-pdf-toolbar-title span {
  font-size: 0.7rem;
}

.governed-pdf-surface--submittals .governed-pdf-toolbar-controls {
  grid-template-columns: auto auto minmax(170px, 1fr) auto;
  gap: 6px 8px;
}

.governed-pdf-surface--submittals .governed-pdf-tool,
.governed-pdf-surface--submittals .governed-pdf-page-field input,
.governed-pdf-surface--submittals .cde-pdf-search-form input {
  min-height: 30px;
}

.subm-page-shell .subm-empty-state {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-panel-bg-soft);
}

.subm-runtime-panel {
  align-content: start;
}

.subm-dialog {
  width: min(760px, 100%);
}

.subm-dialog .cde-upload-form input[type="date"] {
  font: inherit;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-surface-soft);
  color: var(--subm-text-primary);
}

.subm-dialog-section {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.subm-dialog-note,
.subm-dialog-source-preview span,
.subm-dialog-source-preview small {
  color: var(--subm-text-secondary);
}

.subm-dialog-note,
.subm-dialog-source-preview,
.subm-dialog-file-chip {
  padding: 10px 12px;
  border: 1px solid var(--subm-panel-border);
  border-radius: 8px;
  background: var(--subm-surface-soft);
}

.subm-dialog-source-preview {
  display: grid;
  gap: 4px;
}

.subm-dialog-source-preview.is-empty {
  min-height: 54px;
  align-content: center;
}

.subm-dialog-file-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 1560px) {
  .subm-page-shell {
    --subm-table-columns: 96px minmax(260px, 1.6fr) 124px 140px 148px 168px 188px 104px;
  }

  .subm-workspace,
  .subm-browse-grid {
    grid-template-columns: 220px minmax(0, 1fr) 316px;
  }

  .subm-processing-grid,
  .subm-process-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
}

@media (max-width: 1320px) {
  .subm-workspace,
  .subm-browse-grid {
    grid-template-columns: 216px minmax(0, 1fr);
  }

  .subm-selection-panel,
  .subm-details-pane {
    grid-column: 1 / -1;
  }

  .subm-processing-grid,
  .subm-process-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .subm-evidence-panel {
    min-width: 0;
  }
}

@media (max-width: 1120px) {
  .subm-table-toolbar,
  .subm-queue-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .subm-workspace,
  .subm-browse-grid {
    grid-template-columns: 1fr;
  }

  .subm-lens-panel,
  .subm-selection-panel,
  .subm-details-pane {
    order: 0;
  }

  .subm-table-panel {
    order: -1;
  }
}

@media (max-width: 860px) {
  .subm-table-toolbar,
  .subm-queue-summary {
    grid-template-columns: 1fr;
  }

  .subm-table-head {
    display: none;
  }

  .subm-table-row {
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: start;
  }

  .subm-table-cell-id {
    grid-row: 1 / span 8;
  }

  .subm-table-row .subm-table-cell:nth-child(n + 2) {
    grid-column: 2;
  }

  .subm-topbar-head {
    align-items: flex-start;
  }

  .governed-pdf-surface--submittals .governed-pdf-toolbar-controls {
    grid-template-columns: auto auto minmax(120px, 1fr) auto;
  }
}

.risks-page {
  display: grid;
  gap: 16px;
}

.risks-page.pmis-page .pmis-page-header {
  background: var(--pmis-surface-panel);
  border-color: var(--pmis-border-subtle);
}

.risks-page.pmis-page .pmis-panel,
.risks-page.pmis-page .pmis-preview-pane {
  background: var(--pmis-surface-card);
  border-color: var(--pmis-border-subtle);
}

.risks-header-block,
.risks-list-stack,
.risks-drawer-links,
.risks-drawer-list {
  display: grid;
  gap: 14px;
}

.risks-page-header .page-title-block {
  max-width: 860px;
}

.risks-header-chip {
  background: var(--pmis-accent-soft);
}

.risks-header-controls .pmis-panel-body {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.risks-chip-row,
.risks-action-rail-row,
.risks-inline-controls,
.risks-heatmap-shell,
.risks-heatmap-summary-grid,
.risks-heatmap-actions,
.risks-list-meta,
.risks-drawer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.risks-control-label,
.risks-kpi-label,
.risks-kpi-detail,
.risks-select-field span,
.risks-list-row span,
.risks-list-row small,
.risks-overflow-item span,
.risks-destination-card span,
.risks-drawer-grid span,
.risks-drawer-list div,
.risks-heatmap-summary-head span,
.risks-heatmap-summary-copy {
  color: var(--pmis-text-secondary);
}

.risks-select-field {
  display: grid;
  gap: 6px;
}

.risks-select-field select {
  min-height: 40px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  padding: 0 12px;
}

.risks-select-field.is-compact select {
  min-height: 36px;
  border-radius: 12px;
}

.risks-filter-chip,
.risks-mini-chip,
.risks-inline-chip,
.risks-status-pill,
.risks-rating-pill,
.risks-legend-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  white-space: nowrap;
  font-size: 0.76rem;
}

.risks-filter-chip,
.risks-mini-chip {
  font-weight: 600;
}

.risks-filter-chip.is-active,
.risks-mini-chip.is-active {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
  color: var(--pmis-text-primary);
}

.risks-action-rail {
  overflow: visible;
}

.risks-action-rail-row {
  position: relative;
}

.risks-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
  color: var(--pmis-text-primary);
  font-weight: 600;
}

.risks-action-button.is-primary {
  color: var(--pmis-surface-card);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-info);
}

.risks-action-button.is-strategic {
  color: var(--pmis-text-primary);
  border-color: var(--pmis-border-strong);
  background: var(--pmis-accent-soft);
}

.risks-action-button.is-mini {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
}

.risks-action-button.is-overflow {
  min-width: 48px;
  padding: 0;
}

.risks-action-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.risks-action-icon svg {
  width: 16px;
  height: 16px;
}

.risks-overflow {
  margin-left: auto;
  position: relative;
}

.risks-overflow-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(241, 247, 252, 0.99) 100%);
  box-shadow: 0 18px 42px rgba(102, 126, 149, 0.18);
  display: grid;
  gap: 8px;
  z-index: 18;
}

.risks-overflow-item,
.risks-list-row,
.risks-inline-link,
.risks-row-action,
.risks-destination-card,
.risks-heatmap-point {
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.risks-overflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.risks-overflow-item:hover,
.risks-list-row:hover,
.risks-destination-card:hover {
  transform: translateY(-1px);
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.56);
}

.risks-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.risks-kpi-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  position: relative;
}

.risks-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 20px 20px 0 0;
  background: rgba(110, 157, 202, 0.34);
}

.risks-kpi-card.is-high::before { background: rgba(201, 115, 94, 0.52); }
.risks-kpi-card.is-watch::before { background: rgba(177, 145, 76, 0.5); }
.risks-kpi-card.is-info::before { background: rgba(77, 132, 183, 0.52); }
.risks-kpi-card.is-complete::before { background: rgba(104, 164, 122, 0.48); }

.risks-kpi-value {
  font-size: 1.65rem;
  line-height: 1;
}

.risks-top-band {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(260px, 0.56fr) minmax(300px, 0.68fr);
  gap: 16px;
  align-items: start;
}

.risks-middle-band {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(300px, 0.72fr) minmax(280px, 0.56fr);
  gap: 16px;
  align-items: start;
}

.risks-middle-side,
.risks-lower-side {
  display: grid;
  gap: 16px;
}

.risks-lower-band {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr) minmax(300px, 0.62fr);
  gap: 16px;
  align-items: start;
}

.risks-card {
  display: grid;
  gap: 14px;
}

.risks-heatmap-shell {
  align-items: stretch;
  flex-wrap: nowrap;
}

.risks-heatmap-grid {
  position: relative;
  flex: 1 1 0;
  min-height: 320px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 1px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.risks-heatmap-cell:nth-child(5n+1) { background: rgba(161, 208, 181, 0.32); }
.risks-heatmap-cell:nth-child(5n+2) { background: rgba(199, 224, 183, 0.34); }
.risks-heatmap-cell:nth-child(5n+3) { background: rgba(239, 229, 167, 0.34); }
.risks-heatmap-cell:nth-child(5n+4) { background: rgba(244, 198, 139, 0.36); }
.risks-heatmap-cell:nth-child(5n+5) { background: rgba(243, 160, 132, 0.38); }

.risks-heatmap-point {
  position: absolute;
  left: calc(var(--risk-x) * 100%);
  top: calc(var(--risk-y) * 100%);
  transform: translate(calc(-50% + (var(--risk-offset) * 8px)), calc(-50% + (var(--risk-offset) * 6px)));
  min-width: 36px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(74, 132, 190, 0.88);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  z-index: 2;
}

.risks-heatmap-point.is-high { background: rgba(230, 123, 99, 0.92); }
.risks-heatmap-point.is-critical { background: rgba(201, 84, 74, 0.96); }
.risks-heatmap-point.is-watch { background: rgba(210, 168, 79, 0.94); }

.risks-heatmap-point.is-selected {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.72), 0 0 0 5px rgba(74, 132, 190, 0.28);
}

.risks-heatmap-summary {
  width: min(320px, 100%);
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  display: grid;
  gap: 14px;
}

.risks-heatmap-summary-grid {
  justify-content: stretch;
}

.risks-heatmap-summary-grid > div,
.risks-spatial-summary,
.risks-drawer-highlight,
.risks-drawer-grid > div,
.risks-drawer-list div {
  flex: 1 1 120px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(119, 148, 179, 0.16);
  background: rgba(255, 255, 255, 0.04);
}

.risks-list-row,
.risks-destination-card {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.52);
  color: var(--text);
  text-align: left;
}

.risks-list-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.risks-list-row > div,
.risks-destination-card {
  display: grid;
  gap: 4px;
}

.risks-list-row.is-watch {
  background: rgba(249, 243, 240, 0.72);
}

.risks-list-row.is-pattern {
  align-items: flex-start;
}

.risks-table-wrap {
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  background: rgba(255, 255, 255, 0.48);
}

.risks-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

.risks-mitigation-table {
  min-width: 900px;
}

.risks-table th,
.risks-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(119, 148, 179, 0.14);
  text-align: left;
  vertical-align: top;
}

.risks-table th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: rgba(240, 246, 251, 0.84);
}

.risks-table tbody tr:hover,
.risks-table tbody tr.is-selected {
  background: rgba(231, 240, 249, 0.68);
}

.risks-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.risks-inline-link,
.risks-row-action {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: #294a6b;
  font-weight: 600;
  text-decoration: none;
}

.risks-inline-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.risks-status-pill.is-track,
.risks-rating-pill.is-track {
  color: #375e85;
}

.risks-status-pill.is-watch,
.risks-rating-pill.is-watch {
  color: #8a682d;
}

.risks-status-pill.is-late,
.risks-rating-pill.is-high {
  color: #a7544a;
}

.risks-rating-pill.is-critical {
  color: #8d2f2f;
}

.risks-status-pill.is-complete {
  color: #2e6a4f;
}

.risks-spatial-stage {
  position: relative;
  min-height: 270px;
  border-radius: 22px;
  border: 1px solid rgba(119, 148, 179, 0.2);
  background: linear-gradient(180deg, #eef6fc 0%, #d5e4f1 100%);
  overflow: hidden;
}

.risks-spatial-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.92), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(160, 186, 212, 0.22) 100%);
}

.risks-spatial-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(90, 127, 164, 0.08) 0 34%, transparent 34% 100%),
    radial-gradient(circle at 42% 62%, rgba(96, 149, 119, 0.18), transparent 14%),
    radial-gradient(circle at 64% 40%, rgba(177, 145, 76, 0.18), transparent 12%);
}

.risks-spatial-block {
  position: absolute;
  left: var(--risk-left);
  bottom: var(--risk-bottom);
  width: var(--risk-width);
  height: var(--risk-height);
  padding: 12px;
  border-radius: 16px;
  box-shadow: 0 18px 24px rgba(83, 108, 132, 0.16);
  z-index: 2;
}

.risks-spatial-block.is-watch { background: linear-gradient(180deg, rgba(248, 240, 223, 0.96) 0%, rgba(239, 225, 192, 0.96) 100%); color: #87672d; }
.risks-spatial-block.is-critical { background: linear-gradient(180deg, rgba(248, 227, 223, 0.96) 0%, rgba(241, 208, 201, 0.96) 100%); color: #964e43; }

.risks-destination-grid,
.risks-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.risks-drawer {
  gap: 16px;
}

.risks-drawer-header p,
.risks-drawer-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

.risks-drawer-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(119, 148, 179, 0.18);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1540px) {
  .risks-header-controls,
  .risks-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .risks-header-controls > .risks-chip-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1280px) {
  .risks-top-band,
  .risks-middle-band,
  .risks-lower-band,
  .risks-kpi-grid,
  .risks-destination-grid {
    grid-template-columns: 1fr;
  }

  .risks-heatmap-shell {
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .risks-header-controls,
  .risks-drawer-grid,
  .risks-destination-grid {
    grid-template-columns: 1fr;
  }

  .risks-action-rail-row,
  .risks-inline-controls,
  .risks-list-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Step 6B PMIS token normalization */
.milestone-roadmap-axis,
.delivery-roadmap-axis {
  border-bottom-color: var(--pmis-border-subtle);
}

.milestone-roadmap-axis span,
.delivery-roadmap-axis span,
.milestone-table td small,
.delivery-table td small,
.site-logistics-table td small,
.cost-forecast-table td small,
.site-logistics-map-detail-copy span,
.cost-forecast-chart-axis {
  color: var(--pmis-text-tertiary);
}

.milestone-roadmap-track,
.delivery-roadmap-track {
  border-color: var(--pmis-border-subtle);
  background:
    repeating-linear-gradient(90deg, color-mix(in srgb, var(--pmis-border-subtle) 28%, transparent) 0 1px, transparent 1px 18%),
    var(--entry-soft-surface);
}

.milestone-roadmap-item,
.delivery-roadmap-item,
.milestone-list-row,
.milestone-related-card,
.delivery-list-row,
.delivery-related-card,
.site-logistics-list-row,
.cost-forecast-list-row,
.cost-forecast-destination-card {
  color: var(--pmis-text-primary);
}

.milestone-roadmap-connector {
  background: var(--pmis-border-strong);
  opacity: 0.55;
}

.milestone-roadmap-marker.is-baseline,
.delivery-roadmap-marker.is-required {
  border-color: var(--pmis-border-strong);
  background: var(--pmis-surface-card);
}

.milestone-list-row,
.milestone-related-card,
.delivery-list-row,
.delivery-related-card,
.site-logistics-list-row,
.cost-forecast-list-row,
.cost-forecast-destination-card,
.site-logistics-map-detail,
.site-logistics-map-detail-grid > div,
.milestone-scope-counts > div,
.delivery-logistics-counts > div,
.milestone-table-wrap,
.delivery-table-wrap,
.site-logistics-table-wrap,
.cost-forecast-table-wrap,
.milestone-drawer-highlight,
.milestone-drawer-grid > div,
.milestone-drawer-list div,
.delivery-drawer-highlight,
.delivery-drawer-grid > div,
.delivery-drawer-list div,
.site-logistics-drawer-highlight,
.site-logistics-drawer-grid > div,
.site-logistics-drawer-list div,
.cost-forecast-summary-grid > div,
.cost-forecast-drawer-highlight,
.cost-forecast-drawer-grid > div,
.cost-forecast-drawer-list div {
  border-color: var(--pmis-border-subtle);
  background: var(--pmis-surface-card);
}

.milestone-table th,
.delivery-table th,
.site-logistics-table th,
.cost-forecast-table th {
  border-bottom-color: var(--pmis-border-subtle);
  color: var(--pmis-text-tertiary);
  background: var(--entry-soft-surface-strong);
}

.milestone-table td,
.delivery-table td,
.site-logistics-table td,
.cost-forecast-table td {
  border-bottom-color: var(--pmis-border-subtle);
}

.milestone-table tbody tr:hover,
.milestone-table tbody tr.is-selected,
.delivery-table tbody tr:hover,
.delivery-table tbody tr.is-selected,
.site-logistics-table tbody tr:hover,
.site-logistics-table tbody tr.is-selected,
.cost-forecast-table tbody tr:hover,
.cost-forecast-table tbody tr.is-selected {
  background: var(--pmis-accent-soft);
}

.milestone-inline-link,
.milestone-row-action,
.delivery-inline-link,
.delivery-row-action,
.site-logistics-inline-link,
.site-logistics-row-action,
.cost-forecast-inline-link,
.cost-forecast-row-action,
.milestone-drawer-link,
.delivery-drawer-link,
.site-logistics-drawer-link,
.cost-forecast-drawer-link {
  border-color: var(--pmis-border-subtle);
  background: var(--entry-soft-surface);
}

.milestone-scope-stage,
.delivery-logistics-stage,
.site-logistics-map-stage,
.cost-forecast-chart-svg {
  border-color: var(--pmis-border-subtle);
  background: linear-gradient(180deg, var(--entry-soft-surface-strong) 0%, var(--entry-soft-surface) 100%);
}

.milestone-scope-stage::before,
.delivery-logistics-stage::before,
.site-logistics-map-stage::before {
  background:
    radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--pmis-surface-card) 92%, transparent), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--pmis-surface-card) 10%, transparent) 0%, color-mix(in srgb, var(--pmis-border-strong) 12%, transparent) 100%);
}

.procurement-commercial-page {
  display: grid;
  gap: 16px;
  width: 100%;
}

.procurement-commercial-header {
  align-items: flex-start;
  padding: 28px 30px;
  border-color: rgba(96, 132, 168, 0.16);
  background:
    radial-gradient(circle at top right, rgba(116, 166, 215, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 248, 252, 0.96) 100%);
}

.procurement-commercial-header .page-title-block {
  max-width: 1100px;
}

.procurement-commercial-header .page-title-block h1 {
  font-size: clamp(2rem, 2.2vw, 2.75rem);
  color: #18324d;
}

.procurement-commercial-header .page-title-block p {
  max-width: 900px;
  color: #60758b;
  line-height: 1.55;
}

.procurement-commercial-header-actions {
  min-height: 40px;
}

.procurement-commercial-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.procurement-commercial-summary-card {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 16px 18px;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(96, 132, 168, 0.14);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(243, 248, 252, 0.94) 100%);
}

.procurement-commercial-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, rgba(87, 132, 181, 0.7) 0%, rgba(109, 170, 122, 0.62) 100%);
}

.procurement-commercial-summary-card .pmis-kpi-label,
.procurement-commercial-summary-card .pmis-kpi-meta {
  color: #64798e;
}

.procurement-commercial-summary-card .pmis-kpi-value {
  font-size: 1.7rem;
  color: #17314f;
}

.procurement-commercial-list-panel,
.procurement-commercial-focus-panel,
.procurement-commercial-mutation-panel,
.procurement-commercial-detail-panel,
.procurement-commercial-page .planning-controls-read-footer,
.procurement-commercial-page .procurement-commercial-side-column .pmis-preview-section,
.procurement-commercial-page .procurement-commercial-side-column .pmis-comments-panel,
.procurement-commercial-page .procurement-commercial-side-column .pmis-assignments-panel {
  border-color: rgba(96, 132, 168, 0.14);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(244, 248, 252, 0.94) 100%);
}

.procurement-commercial-list-panel {
  display: grid;
  gap: 16px;
  padding: 20px 22px;
}

.procurement-commercial-list-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.procurement-commercial-list-intro span,
.procurement-commercial-focus-note span,
.procurement-commercial-metric span,
.procurement-commercial-page .planning-controls-read-footer-copy span,
.procurement-commercial-form-section-copy p,
.procurement-commercial-advanced-details summary small,
.procurement-commercial-mutation-head-copy p {
  color: var(--pmis-text-secondary);
}

.procurement-commercial-list-panel .pmis-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.procurement-commercial-list-panel .pmis-search {
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}

.procurement-commercial-list-panel .planning-controls-read-filter {
  min-width: 136px;
}

.procurement-commercial-list-panel .planning-controls-read-filter-select {
  min-width: 100%;
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid var(--pmis-border-subtle);
  background: rgba(255, 255, 255, 0.84);
  padding: 0 12px;
}

.procurement-commercial-list-panel .pmis-record-table {
  gap: 12px;
}

.procurement-commercial-list-panel .pmis-record-head {
  padding: 0 10px;
}

.procurement-commercial-list-panel .pmis-record-body {
  max-height: 460px;
  padding-right: 4px;
}

.procurement-commercial-list-panel .planning-controls-read-row {
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 16px;
}

.procurement-commercial-list-panel .planning-controls-read-row:hover,
.procurement-commercial-list-panel .planning-controls-read-row.is-selected {
  border-color: rgba(96, 132, 168, 0.18);
  background: rgba(255, 255, 255, 0.86);
}

.procurement-commercial-list-panel .planning-controls-read-title-cell strong {
  font-size: 0.98rem;
}

.procurement-commercial-list-panel .planning-controls-read-title-cell small,
.procurement-commercial-list-panel .pmis-record-cell small {
  display: block;
  margin-top: 4px;
  color: var(--pmis-text-secondary);
  line-height: 1.4;
}

.procurement-commercial-lower-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.procurement-commercial-lower-shell:not(.has-sidebar),
.procurement-commercial-lower-shell.is-mutation-active {
  grid-template-columns: 1fr;
}

.procurement-commercial-main-column,
.procurement-commercial-side-column {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.procurement-commercial-focus-panel,
.procurement-commercial-mutation-panel {
  display: grid;
  gap: 16px;
  padding: 22px 24px;
}

.procurement-commercial-focus-panel.is-empty {
  border-style: dashed;
}

.procurement-commercial-focus-head,
.procurement-commercial-mutation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.procurement-commercial-focus-copy,
.procurement-commercial-mutation-head-copy,
.procurement-commercial-focus-note {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.procurement-commercial-focus-copy h2,
.procurement-commercial-mutation-head-copy h3 {
  margin: 0;
  color: #17314f;
}

.procurement-commercial-focus-copy p,
.procurement-commercial-focus-note,
.procurement-commercial-mutation-head-copy p {
  margin: 0;
  line-height: 1.5;
}

.procurement-commercial-focus-status,
.procurement-commercial-mutation-cta-row,
.procurement-commercial-context-row,
.procurement-commercial-mutation-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.procurement-commercial-focus-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.procurement-commercial-metric {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(96, 132, 168, 0.12);
  background: rgba(255, 255, 255, 0.72);
}

.procurement-commercial-metric strong {
  font-size: 1.05rem;
  color: #17314f;
}

.procurement-commercial-context-chip {
  border-color: rgba(96, 132, 168, 0.12);
  background: rgba(97, 141, 186, 0.08);
}

.procurement-commercial-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.procurement-commercial-detail-panel {
  display: grid;
  gap: 14px;
  padding: 20px 22px;
}

.procurement-commercial-detail-panel .pmis-panel-header h2 {
  font-size: 0.94rem;
}

.procurement-commercial-detail-panel.is-timeline {
  grid-column: span 3;
}

.procurement-commercial-form-shell {
  display: grid;
  gap: 18px;
}

.procurement-commercial-form-intro {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(96, 132, 168, 0.12);
  background: rgba(255, 255, 255, 0.62);
}

.procurement-commercial-form-intro p {
  margin: 0;
  line-height: 1.5;
  color: var(--pmis-text-secondary);
}

.procurement-commercial-form-sections {
  display: grid;
  gap: 16px;
}

.procurement-commercial-form-section {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(96, 132, 168, 0.12);
  background: rgba(255, 255, 255, 0.68);
}

.procurement-commercial-form-section-copy {
  display: grid;
  gap: 4px;
}

.procurement-commercial-form-section-copy p {
  margin: 0;
  line-height: 1.5;
}

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

.procurement-commercial-mutation-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.procurement-commercial-mutation-field.is-span-2 {
  grid-column: span 2;
}

.procurement-commercial-mutation-field.is-span-3 {
  grid-column: 1 / -1;
}

.procurement-commercial-mutation-field > span,
.procurement-commercial-mutation-field-label {
  color: var(--pmis-text-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.procurement-commercial-mutation-field-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: fit-content;
  max-width: 100%;
}

.procurement-commercial-mutation-field-label .pmis-help-trigger {
  letter-spacing: 0;
  text-transform: none;
  transform: translateY(-1px);
}

.procurement-commercial-mutation-field-label .pmis-help-tooltip {
  color: var(--pmis-text-secondary);
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}

.procurement-commercial-mutation-field input,
.procurement-commercial-mutation-field select,
.procurement-commercial-mutation-field textarea,
.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid input,
.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid select,
.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(96, 132, 168, 0.16);
  background: rgba(255, 255, 255, 0.88);
  color: var(--pmis-text-primary);
}

.procurement-commercial-mutation-field textarea,
.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid textarea {
  min-height: 118px;
  resize: vertical;
}

.procurement-commercial-advanced-details {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px dashed rgba(96, 132, 168, 0.2);
  background: rgba(244, 248, 252, 0.78);
}

.procurement-commercial-advanced-details summary {
  display: grid;
  gap: 2px;
  cursor: pointer;
  list-style: none;
}

.procurement-commercial-advanced-details summary::-webkit-details-marker {
  display: none;
}

.procurement-commercial-advanced-body {
  display: grid;
  gap: 12px;
}

.procurement-commercial-mutation-panel .planning-controls-read-mutation-form,
.procurement-commercial-mutation-panel .planning-controls-read-mutation-notice {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(96, 132, 168, 0.12);
  background: rgba(255, 255, 255, 0.62);
}

.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.procurement-commercial-mutation-panel .planning-controls-read-mutation-grid .planning-controls-read-mutation-field {
  grid-column: span 1;
}

.procurement-commercial-side-column .pmis-preview-section,
.procurement-commercial-side-column .pmis-comments-panel,
.procurement-commercial-side-column .pmis-assignments-panel {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
}

.procurement-commercial-side-column .planning-controls-read-context-list {
  gap: 10px;
}

.procurement-commercial-side-column .planning-controls-read-context-card {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(96, 132, 168, 0.12);
  background: rgba(255, 255, 255, 0.7);
}

@media (max-width: 1480px) {
  .procurement-commercial-summary-grid,
  .procurement-commercial-focus-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .procurement-commercial-detail-panel.is-timeline {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1200px) {
  .procurement-commercial-lower-shell,
  .procurement-commercial-lower-shell.has-sidebar {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 860px) {
  .procurement-commercial-summary-grid,
  .procurement-commercial-focus-metrics,
  .procurement-commercial-detail-grid,
  .procurement-commercial-form-grid,
  .procurement-commercial-mutation-panel .planning-controls-read-mutation-grid {
    grid-template-columns: 1fr;
  }

  .procurement-commercial-mutation-field.is-span-2,
  .procurement-commercial-mutation-field.is-span-3,
  .procurement-commercial-detail-panel.is-timeline {
    grid-column: 1 / -1;
  }

  .procurement-commercial-header,
  .procurement-commercial-list-panel,
  .procurement-commercial-focus-panel,
  .procurement-commercial-mutation-panel,
  .procurement-commercial-detail-panel {
    padding: 18px;
  }

  .procurement-commercial-list-panel .pmis-toolbar,
  .procurement-commercial-focus-head,
  .procurement-commercial-mutation-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

.information-assignments-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.information-assignments-preview-badges,
.information-assignments-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.information-assignments-preview-badges {
  justify-content: flex-end;
}

.information-assignments-workflow-summary,
.information-assignments-workflow-boundary,
.information-assignments-workflow-digest,
.information-assignments-workflow-step {
  display: grid;
  gap: 12px;
}

.information-assignments-workflow-strip,
.information-assignments-card-stack {
  display: grid;
  gap: 12px;
}

.information-assignments-workflow-strip {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.information-assignments-workflow-group {
  display: grid;
  gap: 12px;
}

.information-assignments-workflow-group-head {
  display: grid;
  gap: 6px;
}

.information-assignments-workflow-group-head p,
.information-assignments-workflow-step p,
.information-assignments-workflow-digest p,
.information-assignments-workflow-boundary p,
.information-assignments-workflow-summary p {
  margin: 0;
}

@media (max-width: 860px) {
  .information-assignments-preview-head {
    flex-direction: column;
  }

  .information-assignments-preview-badges {
    justify-content: flex-start;
  }
}

.contextual-help-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--control-height-sm);
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  background: var(--entry-soft-surface);
  color: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    border-color 120ms ease,
    background 120ms ease,
    transform 120ms ease;
}

.contextual-help-link::before {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--entry-accent-wash);
  font-size: 0.74rem;
  font-weight: 700;
}

.contextual-help-link:hover,
.contextual-help-link:focus-visible {
  border-color: var(--workflow-preview-border);
  background: var(--entry-soft-surface-strong);
  transform: translateY(-1px);
}

.help-center-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.help-center-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.help-center-toolbar-panel {
  border-radius: var(--radius-card);
}

.help-center-toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.help-center-search-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.help-center-search-field span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.72;
}

.help-center-search-field input {
  min-height: var(--control-height-md);
  padding: 0 var(--control-padding-inline-md);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control-lg);
  background: var(--entry-soft-surface);
  color: inherit;
}

.help-center-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.help-center-category-filter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: var(--control-height-sm);
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.help-center-category-filter strong {
  font-size: 0.82rem;
}

.help-center-category-filter.is-active {
  border-color: var(--workflow-preview-border);
  background: var(--entry-accent-wash);
}

.help-center-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.help-center-sidebar,
.help-center-article-shell {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-card);
  background: var(--surface-panel-bg);
  box-shadow: var(--surface-shadow);
}

.help-center-sidebar {
  position: sticky;
  top: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--panel-padding-md);
}

.help-center-sidebar-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
}

.help-center-sidebar-head span {
  font-size: 0.84rem;
  opacity: 0.72;
}

.help-center-card-list {
  display: grid;
  gap: 10px;
}

.help-center-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--panel-padding-md);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-panel);
  background: var(--entry-soft-surface);
  color: inherit;
  text-decoration: none;
  transition:
    border-color 120ms ease,
    background 120ms ease,
    transform 120ms ease;
}

.help-center-card:hover,
.help-center-card:focus-visible {
  border-color: var(--workflow-preview-border);
  background: var(--entry-soft-surface-strong);
  transform: translateY(-1px);
}

.help-center-card.is-selected {
  border-color: var(--workflow-preview-border);
  background: var(--entry-accent-wash);
}

.help-center-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.help-center-card-type {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.72;
}

.help-center-card strong {
  font-size: 0.98rem;
}

.help-center-card p,
.help-center-card-empty {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  opacity: 0.82;
}

.help-center-card-empty {
  padding: var(--panel-padding-md);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-panel);
}

.help-center-article-shell {
  padding: var(--panel-padding-lg);
}

.help-center-article {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.help-center-article-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.help-center-article-kicker,
.help-center-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.help-center-article-kicker span,
.help-center-article-meta span {
  font-size: 0.84rem;
  opacity: 0.76;
}

.help-center-article h1,
.help-center-article h2,
.help-center-article p,
.help-center-article ul {
  margin: 0;
}

.help-center-article-summary {
  max-width: 72ch;
  line-height: 1.65;
  opacity: 0.88;
}

.help-center-guidance-note {
  display: grid;
  gap: 8px;
  padding: var(--panel-padding-md);
  border: 1px solid var(--workflow-preview-border);
  border-radius: var(--radius-panel);
  background: var(--entry-accent-wash);
}

.help-center-guidance-note strong {
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.help-center-article-section {
  display: grid;
  gap: 12px;
}

.help-center-article-section ul {
  display: grid;
  gap: 10px;
  padding-left: 20px;
}

.help-center-section-links {
  display: grid;
  gap: 10px;
}

.help-center-section-links > span {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0.7;
}

.help-center-related-links {
  display: grid;
  gap: 10px;
}

.help-center-related-link {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-control-lg);
  background: var(--entry-soft-surface);
  color: inherit;
  text-decoration: none;
}

.help-center-related-link:hover,
.help-center-related-link:focus-visible {
  border-color: var(--workflow-preview-border);
  background: var(--entry-soft-surface-strong);
}

.help-center-related-link span {
  font-size: 0.9rem;
  opacity: 0.78;
}

.help-center-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.help-center-status-card {
  display: grid;
  gap: 10px;
  padding: var(--panel-padding-md);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-panel);
  background: var(--entry-soft-surface);
}

.help-center-status-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.help-center-status-card p {
  font-size: 0.92rem;
  line-height: 1.55;
  opacity: 0.84;
}

@media (max-width: 1100px) {
  .help-center-layout {
    grid-template-columns: 1fr;
  }

  .help-center-sidebar {
    position: static;
  }
}

@media (max-width: 720px) {
  .help-center-toolbar {
    gap: var(--space-2);
  }

  .help-center-category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contextual-help-link {
    width: 100%;
  }
}
[data-account-admin-roles-page] .account-admin-inline-filter {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 1rem;
}

[data-account-admin-roles-page] .account-admin-inline-filter span,
[data-account-admin-roles-page] .account-admin-checkbox-row span {
  color: var(--muted-foreground, rgba(117, 130, 145, 0.95));
}

[data-account-admin-roles-page] .account-admin-checkbox-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

[data-account-admin-roles-page] .account-admin-capability-group {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

[data-account-admin-role-error],
[data-account-admin-role-stale] {
  color: var(--danger-foreground, #d92d20);
}

[data-account-admin-role-stale] {
  display: grid;
  gap: 0.75rem;
}

[data-account-admin-role-stale-current] {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  flex-wrap: wrap;
}

[data-account-admin-role-success] {
  border-color: color-mix(in srgb, var(--pmis-success, #22c55e) 28%, var(--pmis-border-subtle, rgba(148, 163, 184, 0.25)));
}
.account-profile-shell {
  gap: 1rem;
}

.account-profile-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1rem 0 1.5rem;
}

.account-profile-tab {
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(248, 250, 252, 0.9);
  color: inherit;
  border-radius: 999px;
  padding: 0.65rem 1rem;
  font: inherit;
  cursor: pointer;
}

.account-profile-tab.is-active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}

.account-profile-panel,
.account-profile-form,
.account-profile-security-grid,
.account-profile-session-list {
  display: grid;
  gap: 1rem;
}

.account-profile-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.account-profile-actions,
.account-profile-session-actions,
.account-profile-session-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.account-profile-checkbox {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
}

.account-profile-subpanel,
.account-profile-session-card,
.password-reset-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.account-profile-session-card {
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.92);
}

.account-profile-session-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.account-profile-session-head strong,
.account-profile-session-head span {
  display: block;
}

.account-profile-session-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.account-profile-feedback.is-success {
  border-left: 4px solid #15803d;
}

.account-profile-feedback.is-danger {
  border-left: 4px solid #b91c1c;
}

.password-reset-shell {
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}

.password-reset-card {
  padding: 1.5rem;
}

.password-reset-head {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.password-reset-terminal {
  display: grid;
  gap: 0.6rem;
  padding: 1rem 0;
}

@media (max-width: 720px) {
  .account-profile-session-head {
    flex-direction: column;
  }

  .account-profile-session-pills {
    justify-content: flex-start;
  }
}

.layout-content:has(.account-billing-page) {
  width: 100%;
  max-width: none;
  padding: 1.5rem clamp(1.5rem, 2vw, 2rem) 2rem;
}

.account-billing-page {
  --account-billing-container-max: 92rem;
  --account-billing-gap-xs: 0.25rem;
  --account-billing-gap-sm: 0.5rem;
  --account-billing-gap-md: 0.75rem;
  --account-billing-gap-lg: 1rem;
  --account-billing-gap-xl: 1.5rem;
  --account-billing-gap-2xl: 2rem;
  --account-billing-card-padding: 1.5rem;
  --account-billing-control-height: 2.75rem;
  --account-billing-sidebar-width: clamp(20rem, 26vw, 23.75rem);
  width: 100%;
  max-width: var(--account-billing-container-max);
  margin-inline: auto;
  gap: var(--account-billing-gap-xl);
  color: var(--pmis-text-primary);
}

.account-billing-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: var(--account-billing-gap-xl);
  width: 100%;
}

.account-billing-header .pmis-page-title-copy {
  gap: var(--account-billing-gap-sm);
}

.account-billing-header .pmis-page-title-copy h1 {
  font-size: 2rem;
  line-height: 1.1;
  letter-spacing: 0;
}

.account-billing-header .pmis-page-title-copy p {
  max-width: 54rem;
  font-size: 1rem;
}

.account-billing-header-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--account-billing-gap-md);
  flex-wrap: wrap;
  min-width: 0;
  padding-top: 0.125rem;
}

.account-billing-header-actions .ui-button,
.account-billing-header-actions .contextual-help-link {
  min-height: 2.5rem;
  white-space: nowrap;
}

.account-billing-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(20rem, var(--account-billing-sidebar-width));
  gap: var(--account-billing-gap-xl);
  align-items: start;
  min-width: 0;
}

.account-billing-main,
.account-billing-sidebar {
  display: grid;
  gap: var(--account-billing-gap-lg);
  min-width: 0;
  align-content: start;
}

.account-billing-card.surface-card {
  display: grid;
  gap: var(--account-billing-gap-lg);
  min-width: 0;
  padding: var(--account-billing-card-padding);
  border-radius: 0.5rem;
  border-color: var(--pmis-border-strong);
  box-shadow: none;
}

.account-billing-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--account-billing-gap-lg);
  min-width: 0;
}

.account-billing-card-heading > div,
.account-billing-pricing-copy > div {
  display: grid;
  gap: var(--account-billing-gap-xs);
  min-width: 0;
}

.account-billing-card-heading h2,
.account-billing-pricing-copy h2 {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.25;
  letter-spacing: 0;
}

.account-billing-card-heading p,
.account-billing-pricing-copy p,
.account-billing-secure-note,
.account-billing-empty-copy,
.account-billing-neutral-state p,
.account-billing-form-field small {
  margin: 0;
  color: var(--pmis-text-secondary);
  font-size: 0.95rem;
  line-height: 1.5;
}

.account-billing-empty-state,
.account-billing-neutral-state {
  display: grid;
  gap: var(--account-billing-gap-sm);
  padding-block: var(--account-billing-gap-sm);
  max-width: 56rem;
}

.account-billing-empty-state strong,
.account-billing-neutral-state strong {
  font-size: 1.1rem;
}

.account-billing-empty-state p {
  margin: 0;
  color: var(--pmis-text-secondary);
  line-height: 1.5;
}

.account-billing-metric-grid,
.account-billing-seat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--account-billing-gap-md);
  min-width: 0;
}

.account-billing-metric {
  display: grid;
  gap: var(--account-billing-gap-xs);
  align-content: start;
  min-width: 0;
  min-height: 5rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 0.5rem;
  background: var(--entry-soft-surface);
}

.account-billing-seat-grid .account-billing-metric {
  min-height: 4.5rem;
}

.account-billing-metric span {
  color: var(--pmis-text-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-billing-metric strong {
  overflow-wrap: anywhere;
  font-size: 1.2rem;
  line-height: 1.18;
}

.account-billing-metric small {
  color: var(--pmis-text-tertiary);
  font-size: 0.84rem;
}

.account-billing-pricing-panel {
  border-color: color-mix(in srgb, var(--pmis-info) 34%, var(--pmis-border-strong));
}

.account-billing-pricing-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--account-billing-gap-xl);
  align-items: start;
}

.account-billing-eyebrow {
  display: inline-flex;
  color: var(--pmis-text-tertiary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-billing-price-lockup {
  display: grid;
  justify-items: end;
  gap: var(--account-billing-gap-xs);
  min-width: 10rem;
  text-align: right;
}

.account-billing-price-lockup strong {
  font-size: 2.05rem;
  line-height: 1;
}

.account-billing-price-lockup span {
  color: var(--pmis-text-secondary);
  font-size: 0.92rem;
}

.account-billing-plan-controls {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(10rem, 0.42fr);
  gap: var(--account-billing-gap-lg);
  align-items: start;
  min-width: 0;
}

.account-billing-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--account-billing-gap-lg);
  align-items: start;
  min-width: 0;
}

.account-billing-form-field {
  display: grid;
  gap: var(--account-billing-gap-sm);
  min-width: 0;
}

.account-billing-form-field > span {
  color: var(--pmis-text-secondary);
  font-size: 0.88rem;
  font-weight: 700;
}

.account-billing-form-field input,
.account-billing-form-field select {
  width: 100%;
  min-height: var(--account-billing-control-height);
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--pmis-border-strong);
  border-radius: 0.5rem;
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary);
  font: inherit;
  font-size: 1rem;
}

.account-billing-form-field input:focus-visible,
.account-billing-form-field select:focus-visible,
.account-billing-page button:focus-visible,
.account-billing-page a:focus-visible,
.account-billing-diagnostics summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--pmis-info) 58%, transparent);
  outline-offset: 2px;
}

.account-billing-quantity-input {
  max-width: 100%;
}

.account-billing-estimate-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--account-billing-gap-lg);
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--pmis-info) 8%, var(--entry-soft-surface));
}

.account-billing-estimate-row span {
  color: var(--pmis-text-secondary);
  font-weight: 700;
}

.account-billing-estimate-row strong {
  font-size: 1.35rem;
}

.account-billing-sync-notice {
  display: grid;
  gap: var(--account-billing-gap-xs);
  min-width: 0;
  padding: 0.85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--pmis-warning) 38%, var(--pmis-border-subtle));
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--pmis-warning) 10%, var(--entry-soft-surface));
}

.account-billing-sync-notice strong {
  color: var(--pmis-text-primary);
}

.account-billing-sync-notice p {
  margin: 0;
  color: var(--pmis-text-secondary);
  line-height: 1.45;
}

.account-billing-sync-notice.is-timeout {
  border-color: color-mix(in srgb, var(--pmis-danger) 34%, var(--pmis-border-subtle));
  background: color-mix(in srgb, var(--pmis-danger) 8%, var(--entry-soft-surface));
}

.account-billing-action-row,
.account-billing-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--account-billing-gap-md);
  flex-wrap: wrap;
}

.account-billing-primary-action,
.account-billing-secondary-action {
  min-height: var(--account-billing-control-height);
}

.account-billing-primary-action {
  min-width: 15rem;
  justify-content: center;
  font-weight: 800;
}

.account-billing-portal-card .account-billing-secondary-action,
.account-billing-seat-card .account-billing-secondary-action {
  justify-content: center;
  width: 100%;
}

.account-billing-feedback {
  margin: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--pmis-border-strong);
  border-radius: 0.5rem;
  background: var(--entry-soft-surface);
  line-height: 1.45;
}

.account-billing-feedback.is-error {
  border-color: color-mix(in srgb, var(--pmis-danger) 44%, transparent);
  color: var(--pmis-danger);
}

.account-billing-feedback.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 40%, transparent);
  color: var(--pmis-success);
}

.account-billing-seat-progress {
  overflow: hidden;
  height: 0.55rem;
  min-width: 0;
  border-radius: 999px;
  background: var(--entry-soft-surface-strong);
}

.account-billing-seat-progress span {
  display: block;
  height: 100%;
  width: var(--account-billing-seat-usage, 0%);
  border-radius: inherit;
  background: var(--pmis-info);
}

.account-billing-contact-form {
  display: grid;
  gap: var(--account-billing-gap-lg);
  min-width: 0;
}

.account-billing-form-field.is-full-width {
  grid-column: 1 / -1;
}

.account-billing-timeline {
  display: grid;
  gap: var(--account-billing-gap-md);
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-billing-timeline li {
  display: grid;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 2px solid var(--pmis-border-strong);
}

.account-billing-timeline span {
  color: var(--pmis-text-secondary);
  font-size: 0.92rem;
}

.account-billing-diagnostics {
  overflow: hidden;
  width: 100%;
}

.account-billing-diagnostics summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.account-billing-diagnostics summary::-webkit-details-marker {
  display: none;
}

.account-billing-diagnostics-body {
  display: grid;
  gap: var(--account-billing-gap-lg);
  margin-top: var(--account-billing-gap-lg);
  padding-top: var(--account-billing-gap-lg);
  border-top: 1px solid var(--pmis-border-subtle);
}

.account-billing-diagnostics-body h3 {
  margin: 0 0 var(--account-billing-gap-md);
  font-size: 0.98rem;
}

.account-billing-definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--account-billing-gap-md);
  margin: 0;
}

.account-billing-definition-grid div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 0.5rem;
  background: var(--entry-soft-surface);
}

.account-billing-definition-grid dt {
  color: var(--pmis-text-tertiary);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-billing-definition-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.account-billing-diagnostics-list {
  display: grid;
  gap: var(--account-billing-gap-sm);
  margin: var(--account-billing-gap-md) 0 0;
  padding-left: 1.1rem;
  color: var(--pmis-text-secondary);
  line-height: 1.45;
}

@media (max-width: 72rem) {
  .account-billing-header {
    grid-template-columns: 1fr;
  }

  .account-billing-header-actions {
    justify-content: flex-start;
    padding-top: 0;
  }
}

@media (max-width: 70rem) {
  .account-billing-layout,
  .account-billing-pricing-copy {
    grid-template-columns: 1fr;
  }

  .account-billing-price-lockup {
    justify-items: start;
    text-align: left;
  }

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

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

@media (max-width: 44rem) {
  .layout-content:has(.account-billing-page) {
    padding: 1rem;
  }

  .account-billing-metric-grid,
  .account-billing-plan-controls,
  .account-billing-form-grid,
  .account-billing-definition-grid {
    grid-template-columns: 1fr;
  }

  .account-billing-card.surface-card {
    padding: 1rem;
  }

  .account-billing-estimate-row,
  .account-billing-action-row,
  .account-billing-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .account-billing-primary-action,
  .account-billing-secondary-action {
    width: 100%;
  }
}

@media (max-width: 26rem) {
  .account-billing-seat-grid {
    grid-template-columns: 1fr;
  }
}

/* Account Administration UX system - Phase 1 */
.account-shell-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  max-width: min(1480px, 100%);
  margin: 0 auto;
  padding: 0.65rem var(--space-4);
}

.account-shell-nav-group {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-theme="whites"] .account-shell-nav-group,
body[data-theme="whites"] .account-shell-nav-group.is-planned {
  background: transparent;
}

.account-shell-nav-title {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.account-shell-nav-links {
  gap: 0.35rem;
}

.account-shell-link {
  min-height: 34px;
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  font-size: 0.88rem;
  white-space: nowrap;
}

.account-shell-link.is-disabled {
  background: transparent;
}

.layout-content:has(.account-admin-page),
.layout-content:has([data-account-license-manager-page]) {
  width: min(1480px, 100%);
  padding: 1.25rem var(--space-4) var(--space-5);
}

.account-admin-page {
  --account-admin-gap-xs: 0.5rem;
  --account-admin-gap-sm: 0.75rem;
  --account-admin-gap-md: 1rem;
  --account-admin-gap-lg: 1.35rem;
  display: grid;
  gap: var(--account-admin-gap-lg);
  align-content: start;
  min-width: 0;
  color: var(--pmis-text-primary);
}

.account-admin-header {
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 12px;
  background: var(--pmis-surface-panel);
}

.account-admin-header .pmis-page-title-copy h1 {
  font-size: 2rem;
  line-height: 1.08;
}

.account-admin-header .pmis-page-title-copy p {
  max-width: 760px;
  font-size: 0.98rem;
}

.account-admin-header-actions .ui-button,
.account-admin-action-list .ui-button,
.account-admin-toolbar .ui-button,
.account-admin-section .ui-button {
  min-height: var(--control-height-lg);
  border-radius: 10px;
}

.account-admin-metric-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-admin-metric {
  min-height: 96px;
  padding: 1rem;
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-metric .pmis-kpi-value {
  font-size: 1.45rem;
}

.account-admin-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.75fr);
  gap: var(--account-admin-gap-lg);
  align-items: start;
  min-width: 0;
}

.account-admin-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--account-admin-gap-md);
  min-width: 0;
}

.account-admin-stack,
.account-admin-side-stack {
  display: grid;
  gap: var(--account-admin-gap-md);
  align-content: start;
  min-width: 0;
}

.account-admin-section {
  gap: var(--account-admin-gap-md);
  padding: 1.25rem;
  border-radius: 10px;
  background: var(--pmis-surface-panel);
}

.account-admin-section-header {
  align-items: flex-start;
}

.account-admin-section .pmis-panel-title h2 {
  font-size: 1rem;
  line-height: 1.25;
}

.account-admin-section .pmis-panel-title p {
  max-width: 68ch;
  font-size: 0.9rem;
}

.account-admin-section-body,
.account-admin-section .pmis-panel-body {
  display: grid;
  gap: var(--account-admin-gap-md);
  min-width: 0;
}

.account-admin-detail-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  min-width: 0;
}

.account-admin-detail-row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  min-width: 0;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--pmis-border-subtle);
}

.account-admin-detail-row:last-child {
  border-bottom: 0;
}

.account-admin-detail-row dt {
  color: var(--pmis-text-tertiary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.account-admin-detail-row dd {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  margin: 0;
  color: var(--pmis-text-primary);
  overflow-wrap: anywhere;
}

.account-admin-detail-row dd small,
.account-admin-muted {
  color: var(--pmis-text-secondary);
}

.account-admin-inline-pill {
  max-width: max-content;
}

.account-admin-action-list,
.account-admin-notice-actions,
.account-admin-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.account-admin-action-list {
  align-content: start;
}

.account-admin-notice {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--account-admin-gap-md);
  padding: 0.85rem 1rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-notice-copy {
  display: grid;
  gap: 0.25rem;
  min-width: min(100%, 28rem);
}

.account-admin-notice-copy span {
  color: var(--pmis-text-secondary);
}

.account-admin-notice.is-warning {
  border-color: color-mix(in srgb, var(--pmis-warning) 34%, var(--pmis-border-subtle));
}

.account-admin-notice.is-danger {
  border-color: color-mix(in srgb, var(--pmis-danger) 34%, var(--pmis-border-subtle));
}

.account-admin-notice.is-success {
  border-color: color-mix(in srgb, var(--pmis-success) 34%, var(--pmis-border-subtle));
}

.account-admin-disclosure {
  min-width: 0;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-disclosure summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: var(--control-height-lg);
  padding: 0.75rem 1rem;
  cursor: pointer;
}

.account-admin-disclosure summary > span {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.account-admin-disclosure summary small {
  color: var(--pmis-text-secondary);
}

.account-admin-disclosure-body {
  display: grid;
  gap: var(--account-admin-gap-md);
  padding: 0 1rem 1rem;
}

.account-admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: var(--account-admin-gap-md);
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-toolbar-controls {
  display: flex;
  flex: 1 1 42rem;
  flex-wrap: wrap;
  gap: 0.75rem;
  min-width: 0;
}

.account-admin-search,
.account-admin-filter,
.account-admin-form-field {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.account-admin-search {
  flex: 1 1 18rem;
}

.account-admin-filter {
  flex: 0 1 12rem;
}

.account-admin-search span,
.account-admin-filter span,
.account-admin-form-field > span {
  color: var(--pmis-text-secondary);
  font-size: 0.78rem;
  font-weight: 700;
}

.account-admin-search input,
.account-admin-filter input,
.account-admin-filter select,
.account-admin-form-field input,
.account-admin-form-field select,
.account-admin-form-field textarea,
.account-admin-drawer input,
.account-admin-drawer select,
.account-admin-drawer textarea {
  width: 100%;
  min-width: 0;
  min-height: var(--control-height-lg);
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pmis-border-strong);
  border-radius: 10px;
  background: var(--entry-soft-surface-strong);
  color: var(--pmis-text-primary);
  font: inherit;
  box-sizing: border-box;
}

.account-admin-form-field textarea,
.account-admin-drawer textarea {
  min-height: 7rem;
  resize: vertical;
}

.account-admin-table-section {
  padding: 1.25rem;
}

.account-admin-table-wrap {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 0.9rem;
}

.account-admin-table th,
.account-admin-table td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--pmis-border-subtle);
  text-align: left;
  vertical-align: top;
}

.account-admin-table th {
  color: var(--pmis-text-tertiary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--entry-soft-surface);
}

.account-admin-table tbody tr:hover,
.account-admin-table tbody tr:focus-within {
  background: var(--pmis-accent-soft);
}

.account-admin-table td strong,
.account-admin-table td small {
  display: block;
}

.account-admin-table td small {
  margin-top: 0.25rem;
  color: var(--pmis-text-secondary);
}

.account-admin-cell-stack {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.account-admin-cell-stack > span,
.account-admin-cell-stack > small {
  overflow-wrap: anywhere;
}

.account-admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
}

.account-admin-row-actions .ui-button {
  min-height: var(--control-height-md);
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.88rem;
}

.account-admin-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  width: max-content;
  max-width: 100%;
  padding: 0.35rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 10px;
  background: var(--pmis-surface-card);
}

.account-admin-tab {
  min-height: var(--control-height-md);
  padding: 0.45rem 0.85rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--pmis-text-secondary);
}

.account-admin-tab:hover,
.account-admin-tab:focus-visible {
  border-color: var(--pmis-border-strong);
  color: var(--pmis-text-primary);
  outline: none;
}

.account-admin-tab.is-active {
  border-color: color-mix(in srgb, var(--accent-strong) 24%, transparent);
  background: color-mix(in srgb, var(--accent-strong) 12%, transparent);
  color: var(--pmis-text-primary);
  font-weight: 800;
}

.account-admin-view-panel[hidden] {
  display: none;
}

.account-admin-compact-list {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.account-admin-compact-list-item,
.account-admin-mini-card,
.account-admin-capability-group {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--pmis-border-subtle);
  border-radius: 8px;
  background: var(--pmis-surface-card);
}

.account-admin-compact-list-item span,
.account-admin-mini-card span,
.account-admin-capability-group span,
.account-admin-capability-group li {
  color: var(--pmis-text-secondary);
  overflow-wrap: anywhere;
}

.account-admin-capability-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.75rem;
  min-width: 0;
}

.account-admin-capability-group ul {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding-left: 1.1rem;
}

.account-admin-drawer {
  width: min(560px, calc(100vw - 24px));
}

.account-admin-empty {
  border: 1px dashed var(--pmis-border-strong);
  border-radius: 10px;
}

.account-admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--account-admin-gap-md);
  min-width: 0;
}

.account-admin-form-field.is-full {
  grid-column: 1 / -1;
}

.account-admin-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  color: var(--pmis-text-secondary);
}

.account-admin-drawer {
  gap: var(--account-admin-gap-md);
}

.account-admin-drawer-body {
  display: grid;
  gap: var(--account-admin-gap-md);
}

.account-admin-drawer-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.account-admin-view-list {
  display: grid;
  gap: var(--account-admin-gap-md);
}

.account-admin-reference-material {
  border-left: 3px solid var(--pmis-border-strong);
  padding-left: 1rem;
}

/* Account Administration Phase 3B - Billing and license operations */
.account-billing-page .account-admin-header {
  border-radius: 10px;
}

.account-billing-page .account-admin-metric-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-billing-page .account-billing-seat-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.account-billing-page .account-admin-section {
  min-width: 0;
}

.account-admin-license-drawer {
  width: min(640px, calc(100vw - 24px));
}

.account-admin-license-drawer .account-admin-notice {
  align-items: flex-start;
}

.account-admin-license-drawer .account-admin-form-grid {
  grid-template-columns: 1fr;
}

[data-account-license-manager-page] .account-admin-layout-grid {
  grid-template-columns: minmax(0, 1.85fr) minmax(19rem, 0.7fr);
}

[data-account-license-manager-page] .account-admin-table td:last-child {
  min-width: 7rem;
}

.account-admin-audit-page {
  align-content: start;
}

.account-admin-audit-tabs {
  margin-block: -0.2rem 0;
}

.account-admin-audit-filter-form {
  display: grid;
  gap: var(--account-admin-gap-sm);
  min-width: 0;
}

.account-admin-audit-filter-form .account-admin-toolbar {
  margin: 0;
}

.account-admin-audit-advanced {
  background: transparent;
}

.account-admin-audit-advanced-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(12rem, 1fr));
  gap: var(--account-admin-gap-md);
  min-width: 0;
}

.account-admin-audit-register .account-admin-table th,
.account-admin-audit-register .account-admin-table td,
.account-admin-access-review-register .account-admin-table th,
.account-admin-access-review-register .account-admin-table td {
  padding-block: 0.65rem;
}

.account-admin-audit-activity-cell small {
  max-width: 48rem;
}

.account-admin-audit-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-end;
  padding-top: var(--account-admin-gap-sm);
}

.account-admin-audit-drawer {
  width: min(680px, calc(100vw - 24px));
}

.account-admin-audit-drawer .account-admin-section {
  padding: 1rem;
}

@media (max-width: 86rem) {
  .account-admin-card-grid,
  .account-admin-metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-admin-layout-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 72rem) {
  .account-shell-nav {
    align-items: flex-start;
  }

  .account-shell-nav-group {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-shell-link {
    white-space: normal;
  }

  .account-admin-header {
    padding: 1rem;
  }

  .account-admin-header .pmis-page-title-copy h1 {
    font-size: 1.65rem;
  }
}

@media (max-width: 48rem) {
  .account-layout:has(.account-admin-page) .app-topbar {
    align-items: center;
    flex-direction: row;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
  }

  .account-layout:has(.account-admin-page) .toolbar-search.is-disabled {
    display: none;
  }

  .account-layout:has(.account-admin-page) .topbar-leading,
  .account-layout:has(.account-admin-page) .topbar-actions {
    width: auto;
  }

  .account-layout:has(.account-admin-page) .topbar-leading {
    flex: 1 1 auto;
  }

  .account-layout:has(.account-admin-page) .topbar-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
  }

  .account-layout:has(.account-admin-page) .topbar-actions > .ui-button[href="/editor/"] {
    display: none;
  }

  .layout-content:has(.account-admin-page),
  .layout-content:has([data-account-license-manager-page]) {
    padding: 1rem;
  }

  .account-shell-nav {
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.65rem 1rem;
    scrollbar-width: thin;
  }

  .account-shell-nav-group {
    align-items: center;
    flex: 0 0 auto;
    flex-direction: row;
  }

  .account-shell-nav-title {
    flex: 0 0 auto;
  }

  .account-shell-nav-links {
    flex-wrap: nowrap;
  }

  .account-shell-link {
    white-space: nowrap;
  }

  .account-admin-card-grid,
  .account-admin-form-grid,
  .account-billing-page .account-admin-metric-strip,
  .account-billing-page .account-billing-seat-strip {
    grid-template-columns: 1fr;
  }

  .account-admin-metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-admin-header,
  .account-admin-header .pmis-page-header-actions,
  .account-admin-toolbar,
  .account-admin-toolbar-controls,
  .account-admin-action-list,
  .account-admin-row-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .account-admin-header .ui-button,
  .account-admin-toolbar .ui-button,
  .account-admin-action-list .ui-button,
  .account-admin-row-actions .ui-button {
    width: 100%;
  }

  .account-admin-tabs {
    width: 100%;
  }

  .account-admin-tab {
    flex: 1 1 10rem;
  }

  .account-admin-detail-row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .account-admin-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .account-admin-table,
  .account-admin-table thead,
  .account-admin-table tbody,
  .account-admin-table tr,
  .account-admin-table th,
  .account-admin-table td {
    display: block;
  }

  .account-admin-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .account-admin-table tr {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.85rem;
    border: 1px solid var(--pmis-border-subtle);
    border-radius: 10px;
    background: var(--pmis-surface-card);
  }

  .account-admin-table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0;
    border-bottom: 0;
  }

  .account-admin-table td::before {
    content: attr(data-label);
    color: var(--pmis-text-tertiary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .account-admin-audit-advanced-grid {
    grid-template-columns: 1fr;
  }

  .account-admin-audit-pagination {
    justify-content: stretch;
  }

  .account-admin-audit-pagination .ui-button {
    width: 100%;
  }
}

@media (max-width: 30rem) {
  .account-shell-nav {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .account-shell-nav-links,
  .account-shell-link {
    width: 100%;
  }

  .account-admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

.runtime-module-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.runtime-module-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.runtime-module-summary-grid {
  margin-bottom: 1rem;
}

.runtime-module-toolbar-panel,
.runtime-module-records-panel,
.runtime-module-side-panel,
.runtime-module-editor-panel {
  border-radius: 1.25rem;
}

.runtime-module-toolbar {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(10rem, 1fr));
}

.runtime-module-search,
.runtime-module-filter,
.runtime-module-form-field {
  display: grid;
  gap: 0.35rem;
}

.runtime-module-search span,
.runtime-module-filter span,
.runtime-module-form-field span,
.runtime-module-form-field legend {
  color: var(--pmis-text-subtle, #5b6574);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.runtime-module-search input,
.runtime-module-filter select,
.runtime-module-form-field input,
.runtime-module-form-field select,
.runtime-module-form-field textarea {
  border: 1px solid rgba(31, 47, 78, 0.12);
  border-radius: 0.9rem;
  background: #fff;
  color: #182132;
  min-height: 2.8rem;
  padding: 0.7rem 0.9rem;
  width: 100%;
}

.runtime-module-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 2.1fr) minmax(20rem, 1fr);
}

.runtime-module-editor:empty {
  display: none;
}

.runtime-module-table-wrap {
  overflow: auto;
}

.runtime-module-table {
  border-collapse: collapse;
  width: 100%;
}

.runtime-module-table thead th {
  border-bottom: 1px solid rgba(31, 47, 78, 0.08);
  color: #5b6574;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 0.8rem 0.75rem;
  text-align: left;
}

.runtime-module-table tbody tr {
  border-bottom: 1px solid rgba(31, 47, 78, 0.06);
}

.runtime-module-table tbody tr.is-selected {
  background: rgba(10, 96, 255, 0.06);
}

.runtime-module-table tbody td {
  padding: 0.9rem 0.75rem;
  vertical-align: top;
}

.runtime-module-link {
  background: none;
  border: 0;
  color: #0a60ff;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  padding: 0;
  text-align: left;
}

.runtime-module-side-head {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 1rem;
}

.runtime-module-side-kicker {
  color: #5b6574;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.runtime-module-detail-grid {
  display: grid;
  gap: 0.5rem;
}

.runtime-module-detail-row {
  border-bottom: 1px solid rgba(31, 47, 78, 0.06);
  padding-bottom: 0.55rem;
}

.runtime-module-side-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.runtime-module-side-links a {
  color: #0a60ff;
  font-weight: 600;
  text-decoration: none;
}

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

.runtime-module-editor-head h2 {
  font-size: 1.1rem;
  margin: 0;
}

.runtime-module-editor-head button {
  background: none;
  border: 0;
  color: #5b6574;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}

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

.runtime-module-form-field.is-full {
  grid-column: 1 / -1;
}

.runtime-module-checkbox-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.runtime-module-checkbox {
  align-items: center;
  background: rgba(243, 246, 251, 0.8);
  border: 1px solid rgba(31, 47, 78, 0.08);
  border-radius: 0.9rem;
  display: flex;
  gap: 0.6rem;
  padding: 0.75rem 0.85rem;
}

.runtime-module-editor-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

.runtime-module-submit {
  background: #0a60ff;
  border: 0;
  border-radius: 0.9rem;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  min-height: 2.8rem;
  padding: 0.75rem 1.15rem;
}

.runtime-module-submit:disabled,
.runtime-module-action-button[disabled],
.runtime-module-editor-head button[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
}

.runtime-module-feedback {
  border-radius: 0.85rem;
  margin-top: 0.9rem;
  padding: 0.75rem 0.9rem;
}

.runtime-module-feedback.is-error {
  background: rgba(202, 41, 41, 0.08);
  color: #8a2626;
}

.runtime-module-feedback.is-success {
  background: rgba(18, 133, 74, 0.08);
  color: #11633a;
}

@media (max-width: 64rem) {
  .runtime-module-grid {
    grid-template-columns: 1fr;
  }

  .runtime-module-form-grid,
  .runtime-module-toolbar {
    grid-template-columns: 1fr;
  }
}
