/* ==========================================================================
   التقارير الشهرية (monthly module)
   .mr-*  screen: list, create dialog, editor (metrics, narrative, photos, history)
   .md-*  print deck #/print/monthly/<id> (16:9 slides, see print.css .slide)
   ========================================================================== */

/* ------------------------------------------------------------------ shared bits */
.mr-muted-line { color: var(--c-muted-strong); font-size: var(--fs-sm); line-height: 1.6; }
p.mr-muted-line { display: flex; align-items: flex-start; gap: 6px; margin: 0; }
.mr-muted-line > .icon { width: 16px; height: 16px; flex: none; margin-top: 3px; color: var(--c-muted); }
.mr-progress-bar { display: block; height: 6px; border-radius: 999px; background: #ECEFE5; overflow: hidden; }
.mr-progress-bar > span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--c-green), var(--c-primary)); transition: width .3s ease; }
.mr-subhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.mr-subtitle { margin: 0 0 8px; font-size: var(--fs-sm); font-weight: 700; color: var(--c-forest); }
.mr-view-list { margin: 0; padding-inline-start: 20px; display: flex; flex-direction: column; gap: 6px; line-height: 1.75; }
.mr-view-list li::marker { color: var(--c-green); }
.mr-view-list.is-numbered li::marker { font-weight: 700; }
.mr-prose p { margin: 0 0 8px; line-height: 1.95; text-align: justify; }
.mr-prose p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------------ list: toolbar */
.mr-toolbar { align-items: flex-end; }
.mr-toolbar-chips { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mr-toolbar-chips .field-label { font-size: var(--fs-xs); }
.mr-chip-count {
  display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: var(--c-gray-tint); color: var(--c-muted-strong); font-size: 11.5px; font-weight: 700;
}
.chip.is-active .mr-chip-count { background: #fff; color: var(--c-green-700); }
.chip.mr-chip-attn { border-color: #E3D3AE; }
.chip.mr-chip-attn .mr-chip-count { background: var(--c-gold-tint); color: var(--c-gold); }
.mr-view-seg { flex: none; }
button.mr-seg { border: 0; padding: 0; background: none; font: inherit; }
.mr-seg span { gap: 6px; font-size: var(--fs-sm); }
.mr-seg span .icon { width: 16px; height: 16px; }
.mr-seg.is-active span { background: #fff; color: var(--c-forest); font-weight: 700; box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.mr-seg:focus-visible { outline: none; }
.mr-seg:focus-visible span { box-shadow: var(--ring); }

/* ------------------------------------------------------------------ list: cards by month */
.mr-list-content { min-width: 0; }
.mr-months { display: flex; flex-direction: column; gap: 26px; }
.mr-month-group { display: flex; flex-direction: column; gap: 12px; }
.mr-month-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.mr-cards { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); }
.mr-card {
  position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0;
  padding: 16px 18px 14px; background: var(--c-white);
  border: 1px solid var(--c-line-soft); border-top: 3px solid var(--c-sand); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); transition: box-shadow .15s, transform .15s;
}
.mr-card:hover { box-shadow: var(--shadow); }
.mr-card.is-submitted { border-top-color: var(--c-teal); }
.mr-card.is-approved { border-top-color: var(--c-green); }
.mr-card.is-returned { border-top-color: var(--c-orange); }
.mr-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mr-card-month { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--c-muted-strong); }
.mr-card-month .icon { width: 15px; height: 15px; color: var(--c-muted); }
.mr-card-park { margin: 0; font-size: var(--fs-md); font-weight: 700; line-height: 1.4; }
.mr-card-link { color: var(--c-ink); }
.mr-card-link:hover { color: var(--c-green); text-decoration: none; }
.mr-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.mr-card-title {
  margin: -4px 0 0; font-size: var(--fs-sm); color: var(--c-muted-strong); line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.mr-card-note {
  display: flex; gap: 6px; align-items: flex-start; margin: 0; padding: 8px 10px; border-radius: 10px;
  background: var(--c-orange-tint); color: var(--c-orange-700); font-size: var(--fs-sm); line-height: 1.6;
}
.mr-card-note .icon { width: 16px; height: 16px; flex: none; margin-top: 3px; }
.mr-card-note span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mr-card-progress { display: flex; flex-direction: column; gap: 6px; }
.mr-card-progress-row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: var(--fs-xs); color: var(--c-muted-strong); }
.mr-card-progress-row b { color: var(--c-ink); font-size: var(--fs-sm); }
.mr-card-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.mr-card-chip {
  display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px;
  background: var(--c-tint); color: var(--c-forest); font-size: var(--fs-xs); font-weight: 500;
}
.mr-card-chip .icon { width: 14px; height: 14px; }
.mr-card-chip.is-empty { background: var(--c-gray-tint); color: var(--c-muted-strong); }
.mr-card-foot {
  display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 12px;
  border-top: 1px solid var(--c-line-soft);
}
.mr-card-by { flex: 1 1 auto; min-width: 0; font-size: var(--fs-xs); color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mr-card-btn { position: relative; z-index: 1; }

/* ------------------------------------------------------------------ list: park x month grid */
.mr-grid-card .card-head { padding-bottom: 12px; }
.mr-grid-wrap { overflow-x: auto; border-top: 1px solid var(--c-line-soft); -webkit-overflow-scrolling: touch; }
.mr-grid { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; font-size: var(--fs-sm); }
.mr-grid th, .mr-grid td { padding: 8px; border-bottom: 1px solid var(--c-line-soft); text-align: center; vertical-align: middle; }
.mr-grid thead th { background: var(--c-zebra); font-weight: 600; color: var(--c-muted-strong); white-space: nowrap; }
.mr-grid thead th.is-now { color: var(--c-green-700); }
.mr-grid thead th.is-now .mr-grid-mname { font-weight: 700; }
.mr-grid-mname { display: block; }
.mr-grid-year { display: block; font-size: 11px; color: var(--c-muted); font-weight: 400; }
.mr-grid tbody tr:last-child th, .mr-grid tbody tr:last-child td { border-bottom: 0; }
.mr-grid .mr-grid-park {
  position: sticky; inset-inline-start: 0; z-index: 1; min-width: 190px; text-align: start;
  background: var(--c-white); font-weight: 600; color: var(--c-ink);
  box-shadow: inset -1px 0 0 var(--c-line-soft);
}
.mr-grid thead .mr-grid-park { background: var(--c-zebra); }
.mr-grid tbody .mr-grid-park { display: table-cell; }
.mr-grid tbody .mr-grid-park > span:first-child { display: block; line-height: 1.4; }
.mr-grid-tag { display: inline-block; margin-top: 3px; padding: 0 8px; border-radius: 999px; background: var(--c-gray-tint); color: var(--c-muted-strong); font-size: 11px; font-weight: 500; }
.mr-grid-cell {
  display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 58px; justify-content: center;
  padding: 6px 4px; border-radius: 10px; border: 1px solid var(--c-line-soft); background: var(--c-white); color: var(--c-ink);
}
.mr-grid-cell:hover { text-decoration: none; border-color: var(--c-mint); box-shadow: var(--shadow-sm); }
.mr-grid-cell.is-approved { background: #F1F8EC; border-color: #D5E9C4; }
.mr-grid-cell.is-submitted { background: var(--c-teal-tint); border-color: #CFE2E2; }
.mr-grid-cell.is-returned { background: var(--c-orange-tint); border-color: #F6D2C2; }
.mr-grid-cell .badge { font-size: 11px; }
.mr-grid-prog { font-size: 11px; color: var(--c-muted-strong); }
.mr-grid-add {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; min-height: 58px;
  border: 1px dashed #D2D6C8; border-radius: 10px; background: transparent; color: var(--c-muted); font: inherit; font-size: 12px; cursor: pointer;
  transition: all .15s;
}
.mr-grid-add .icon { width: 16px; height: 16px; }
.mr-grid-add:hover { border-color: var(--c-green); color: var(--c-green-700); background: var(--c-tint); }
.mr-grid-none { color: #B5B5AD; font-size: 12px; }
.mr-grid-legend { margin-top: -4px; }

/* ------------------------------------------------------------------ create dialog */
.mr-create-form { align-items: start; }
.mr-month { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 8px; }
.mr-create-copy:empty, .mr-create-status:empty { display: none; }
.mr-create-copy .field-hint { margin-inline-start: 30px; }
.mr-create-preview {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: 10px;
  background: var(--c-gray-tint); color: var(--c-muted-strong); font-size: var(--fs-sm); line-height: 1.7;
}
.mr-create-preview > .icon { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.mr-create-preview.is-ok { background: var(--c-tint); color: var(--c-forest); }
.mr-create-preview.is-ok > .icon { color: var(--c-green); }
.mr-create-preview.is-empty { background: var(--c-gold-tint); color: #6E5620; }
.mr-create-preview.is-empty > .icon { color: var(--c-gold); }
.mr-create-open { margin-top: 8px; width: fit-content; }
.mr-create-status .note { margin: 0; }

/* ------------------------------------------------------------------ editor: header */
.mr-status-line { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; font-size: var(--fs-sm); }
.mr-meta-text { color: var(--c-muted); font-size: var(--fs-xs); }
.mr-save { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: 600; color: var(--c-muted-strong); }
.mr-save .icon { width: 15px; height: 15px; }
.mr-save.is-saved { color: var(--c-green-700); }
.mr-save.is-dirty { color: var(--c-gold); }
.mr-save.is-error { color: var(--c-orange-700); }
.mr-save.is-stopped { color: var(--c-orange-700); }
.mr-save.is-readonly { color: var(--c-muted); font-weight: 500; }
.mr-save-retry { border: 0; background: none; padding: 0; font: inherit; color: var(--c-green-700); text-decoration: underline; cursor: pointer; }
.mr-delete:hover { color: var(--c-orange-700); }
.mr-banner-text { white-space: pre-line; margin-top: 2px; }
.mr-banner-meta { margin-top: 4px; font-size: var(--fs-xs); color: var(--c-muted-strong); }
.mr-tabs { margin-top: 2px; }
.mr-pane { min-width: 0; }
.mr-neighbors { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
.mr-neighbor {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px;
  border: 1px solid var(--c-line-soft); background: var(--c-white); color: var(--c-muted-strong); font-size: var(--fs-sm);
}
.mr-neighbor:hover { text-decoration: none; border-color: var(--c-mint); color: var(--c-green-700); }
.mr-neighbor .icon { width: 16px; height: 16px; }

/* ------------------------------------------------------------------ editor: layout + section index */
.mr-editor { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 20px; align-items: start; }
.mr-index { position: sticky; top: calc(var(--topbar-h) + 16px); min-width: 0; }
.mr-index-card {
  display: flex; flex-direction: column; gap: 10px; padding: 16px;
  background: var(--c-white); border: 1px solid var(--c-line-soft); border-radius: var(--radius); box-shadow: var(--shadow-sm);
}
.mr-index-head { display: flex; flex-direction: column; gap: 2px; }
.mr-index-title { font-weight: 700; font-size: var(--fs-base); }
.mr-progress-text { font-size: var(--fs-xs); color: var(--c-muted-strong); }
.mr-index-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mr-index-link {
  display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 8px;
  color: #555; font-size: var(--fs-sm);
}
.mr-index-link:hover { background: var(--c-zebra); text-decoration: none; color: var(--c-ink); }
.mr-index-mark {
  width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: var(--c-gray-tint); color: var(--c-muted);
}
.mr-index-mark .icon { width: 13px; height: 13px; }
.mr-index-link.is-filled { color: var(--c-forest); font-weight: 600; }
.mr-index-link.is-filled .mr-index-mark { background: var(--c-green); color: #fff; }
.mr-index-hint {
  display: flex; align-items: flex-start; gap: 6px; margin: 2px 0 0; padding-top: 10px;
  border-top: 1px solid var(--c-line-soft); font-size: var(--fs-xs); color: var(--c-muted-strong); line-height: 1.6;
}
.mr-index-hint .icon { width: 14px; height: 14px; flex: none; margin-top: 3px; color: var(--c-green); }
.mr-sections { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }
.mr-section { scroll-margin-top: calc(var(--topbar-h) + 16px); }
.mr-pair { align-items: start; }

/* ------------------------------------------------------------------ editor: inputs */
/* field-sizing: content sizes the width too: pin the width so the box fills its column and only grows down */
textarea.input.mr-autotext { field-sizing: content; width: 100%; max-width: 100%; min-width: 0; resize: none; min-height: 42px; overflow: hidden; line-height: 1.7; padding-top: 8px; padding-bottom: 8px; }
textarea.input.mr-autotext.mr-intro { min-height: 150px; }
.mr-form { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
input.mr-num { text-align: right; font-variant-numeric: tabular-nums; }
.mr-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mr-cell-label { font-size: var(--fs-xs); font-weight: 600; color: var(--c-muted-strong); }
.mr-row-tools { display: flex; align-items: center; gap: 2px; flex: none; }
.mr-row-tools .btn, .mr-item-tools .btn { color: var(--c-muted); }
.mr-row-tools .btn:hover:not([disabled]), .mr-item-tools .btn:hover:not([disabled]) { color: var(--c-ink); }
.mr-row-tools .mr-remove:hover:not([disabled]), .mr-item-tools .mr-remove:hover:not([disabled]) { color: var(--c-orange-700); background: var(--c-orange-tint); }
.mr-row-tools .btn[disabled], .mr-item-tools .btn[disabled] { opacity: .3; }
.mr-add { width: fit-content; }
.mr-list-empty { margin: 0; font-size: var(--fs-sm); color: var(--c-muted); }
.mr-unit-input { display: flex; align-items: stretch; max-width: 280px; }
.mr-unit-input .input { border-start-end-radius: 0; border-end-end-radius: 0; min-width: 0; flex: 1 1 auto; }
.mr-unit {
  display: grid; place-items: center; padding: 0 14px; flex: none;
  border: 1px solid var(--c-line); border-inline-start: 0; border-start-end-radius: var(--radius-sm); border-end-end-radius: var(--radius-sm);
  background: var(--c-zebra); color: var(--c-muted-strong); font-size: var(--fs-sm);
}

/* bullet list editor */
.mr-list-editor { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mr-list:empty { display: none; }
.mr-list-item { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: start; gap: 6px; }
.mr-bullet { width: 8px; height: 8px; margin: 17px auto 0; border-radius: 2px; background: var(--c-primary); transform: rotate(45deg); }
.mr-list.is-numbered .mr-bullet {
  width: 22px; height: 22px; margin-top: 10px; border-radius: 50%; transform: none;
  display: grid; place-items: center; background: var(--c-teal); color: #fff; font-size: 11.5px; font-weight: 700;
}
.mr-item-tools { display: flex; align-items: center; gap: 0; padding-top: 4px; opacity: .55; transition: opacity .15s; }
.mr-list-item:hover .mr-item-tools, .mr-list-item:focus-within .mr-item-tools { opacity: 1; }
.mr-item-tools .btn, .mr-row-tools .btn { min-height: 32px; min-width: 32px; padding: 4px; }
/* Narrow list editors (the 3 timeline stages side by side): the text takes the full row. With a mouse the
   move/delete tools float over the item's top edge on hover or focus; on touch screens they sit under it. */
.mr-list-editor { container-type: inline-size; }
@container (max-width: 380px) {
  .mr-list-item { grid-template-columns: 16px minmax(0, 1fr); gap: 4px; }
  .mr-item-tools { grid-column: 2; justify-self: end; margin-top: -4px; padding-top: 0; opacity: 1; }
}
@media (hover: hover) and (pointer: fine) {
  @container (max-width: 380px) {
    .mr-list-item { position: relative; }
    .mr-item-tools {
      position: absolute; top: -13px; inset-inline-end: 8px; z-index: 2; margin: 0; padding: 1px 3px;
      background: var(--c-white, #fff); border: 1px solid var(--c-line); border-radius: 999px; box-shadow: var(--shadow);
      opacity: 0; pointer-events: none;
    }
    .mr-item-tools .btn { min-height: 26px; min-width: 26px; padding: 3px; }
    .mr-list-item:hover .mr-item-tools, .mr-list-item:focus-within .mr-item-tools { opacity: 1; pointer-events: auto; }
  }
}

/* repeater */
.mr-repeater-wrap { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.mr-repeater:empty { display: none; }
.mr-repeater-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* ------------------------------------------------------------------ editor: timeline */
.mr-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.mr-stage {
  --tone: var(--c-green); --tone-bg: var(--c-tint);
  display: flex; flex-direction: column; gap: 10px; min-width: 0;
  padding: 14px; border-radius: 12px; background: var(--tone-bg); border-top: 3px solid var(--tone);
}
.mr-stage.is-gold { --tone: var(--c-gold); --tone-bg: #F8F3E7; }
.mr-stage.is-teal { --tone: var(--c-teal); --tone-bg: var(--c-teal-tint); }
.mr-stage.is-green { --tone: var(--c-green); --tone-bg: var(--c-tint); }
.mr-stage-head { display: flex; align-items: center; gap: 10px; }
.mr-stage-num {
  width: 30px; height: 30px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: var(--c-green); color: #fff; font-weight: 700; font-size: var(--fs-sm);
}
.mr-stage-num.is-gold { background: var(--c-gold); }
.mr-stage-num.is-teal { background: var(--c-teal); }
.mr-stage-name { font-weight: 700; background: rgba(255, 255, 255, .85); }
.mr-stage-title { margin: 0; font-size: var(--fs-base); font-weight: 700; color: var(--c-forest); }
.mr-stage .mr-list .input { background: rgba(255, 255, 255, .9); }
.mr-stage .mr-view-list li::marker { color: var(--tone); }
.mr-stage .mr-bullet { background: var(--tone); }

/* ------------------------------------------------------------------ editor: tree inventory */
.mr-inv-table { display: flex; flex-direction: column; border: 1px solid var(--c-line-soft); border-radius: 12px; overflow: hidden; }
.mr-inv-table > .mr-repeater-wrap { display: contents; }
.mr-inv-table .mr-repeater { display: flex; flex-direction: column; }
.mr-inv-table .mr-repeater:empty { display: none; }
.mr-inv-table .mr-list-empty { padding: 14px 16px; border-top: 1px solid var(--c-line-soft); }
.mr-inv-table .mr-inv-total { order: 1; }
.mr-inv-table .mr-repeater-foot { order: 2; padding: 10px 12px; border-top: 1px solid var(--c-line-soft); background: var(--c-white); }
.mr-inv-row {
  display: grid; align-items: center; gap: 10px; padding: 8px 12px;
  grid-template-columns: 28px minmax(0, 1.2fr) minmax(0, 1fr) minmax(90px, .8fr) minmax(90px, .8fr) 70px 110px;
  border-top: 1px solid var(--c-line-soft);
}
.mr-inv-row .mr-cell-label { display: none; }
.mr-inv-head { border-top: 0; background: var(--c-zebra); font-size: var(--fs-xs); font-weight: 600; color: var(--c-muted-strong); padding-top: 10px; padding-bottom: 10px; }
.mr-inv-head > span:nth-child(n+4) { text-align: center; }
.mr-inv-idx { color: var(--c-muted); font-size: var(--fs-xs); text-align: center; }
.mr-inv .mr-num { text-align: center; }
.mr-inv-share { text-align: center; color: var(--c-muted-strong); font-size: var(--fs-sm); }
.mr-inv-share-cell { align-items: center; }
.mr-inv-row .mr-row-tools { justify-content: flex-end; }
.mr-inv-total { background: var(--c-tint); font-weight: 700; color: var(--c-forest); padding-top: 10px; padding-bottom: 10px; }
.mr-inv-total .mr-inv-total-zones { font-weight: 500; color: var(--c-muted-strong); font-size: var(--fs-sm); }
.mr-inv-sum { text-align: center; }
.mr-inv-total .mr-inv-share { color: var(--c-forest); }
.mr-insight-inner {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 12px;
  background: var(--c-tint); border-inline-start: 4px solid var(--c-green);
}
.mr-insight-inner > .icon { width: 20px; height: 20px; flex: none; color: var(--c-green); margin-top: 2px; }
.mr-insight-main { margin: 0; font-weight: 700; color: var(--c-forest); line-height: 1.7; }
.mr-insight-sub { margin: 2px 0 0; font-size: var(--fs-sm); color: var(--c-muted-strong); }

/* ------------------------------------------------------------------ editor: irrigation */
.mr-stat-inline { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 12px; background: var(--c-teal-tint); width: fit-content; color: var(--c-teal); }
.mr-stat-inline b { font-size: var(--fs-xl); }

/* ------------------------------------------------------------------ editor: workforce + shifts */
.mr-work-summary {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px;
  padding: 10px 14px; border-radius: 12px; background: var(--c-tint);
}
.mr-work-total { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--c-forest); }
.mr-work-total .icon { width: 18px; height: 18px; color: var(--c-green); }
.mr-work-total b { color: var(--c-green-700); }
.mr-work-avg { font-size: var(--fs-sm); color: var(--c-muted-strong); }
.mr-groups, .mr-shifts { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.mr-repeater.mr-groups:empty, .mr-repeater.mr-shifts:empty { display: none; }
.mr-group, .mr-group-view, .mr-shift, .mr-shift-view {
  display: flex; flex-direction: column; gap: 10px; min-width: 0;
  padding: 14px; border-radius: 12px; border: 1px solid var(--c-line-soft); background: #FDFDF9;
}
.mr-group-view, .mr-shift-view { border-top: 3px solid var(--c-green); }
.mr-shift-view { border-top-color: var(--c-teal); }
.mr-group-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mr-group-top > .mr-cell { flex: 1 1 auto; }
.mr-shift .mr-group-top { align-items: flex-end; }
.mr-group-label { display: inline-flex; padding: 2px 10px; border-radius: 999px; background: var(--c-tint); color: var(--c-forest); font-size: var(--fs-xs); font-weight: 700; }
.mr-group-grid { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 10px; }
.mr-group-name { margin: 0; font-size: var(--fs-md); font-weight: 700; color: var(--c-forest); }
.mr-group-view p, .mr-shift-view p { margin: 0; line-height: 1.7; font-size: var(--fs-sm); }
.mr-group-view p b { color: var(--c-green-700); }
.mr-shift-times { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: end; }
.mr-shift-times .mr-shift-dur { grid-column: 1 / -1; }
.mr-shift-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.mr-shift-top h4 { margin: 0; font-size: var(--fs-md); font-weight: 700; color: var(--c-forest); }
.mr-shift-time { font-weight: 700; color: var(--c-teal); font-variant-numeric: tabular-nums; }
.mr-shift-dur { display: inline-flex; width: fit-content; padding: 2px 10px; border-radius: 999px; background: var(--c-teal-tint); color: var(--c-teal); font-size: var(--fs-xs); font-weight: 600; }

/* ------------------------------------------------------------------ metrics tab */
.mr-metrics-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; }
.mr-metrics-intro { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 320px; }
.mr-live { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: 700; color: var(--c-green-700); }
.mr-live-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--c-green); }
.mr-live-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--c-green); opacity: .35; }
.mr-metrics-intro .mr-muted-line { font-size: var(--fs-xs); }
.mr-kpis { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
.mr-nologs .empty { padding-bottom: 20px; }
.mr-nologs-note { padding: 0 20px 20px; }
.mr-miss { display: flex; flex-direction: column; gap: 8px; }
.mr-miss-title { font-size: var(--fs-sm); font-weight: 600; color: var(--c-orange-700); }
.chip.mr-chip-static { cursor: default; min-height: 30px; background: var(--c-orange-tint); border-color: #F6D2C2; color: #7A3A1E; }
.chip.mr-chip-static b { font-weight: 700; }
.mr-feed { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mr-feed-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--c-line-soft); }
.mr-feed-item:first-child { padding-top: 0; }
.mr-feed-item:last-child { border-bottom: 0; padding-bottom: 0; }
.mr-feed-main { display: flex; flex-direction: column; gap: 1px; min-width: 0; color: var(--c-ink); }
.mr-feed-main:hover { text-decoration: none; }
.mr-feed-main:hover .mr-feed-title { color: var(--c-green-700); }
.mr-feed-title { font-weight: 600; font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; }
.mr-feed-meta { font-size: var(--fs-xs); color: var(--c-muted-strong); }
.mr-feed-item .badge { flex: none; }
.mr-mini-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.mr-mini { display: flex; flex-direction: column; gap: 0; padding: 10px 12px; border-radius: 10px; background: var(--c-teal-tint); color: var(--c-muted-strong); font-size: var(--fs-xs); }
.mr-mini b { font-size: var(--fs-xl); line-height: 1.3; color: var(--c-teal); }
.mr-mini.is-green { background: var(--c-tint); }
.mr-mini.is-green b { color: var(--c-green-700); }
.mr-mini.is-gold { background: var(--c-gold-tint); }
.mr-mini.is-gold b { color: var(--c-gold); }

/* ------------------------------------------------------------------ photos tab */
.mr-uploader .uploader-thumbs:empty { display: none; }
.mr-photo-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.mr-photo { margin: 0; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--c-line-soft); border-radius: 12px; overflow: hidden; background: var(--c-white); }
.mr-photo-img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 0; background: #EEE; cursor: zoom-in; overflow: hidden; }
.mr-photo-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.mr-photo-img:hover img { transform: scale(1.03); }
.mr-photo-num {
  position: absolute; top: 8px; inset-inline-start: 8px; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 999px;
  display: grid; place-items: center; background: rgba(20, 30, 22, .62); color: #fff; font-size: 12px; font-weight: 700;
}
.mr-photo-body { display: flex; flex-direction: column; gap: 6px; padding: 10px; }
.mr-photo-body .mr-autotext { font-size: var(--fs-sm); }
.mr-photo-tools { display: flex; align-items: center; gap: 2px; }
.mr-photo-tools .btn { min-height: 32px; min-width: 32px; padding: 4px; color: var(--c-muted); }
.mr-photo-tools .mr-remove:hover:not([disabled]) { color: var(--c-orange-700); background: var(--c-orange-tint); }
.mr-photo-tools .btn[disabled] { opacity: .3; }
.mr-photo-status { font-size: 11.5px; color: var(--c-muted); }
.mr-photo-empty {
  grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 28px 20px;
  border: 1px dashed #D2D6C8; border-radius: 12px; color: var(--c-muted-strong); text-align: center; font-size: var(--fs-sm); line-height: 1.7;
}
.mr-photo-empty .icon { width: 30px; height: 30px; color: var(--c-mint); }

/* ------------------------------------------------------------------ history tab */
.mr-history { list-style: none; margin: 0; padding: 0; }
.mr-hist-item { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding-bottom: 18px; }
.mr-hist-item:last-child { padding-bottom: 0; }
.mr-hist-item::before { content: ""; position: absolute; inset-inline-start: 16px; top: 36px; bottom: 2px; width: 2px; border-radius: 2px; background: var(--c-line-soft); }
.mr-hist-item:last-child::before { display: none; }
.mr-hist-icon { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--c-gray-tint); color: var(--c-muted-strong); }
.mr-hist-icon .icon { width: 16px; height: 16px; }
.mr-hist-item.tone-green .mr-hist-icon { background: var(--c-tint); color: var(--c-green); }
.mr-hist-item.tone-teal .mr-hist-icon { background: var(--c-teal-tint); color: var(--c-teal); }
.mr-hist-item.tone-orange .mr-hist-icon { background: var(--c-orange-tint); color: var(--c-orange-700); }
.mr-hist-body { min-width: 0; padding-top: 5px; }
.mr-hist-line { font-size: var(--fs-sm); }
.mr-hist-time { font-size: var(--fs-xs); color: var(--c-muted); }
.mr-hist-sub { margin: 4px 0 0; font-size: var(--fs-xs); color: var(--c-muted-strong); }
.mr-hist-note { margin: 6px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--c-orange-tint); color: #7A3A1E; font-size: var(--fs-sm); white-space: pre-line; }

/* ------------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
  .mr-editor { grid-template-columns: minmax(0, 1fr); }
  .mr-index { position: static; }
  .mr-index-card { padding: 12px 14px; }
  .mr-index-head { flex-direction: row; align-items: baseline; justify-content: space-between; }
  .mr-index-list { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .mr-index-link { padding: 4px 10px 4px 6px; border: 1px solid var(--c-line-soft); border-radius: 999px; font-size: var(--fs-xs); gap: 6px; }
  .mr-index-mark { width: 20px; height: 20px; }
  .mr-index-hint { display: none; }
}
@media (max-width: 900px) {
  .mr-inv-row { grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr) 80px 80px 58px 104px; gap: 8px; padding-inline: 10px; }
}
@media (max-width: 720px) {
  .mr-inv-head { display: none; }
  .mr-inv-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 10px; padding: 12px; }
  .mr-inv-row .mr-cell-label { display: block; }
  .mr-inv-idx { display: none; }
  .mr-inv-row + .mr-inv-row { border-top: 6px solid var(--c-zebra); }
  .mr-inv-row .mr-inv-share-cell { flex-direction: row; align-items: center; gap: 8px; }
  .mr-inv-row .mr-inv-share-cell .mr-inv-share { text-align: start; }
  .mr-inv-total { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mr-inv-total > span:empty { display: none; }
  .mr-inv-total .mr-inv-sum, .mr-inv-total .mr-inv-share { text-align: start; }
  .mr-inv-total .mr-inv-sum::before { content: attr(data-label) ": "; font-weight: 500; color: var(--c-muted-strong); }
  .mr-inv-total .mr-inv-share { display: none; }
}
@media (max-width: 600px) {
  .mr-toolbar-chips { flex: 1 1 100%; }
  .mr-toolbar-chips .chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -10px; padding: 0 10px 2px; scrollbar-width: none; }
  .mr-toolbar-chips .chips::-webkit-scrollbar { display: none; }
  .mr-toolbar-chips .chip { flex: none; }
  .mr-toolbar > .spacer { display: none; }
  .mr-view-seg { width: 100%; }
  .mr-view-seg .mr-seg { flex: 1 1 0; }
  .mr-view-seg .mr-seg span { width: 100%; padding-inline: 8px; }
  .mr-cards { grid-template-columns: minmax(0, 1fr); }
  .mr-grid .mr-grid-park { min-width: 140px; }
  .mr-month { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .mr-list-item { grid-template-columns: 22px minmax(0, 1fr); }
  .mr-item-tools { grid-column: 2; justify-self: end; margin-top: -4px; padding-top: 0; opacity: 1; }
  .mr-groups, .mr-shifts { grid-template-columns: minmax(0, 1fr); }
  .mr-group-grid { grid-template-columns: minmax(0, 1fr) 96px; }
  .mr-mini-stats { gap: 6px; }
  .mr-mini { padding: 8px 10px; }
  .mr-mini b { font-size: var(--fs-lg); }
  .mr-photo-grid { grid-template-columns: minmax(0, 1fr); }
  .mr-neighbors { flex-wrap: wrap; }
  .mr-neighbor { font-size: var(--fs-xs); padding: 6px 10px; }
  .mr-status-line { gap: 6px 10px; }
}

/* ==========================================================================
   Print deck (.md-*): 1280x720 slides; body area = 1168 x 508 (print.css .slide-body)
   ========================================================================== */
.md-num { display: flex; align-items: center; gap: 12px; }
.md-num span { font-size: 13px; color: #8A8A8A; }
.md-num b {
  display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 8px;
  background: var(--c-tint, #EAF3E4); color: var(--c-forest, #2C5F2D); font-size: 14px;
}
.md-muted { margin: 0; font-size: 15px; color: #8A8A8A; }
.md-footnote { margin: auto 0 0; font-size: 13px; color: #7A7A7A; }
.md-ready { display: none; }
.md-fit { overflow: hidden; min-height: 0; }
.md-fit.is-clipped { -webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent); mask-image: linear-gradient(to bottom, #000 88%, transparent); }

/* cover */
.md-cover .md-cover-box { width: 620px; }
.md-cover-title { font-size: 46px; }
.md-cover-status { padding: 1px 12px; border-radius: 999px; background: rgba(255, 255, 255, .16); }
.md-cover-status::before { background: #F2C14E !important; }

/* shared panels */
.md-panel {
  display: flex; flex-direction: column; gap: 12px; min-width: 0; min-height: 0;
  padding: 16px 20px; border-radius: 16px; background: var(--c-cream, #FBFBF3); border: 1px solid #E4E6D8;
}
.md-panel-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--c-forest, #2C5F2D); line-height: 1.35; }
.md-panel-sub { margin-inline-start: auto; font-size: 13.5px; font-weight: 500; color: #7A7A7A; }
.md-panel-icon { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--c-tint, #EAF3E4); color: var(--c-green, #119853); }
.md-panel-icon .icon { width: 18px; height: 18px; }
.md-panel-muted { justify-content: center; }
.md-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.md-pills .slide-pill { font-size: 15.5px; padding: 5px 16px; }
.md-pills .slide-pill .icon { width: 17px; height: 17px; }
.md-pills .slide-pill.is-strong { background: var(--c-green, #119853); color: #fff; }
.md-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; flex: 1 1 auto; min-height: 0; }
.md-two:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.md-bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 18px; line-height: 1.6; color: #333; }
.md-bullets li { position: relative; padding-inline-start: 24px; }
.md-bullets li::before { content: ""; position: absolute; inset-inline-start: 3px; top: .6em; width: 9px; height: 9px; border-radius: 2px; background: var(--c-primary, #76BC21); transform: rotate(45deg); }

/* intro + agenda */
.md-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 36px; flex: 1 1 auto; min-height: 0; }
.md-intro-main { display: flex; flex-direction: column; gap: 18px; min-height: 0; }
.md-intro-text { flex: 0 1 auto; font-size: 20px; line-height: 1.95; color: #333; text-align: justify; }
.md-intro-text p { margin: 0 0 12px; }
.md-intro-text p:last-child { margin-bottom: 0; }
.md-agenda { align-self: start; max-height: 100%; overflow: hidden; padding: 20px 24px; border-radius: 18px; background: var(--c-tint, #EAF3E4); }
.md-agenda-title { font-size: 18px; font-weight: 700; color: var(--c-forest, #2C5F2D); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.md-agenda-title::before { content: ""; width: 5px; height: 20px; border-radius: 3px; background: var(--c-primary, #76BC21); }
.md-agenda-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.md-agenda-list li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #2F3B30; line-height: 1.35; }
.md-agenda-num { width: 32px; height: 32px; flex: none; border-radius: 9px; display: grid; place-items: center; background: #fff; color: var(--c-green, #119853); font-weight: 700; font-size: 15px; }

/* timeline */
.md-stages { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 30px; flex: 1 1 auto; min-height: 0; }
.md-stage {
  --tone: var(--c-green, #119853); --tone-bg: var(--c-tint, #EAF3E4);
  position: relative; display: flex; flex-direction: column; gap: 16px; min-width: 0; min-height: 0;
  padding: 20px 22px; border-radius: 18px; background: var(--tone-bg); border-top: 6px solid var(--tone);
}
.md-stage.is-gold { --tone: var(--c-gold, #9C7A32); --tone-bg: #F8F2E4; }
.md-stage.is-teal { --tone: var(--c-teal, #035859); --tone-bg: #E3EFEF; }
.md-stage-head { display: flex; align-items: center; gap: 14px; }
.md-stage-dot { width: 52px; height: 52px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--tone); color: #fff; }
.md-stage-dot .icon { width: 26px; height: 26px; }
.md-stage-step { display: block; font-size: 14px; font-weight: 600; color: var(--tone); }
.md-stage-title { margin: 0; font-size: 24px; font-weight: 700; color: var(--c-forest, #2C5F2D); line-height: 1.3; }
.md-stage .md-bullets { flex: 1 1 auto; font-size: 18.5px; gap: 12px; }
.md-stage .md-bullets li::before { background: var(--tone); }
.md-stage-arrow {
  position: absolute; top: 50%; inset-inline-end: -29px; z-index: 2; transform: translateY(-50%);
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: #fff; color: var(--c-green, #119853); box-shadow: 0 1px 6px rgba(0, 0, 0, .15);
}
.md-stage-arrow .icon { width: 16px; height: 16px; }

/* KPIs */
.md-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.md-stats.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.md-stat {
  --tone: var(--c-green, #119853);
  min-width: 0; padding: 16px 20px 14px; border-radius: 16px; background: #fff; border: 1px solid #E4E6D8; border-top: 5px solid var(--tone);
}
.md-stat.is-teal { --tone: var(--c-teal, #035859); }
.md-stat.is-gold { --tone: var(--c-gold, #9C7A32); }
.md-stat.is-orange { --tone: var(--c-orange, #F15922); }
.md-stat.is-primary { --tone: var(--c-primary, #76BC21); }
.md-stat.is-forest { --tone: var(--c-forest, #2C5F2D); }
.md-stat-value { display: flex; align-items: baseline; gap: 6px; font-size: 40px; font-weight: 700; line-height: 1.15; color: var(--c-ink, #2B2B2B); font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-stat-unit { font-size: 18px; font-weight: 500; color: #777; }
.md-stat-label { margin-top: 4px; font-size: 16px; font-weight: 600; color: #4A4A4A; }
.md-stat-sub { margin-top: 3px; font-size: 13.5px; color: #7A7A7A; line-height: 1.5; }
.md-kpi-bottom { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; flex: 1 1 auto; min-height: 0; }
.md-kpis .slide-body { gap: 16px; }
.md-bars { display: flex; flex-direction: column; gap: 10px; min-height: 0; }
.md-bar-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 56px; align-items: center; gap: 12px; font-size: 15px; }
.md-bar-label { color: #444; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-bar-track { display: block; height: 14px; border-radius: 7px; background: #E6EEDD; overflow: hidden; }
.md-bar-fill { display: block; height: 100%; border-radius: inherit; background: var(--c-green, #119853); }
.md-bar-val { text-align: end; font-size: 16px; color: var(--c-forest, #2C5F2D); }
.md-bars.is-lg { gap: 14px; }
.md-bars.is-lg .md-bar-row { grid-template-columns: 140px minmax(0, 1fr) 60px; font-size: 16px; }
.md-bars.is-lg .md-bar-track { height: 22px; border-radius: 8px; }
.md-bars.is-lg .md-bar-fill { background: var(--c-primary, #76BC21); }
.md-bar-row.is-top .md-bar-fill { background: var(--c-green, #119853); }
.md-bar-row.is-top .md-bar-label { font-weight: 700; color: var(--c-forest, #2C5F2D); }
.md-facts { display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.md-fact { display: flex; align-items: flex-start; gap: 14px; padding: 12px 16px; border-radius: 14px; background: #fff; border: 1px solid #E4E6D8; }
.md-fact-icon { width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--c-tint, #EAF3E4); color: var(--c-green, #119853); }
.md-fact-icon .icon { width: 21px; height: 21px; }
.md-fact.is-warn .md-fact-icon { background: #FDEDE6; color: var(--c-orange, #F15922); }
.md-fact-label { font-size: 13.5px; color: #7A7A7A; }
.md-fact-value { font-size: 20px; font-weight: 700; color: var(--c-ink, #2B2B2B); line-height: 1.35; }
.md-fact-sub { font-size: 13.5px; color: #666; line-height: 1.5; }
.md-nologs {
  display: flex; align-items: center; gap: 26px; padding: 26px 32px; border-radius: 18px;
  background: #FBF6EA; border: 1px solid #EADFC4;
}
.md-nologs-icon { width: 76px; height: 76px; border-radius: 50%; flex: none; display: grid; place-items: center; background: #fff; color: var(--c-gold, #9C7A32); }
.md-nologs-icon .icon { width: 36px; height: 36px; }
.md-nologs-title { margin: 0 0 6px; font-size: 26px; font-weight: 700; color: var(--c-forest, #2C5F2D); }
.md-nologs-text { margin: 0; font-size: 17px; line-height: 1.8; color: #555; }
.md-kpi-alt { display: flex; flex-direction: column; gap: 12px; }
.md-kpi-alt-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--c-forest, #2C5F2D); }
.md-kpi-alt-title::before { content: ""; width: 5px; height: 20px; border-radius: 3px; background: var(--c-primary, #76BC21); }

/* charts */
.md-charts-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 20px; flex: 1 1 auto; min-height: 0; }
.md-chart { overflow: hidden; background: #fff; }
.md-chart .chart-axis { font-size: 13px; }
.md-chart .chart-value { font-size: 13px; }
.md-chart .chart-label { font-size: 13px; }
.md-chart .chart-legend { font-size: 14px; }

/* tree inventory */
.md-trees-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; flex: 1 1 auto; min-height: 0; }
.md-table-wrap { min-height: 0; overflow: hidden; }
.md-table { font-size: 17px; }
.md-table th { padding: 11px 16px; }
.md-table td { padding: 10px 16px; }
.md-table tr.is-top td { background: #EAF3E4 !important; font-weight: 700; color: var(--c-forest, #2C5F2D); }
.md-table tfoot td { background: #DDEBD0; font-weight: 700; color: #1E3F1F; border-top: 2px solid #C6DDB2; }
.md-table.is-dense { font-size: 14px; }
.md-table.is-dense th, .md-table.is-dense td { padding: 6px 12px; }
.md-tree-bars { justify-content: flex-start; }
.md-insight {
  display: flex; align-items: center; gap: 16px; padding: 14px 22px; border-radius: 16px;
  background: linear-gradient(135deg, #119853, #2C5F2D); color: #fff;
}
.md-insight p { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.5; }
.md-insight-icon { width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid; place-items: center; background: rgba(255, 255, 255, .18); }
.md-insight-icon .icon { width: 22px; height: 22px; }

/* irrigation */
.md-water { display: flex; align-items: center; gap: 18px; padding: 14px 24px; border-radius: 18px; background: #E3EFEF; }
.md-water-icon { width: 56px; height: 56px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--c-teal, #035859); color: #fff; }
.md-water-icon .icon { width: 28px; height: 28px; }
.md-water-num { display: flex; align-items: baseline; gap: 8px; font-size: 44px; font-weight: 700; line-height: 1.1; color: var(--c-teal, #035859); }
.md-water-unit { font-size: 20px; font-weight: 600; }
.md-water-label { font-size: 19px; color: #3D4B4B; font-weight: 500; }
.md-list-panel .md-bullets { flex: 1 1 auto; }

/* workforce */
.md-groups { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 18px; flex: 1 1 auto; min-height: 0; }
.md-group {
  --tone: var(--c-green, #119853);
  display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 0;
  padding: 18px 20px; border-radius: 18px; background: var(--c-cream, #FBFBF3); border: 1px solid #E4E6D8; border-top: 6px solid var(--tone);
}
.md-group:nth-child(4n+2) { --tone: var(--c-teal, #035859); }
.md-group:nth-child(4n+3) { --tone: var(--c-gold, #9C7A32); }
.md-group:nth-child(4n+4) { --tone: var(--c-primary, #76BC21); }
.md-group-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.md-group-label { padding: 3px 12px; border-radius: 999px; background: #fff; border: 1px solid #E4E6D8; color: var(--tone); font-size: 14px; font-weight: 700; }
.md-group-count { display: flex; align-items: baseline; gap: 6px; color: #666; font-size: 16px; }
.md-group-count b { font-size: 36px; line-height: 1; color: var(--tone); }
.md-group-name { margin: 0; font-size: 23px; font-weight: 700; color: var(--c-forest, #2C5F2D); line-height: 1.3; }
.md-group-body { display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; font-size: 16.5px; }
.md-group-row { display: flex; flex-direction: column; gap: 2px; }
.md-group-row p { margin: 0; line-height: 1.65; color: #3A3A3A; }
.md-group-k { font-size: 13px; font-weight: 700; color: var(--tone); }
.md-group-row.is-goal { padding: 8px 12px; border-radius: 10px; background: #fff; }
.md-share-bar { display: flex; gap: 3px; height: 40px; border-radius: 12px; overflow: hidden; }
.md-share-seg { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 0 10px; color: #fff; font-size: 14.5px; font-weight: 600; }
.md-share-seg > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-share-seg.tone-0, .md-day-block.tone-0 { background: var(--c-green, #119853); }
.md-share-seg.tone-1, .md-day-block.tone-1 { background: var(--c-teal, #035859); }
.md-share-seg.tone-2, .md-day-block.tone-2 { background: var(--c-gold, #9C7A32); }
.md-share-seg.tone-3, .md-day-block.tone-3 { background: var(--c-primary, #76BC21); }

/* shifts */
.md-day { direction: ltr; padding: 18px 26px 12px; border-radius: 16px; background: var(--c-cream, #FBFBF3); border: 1px solid #E4E6D8; }
.md-day-track { position: relative; height: 50px; border-radius: 12px; background: repeating-linear-gradient(90deg, #EEF1E8 0 1px, transparent 1px 60px), #F3F5EE; }
.md-day-block {
  position: absolute; top: 0; bottom: 0; display: flex; align-items: center; justify-content: center; min-width: 0;
  border-radius: 12px; color: #fff; font-size: 16px; font-weight: 700; direction: rtl; overflow: hidden; white-space: nowrap;
}
.md-day-ticks { position: relative; height: 24px; margin-top: 6px; }
.md-day-ticks span { position: absolute; top: 0; transform: translateX(-50%); font-size: 13px; color: #777; }
.md-day-ticks span:first-child { transform: none; }
.md-day-ticks span:last-child { transform: translateX(-100%); }
.md-shift-cards { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 18px; flex: 1 1 auto; min-height: 0; }
.md-shift {
  --tone: var(--c-green, #119853);
  display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 0;
  padding: 18px 22px; border-radius: 16px; background: #fff; border: 1px solid #E4E6D8; border-inline-start: 7px solid var(--tone);
}
.md-shift.tone-1 { --tone: var(--c-teal, #035859); }
.md-shift.tone-2 { --tone: var(--c-gold, #9C7A32); }
.md-shift.tone-3 { --tone: var(--c-primary, #76BC21); }
.md-shift-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.md-shift-name { margin: 0; font-size: 24px; font-weight: 700; color: var(--c-forest, #2C5F2D); }
.md-shift-time { font-size: 24px; font-weight: 700; color: var(--tone); unicode-bidi: isolate; }
.md-shift-dur { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 3px 12px; border-radius: 999px; background: var(--c-tint, #EAF3E4); color: var(--c-forest, #2C5F2D); font-size: 14.5px; font-weight: 600; }
.md-shift-dur .icon { width: 16px; height: 16px; }
.md-shift-tasks { margin: 0; flex: 1 1 auto; font-size: 18px; line-height: 1.75; color: #3A3A3A; }

/* gains + next steps */
.md-gains .md-list-panel { padding: 18px 22px; }
.md-list-panel.is-gains { border-top: 5px solid var(--c-green, #119853); }
.md-list-panel.is-next { border-top: 5px solid var(--c-teal, #035859); }
.md-list-panel.is-next .md-panel-icon { background: #E3EFEF; color: var(--c-teal, #035859); }
.md-checks, .md-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font-size: 18.5px; line-height: 1.6; color: #333; flex: 1 1 auto; }
.md-checks li, .md-steps li { display: flex; align-items: flex-start; gap: 12px; }
.md-check, .md-step-num { width: 28px; height: 28px; border-radius: 50%; flex: none; display: grid; place-items: center; margin-top: 1px; color: #fff; }
.md-check { background: var(--c-green, #119853); }
.md-check .icon { width: 16px; height: 16px; }
.md-step-num { background: var(--c-teal, #035859); font-size: 14px; font-weight: 700; }

/* photos */
.md-photo-grid { display: grid; gap: 14px; flex: 1 1 auto; min-height: 0; grid-auto-rows: minmax(0, 1fr); }
.md-photo-grid.is-n1 { grid-template-columns: minmax(0, 1fr); }
.md-photo-grid.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.md-photo-grid.is-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.md-photo-grid.is-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.md-photo-grid.is-n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.md-photo { position: relative; margin: 0; min-width: 0; min-height: 0; border-radius: 16px; overflow: hidden; background: #EEE; }
.md-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.md-photo figcaption {
  position: absolute; inset-inline: 0; bottom: 0; padding: 26px 16px 10px; color: #fff; font-size: 15px; font-weight: 500; line-height: 1.5;
  background: linear-gradient(to top, rgba(0, 0, 0, .66), transparent);
}
