/* Works Register treatment for the Executive Dashboard and M&E.
   This layer is presentation-only. Route, permission, state and action
   visibility remain owned by the existing templates and service payloads. */

.wr-page {
  --wr-page-paper: var(--wr-paper, var(--bg-card));
  --wr-page-limestone: var(--wr-limestone, var(--bg-void));
  --wr-page-ink: var(--wr-ink, var(--text-primary));
  --wr-page-muted: var(--wr-ink-muted, var(--text-secondary));
  --wr-page-forest: var(--wr-forest, var(--bg-surface));
  --wr-page-river: var(--wr-river, var(--color-primary));
  --wr-page-oxide: var(--wr-oxide, var(--status-urgent));
  --wr-page-brass: var(--wr-brass, var(--status-pending));
  --wr-page-rule: var(--wr-rule-ink, var(--border-strong));
  color: var(--wr-page-ink);
  font-family: var(--wr-font-sans, var(--font-body));
}

.wr-page :is(h1, h2, h3) {
  color: var(--wr-page-ink);
  font-family: var(--wr-font-serif, var(--font-heading));
  font-weight: 400;
}

.wr-page .wr-ai-briefing :is(h2, h3) {
  color: var(--text-primary);
}

.wr-page :is(.caption, .cell-sub, small, .kpi-label, .kpi-meta) {
  color: var(--wr-page-muted);
  font-size: var(--font-size-operational);
}

.wr-page :is(a, button, input, select, summary):focus-visible,
.wr-page .table-wrap:focus-visible {
  outline: var(--line-emphasis) solid var(--wr-page-river);
  outline-offset: var(--space-xs);
}

.wr-page .icon {
  flex: 0 0 auto;
}

.wr-page-head {
  align-items: end;
  margin-bottom: 0;
  padding-block-end: var(--space-lg);
  border-bottom: var(--line-emphasis) solid var(--wr-page-ink);
}

.wr-page-head .eyebrow {
  color: var(--wr-page-forest);
  font-size: var(--font-size-operational);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.wr-page-head h1 {
  margin-block-start: var(--space-xs);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.05;
}

.wr-page-head p:not(.eyebrow) {
  color: var(--wr-page-muted);
  font-size: var(--font-size-operational);
}

.wr-page .btn,
.wr-page .panel-head > a,
.wr-page .ai-card a {
  min-height: var(--touch-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  border-radius: 0;
  font-size: .875rem;
  font-weight: 700;
}

.wr-page .btn.primary {
  color: var(--wr-page-paper);
  background: var(--wr-page-forest);
  border-color: var(--wr-page-forest);
}

.wr-page .btn.secondary {
  color: var(--wr-page-ink);
  border-color: var(--wr-page-ink);
}

.wr-page .btn:hover,
.wr-page .panel-head > a:hover,
.wr-page .ai-card a:hover {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
  border-color: var(--wr-page-river);
  text-decoration: none;
}

.wr-kpi-register {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 0;
  border-inline-start: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-kpi-register > :is(.module-kpi, .kpi-card) {
  min-width: 0;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-kpi-register .kpi-card {
  min-height: calc(var(--touch-target) * 2);
  align-content: center;
  gap: var(--space-xs);
  padding: var(--space-md);
  color: var(--wr-page-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.wr-kpi-register > .kpi-card {
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-kpi-register a.kpi-card:hover {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
}

.wr-kpi-register :is(.module-kpi:first-child, .kpi-card:first-child) .kpi-card,
.wr-kpi-register > .kpi-card:first-child {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
}

.wr-kpi-register :is(.module-kpi:first-child, .kpi-card:first-child) :is(.kpi-label, .kpi-meta),
.wr-kpi-register > .kpi-card:first-child :is(.kpi-label, .kpi-meta) {
  color: var(--wr-page-paper);
}

.wr-kpi-register .kpi-label {
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
}

.wr-kpi-register .kpi-value {
  overflow-wrap: anywhere;
  color: inherit;
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: 1.2rem;
  font-weight: 400;
}

.wr-dashboard .wr-kpi-register .module-kpi:not(:first-child) .kpi-card {
  color: var(--wr-page-ink);
}

.wr-dashboard .wr-kpi-register .module-kpi:not(:first-child) :is(.kpi-label, .kpi-meta) {
  color: var(--wr-page-muted);
}

.wr-page .ai-card {
  min-height: calc(var(--touch-target) + var(--space-sm));
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-md);
  margin: 0;
  padding: var(--space-sm) var(--space-lg);
  color: var(--wr-page-forest);
  background: color-mix(in srgb, var(--wr-page-forest) 14%, var(--wr-page-limestone));
  border: 0;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
}

.wr-page .ai-card > div:last-child {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs) var(--space-md);
}

.wr-page .ai-card-head {
  justify-content: start;
}

.wr-page .ai-card-head span {
  font-size: var(--font-size-operational);
}

.wr-page .ai-card h3,
.wr-page .ai-card p {
  margin: 0;
}

.wr-page .ai-card p {
  color: var(--wr-page-muted);
  font-size: var(--font-size-operational);
}

.wr-page .ai-card a {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--wr-page-river);
  padding-inline: var(--space-md);
}

.wr-page .ai-glyph {
  display: grid;
  place-items: center;
  color: var(--wr-page-forest);
}

.wr-page .panel {
  min-width: 0;
  margin: 0;
  padding: var(--space-lg);
  color: var(--wr-page-ink);
  background: var(--wr-page-paper);
  border: 0;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
  box-shadow: none;
}

.wr-page .panel-head {
  align-items: baseline;
  margin-block-end: var(--space-sm);
  padding-block-end: var(--space-sm);
  border-block-end: var(--line-hairline) solid var(--wr-page-ink);
}

.wr-page .panel-head h2 {
  font-size: var(--font-size-section-title);
}

.wr-page .panel-head > a,
.wr-page .panel-head > div + a {
  padding-inline: var(--space-sm);
  color: var(--wr-page-river);
}

.wr-page .empty {
  color: var(--wr-page-muted);
  font-size: var(--font-size-operational);
}

.wr-page .data-table {
  color: var(--wr-page-ink);
  background: var(--wr-page-paper);
  font-size: var(--font-size-operational);
}

.wr-page .data-table :is(th, td) {
  color: inherit;
  border-color: var(--wr-page-rule);
}

.wr-page .data-table th {
  min-height: var(--touch-target);
  color: var(--wr-page-muted);
  background: var(--wr-page-limestone);
  font-size: var(--font-size-operational);
}

.wr-page .data-table :is(th:first-child, td:first-child) {
  background: var(--wr-page-paper);
}

.wr-page .data-table tbody tr:hover,
.wr-page .data-table tbody tr:hover td:first-child {
  background: color-mix(in srgb, var(--wr-page-river) 9%, var(--wr-page-paper));
}

.wr-page .table-wrap {
  scrollbar-color: var(--wr-page-river) var(--wr-page-limestone);
}

/* Executive Dashboard */
.wr-dashboard-ledger {
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr);
  gap: 0;
  border-inline-start: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-dashboard-ledger .wide {
  grid-column: auto;
}

.wr-dashboard .source-bars {
  gap: 0;
}

.wr-dashboard .source-row {
  min-height: calc(var(--touch-target) + var(--space-sm));
  grid-template-columns: minmax(10rem, 1fr) auto;
  gap: var(--space-xs) var(--space-md);
  padding: var(--space-sm) 0;
  color: var(--wr-page-ink);
  background: transparent;
  border: 0;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
}

.wr-dashboard .source-row:hover {
  color: var(--wr-page-ink);
  background: color-mix(in srgb, var(--wr-page-river) 9%, var(--wr-page-paper));
}

.wr-dashboard .source-row progress {
  accent-color: var(--wr-page-river);
}

.wr-dashboard .source-row strong,
.wr-dashboard .timeline-list b,
.wr-dashboard .status-breakdown strong {
  color: var(--wr-page-ink);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: var(--font-size-operational);
  font-weight: 400;
}

.wr-dashboard .status-breakdown {
  gap: 0;
}

.wr-dashboard .status-breakdown .status-badge {
  min-height: var(--font-size-section-title);
  font-size: var(--font-size-operational);
}

.wr-dashboard .status-breakdown li,
.wr-dashboard .timeline-list li {
  min-height: var(--touch-target);
  padding: var(--space-sm) 0;
  color: var(--wr-page-ink);
  background: transparent;
  border: 0;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
  font-size: var(--font-size-operational);
}

.wr-dashboard-lower {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-inline-start: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-dashboard .period-switcher {
  display: flex;
  flex-wrap: wrap;
}

.wr-dashboard .period-switcher a {
  min-width: var(--touch-target);
  min-height: var(--touch-target);
  display: grid;
  place-items: center;
  color: var(--wr-page-muted);
  border: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: var(--font-size-operational);
}

.wr-dashboard .period-switcher a.active {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
  border-color: var(--wr-page-river);
}

.wr-disbursement-register {
  border-inline-start: var(--line-hairline) solid var(--wr-page-rule) !important;
}

.wr-dashboard .sticky-action-bar {
  color: var(--wr-page-paper);
  background: var(--wr-page-forest);
  border-color: var(--wr-page-rule);
  border-radius: 0;
}

/* Monitoring & Evaluation */
.wr-monitoring .wr-page-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.wr-monitoring .wr-page-head > :first-child {
  grid-column: 1 / -1;
}

.wr-monitoring .me-scope-controls {
  align-items: end;
}

.wr-monitoring .me-project-switch label {
  display: grid;
  gap: var(--space-xs);
}

.wr-monitoring .me-project-switch select {
  min-height: var(--touch-target);
  color: var(--wr-page-ink);
  background: var(--wr-page-paper);
  border-color: var(--wr-page-ink);
  border-radius: 0;
}

.logframe-project-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.logframe-project-band div {
  display: grid;
  gap: var(--space-xs);
}

.logframe-project-band span {
  color: var(--text-tertiary);
  font-size: var(--font-size-caption);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.logframe-project-band strong {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: var(--font-size-heading-lg);
}

.me-logframe tbody tr.logframe-level-impact {
  background: color-mix(in srgb, var(--wr-page-river) 12%, transparent);
}

.me-logframe tbody tr.logframe-level-outcome td:first-child,
.me-logframe tbody tr.logframe-level-output td:first-child,
.me-logframe tbody tr.logframe-level-activity td:first-child {
  padding-inline-start: var(--space-lg);
}

.me-logframe tbody tr.logframe-level-output .logframe-description {
  padding-inline-start: var(--space-sm);
}

.me-logframe tbody tr.logframe-level-activity .logframe-description {
  padding-inline-start: var(--space-md);
}

.logframe-provenance {
  display: block;
  margin-top: var(--space-2xs, .25rem);
  color: var(--text-tertiary);
  font-size: var(--font-size-caption);
}

.logframe-editor .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.logframe-editor label {
  display: grid;
  gap: var(--space-xs);
}

.logframe-editor :is(input, select, textarea) {
  inline-size: 100%;
  min-inline-size: 0;
}

.logframe-editor label.full,
.logframe-editor .form-actions.full {
  grid-column: 1 / -1;
}

.logframe-editor label span {
  color: var(--text-secondary);
  font-size: var(--font-size-operational);
  font-weight: 600;
}

.logframe-editor label small {
  color: var(--text-tertiary);
  font-size: var(--font-size-caption);
}

.logframe-editor textarea {
  min-height: 7rem;
  resize: vertical;
}

.table-scroll-cue {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: var(--space-sm) 0 0;
  color: var(--text-tertiary);
  font-size: var(--font-size-caption);
}

.table-scroll-cue .icon {
  flex: 0 0 auto;
}

@media (max-width: 48rem) {
  .logframe-project-band,
  .logframe-editor .form-grid {
    grid-template-columns: 1fr;
  }

  .logframe-editor label.full,
  .logframe-editor .form-actions.full {
    grid-column: auto;
  }

  .wr-monitoring .logframe-project-band {
    grid-template-columns: 1fr;
  }
}

.wr-monitoring .segmented {
  display: flex;
  border: var(--line-hairline) solid var(--wr-page-ink);
}

.wr-monitoring .segmented a {
  min-height: var(--touch-target);
  display: inline-flex;
  align-items: center;
  padding-inline: var(--space-md);
  color: var(--wr-paper-on-forest, var(--wr-page-paper));
  background: var(--wr-page-forest);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
  font-size: .875rem;
  font-weight: 700;
}

.wr-monitoring .segmented a:last-child {
  border-inline-end: 0;
}

.wr-monitoring .segmented a.active {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
}

.wr-monitoring .me-section-nav {
  position: static;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: var(--space-md) 0 0;
  padding: 0;
  counter-reset: me-destination;
  background: transparent;
  border-block-start: var(--line-hairline) solid var(--wr-page-ink);
  border-inline-start: var(--line-hairline) solid var(--wr-page-ink);
  border-radius: 0;
  backdrop-filter: none;
}

.wr-monitoring .me-section-nav a {
  min-width: 0;
  min-height: var(--touch-target);
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm);
  counter-increment: me-destination;
  color: var(--wr-paper-on-forest, var(--wr-page-paper));
  background: var(--wr-page-forest);
  border: 0;
  border-inline-end: var(--line-hairline) solid var(--wr-page-ink);
  border-block-end: var(--line-hairline) solid var(--wr-page-ink);
  border-radius: 0;
  font-size: .875rem;
  font-weight: 700;
  white-space: normal;
}

.wr-monitoring .me-section-nav a::before {
  content: counter(me-destination, decimal-leading-zero);
  color: var(--wr-page-brass);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: .875rem;
  font-weight: 400;
}

.wr-monitoring .me-section-nav a:hover,
.wr-monitoring .me-section-nav a:focus-visible {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
}

.wr-monitoring .me-section-nav a:hover::before,
.wr-monitoring .me-section-nav a:focus-visible::before {
  color: inherit;
}

.wr-result-band {
  min-height: calc(var(--touch-target) * 2);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-lg);
  margin: var(--space-md) 0 0;
  padding: var(--space-md) var(--space-lg);
  color: var(--wr-page-paper);
  background: var(--wr-page-forest);
  border: 0;
  border-radius: 0;
}

.wr-result-band span,
.wr-result-band small {
  color: inherit;
  font-size: var(--font-size-operational);
}

.wr-result-band strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: inherit;
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: clamp(1.6rem, 4vw, 3rem);
  font-weight: 400;
}

.wr-monitoring .dashboard-grid {
  gap: 0;
  border-inline-start: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-monitoring .panel.wide {
  grid-column: span 1;
}

.wr-monitoring .me-intelligence-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
  margin: 0;
}

.wr-monitoring .me-trend-canvas {
  background: var(--wr-page-limestone);
  border-color: var(--wr-page-rule);
  border-radius: 0;
}

.wr-monitoring :is(.me-warning, .me-rag-row, .me-region-list li) {
  color: var(--wr-page-ink);
  background: transparent;
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
}

.wr-monitoring :is(.me-warning strong, .me-rag-row h3, .me-region-list strong, .me-region-percent) {
  color: var(--wr-page-ink);
}

.wr-monitoring .me-gauge::before {
  background: var(--wr-page-paper);
}

.wr-monitoring .status-badge {
  font-size: var(--font-size-operational);
  white-space: nowrap;
}

.wr-monitoring .saved-cuts:not(.me-section-nav) {
  position: static;
  display: flex;
  gap: 0;
  overflow-x: auto;
  margin: var(--space-md) 0 0;
  padding: 0;
  background: var(--wr-page-paper);
  border: var(--line-hairline) solid var(--wr-page-ink);
  border-radius: 0;
  backdrop-filter: none;
}

.wr-monitoring .saved-cuts:not(.me-section-nav) > a {
  flex: 0 0 auto;
  min-height: var(--touch-target);
  display: inline-flex;
  align-items: center;
  padding-inline: var(--space-md);
  color: var(--wr-page-ink);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
  font-size: .875rem;
  font-weight: 700;
}

.wr-monitoring .saved-cuts:not(.me-section-nav) > a.active {
  color: var(--wr-page-paper);
  background: var(--wr-page-river);
}

.wr-monitoring .me-filter-bar {
  margin: 0;
  padding: var(--space-md);
  background: var(--wr-page-paper);
  border: 0;
  border-inline: var(--line-hairline) solid var(--wr-page-rule);
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
}

.wr-monitoring .asset-filter :is(input, select) {
  min-height: var(--touch-target);
  color: var(--wr-page-ink);
  background: var(--wr-page-paper);
  border-color: var(--wr-page-rule);
  border-radius: 0;
}

.wr-monitoring .dossier-grid {
  gap: 0;
  border: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-monitoring .dossier-grid > div {
  min-height: calc(var(--touch-target) + var(--space-lg));
  padding: var(--space-sm);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-monitoring .dossier-grid > div:last-child {
  border-inline-end: 0;
}

.wr-monitoring .dossier-grid span {
  color: var(--wr-page-muted);
  font-size: var(--font-size-operational);
}

.wr-monitoring .dossier-grid strong {
  color: var(--wr-page-ink);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: var(--font-size-operational);
  font-weight: 400;
}

.wr-monitoring .gps-map-preview {
  min-height: calc(var(--touch-target) * 3);
  color: var(--wr-page-ink);
  background: color-mix(in srgb, var(--wr-page-river) 8%, var(--wr-page-limestone));
  border: var(--line-hairline) solid var(--wr-page-rule);
  border-radius: 0;
}

/* Compact project executive position. The view is a read-only dossier
   beside the agency dashboard and the full M&E workbench. */
.wr-project-executive {
  display: grid;
  gap: var(--space-lg);
}

.wr-monitoring .me-project-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-sm);
}

.wr-project-executive-head,
.wr-project-identity {
  display: grid;
  gap: var(--space-md);
  border-block-end: var(--line-hairline) solid var(--wr-page-rule);
  padding-block-end: var(--space-lg);
}

.wr-project-executive-head h1,
.wr-project-identity h2 {
  margin: 0;
  color: var(--wr-page-ink);
  font-family: var(--wr-font-serif, var(--font-heading));
}

.wr-project-executive-lede {
  max-inline-size: 58rem;
  margin: var(--space-xs) 0 0;
  color: var(--wr-page-ink-muted);
  font-size: var(--font-size-body);
}

.wr-project-executive-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.wr-project-identity {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, auto) auto;
  align-items: end;
  padding: var(--space-md) 0;
  border-block-start: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-project-code {
  display: inline-block;
  margin-block-start: var(--space-xs);
  color: var(--wr-page-river);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: var(--font-size-operational);
  font-weight: 700;
  letter-spacing: .08em;
}

.wr-project-status,
.wr-project-period {
  display: grid;
  gap: var(--space-2xs, .25rem);
}

.wr-project-status-label,
.wr-project-period dt,
.wr-project-kpi span,
.wr-project-facts dt,
.wr-project-money dt {
  color: var(--wr-page-ink-muted);
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.wr-project-status small {
  max-inline-size: 18rem;
  color: var(--wr-page-ink-muted);
  font-size: var(--font-size-caption);
}
.wr-project-status .status-badge { justify-self: start; }

.wr-project-period {
  grid-template-columns: repeat(2, minmax(0, auto));
  gap: var(--space-md);
  margin: 0;
}

.wr-project-period dd,
.wr-project-facts dd,
.wr-project-money dd {
  margin: var(--space-2xs, .25rem) 0 0;
  color: var(--wr-page-ink);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: var(--font-size-operational);
  font-weight: 700;
}

.wr-project-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: var(--line-hairline) solid var(--wr-page-rule);
}

.wr-project-kpi {
  display: grid;
  gap: var(--space-xs);
  min-block-size: 8rem;
  padding: var(--space-md);
  border-inline-end: var(--line-hairline) solid var(--wr-page-rule);
  background: var(--wr-page-paper);
}

.wr-project-kpi:last-child { border-inline-end: 0; }
.wr-project-kpi strong {
  color: var(--wr-page-ink);
  font-family: var(--wr-font-mono, var(--font-mono));
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 700;
}
.wr-project-kpi small { color: var(--wr-page-ink-muted); font-size: var(--font-size-caption); }

.wr-project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.wr-project-lower-grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr); }
.wr-project-panel { min-inline-size: 0; border-radius: 0; }
.wr-project-panel .panel-head { align-items: start; }
.wr-project-panel .panel-head h2 { color: var(--wr-page-ink); }

.wr-project-bar {
  block-size: var(--space-md);
  margin-block: var(--space-md);
  background: var(--wr-page-limestone);
  border: var(--line-hairline) solid var(--wr-page-rule);
}
.wr-project-bar span { display: block; block-size: 100%; inline-size: calc(var(--project-progress, 0) * 1%); background: var(--wr-page-river); }
.wr-project-statline { display: flex; align-items: baseline; gap: var(--space-sm); }
.wr-project-statline strong { color: var(--wr-page-ink); font-family: var(--wr-font-mono, var(--font-mono)); font-size: var(--font-size-heading-lg); }
.wr-project-statline span { color: var(--wr-page-ink-muted); font-size: var(--font-size-operational); }
.wr-project-facts,
.wr-project-money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); margin: var(--space-lg) 0 0; }
.wr-project-money { grid-template-columns: 1fr; gap: var(--space-md); }
.wr-project-money div { display: flex; justify-content: space-between; gap: var(--space-md); border-block-end: var(--line-hairline) solid var(--wr-page-rule); padding-block-end: var(--space-xs); }
.wr-project-money dd { text-align: end; }
.wr-project-indicator-score { display: grid; gap: var(--space-xs); margin-block: var(--space-md); }
.wr-project-indicator-score strong { color: var(--wr-page-ink); font-family: var(--wr-font-mono, var(--font-mono)); font-size: var(--font-size-heading-lg); }
.wr-project-indicator-score span { color: var(--wr-page-ink-muted); font-size: var(--font-size-operational); }

.wr-project-warning-list,
.wr-project-site-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.wr-project-warning { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-sm); padding: var(--space-sm) 0; border-block-end: var(--line-hairline) solid var(--wr-page-rule); }
.wr-project-warning-mark { inline-size: var(--space-sm); block-size: var(--space-sm); margin-block-start: var(--space-2xs, .25rem); background: var(--wr-page-brass); border-radius: 50%; }
.wr-project-warning-red .wr-project-warning-mark { background: var(--wr-page-oxide); }
.wr-project-warning a { display: grid; gap: var(--space-2xs, .25rem); color: var(--wr-page-ink); }
.wr-project-warning strong { color: var(--wr-page-ink); font-family: var(--wr-font-mono, var(--font-mono)); font-size: var(--font-size-operational); }
.wr-project-warning span { color: var(--wr-page-ink-muted); font-size: var(--font-size-operational); }

.wr-project-map { position: relative; min-block-size: 15rem; overflow: hidden; isolation: isolate; background-color: var(--wr-page-limestone); background-image: linear-gradient(var(--wr-page-rule) var(--line-hairline), transparent var(--line-hairline)), linear-gradient(90deg, var(--wr-page-rule) var(--line-hairline), transparent var(--line-hairline)); background-size: 25% 25%; border: var(--line-hairline) solid var(--wr-page-rule); }
.wr-project-map-point { position: absolute; inset-inline-start: var(--map-x, 50%); inset-block-start: var(--map-y, 50%); display: grid; place-items: center; inline-size: var(--space-lg); block-size: var(--space-lg); transform: translate(-50%, -50%); color: var(--wr-page-paper); background: var(--wr-page-oxide); border: var(--line-hairline) solid var(--wr-page-paper); border-radius: 50%; font-family: var(--wr-font-mono, var(--font-mono)); font-size: var(--font-size-caption); font-weight: 700; z-index: 1; }
.wr-project-map-point.is-verified { background: var(--wr-page-forest); }
.wr-project-map-note { position: absolute; inset-inline-start: var(--space-sm); inset-block-end: var(--space-xs); color: var(--wr-page-ink-muted); font-size: var(--font-size-caption); }
.wr-project-map-empty { display: grid; place-content: center; min-block-size: 15rem; gap: var(--space-xs); text-align: center; background: var(--wr-page-limestone); color: var(--wr-page-ink-muted); }
.wr-project-site-list { margin-block-start: var(--space-sm); }
.wr-project-site-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-xs); padding: var(--space-sm) 0; border-block-end: var(--line-hairline) solid var(--wr-page-rule); color: var(--wr-page-ink); font-size: var(--font-size-operational); }
.wr-project-site-list small { color: var(--wr-page-ink-muted); }
.wr-project-table-wrap { max-inline-size: 100%; }
.wr-project-table { min-inline-size: 44rem; }

@media (max-width: 64rem) {
  .wr-project-identity { grid-template-columns: minmax(0, 1fr) auto; }
  .wr-project-period { grid-column: 1 / -1; }
  .wr-project-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wr-project-kpi:nth-child(2) { border-inline-end: 0; }
  .wr-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wr-project-lower-grid { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
  .wr-project-executive-head,
  .wr-project-identity,
  .wr-project-grid,
  .wr-project-kpis { grid-template-columns: 1fr; }
  .wr-project-executive-actions .btn { inline-size: 100%; justify-content: center; }
  .wr-project-identity { align-items: start; }
  .wr-project-period { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wr-project-kpis { border-block-end: 0; }
  .wr-project-kpi { border-inline-end: 0; border-block-end: var(--line-hairline) solid var(--wr-page-rule); }
  .wr-project-facts { gap: var(--space-xs); }
}

@media print {
  .wr-project-executive-head .wr-project-executive-actions,
  .wr-project-panel .rel-link { display: none; }
  .wr-project-executive { gap: var(--space-md); }
  .wr-project-panel, .wr-project-kpi { break-inside: avoid; }
}

@media (max-width: 64rem) {
  .wr-monitoring .wr-page-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .wr-monitoring .me-scope-controls {
    justify-content: space-between;
  }

  .wr-monitoring .me-section-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .wr-dashboard-ledger,
  .wr-monitoring .me-intelligence-grid {
    grid-template-columns: 1fr;
  }

  .wr-page .panel {
    border-inline-end: 0;
  }
}

@media (max-width: 64rem) {
  .wr-monitoring .task-status-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 45rem) {
  .wr-page-head,
  .wr-monitoring .wr-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .wr-page-head .head-actions,
  .wr-page-head .head-actions .btn,
  .wr-monitoring .me-scope-controls,
  .wr-monitoring .me-project-switch,
  .wr-monitoring .me-project-switch label,
  .wr-monitoring .me-project-switch select,
  .wr-monitoring .segmented,
  .wr-monitoring .wr-page-head > .btn {
    width: 100%;
  }

  .wr-monitoring .segmented a {
    flex: 1;
    justify-content: center;
    padding-inline: var(--space-xs);
  }

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

  .wr-kpi-register .kpi-card {
    min-height: calc(var(--touch-target) * 2);
    padding: var(--space-sm);
  }

  .wr-page .ai-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .wr-page .ai-card > div:last-child {
    grid-template-columns: minmax(0, 1fr);
  }

  .wr-page .ai-card a {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .wr-dashboard-lower {
    grid-template-columns: 1fr;
  }

  .wr-dashboard .panel-head,
  .wr-monitoring .panel-head {
    align-items: stretch;
  }

  .wr-dashboard .period-switcher {
    width: 100%;
  }

  .wr-dashboard .period-switcher a {
    flex: 1;
  }

  .wr-monitoring .me-section-nav {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
  }

  .wr-monitoring .me-section-nav a {
    flex: 0 0 9.5rem;
    scroll-snap-align: start;
  }

  .wr-result-band {
    grid-template-columns: minmax(0, 1fr) auto;
  }

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

  .wr-monitoring .dossier-grid > div:nth-child(even) {
    border-inline-end: 0;
  }

  .wr-page .sticky-action-bar {
    align-items: stretch;
  }

  .wr-page .sticky-action-bar .btn {
    width: 100%;
  }

  .wr-dashboard .sticky-action-bar {
    height: calc(var(--wr-control-size) + var(--space-lg));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-sm);
    bottom: calc(var(--wr-bottom-nav-height) + var(--space-sm));
    margin-bottom: 0;
    padding: var(--space-sm) var(--space-md);
  }

  .wr-dashboard .sticky-action-bar > span {
    min-width: 0;
    overflow: hidden;
    font-size: var(--font-size-operational);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .wr-dashboard .sticky-action-bar .btn {
    width: auto;
    min-height: var(--wr-control-size);
    padding-inline: var(--space-sm);
  }
}

.wr-monitoring .field-report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  min-inline-size: 0;
}

.wr-monitoring .field-report-form > label,
.wr-monitoring .field-report-form fieldset > label {
  display: grid;
  gap: var(--space-xs);
  min-inline-size: 0;
  color: var(--text-secondary);
}

.wr-monitoring .field-report-form :is(input, select, textarea) {
  inline-size: 100%;
  min-inline-size: 0;
}

.wr-monitoring .field-report-selection-disclosure {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  line-height: var(--line-height-body);
}

.wr-monitoring .field-report-form fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  min-inline-size: 0;
}

.wr-monitoring .field-report-form .span-2 {
  grid-column: 1 / -1;
}

@media (max-width: 45rem) {
  .wr-monitoring .field-report-form,
  .wr-monitoring .field-report-form fieldset {
    grid-template-columns: minmax(0, 1fr);
  }

  .wr-monitoring .field-report-form .span-2 {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wr-page {
    scroll-behavior: auto;
  }
}

/* Task Tracking Matrix: wide operational data keeps its readable type
   and becomes an intentional horizontal register on narrow screens. */
body[data-module='monitoring'] .task-matrix-panel .table-wrap {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

body[data-module='monitoring'] .task-status-summary {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body[data-module='monitoring'] .task-status-summary .kpi-card {
  color: var(--wr-paper);
}

body[data-module='monitoring'] .task-status-summary .kpi-card :is(.kpi-label, .kpi-meta, .kpi-value) {
  color: var(--wr-paper);
}

body[data-module='monitoring'] .task-matrix-panel .data-table {
  min-inline-size: calc(var(--space-5xl) * 20);
}

body[data-module='monitoring'] :is(.task-matrix-panel, .task-form-panel) {
  color: var(--text-primary);
}

body[data-module='monitoring'] :is(.task-matrix-panel, .task-form-panel) .panel-head h2 {
  color: var(--text-primary);
}

body[data-module='monitoring'] :is(.task-matrix-panel, .task-form-panel) .caption {
  color: var(--text-secondary);
}

body[data-module='monitoring'] .task-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-lg);
}

body[data-module='monitoring'] .task-form label {
  min-inline-size: 0;
  font-size: var(--font-size-operational);
}

body[data-module='monitoring'] .task-form label > span {
  color: var(--text-primary);
  font-weight: 700;
}

body[data-module='monitoring'] .task-form .form-span-full {
  grid-column: 1 / -1;
}

body[data-module='monitoring'] .task-form :is(input, select, textarea) {
  min-block-size: var(--touch-target);
  color: var(--text-primary);
  background: var(--bg-surface);
  border-color: var(--border-strong);
  border-radius: 0;
}

body[data-module='monitoring'] .task-form :is(input, select, textarea)::placeholder {
  color: var(--text-secondary);
}

body[data-module='monitoring'] .task-form .form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

@media (max-width: 45rem) {
  body[data-module='monitoring'] .task-status-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-module='monitoring'] .task-form {
    grid-template-columns: 1fr;
  }

  body[data-module='monitoring'] .task-form .form-span-full {
    grid-column: auto;
  }

  body[data-module='monitoring'] .task-form .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body[data-module='monitoring'] .task-form .form-actions .btn {
    inline-size: 100%;
  }
}
