/* MFM Enterprise 1.0 / application integration v3.19.0.
   Loads AFTER legacy styles; reversible by removing the link and body class.
   Do not edit selectors used for events (data-action, data-nav, data-portal).
   CSS is presentation only: it DOES NOT calculate overtime or legal breaches. */

/* Semantic source of truth, shared by legacy adapters and new component primitives. */
/* MFM Enterprise UI 1.0 — opt-in, namespaced baseline.
   Load after the legacy CSS. Add class="mfm-enterprise" to the application root.
   This file does not mutate existing components unless they are explicitly migrated
   to .mfm-* class names. Do not set data-theme on arbitrary nested elements.
   Tokens and components are intended for progressive adoption. */
:root,
[data-theme="light"] {
  color-scheme: light;
  --mfm-canvas: #F4F6F8;
  --mfm-surface-0: #FFFFFF;
  --mfm-surface-1: #F9FAFB;
  --mfm-surface-2: #EEF2F6;
  --mfm-surface-hover: #EFF5F7;
  --mfm-surface-selected: #E0F1EC;
  --mfm-sidebar-bg: #12263D;
  --mfm-sidebar-text: #F4F7FA;
  --mfm-sidebar-muted: #C3D1DC;
  --mfm-text-1: #142534;
  --mfm-text-2: #405263;
  --mfm-text-3: #536575;
  --mfm-text-disabled: #7C8B99;
  --mfm-grid-line: #8293A1;
  --mfm-grid-line-soft: #D8E0E6;
  --mfm-grid-line-strong: #536676;
  --mfm-accent: #0A7263;
  --mfm-accent-hover: #075A4E;
  --mfm-on-accent: #FFFFFF;
  --mfm-focus-ring: #126CBE;
  --mfm-link: #0C659C;
  --mfm-positive-bg: #E4F5EB;
  --mfm-positive-text: #14613D;
  --mfm-positive-border: #2F8454;
  --mfm-pending-bg: #EEF4FA;
  --mfm-pending-text: #244F78;
  --mfm-pending-border: #457CA7;
  --mfm-draft-bg: #F2F4F6;
  --mfm-draft-text: #405365;
  --mfm-draft-border: #728394;
  /* Operational trigger semantics — independent of roster acceptance status */
  --mfm-overtime-bg: #FFF2DC;
  --mfm-overtime-text: #744900;
  --mfm-overtime-border: #AD6A00;
  --mfm-overtime-accent: #B36B00;
  --mfm-soft-conflict-bg: #EBF5FC;
  --mfm-soft-conflict-text: #1B5E90;
  --mfm-soft-conflict-border: #4287B8;
  --mfm-soft-conflict-accent: #347CAE;
  --mfm-hard-breach-bg: #FCE9E7;
  --mfm-hard-breach-text: #8B1F1F;
  --mfm-hard-breach-border: #A12828;
  --mfm-hard-breach-accent: #B3262E;
  --mfm-unassigned-bg: #F1F4F6;
  --mfm-unassigned-text: #334858;
  --mfm-unassigned-border: #6E8494;
  --mfm-unassigned-accent: #74899A;
  --mfm-shadow-overlay: 0 10px 28px rgb(16 32 46 / 0.16);
  --mfm-font-ui: Inter, Aptos, "Segoe UI", system-ui, -apple-system, sans-serif;
  --mfm-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --mfm-font-size-micro: 11px;
  --mfm-font-size-caption: 12px;
  --mfm-font-size-body: 13px;
  --mfm-font-size-row: 14px;
  --mfm-font-size-section: 16px;
  --mfm-line-compact: 1.2;
  --mfm-line-ui: 1.35;
  --mfm-line-reading: 1.5;
  --mfm-radius-control: 3px;
  --mfm-radius-panel: 3px;
  --mfm-space-1: 4px;
  --mfm-space-2: 8px;
  --mfm-space-3: 12px;
  --mfm-space-4: 16px;
  --mfm-control-height: 36px;
  --mfm-control-height-compact: 32px;
  --mfm-roster-row-height: 32px;
  --mfm-roster-col-min: 132px;
  --mfm-roster-person-col: 190px;
  --mfm-sticky-offset: 0px;
}

[data-theme="dark"] {
  color-scheme: dark;
  --mfm-canvas: #0E141A;
  --mfm-surface-0: #151E27;
  --mfm-surface-1: #1A2630;
  --mfm-surface-2: #0F1922;
  --mfm-surface-hover: #21323C;
  --mfm-surface-selected: #173B37;
  --mfm-sidebar-bg: #0B1722;
  --mfm-sidebar-text: #F0F5F8;
  --mfm-sidebar-muted: #CAD7DF;
  --mfm-text-1: #F3F6F8;
  --mfm-text-2: #D6E1E7;
  --mfm-text-3: #BDCBD6;
  --mfm-text-disabled: #8B9DA9;
  --mfm-grid-line: #657A89;
  --mfm-grid-line-soft: #2B3B46;
  --mfm-grid-line-strong: #9AADBA;
  --mfm-accent: #60D6BA;
  --mfm-accent-hover: #8AE6CD;
  --mfm-on-accent: #0A211C;
  --mfm-focus-ring: #82BAFF;
  --mfm-link: #87C8F5;
  --mfm-positive-bg: #183B2C;
  --mfm-positive-text: #BDF2D4;
  --mfm-positive-border: #51BC83;
  --mfm-pending-bg: #1A344A;
  --mfm-pending-text: #C2E2FF;
  --mfm-pending-border: #69A9DB;
  --mfm-draft-bg: #29323B;
  --mfm-draft-text: #D7E2E9;
  --mfm-draft-border: #8A9EAB;
  --mfm-overtime-bg: #392A15;
  --mfm-overtime-text: #FFD295;
  --mfm-overtime-border: #B98435;
  --mfm-overtime-accent: #E0A24D;
  --mfm-soft-conflict-bg: #142D41;
  --mfm-soft-conflict-text: #BDE3FF;
  --mfm-soft-conflict-border: #4A91C4;
  --mfm-soft-conflict-accent: #68AEDC;
  --mfm-hard-breach-bg: #441F24;
  --mfm-hard-breach-text: #FFD0D0;
  --mfm-hard-breach-border: #D35C63;
  --mfm-hard-breach-accent: #F37A80;
  --mfm-unassigned-bg: #242F39;
  --mfm-unassigned-text: #DDE6ED;
  --mfm-unassigned-border: #718393;
  --mfm-unassigned-accent: #94A5B3;
  --mfm-shadow-overlay: 0 10px 28px rgb(0 0 0 / 0.42);
}

/* Opt-in, non-destructive enterprise root. */
.mfm-enterprise {
  background: var(--mfm-canvas);
  color: var(--mfm-text-1);
  font: 400 var(--mfm-font-size-body)/var(--mfm-line-ui) var(--mfm-font-ui);
  font-synthesis: none;
}
.mfm-enterprise *, .mfm-enterprise *::before, .mfm-enterprise *::after { box-sizing: border-box; }
.mfm-enterprise button, .mfm-enterprise input,
.mfm-enterprise select, .mfm-enterprise textarea { font: inherit; }
.mfm-enterprise :is(button, [href], input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--mfm-focus-ring);
  outline-offset: 2px;
}
.mfm-enterprise :is([hidden], .mfm-is-hidden) { display: none !important; }
.mfm-enterprise :is(.mfm-number, .mfm-time, .mfm-date, .mfm-hours, .mfm-cost,
  .mfm-roster-grid, .mfm-data-table, .mfm-kpi-value) {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.mfm-enterprise .mfm-code { font-family: var(--mfm-font-mono); font-variant-numeric: tabular-nums lining-nums; }
.mfm-enterprise .mfm-text-micro { font-size: 11px; line-height: 14px; color: var(--mfm-text-3); }
.mfm-enterprise .mfm-text-caption { font-size: 12px; line-height: 16px; color: var(--mfm-text-2); }
.mfm-enterprise .mfm-text-body { font-size: 13px; line-height: 18px; }
.mfm-enterprise .mfm-row-title { font-size: 14px; line-height: 18px; font-weight: 650; }
.mfm-enterprise .mfm-section-title { font-size: 16px; line-height: 20px; font-weight: 700; }

/* Flat, structural composition */
.mfm-enterprise .mfm-panel { background: var(--mfm-surface-0); border: 1px solid var(--mfm-grid-line); border-radius: var(--mfm-radius-panel); box-shadow: none; min-width: 0; }
.mfm-enterprise .mfm-panel__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; padding: 6px 12px; border-bottom: 1px solid var(--mfm-grid-line); }
.mfm-enterprise .mfm-panel__body { padding: 12px; }
.mfm-enterprise .mfm-divider { border: 0; border-top: 1px solid var(--mfm-grid-line); margin: 0; }
.mfm-enterprise .mfm-toolbar { display: flex; align-items: center; gap: 4px; min-height: 36px; padding: 2px 6px; border: 1px solid var(--mfm-grid-line); border-radius: 3px; background: var(--mfm-surface-0); flex-wrap: wrap; }
.mfm-enterprise .mfm-toolbar__group { display: inline-flex; align-items: center; gap: 4px; }
.mfm-enterprise .mfm-toolbar__group + .mfm-toolbar__group { border-left: 1px solid var(--mfm-grid-line); margin-left: 4px; padding-left: 8px; }
.mfm-enterprise .mfm-toolbar__spacer { margin-left: auto; }
.mfm-enterprise .mfm-control, .mfm-enterprise .mfm-button, .mfm-enterprise .mfm-icon-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  min-height: var(--mfm-control-height-compact); padding: 0 8px;
  background: var(--mfm-surface-0); color: var(--mfm-text-1);
  border: 1px solid var(--mfm-grid-line-strong); border-radius: var(--mfm-radius-control);
  font-size: 12px; line-height: 1.2; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.mfm-enterprise .mfm-button, .mfm-enterprise .mfm-icon-button { cursor: pointer; }
.mfm-enterprise :is(.mfm-button, .mfm-icon-button):hover:not(:disabled) { background: var(--mfm-surface-hover); border-color: var(--mfm-accent); }
.mfm-enterprise :is(.mfm-button, .mfm-icon-button):active:not(:disabled) { background: var(--mfm-surface-selected); }
.mfm-enterprise :is(.mfm-button, .mfm-icon-button):disabled { opacity: .55; cursor: not-allowed; }
.mfm-enterprise .mfm-button--primary { background: var(--mfm-accent); color: var(--mfm-on-accent); border-color: var(--mfm-accent); }
.mfm-enterprise .mfm-button--primary:hover:not(:disabled) { background: var(--mfm-accent-hover); color: var(--mfm-on-accent); }
.mfm-enterprise .mfm-icon-button { width: 32px; min-width: 32px; padding: 0; }
.mfm-enterprise .mfm-icon-button svg { width: 14px; height: 14px; flex: none; }
.mfm-enterprise .mfm-control { width: auto; max-width: 100%; }
.mfm-enterprise .mfm-filter-count { font-size: 11px; line-height: 14px; color: var(--mfm-text-2); }

/* Static or editable roster: native table semantics; interactive grid behaviour comes from JS. */
.mfm-enterprise .mfm-roster-grid {
  max-width: 100%; max-height: min(70vh, 760px); overflow: auto;
  overscroll-behavior: contain; background: var(--mfm-surface-0);
  border: 1px solid var(--mfm-grid-line); border-radius: 2px;
  scrollbar-gutter: stable;
  font-variant-numeric: tabular-nums lining-nums;
}
.mfm-enterprise .mfm-roster-grid__table {
  width: max-content; min-width: 100%; table-layout: fixed;
  border-spacing: 0; border-collapse: separate;
  font-size: 12px; line-height: 16px;
}
.mfm-enterprise .mfm-roster-grid__table :is(th, td) {
  height: var(--mfm-roster-row-height); padding: 2px 6px;
  border-right: 1px solid var(--mfm-grid-line-soft);
  border-bottom: 1px solid var(--mfm-grid-line-soft);
  text-align: left; vertical-align: middle;
  white-space: nowrap;
}
.mfm-enterprise .mfm-roster-grid__table thead th {
  position: sticky; top: var(--mfm-sticky-offset); z-index: 3;
  height: 36px; min-width: var(--mfm-roster-col-min);
  background: var(--mfm-surface-2); color: var(--mfm-text-1);
  border-bottom-color: var(--mfm-grid-line-strong);
  font-size: 11px; line-height: 14px; font-weight: 700;
}
.mfm-enterprise .mfm-roster-grid__table :is(thead th:first-child, tbody th[scope="row"]) {
  position: sticky; left: 0; width: var(--mfm-roster-person-col);
  min-width: var(--mfm-roster-person-col); max-width: var(--mfm-roster-person-col);
  box-shadow: inset -1px 0 var(--mfm-grid-line-strong);
}
.mfm-enterprise .mfm-roster-grid__table thead th:first-child { z-index: 5; background: var(--mfm-surface-2); }
.mfm-enterprise .mfm-roster-grid__table tbody th[scope="row"] { z-index: 2; background: var(--mfm-surface-0); font-weight: 650; font-size: 13px; }
.mfm-enterprise .mfm-roster-grid__table tbody tr:nth-child(even) :is(th, td) { background-color: var(--mfm-surface-1); }
.mfm-enterprise .mfm-roster-grid__table tbody tr:hover :is(th, td) { background-color: var(--mfm-surface-hover); }
.mfm-enterprise .mfm-roster-grid__table tbody tr[data-selected="true"] :is(th, td) { background-color: var(--mfm-surface-selected); }
.mfm-enterprise .mfm-roster-grid__table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.mfm-enterprise .mfm-roster-grid__table tr :is(th, td):last-child { border-right: 0; }
.mfm-enterprise .mfm-roster-grid[data-density="compact"] { --mfm-roster-row-height: 28px; }
.mfm-enterprise .mfm-roster-grid[data-density="compact"] .mfm-roster-grid__table thead th { height: 30px; }
.mfm-enterprise .mfm-roster-grid__cell { min-width: var(--mfm-roster-col-min); }
.mfm-enterprise .mfm-roster-grid__cell--empty { color: var(--mfm-unassigned-text); }

/* Single strip, not a floating card. Multiple statuses use separate semantic elements. */
.mfm-enterprise .mfm-shift {
  display: inline-flex; align-items: center; gap: 4px;
  max-width: 100%; min-height: 24px; padding: 2px 6px;
  border-left: 3px solid var(--mfm-pending-border);
  border-top: 1px solid var(--mfm-grid-line-soft);
  border-right: 1px solid var(--mfm-grid-line-soft);
  border-bottom: 1px solid var(--mfm-grid-line-soft);
  border-radius: 0 2px 2px 0;
  background: var(--mfm-pending-bg); color: var(--mfm-pending-text);
  font-size: 12px; line-height: 16px; text-align: left;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mfm-enterprise .mfm-shift[data-status="accepted"] { background: var(--mfm-positive-bg); color: var(--mfm-positive-text); border-left-color: var(--mfm-positive-border); }
.mfm-enterprise .mfm-shift[data-status="pending"] { background: var(--mfm-pending-bg); color: var(--mfm-pending-text); border-left-color: var(--mfm-pending-border); }
.mfm-enterprise .mfm-shift[data-status="unassigned"] { background: var(--mfm-unassigned-bg); color: var(--mfm-unassigned-text); border-left-color: var(--mfm-unassigned-accent); border-left-style: dashed; }
.mfm-enterprise .mfm-shift[data-publication="draft"] { border-bottom-style: dashed; }
.mfm-enterprise .mfm-shift[data-issue="overtime"] { background: var(--mfm-overtime-bg); color: var(--mfm-overtime-text); border-left-color: var(--mfm-overtime-accent); }
.mfm-enterprise .mfm-shift[data-issue="soft-conflict"] { background: var(--mfm-soft-conflict-bg); color: var(--mfm-soft-conflict-text); border-left-color: var(--mfm-soft-conflict-accent); }
.mfm-enterprise .mfm-shift[data-issue="hard-breach"] { background: var(--mfm-hard-breach-bg); color: var(--mfm-hard-breach-text); border-left-color: var(--mfm-hard-breach-accent); border-top-color: var(--mfm-hard-breach-border); border-bottom-color: var(--mfm-hard-breach-border); border-right-color: var(--mfm-hard-breach-border); }
.mfm-enterprise .mfm-shift__time { font-variant-numeric: tabular-nums lining-nums; font-weight: 650; }
.mfm-enterprise .mfm-shift__role { overflow: hidden; text-overflow: ellipsis; }
.mfm-enterprise .mfm-shift__issue { font-weight: 800; flex: none; }
.mfm-enterprise .mfm-roster-grid[data-density="compact"] .mfm-shift { min-height: 20px; padding-block: 0; font-size: 11px; line-height: 16px; }

/* Structural status flags are separate from actual validation; never assume CSS enforces a rule. */
.mfm-enterprise .mfm-status-tag { display: inline-flex; align-items: center; gap: 4px; min-height: 18px; border: 1px solid var(--mfm-grid-line); border-radius: 2px; padding: 1px 4px; font-size: 11px; line-height: 14px; font-weight: 650; }
.mfm-enterprise .mfm-status-tag[data-kind="draft"] { background: var(--mfm-draft-bg); color: var(--mfm-draft-text); border-color: var(--mfm-draft-border); }
.mfm-enterprise .mfm-status-tag[data-kind="overtime"] { background: var(--mfm-overtime-bg); color: var(--mfm-overtime-text); border-color: var(--mfm-overtime-border); }
.mfm-enterprise .mfm-status-tag[data-kind="soft-conflict"] { background: var(--mfm-soft-conflict-bg); color: var(--mfm-soft-conflict-text); border-color: var(--mfm-soft-conflict-border); }
.mfm-enterprise .mfm-status-tag[data-kind="hard-breach"] { background: var(--mfm-hard-breach-bg); color: var(--mfm-hard-breach-text); border-color: var(--mfm-hard-breach-border); }
.mfm-enterprise .mfm-status-tag[data-kind="unassigned"] { background: var(--mfm-unassigned-bg); color: var(--mfm-unassigned-text); border-color: var(--mfm-unassigned-border); }

/* Export and responsive: preserve information, don't truncate it silently. */
@media (max-width: 760px) {
  .mfm-enterprise .mfm-toolbar { gap: 4px; padding: 4px; }
  .mfm-enterprise .mfm-icon-button { min-height: 40px; width: 40px; min-width: 40px; }
  .mfm-enterprise .mfm-control, .mfm-enterprise .mfm-button { min-height: 40px; }
  .mfm-enterprise .mfm-roster-grid { --mfm-roster-person-col: 144px; --mfm-roster-col-min: 120px; max-height: calc(100dvh - 180px); }
  .mfm-enterprise .mfm-roster-grid__table tbody th[scope="row"] { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mfm-enterprise *, .mfm-enterprise *::before, .mfm-enterprise *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
@media print {
  .mfm-enterprise { background: #fff; color: #000; }
  .mfm-enterprise .mfm-toolbar { display: none; }
  .mfm-enterprise .mfm-roster-grid { max-height: none; overflow: visible; border: 0; }
  .mfm-enterprise .mfm-roster-grid__table { width: 100%; table-layout: auto; }
  .mfm-enterprise .mfm-roster-grid__table :is(th,td) { position: static !important; break-inside: avoid; }
  .mfm-enterprise .mfm-roster-grid__table thead { display: table-header-group; }
  .mfm-enterprise .mfm-roster-grid__table tbody tr { break-inside: avoid; }
}

/* ==== BRIDGE: existing MFM DOM -> enterprise primitives ==== */
html { scrollbar-gutter: auto; }
body.mfm-enterprise {
  /* legacy variable mapping, so old components inherit semantic baseline */
  --navy: var(--mfm-sidebar-bg);
  --navy2: #253E55;
  --accent: #0A7263;
  --ink: var(--mfm-text-1);
  --muted: var(--mfm-text-2);
  --border: var(--mfm-grid-line-soft);
  --bg: var(--mfm-canvas);
  --white: var(--mfm-surface-0);
  --shadow: none;
  --r: 3px;
  background: var(--mfm-canvas);
  color: var(--mfm-text-1);
  font: 400 13px/1.35 var(--mfm-font-ui);
}
body.mfm-enterprise :where(.app,.main,.content){min-width:0;}
body.mfm-enterprise :where(.app,.sidebar,.topbar,.content,.card,.modal,.auth-form,.mfm-chat-shell){transition:none;}
body.mfm-enterprise :where(h1){font-size:20px;line-height:26px;letter-spacing:-.015em;}
body.mfm-enterprise :where(h2){font-size:16px;line-height:21px;letter-spacing:-.01em;}
body.mfm-enterprise :where(h3){font-size:14px;line-height:18px;letter-spacing:normal;}
body.mfm-enterprise :where(.muted,.org-label,.tiny,.small,.field-hint){color:var(--mfm-text-2);}
body.mfm-enterprise :where(.mono,.matrix-table,.roster-table,.people-table,.availability-matrix-table,.table,.datebox,.kpi .num,.matrix-shift-time,.matrix-date-button,.mfm-chat-thread){font-variant-numeric:tabular-nums lining-nums;font-feature-settings:'tnum' 1,'lnum' 1;}
body.mfm-enterprise :where(button,input,select,textarea){font-family:inherit;}
body.mfm-enterprise :where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:2px;}
body.mfm-enterprise :where(.card,.mfm-chat-shell,.modal,.auth-form,.ministry-matrix-role-list,.church-directory){box-shadow:none;border-radius:3px;border-color:var(--mfm-grid-line-soft);background:var(--mfm-surface-0);}
body.mfm-enterprise :where(.card-pad){padding:12px;}
body.mfm-enterprise :where(.card-head){padding:10px 12px;}
body.mfm-enterprise :where(.card-head p,.page-head p){margin-top:3px;font-size:12px;color:var(--mfm-text-2);}
body.mfm-enterprise .app{grid-template-columns:204px minmax(0,1fr);}
body.mfm-enterprise .sidebar{padding:14px 8px;background:var(--mfm-sidebar-bg);color:var(--mfm-sidebar-text);}
body.mfm-enterprise .brand{gap:8px;padding:4px 10px 18px;font-size:17px;}
body.mfm-enterprise .brand-mark{width:29px;height:29px;border-radius:3px;font-size:17px;}
body.mfm-enterprise .nav-caption{font-size:11px;letter-spacing:.07em;margin:10px 0 4px;}
body.mfm-enterprise .nav-link{padding:7px 10px;border-radius:3px;gap:9px;margin:0;min-height:34px;font-size:12px;}
body.mfm-enterprise .nav-link.active{box-shadow:inset 3px 0 var(--mfm-accent);}
body.mfm-enterprise .sidebar-bottom{padding:12px 8px 0;}
body.mfm-enterprise .avatar{width:29px;height:29px;border-radius:3px;font-size:11px;}
body.mfm-enterprise .logout{border-radius:3px;min-height:32px;padding:6px 9px;}
body.mfm-enterprise .topbar{height:52px;min-height:52px;padding:0 16px;background:var(--mfm-surface-0);border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .content{max-width:none;padding:16px 20px 40px;}
body.mfm-enterprise .content.content-scheduler{padding:12px 16px 38px;}
body.mfm-enterprise .page-head{margin-bottom:12px;gap:8px;}
body.mfm-enterprise :where(.stack){gap:8px;}
body.mfm-enterprise :where(.two-col,.three-col,.kpi-grid){gap:10px;}
body.mfm-enterprise .kpi-grid{margin-bottom:12px;}
body.mfm-enterprise .kpi{padding:12px 15px;}
body.mfm-enterprise .kpi .num{font-size:24px;letter-spacing:-.02em;margin:2px 0;}
body.mfm-enterprise .kpi .kpi-icon{top:10px;right:10px;border-radius:3px;padding:6px;}
body.mfm-enterprise .service-line{padding:9px 12px;gap:10px;}
body.mfm-enterprise .datebox{border-radius:2px;min-width:43px;padding:5px 7px;}
body.mfm-enterprise .datebox .day{font-size:18px;}
body.mfm-enterprise .meter,body.mfm-enterprise .meter-fill{border-radius:0;}
body.mfm-enterprise .meter{height:5px;margin-top:5px;}
body.mfm-enterprise :where(.button,.logout,.seg,.seg button,.overview-check,.overview-ministry-filter select,.input,.ministry-inline-icon,.ministry-expand-toggle,.matrix-collapse-all,.mfm-chat-send,.mfm-alert-bell,.mfm-alert-panel){border-radius:3px;box-shadow:none;}
body.mfm-enterprise .button{min-height:34px;padding:5px 10px;font-size:12px;font-weight:650;gap:6px;border-color:var(--mfm-grid-line-strong);background:var(--mfm-surface-0);color:var(--mfm-text-1);}
body.mfm-enterprise .button:hover{background:var(--mfm-surface-hover);border-color:var(--mfm-accent);}
body.mfm-enterprise .button.primary{background:var(--mfm-accent);color:var(--mfm-on-accent);border-color:var(--mfm-accent);}
body.mfm-enterprise .button.primary:hover{background:var(--mfm-accent-hover);color:var(--mfm-on-accent);}
body.mfm-enterprise .button.dark{background:var(--mfm-sidebar-bg);color:var(--mfm-sidebar-text);}
body.mfm-enterprise .button.ghost{background:transparent;border-color:transparent;}
body.mfm-enterprise .button.small{min-height:28px;padding:3px 7px;font-size:11px;}
body.mfm-enterprise .button svg{width:14px;height:14px;}
body.mfm-enterprise .seg{padding:2px;gap:2px;background:var(--mfm-surface-2);border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .seg button{padding:5px 8px;min-height:28px;font-size:11px;color:var(--mfm-text-2);}
body.mfm-enterprise .seg button.active{background:var(--mfm-surface-0);box-shadow:none;color:var(--mfm-text-1);border:1px solid var(--mfm-grid-line-soft);}
body.mfm-enterprise :where(.input,.field input,.field select,.field textarea){min-height:34px;border-radius:3px;background:var(--mfm-surface-0);color:var(--mfm-text-1);border-color:var(--mfm-grid-line-soft);font-size:13px;}
body.mfm-enterprise :where(.status,.overview-kind-tag){border-radius:2px;}
body.mfm-enterprise .status{padding:2px 5px;font-size:11px;line-height:15px;}
body.mfm-enterprise .section-label{padding:6px 12px;background:var(--mfm-surface-2);font-size:11px;color:var(--mfm-text-2);}
body.mfm-enterprise .role-row{padding:7px 12px;gap:8px;border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise :where(.person-pill,.empty-slot,.vol-name-chip,.vol-group-chip,.vol-selected-chip){border-radius:3px;padding:3px 6px;}
body.mfm-enterprise .detail-banner{padding:12px 16px;}
body.mfm-enterprise .progress{margin:9px 14px;}
body.mfm-enterprise .service-option{padding:9px 11px;border-color:var(--mfm-grid-line-soft);background:var(--mfm-surface-0);min-height:50px;}
body.mfm-enterprise .service-option.selected{background:var(--mfm-surface-selected);}
body.mfm-enterprise .service-list-header{padding:9px 12px;}
body.mfm-enterprise .service-month-heading{padding:5px 10px;background:var(--mfm-surface-2);color:var(--mfm-text-2);}
body.mfm-enterprise :where(.matrix-intro,.matrix-controls){padding:8px 12px;border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .matrix-intro p{font-size:12px;color:var(--mfm-text-2);}
body.mfm-enterprise .matrix-people-search{border-radius:3px;padding:5px 8px;background:var(--mfm-surface-0);}
body.mfm-enterprise .matrix-controls .seg button{min-height:29px;padding:4px 7px;}

/* Interactive matrix: retain existing accessible actions, collapse and scroll JS. */
body.mfm-enterprise .matrix-scroll{border-top:1px solid var(--mfm-grid-line-soft);max-height:min(72dvh,780px);}
body.mfm-enterprise .matrix-table{font-size:12px;line-height:16px;}
body.mfm-enterprise .matrix-table :is(th,td){border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .matrix-table thead th{background:var(--mfm-surface-2);min-width:150px;max-width:160px;}
body.mfm-enterprise .matrix-table thead .matrix-corner{padding:8px 9px;background:var(--mfm-surface-2);color:var(--mfm-text-1);min-width:170px;max-width:170px;}
body.mfm-enterprise .matrix-table .matrix-role-label{padding:5px 8px;min-width:170px;max-width:170px;background:var(--mfm-surface-0);color:var(--mfm-text-1);font-size:12px;}
body.mfm-enterprise .matrix-mode-person .matrix-table thead .matrix-corner,
body.mfm-enterprise .matrix-mode-person .matrix-table .matrix-role-label{min-width:178px;width:178px;max-width:178px;}
body.mfm-enterprise .matrix-table thead th:not(.matrix-corner),body.mfm-enterprise .matrix-table .matrix-cell{min-width:164px;width:164px;max-width:164px;}
body.mfm-enterprise .matrix-date-button{padding:6px 8px;gap:2px;min-height:32px;color:var(--mfm-text-1);}
body.mfm-enterprise .matrix-date-button strong{color:var(--mfm-text-1);font-size:12px;}
body.mfm-enterprise .matrix-date-button small{color:var(--mfm-text-2);font-size:11px;}
body.mfm-enterprise .matrix-cell{background:var(--mfm-surface-0);}
body.mfm-enterprise .matrix-cell-button{min-height:36px;padding:4px 6px;gap:3px;}
body.mfm-enterprise .matrix-cell-button:hover{background:var(--mfm-surface-hover);}
body.mfm-enterprise .matrix-name-inner{min-height:30px;gap:6px;}
body.mfm-enterprise .matrix-name-avatar{width:23px;height:23px;font-size:10px;}
body.mfm-enterprise .matrix-person{border-radius:2px;padding:2px 4px;font-size:11px;}
body.mfm-enterprise .matrix-person-role{border-radius:2px;padding:3px 5px;}
body.mfm-enterprise .matrix-person-action{border-radius:2px;padding:2px 4px;font-size:11px;}
body.mfm-enterprise .matrix-person-idle{padding:6px;}
body.mfm-enterprise .matrix-shift-card{border-radius:0 2px 2px 0;padding:2px 5px;border-left-width:3px;box-shadow:none;min-height:21px;}
body.mfm-enterprise .matrix-shift-time{font-size:11px;line-height:14px;}
body.mfm-enterprise .matrix-shift-role{font-size:11px;line-height:14px;}
body.mfm-enterprise .matrix-row-collapsed .matrix-cell-button{min-height:28px;padding:3px 6px;}
body.mfm-enterprise .matrix-ministry-row th{background:var(--mfm-surface-selected)!important;color:var(--mfm-text-1);padding:6px 9px;}
body.mfm-enterprise .matrix-footnote{padding:7px 12px;color:var(--mfm-text-2);font-size:11px;}

/* Print roster: flat, densely aligned, no 'floating' cards. */
body.mfm-enterprise .roster-tools{padding:9px 12px;gap:8px;}
body.mfm-enterprise .roster-tool-controls{gap:6px;}
body.mfm-enterprise .roster-tool-controls .input{min-height:32px;padding:4px 6px;}
body.mfm-enterprise .roster-scroll{max-height:75vh;border-top:1px solid var(--mfm-grid-line-soft);}
body.mfm-enterprise .roster-table{font-size:12px;line-height:16px;}
body.mfm-enterprise .roster-table :is(th,td){padding:4px 6px;border-color:var(--mfm-grid-line-soft);height:32px;}
body.mfm-enterprise .roster-table thead th{background:var(--mfm-surface-2);color:var(--mfm-text-1);}
body.mfm-enterprise .roster-table tbody th{background:var(--mfm-surface-0);color:var(--mfm-text-1);font-weight:650;}
body.mfm-enterprise .roster-table tbody tr:nth-child(even) :is(th,td){background:var(--mfm-surface-1);}
body.mfm-enterprise .roster-shift{display:grid;gap:1px;max-width:none;border-radius:0 2px 2px 0;margin-bottom:2px;padding:3px 5px 3px 7px;border-color:var(--mfm-positive-border);border-left:3px solid var(--mfm-positive-border);background:var(--mfm-positive-bg);color:var(--mfm-positive-text);}
body.mfm-enterprise .roster-shift:before{display:none;}
body.mfm-enterprise .roster-shift.roster-pm{background:var(--mfm-pending-bg);color:var(--mfm-pending-text);border-color:var(--mfm-pending-border);}
body.mfm-enterprise .roster-shift strong{font-size:11px;line-height:14px;}
body.mfm-enterprise .roster-shift :is(span,em){font-size:11px;line-height:14px;}
body.mfm-enterprise .roster-footnote{padding:7px 12px;}

/* Ministries: compact matrix, maintain existing pencil-on-avatar and accordion. */
body.mfm-enterprise .ministry-matrix-head{min-height:32px;padding:0 12px;background:var(--mfm-surface-2);border-color:var(--mfm-grid-line-soft);color:var(--mfm-text-2);}
body.mfm-enterprise .ministry-matrix-row-head{min-height:53px;padding:5px 12px;}
body.mfm-enterprise .ministry-matrix-row.is-open{background:var(--mfm-surface-1);}
body.mfm-enterprise .ministry-matrix-identity{gap:9px;}
body.mfm-enterprise :where(.ministry-avatar-edit,.ministry-avatar-static){width:31px;height:31px;min-width:31px;border-radius:3px;}
body.mfm-enterprise :where(.ministry-avatar-edit,.ministry-avatar-static)>svg{width:16px;height:16px;}
body.mfm-enterprise .ministry-avatar-pencil{width:16px;height:16px;box-shadow:none;}
body.mfm-enterprise .ministry-identity-toggle{gap:2px;}
body.mfm-enterprise .ministry-identity-toggle strong{color:var(--mfm-text-1);font-size:14px;line-height:18px;}
body.mfm-enterprise .ministry-identity-toggle span{color:var(--mfm-text-2);font-size:11px;line-height:14px;}
body.mfm-enterprise .ministry-preview-toggle{padding:4px 6px;}
body.mfm-enterprise .ministry-role-preview{gap:4px;}
body.mfm-enterprise .ministry-role-preview .ministry-role-chip{border-radius:2px;padding:3px 6px;font-size:11px;background:var(--mfm-surface-2);color:var(--mfm-text-1);border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .ministry-more-chip{border-radius:2px;padding:3px 6px;}
body.mfm-enterprise .ministry-expand-toggle{width:29px;height:29px;border-radius:3px;}
body.mfm-enterprise .ministry-matrix-details{padding:7px 12px 10px 44px;background:var(--mfm-surface-1);}
body.mfm-enterprise .ministry-matrix-details-heading{margin-bottom:4px;color:var(--mfm-text-2);}
body.mfm-enterprise .ministry-matrix-role-list{border-radius:3px;}
body.mfm-enterprise .ministry-matrix-role{min-height:34px;padding:4px 8px;gap:8px;}
body.mfm-enterprise .ministry-role-label{color:var(--mfm-text-1);font-size:12px;}
body.mfm-enterprise .ministry-role-count{color:var(--mfm-text-2);}
body.mfm-enterprise .ministry-inline-icon{width:27px;height:27px;border-radius:3px;}
body.mfm-enterprise .ministry-matrix-footer{margin-top:6px;}
body.mfm-enterprise .ministry-removed-count{border-radius:2px;}

/* Data tables and administration panes */
body.mfm-enterprise :where(.table,.people-table){font-size:12px;}
body.mfm-enterprise :where(.table th,.table td,.people-table th,.people-table td){padding:6px 8px;border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .overview-filterbar{padding:6px 10px;background:var(--mfm-surface-1);gap:5px;}
body.mfm-enterprise .overview-check{min-height:30px;padding:4px 7px;font-size:11px;}
body.mfm-enterprise .overview-ministry-filter select{min-height:30px;padding:4px 7px;font-size:11px;}
body.mfm-enterprise .availability-matrix-toolbar{padding:8px 12px;}
body.mfm-enterprise .availability-matrix-filters{padding:4px 12px 8px;gap:7px;}

/* Chat and notifications: preserve interaction/scroll and distinguish own vs other. */
body.mfm-enterprise .mfm-chat-shell{border-radius:3px;}
body.mfm-enterprise .mfm-chat-sidebar{background:var(--mfm-surface-1);}
body.mfm-enterprise .mfm-chat-list-head{padding:10px 12px;}
body.mfm-enterprise .mfm-chat-search{padding:0 10px 7px;}
body.mfm-enterprise .mfm-chat-person{padding:8px 10px;color:var(--mfm-text-1);border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .mfm-chat-person:hover,body.mfm-enterprise .mfm-chat-person.selected{background:var(--mfm-surface-selected);}
body.mfm-enterprise .mfm-chat-main{background:var(--mfm-surface-0);}
body.mfm-enterprise .mfm-chat-thread-head{min-height:46px;padding:8px 12px;}
body.mfm-enterprise .mfm-chat-compose{padding:7px 9px;}
body.mfm-enterprise .mfm-chat-compose textarea{min-height:36px;height:36px;border-radius:3px;padding:7px 10px;background:var(--mfm-surface-0);color:var(--mfm-text-1);}
body.mfm-enterprise .mfm-chat-send{width:36px;height:36px;flex-basis:36px;border-radius:3px;background:var(--mfm-accent);color:var(--mfm-on-accent);}
body.mfm-enterprise .mfm-chat-send:hover:not(:disabled){background:var(--mfm-accent-hover);}
body.mfm-enterprise .mfm-alert-bell{width:32px;height:32px;border-radius:3px;border-color:var(--mfm-grid-line-soft);background:var(--mfm-surface-0);color:var(--mfm-text-1);}
body.mfm-enterprise .mfm-alert-panel{border-radius:3px;background:var(--mfm-surface-0);box-shadow:var(--mfm-shadow-overlay);border-color:var(--mfm-grid-line);}
body.mfm-enterprise .mfm-alert-panel-head{padding:9px 11px;}
body.mfm-enterprise .mfm-alert-panel-head strong{color:var(--mfm-text-1);}
body.mfm-enterprise .mfm-alert-panel-head small{color:var(--mfm-text-2);}
body.mfm-enterprise .mfm-alert-row{background:var(--mfm-surface-0);color:var(--mfm-text-1);padding:9px 10px;border-color:var(--mfm-grid-line-soft);}
body.mfm-enterprise .mfm-alert-row.unread{background:var(--mfm-surface-selected);}
body.mfm-enterprise .mfm-alert-row:hover{background:var(--mfm-surface-hover);}
body.mfm-enterprise .mfm-alert-row-body strong{color:var(--mfm-text-1);}
body.mfm-enterprise .mfm-alert-row-body span{color:var(--mfm-text-2);}

/* Accessible per-user theme button. */
body.mfm-enterprise .mfm-theme-toggle{width:32px;height:32px;display:inline-grid;place-items:center;background:var(--mfm-surface-0);color:var(--mfm-text-1);border:1px solid var(--mfm-grid-line-soft);border-radius:3px;cursor:pointer;}
body.mfm-enterprise .mfm-theme-toggle:hover{background:var(--mfm-surface-hover);border-color:var(--mfm-accent);}
body.mfm-enterprise .mfm-theme-toggle svg{width:16px;height:16px;}
body.mfm-enterprise .mfm-theme-icon-dark{display:none;}
html[data-theme="dark"] body.mfm-enterprise .mfm-theme-icon-light{display:none;}
html[data-theme="dark"] body.mfm-enterprise .mfm-theme-icon-dark{display:inline-flex;}

/* Dark mode: map legacy hardcoded surfaces where a full component rewrite isn't needed. */
html[data-theme="dark"] body.mfm-enterprise {
  --accent: #60D6BA;
  --navy2: #152A3A;
  --gold: #E0A24D;
}
html[data-theme="dark"] body.mfm-enterprise :where(.sidebar,.brand){color:var(--mfm-sidebar-text);}
html[data-theme="dark"] body.mfm-enterprise :where(.topbar,.card,.modal,.modal-head,.modal-footer,.auth-form,.mfm-chat-shell,.mfm-chat-main,.mfm-chat-person,.service-option,.matrix-cell,.matrix-table .matrix-role-label,.people-table,.table,.ministry-matrix-role-list,.mfm-alert-panel,.mfm-alert-row){background:var(--mfm-surface-0);color:var(--mfm-text-1);border-color:var(--mfm-grid-line-soft);}
html[data-theme="dark"] body.mfm-enterprise :where(.card-head,.role-row,.section-label,.service-list-header,.matrix-controls,.matrix-intro,.overview-filterbar,.roster-tools,.ministry-matrix-details,.ministry-matrix-head,.ministry-matrix-row.is-open,.mfm-chat-sidebar,.availability-matrix-toolbar,.availability-matrix-filters){background:var(--mfm-surface-1);border-color:var(--mfm-grid-line-soft);color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise :where(.matrix-table thead th,.matrix-table .matrix-corner,.roster-table thead th,.table th,.people-table th,.service-month-heading){background:var(--mfm-surface-2);color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise :where(.input,.field input,.field select,.field textarea,.matrix-people-search,.mfm-chat-compose textarea,.overview-ministry-filter select){background:var(--mfm-surface-0);color:var(--mfm-text-1);border-color:var(--mfm-grid-line-strong);}
html[data-theme="dark"] body.mfm-enterprise :where(.ministry-identity-toggle strong,.ministry-role-label,.matrix-date-button,.matrix-date-button strong,.org-label,.servicename,.matrix-name-label){color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise :where(.ministry-identity-toggle span,.ministry-role-count,.roster-footnote,.matrix-footnote,.field-hint,.card-head p,.page-head p,.ministry-matrix-details-heading,.small,.muted){color:var(--mfm-text-2);}
html[data-theme="dark"] body.mfm-enterprise .matrix-person-free{background:var(--mfm-surface-0);}
html[data-theme="dark"] body.mfm-enterprise .matrix-person-busy{background:var(--mfm-surface-selected);}
html[data-theme="dark"] body.mfm-enterprise :where(.status.published,.status.accepted,.status.approved){background:var(--mfm-positive-bg);color:var(--mfm-positive-text);}
html[data-theme="dark"] body.mfm-enterprise :where(.status.assigned,.status.pending){background:var(--mfm-pending-bg);color:var(--mfm-pending-text);}
html[data-theme="dark"] body.mfm-enterprise .status.draft{background:var(--mfm-draft-bg);color:var(--mfm-draft-text);}
html[data-theme="dark"] body.mfm-enterprise :where(.status.declined,.status.rejected,.status.unfilled){background:var(--mfm-hard-breach-bg);color:var(--mfm-hard-breach-text);}
html[data-theme="dark"] body.mfm-enterprise .button.primary{background:var(--mfm-accent);color:var(--mfm-on-accent);}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-send{background:var(--mfm-accent);color:var(--mfm-on-accent);}
html[data-theme="dark"] body.mfm-enterprise .matrix-shift-card{filter:none;}
html[data-theme="dark"] body.mfm-enterprise .auth-form .brand-copy strong{color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise .modal::backdrop{background:rgb(0 0 0 / .65);}

/* Responsive: never sacrifice usable tap targets or the mobile scheduler flow. */
@media(max-width:900px){
  body.mfm-enterprise .content{padding:12px 12px 32px;}
  body.mfm-enterprise .content.content-scheduler{padding:10px 10px 32px;}
  body.mfm-enterprise .matrix-table thead .matrix-corner,body.mfm-enterprise .matrix-table .matrix-role-label{min-width:125px;max-width:125px;}
  body.mfm-enterprise .matrix-mode-person .matrix-table thead .matrix-corner,body.mfm-enterprise .matrix-mode-person .matrix-table .matrix-role-label{min-width:145px;width:145px;max-width:145px;}
  body.mfm-enterprise .matrix-table thead th:not(.matrix-corner),body.mfm-enterprise .matrix-table .matrix-cell{min-width:150px;width:150px;max-width:150px;}
}
@media(max-width:630px){
  body.mfm-enterprise .app{grid-template-columns:minmax(0,1fr);}
  body.mfm-enterprise .topbar{height:52px;min-height:52px;padding:0 10px;}
  body.mfm-enterprise .content{padding:10px 10px 28px;}
  body.mfm-enterprise :where(.button,.seg button,.mfm-theme-toggle,.mfm-alert-bell){min-height:40px;}
  body.mfm-enterprise .button.small{min-height:32px;}
  body.mfm-enterprise .mfm-theme-toggle{width:40px;}
  body.mfm-enterprise .mfm-alert-bell{width:40px;}
  body.mfm-enterprise .ministry-matrix-row-head{min-height:58px;padding:8px 10px;}
  body.mfm-enterprise .ministry-matrix-details{padding:9px 10px;}
  body.mfm-enterprise .ministry-matrix-role{min-height:38px;}
  body.mfm-enterprise .mfm-chat-send{width:42px;height:42px;flex-basis:42px;}
}
@media print{
  body.mfm-enterprise .mfm-theme-toggle{display:none!important;}
  body.mfm-enterprise .roster-scroll{max-height:none!important;overflow:visible!important;}
  body.mfm-enterprise .roster-table :is(th,td){position:static!important;padding:3px 4px!important;}
}
@media(prefers-reduced-motion:reduce){
 body.mfm-enterprise *,body.mfm-enterprise *::before,body.mfm-enterprise *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
/* Contrast fixes from light/dark viewport inspection. */
body.mfm-enterprise :where(.overview-mode-tabs,.scheduler-view-switch,.roster-tool-controls){border-radius:3px;}
html[data-theme="dark"] body.mfm-enterprise :where(.overview-mode-tabs,.overview-mode-tabs button,.seg,.seg button){background:var(--mfm-surface-2);color:var(--mfm-text-2);border-color:var(--mfm-grid-line-soft);}
html[data-theme="dark"] body.mfm-enterprise :where(.overview-mode-tabs button.active,.seg button.active){background:var(--mfm-surface-0);color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise :where(.meter,.progress .meter){background:#32434F;}
html[data-theme="dark"] body.mfm-enterprise :where(.datebox,.overview-kind-tag,.overview-check){background:var(--mfm-surface-2);color:var(--mfm-text-1);border-color:var(--mfm-grid-line-soft);}
html[data-theme="dark"] body.mfm-enterprise .overview-check:has(input:checked){background:var(--mfm-surface-selected);color:var(--mfm-positive-text);}
html[data-theme="dark"] body.mfm-enterprise :where(.auth-form-wrap,.remembered-church,.service-list-header,.matrix-scroll,.roster-scroll){color:var(--mfm-text-1);}
html[data-theme="dark"] body.mfm-enterprise .service-line{border-color:var(--mfm-grid-line-soft);}
html[data-theme="dark"] body.mfm-enterprise .roster-table tbody tr:nth-child(even) :is(td,th){background:var(--mfm-surface-1);}
@media(max-width:430px){
 body.mfm-enterprise .topbar>.row:first-child .church-identity-text{display:none;}
 body.mfm-enterprise .topbar>.row:last-child{gap:5px;}
 body.mfm-enterprise .topbar .seg button{padding:5px 6px;font-size:11px;}
}


/* MFM v3.19.1 — sign-in clipping/spacing correction.
   Scoped to authentication screens; no scheduler or church data changes. */
body.mfm-enterprise .auth {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body.mfm-enterprise .auth-info {
  min-width: 0;
  padding: clamp(30px, 5vw, 86px);
}
body.mfm-enterprise .auth-info .auth-features div {
  min-width: 0;
  line-height: 1.45;
}
body.mfm-enterprise .auth-form-area {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 32px clamp(24px, 4.2vw, 64px);
}
body.mfm-enterprise .auth-form-wrap {
  box-sizing: border-box;
  width: min(100%, 460px);
  max-width: 100%;
  min-width: 0;
}
body.mfm-enterprise .auth-form-wrap .auth-form {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 24px 26px 22px;
}
body.mfm-enterprise .auth-form-wrap .auth-form > *,
body.mfm-enterprise .auth-form-wrap .auth-form .field,
body.mfm-enterprise .auth-form-wrap .auth-form .field .input {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
body.mfm-enterprise .auth-form-wrap .auth-form .field .input {
  display: block;
  width: 100%;
}
body.mfm-enterprise .auth-form-wrap .auth-form .brand-mark {
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 36px;
  width: 36px;
  height: 32px;
  padding: 0 3px;
  font-size: 12px;
  letter-spacing: -0.05em;
  line-height: 1;
  overflow: hidden;
}
body.mfm-enterprise .auth-form-wrap .auth-form > .row:first-child {
  gap: 9px;
  min-width: 0;
  margin-bottom: 22px !important;
}
body.mfm-enterprise .auth-form-wrap .auth-form .brand-copy {
  min-width: 0;
}
body.mfm-enterprise .auth-form-wrap .auth-form h2 {
  margin-bottom: 9px;
}
body.mfm-enterprise .auth-form-wrap .auth-form p {
  overflow-wrap: anywhere;
}
body.mfm-enterprise .auth-form-wrap .auth-form .remembered-church {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 3px;
}
body.mfm-enterprise .auth-form-wrap .remembered-church-picture {
  width: 42px;
  height: 42px;
  border-radius: 3px;
}
body.mfm-enterprise .auth-form-wrap .remembered-church-name {
  flex: 1 1 auto;
  min-width: 0;
}
body.mfm-enterprise .auth-form-wrap .remembered-church-name strong {
  overflow-wrap: anywhere;
  line-height: 1.4;
}
body.mfm-enterprise .auth-form-wrap .remembered-church-change {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 6px 3px;
}
body.mfm-enterprise .auth-form-wrap .auth-form button[type="submit"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
body.mfm-enterprise .auth-form-wrap .auth-reset-link {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 7px 0 12px;
  padding: 0;
  min-height: 28px;
  text-align: right;
}
body.mfm-enterprise .auth-form-wrap .auth-reset-link .auth-switch-link {
  display: inline-block;
  max-width: 100%;
  padding: 4px 0;
  margin: 0;
  line-height: 1.35;
  white-space: normal;
}
body.mfm-enterprise .auth-form-wrap .auth-divider {
  margin: 13px 0 13px;
}
body.mfm-enterprise .auth-form-wrap .auth-switch,
body.mfm-enterprise .auth-form-wrap .mfm-auth-legal {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  body.mfm-enterprise .auth { grid-template-columns: minmax(0,1fr); }
  body.mfm-enterprise .auth-info { display: none; }
  body.mfm-enterprise .auth-form-area {
    padding: 24px 18px;
    align-items: center;
  }
}
@media (max-width: 460px) {
  body.mfm-enterprise .auth-form-area { padding: 14px 10px; }
  body.mfm-enterprise .auth-form-wrap .auth-form { padding: 18px 15px 20px; }
  body.mfm-enterprise .auth-form-wrap .auth-form .remembered-church { gap: 8px; padding: 9px; }
  body.mfm-enterprise .auth-form-wrap .remembered-church-picture { width: 38px; height: 38px; }
  body.mfm-enterprise .auth-form-wrap .remembered-church-change { font-size: 12px; }
}

/* MFM v3.19.3 — Scheduler Publish button: restore contrast over the
   enterprise .button rule. The legacy rule applied -webkit-text-fill-color:
   white while the enterprise layer changed its background to white. */
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary {
  background: var(--mfm-accent);
  border-color: var(--mfm-accent);
  color: var(--mfm-on-accent);
  -webkit-text-fill-color: var(--mfm-on-accent);
  opacity: 1;
  box-shadow: none;
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary svg {
  color: var(--mfm-on-accent);
  stroke: currentColor;
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary .action-text {
  color: inherit;
  -webkit-text-fill-color: inherit;
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary:hover:not(:disabled),
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary:active:not(:disabled) {
  background: var(--mfm-accent-hover);
  border-color: var(--mfm-accent-hover);
  color: var(--mfm-on-accent);
  -webkit-text-fill-color: var(--mfm-on-accent);
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary:focus-visible {
  outline: 2px solid var(--mfm-focus-ring);
  outline-offset: 2px;
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary:disabled {
  opacity: 1;
  background: var(--mfm-surface-2);
  border-color: var(--mfm-grid-line-strong);
  color: var(--mfm-text-2);
  -webkit-text-fill-color: var(--mfm-text-2);
  cursor: not-allowed;
}
body.mfm-enterprise .schedule-card .scheduler-btn.scheduler-btn-primary:disabled svg {
  color: var(--mfm-text-2);
}

/* MFM v3.19.4 — Component-scoped dark mode correction.
   Fix legacy hard-coded light backgrounds without changing roster/JSON logic.
   Add after Enterprise UI rules; do not apply to light mode. */
html[data-theme="dark"] body.mfm-enterprise {
  --mfm-dark-contrast-action: #101F28;
  --mfm-dark-neutral-badge: #283845;
}
/* Scheduler: action area must remain legible in the same theme as its roster. */
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-toolbar,
html[data-theme="dark"] body.mfm-enterprise .mobile-service-actions,
html[data-theme="dark"] body.mfm-enterprise .mobile-schedule-top-actions {
  background: var(--mfm-surface-1);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-action-group {
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-action-label {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-btn:not(.scheduler-btn-primary):not(.scheduler-btn-danger),
html[data-theme="dark"] body.mfm-enterprise .schedule-card .role-tool:not(.role-tool-danger) {
  background: var(--mfm-surface-0);
  border-color: var(--mfm-grid-line-strong);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-btn:not(.scheduler-btn-primary):not(.scheduler-btn-danger):hover,
html[data-theme="dark"] body.mfm-enterprise .schedule-card .role-tool:not(.role-tool-danger):hover {
  background: var(--mfm-surface-hover);
  border-color: var(--mfm-accent);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-btn-danger,
html[data-theme="dark"] body.mfm-enterprise .schedule-card .role-tool-danger {
  background: var(--mfm-hard-breach-bg);
  border-color: var(--mfm-hard-breach-border);
  color: var(--mfm-hard-breach-text);
}
html[data-theme="dark"] body.mfm-enterprise .schedule-card .scheduler-btn-danger:hover,
html[data-theme="dark"] body.mfm-enterprise .schedule-card .role-tool-danger:hover {
  background: #55282E;
}
html[data-theme="dark"] body.mfm-enterprise :is(.person-pill,.empty-slot) {
  color: var(--mfm-text-1);
  background: var(--mfm-surface-1);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .person-pill button { color: var(--mfm-hard-breach-text); }
html[data-theme="dark"] body.mfm-enterprise .scheduler-role-row,
html[data-theme="dark"] body.mfm-enterprise .scheduler-role-heading,
html[data-theme="dark"] body.mfm-enterprise .slot-people {
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-soft);
}
/* Availability: metrics, dates, sticky names and unsubmitted cells. */
html[data-theme="dark"] body.mfm-enterprise .avm-panel-header,
html[data-theme="dark"] body.mfm-enterprise .avm-metrics {
  background: var(--mfm-surface-0);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .avm-quarter-nav strong,
html[data-theme="dark"] body.mfm-enterprise .avm-filter-label,
html[data-theme="dark"] body.mfm-enterprise .avm-legend {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .avm-metric {
  background: var(--mfm-surface-1);
  border: 1px solid var(--mfm-grid-line-soft);
  border-radius: 3px;
}
html[data-theme="dark"] body.mfm-enterprise .avm-metric strong { color: var(--mfm-text-1); }
html[data-theme="dark"] body.mfm-enterprise .avm-metric span { color: var(--mfm-text-2); }
html[data-theme="dark"] body.mfm-enterprise .avm-scroll,
html[data-theme="dark"] body.mfm-enterprise .avm-table {
  background: var(--mfm-surface-0);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .avm-table :is(th,td) {
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .avm-table thead th,
html[data-theme="dark"] body.mfm-enterprise .avm-table thead th.avm-corner {
  background: var(--mfm-surface-2);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .avm-table thead .avm-date :is(span,strong,small) {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .avm-table thead .avm-date strong { color: var(--mfm-text-1); }
html[data-theme="dark"] body.mfm-enterprise .avm-person {
  background: var(--mfm-surface-0);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .avm-person-name :is(strong,small) { color: var(--mfm-text-1); }
html[data-theme="dark"] body.mfm-enterprise .avm-person-name small { color: var(--mfm-text-2); }
html[data-theme="dark"] body.mfm-enterprise .avm-cell {
  background: var(--mfm-surface-0);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .avm-cell:hover { background: var(--mfm-surface-hover); }
html[data-theme="dark"] body.mfm-enterprise .avm-symbol {
  border-radius: 3px;
}
html[data-theme="dark"] body.mfm-enterprise .avm-unsent .avm-symbol {
  background: var(--mfm-unassigned-bg);
  color: var(--mfm-unassigned-text);
  border: 1px solid var(--mfm-unassigned-border);
}
html[data-theme="dark"] body.mfm-enterprise .avm-unavailable .avm-symbol {
  background: #30404D;
  color: #D4E0E8;
}
html[data-theme="dark"] body.mfm-enterprise :is(.avm-available,.avm-am) .avm-symbol {
  background: var(--mfm-positive-bg);
  color: var(--mfm-positive-text);
}
html[data-theme="dark"] body.mfm-enterprise .avm-pm .avm-symbol {
  background: #382947;
  color: #F1D5FF;
}
html[data-theme="dark"] body.mfm-enterprise .avm-booked {
  background: #77D7F2;
  box-shadow: 0 0 0 2px var(--mfm-surface-0);
}
html[data-theme="dark"] body.mfm-enterprise .avm-dot-unsent {
  background: var(--mfm-unassigned-bg);
  border-color: var(--mfm-unassigned-border);
}
html[data-theme="dark"] body.mfm-enterprise .avm-note,
html[data-theme="dark"] body.mfm-enterprise .avm-empty,
html[data-theme="dark"] body.mfm-enterprise .avm-empty p,
html[data-theme="dark"] body.mfm-enterprise .avm-no-people {
  color: var(--mfm-text-2);
}
/* People / ministries: no bright edit controls in dark mode. */
html[data-theme="dark"] body.mfm-enterprise :is(.people-table,.people-table td,.people-table th) {
  background: var(--mfm-surface-0);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .people-table thead th { background: var(--mfm-surface-2); }
html[data-theme="dark"] body.mfm-enterprise :is(.tag,.ministry-role-chip) {
  background: var(--mfm-dark-neutral-badge);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise :is(.ministry-expand-toggle,.ministry-inline-icon,.ministry-avatar-pencil) {
  background: var(--mfm-surface-1);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-strong);
  box-shadow: none;
}
html[data-theme="dark"] body.mfm-enterprise .ministry-expand-toggle:hover { background: var(--mfm-surface-hover); }
/* Messages: replace the light-only conversation gradient and bubbles. */
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-thread {
  background: var(--mfm-surface-2);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-thread-head,
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-compose {
  background: var(--mfm-surface-0);
  border-color: var(--mfm-grid-line-soft);
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-bubble {
  background: #293B4A;
  color: var(--mfm-text-1);
  border: 1px solid #486072;
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-row.mine .mfm-chat-bubble {
  background: #19443C;
  color: #EAFBF4;
  border-color: #3B8B75;
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-bubble small,
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-thread-head small {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-person .mfm-chat-person-preview,
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-section-heading {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-compose textarea {
  background: var(--mfm-surface-1);
  color: var(--mfm-text-1);
  border-color: var(--mfm-grid-line-strong);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-compose textarea::placeholder {
  color: var(--mfm-text-3);
}
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-send:disabled {
  background: var(--mfm-surface-1);
  color: var(--mfm-text-disabled);
  border: 1px solid var(--mfm-grid-line-soft);
}
/* Statistics: explicit foreground tokens on every KPI, chart and table. */
html[data-theme="dark"] body.mfm-enterprise .stat-toolbar {
  background: var(--mfm-surface-1);
  color: var(--mfm-text-1);
  border: 1px solid var(--mfm-grid-line-soft);
  border-radius: 3px;
}
html[data-theme="dark"] body.mfm-enterprise .stat-page-heading h1,
html[data-theme="dark"] body.mfm-enterprise .stats-panel-title h2,
html[data-theme="dark"] body.mfm-enterprise .stats-ministry-head strong,
html[data-theme="dark"] body.mfm-enterprise .stat-value {
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .stat-kpi.green .stat-value { color: #72E0C3; }
html[data-theme="dark"] body.mfm-enterprise .stat-kpi.amber .stat-value { color: #F2C174; }
html[data-theme="dark"] body.mfm-enterprise :is(.stat-page-heading p,.stat-select,.stat-label,.stat-hint,.stats-panel-title p,.stats-month-label,.stats-month-numbers,.stats-ministry-head span,.stats-table-foot,.stats-notes,.stats-search,.stat-empty,.stats-person-top p) {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .stats-panel-title,
html[data-theme="dark"] body.mfm-enterprise .stats-ministry-row,
html[data-theme="dark"] body.mfm-enterprise .stats-table-foot {
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .stats-bar-track { background: #344855; }
html[data-theme="dark"] body.mfm-enterprise .stats-bar-fill.confirmed { background: #7DB6D6; }
html[data-theme="dark"] body.mfm-enterprise .stats-role-bubbles span,
html[data-theme="dark"] body.mfm-enterprise .stats-inactive {
  background: var(--mfm-surface-2);
  color: var(--mfm-text-1);
  border: 1px solid var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .stats-role-bubbles b,
html[data-theme="dark"] body.mfm-enterprise .stats-person-link { color: var(--mfm-accent); }
html[data-theme="dark"] body.mfm-enterprise :is(.stats-accepted,.stats-assigned,.stats-declined) {
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .stats-accepted { background: var(--mfm-positive-bg); }
html[data-theme="dark"] body.mfm-enterprise .stats-assigned { background: var(--mfm-overtime-bg); }
html[data-theme="dark"] body.mfm-enterprise .stats-declined { background: var(--mfm-hard-breach-bg); }
/* Settings and supporting labels (including small form hints). */
html[data-theme="dark"] body.mfm-enterprise .field label,
html[data-theme="dark"] body.mfm-enterprise .field > span,
html[data-theme="dark"] body.mfm-enterprise .field-hint,
html[data-theme="dark"] body.mfm-enterprise .settings-grid .card p,
html[data-theme="dark"] body.mfm-enterprise .mfm-backup-help {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .settings-grid .card h2,
html[data-theme="dark"] body.mfm-enterprise .mfm-backup-title h2 {
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .settings-grid .input[readonly] {
  background: var(--mfm-surface-2);
  color: var(--mfm-text-1);
}
/* Consistent dark action and micro panels throughout the overview. */
html[data-theme="dark"] body.mfm-enterprise .activity,
html[data-theme="dark"] body.mfm-enterprise .coverage-line {
  border-color: var(--mfm-grid-line-soft);
}
html[data-theme="dark"] body.mfm-enterprise .activity small,
html[data-theme="dark"] body.mfm-enterprise .kpi .sub {
  color: var(--mfm-text-2);
}
/* Keep OS-level form controls appropriately themed. */
html[data-theme="dark"] body.mfm-enterprise :is(.input,select,textarea) {
  color-scheme: dark;
}
/* Final dark-mode audit: headings attached to legacy date-list and KPI controls. */
html[data-theme="dark"] body.mfm-enterprise .service-list-header strong,
html[data-theme="dark"] body.mfm-enterprise .stat-readonly {
  color: var(--mfm-text-1);
}
html[data-theme="dark"] body.mfm-enterprise .service-list-header :is(span,small),
html[data-theme="dark"] body.mfm-enterprise .service-month-control span,
html[data-theme="dark"] body.mfm-enterprise .mfm-chat-person-top small {
  color: var(--mfm-text-2);
}
html[data-theme="dark"] body.mfm-enterprise .avm-dot-booked {
  background: #77D7F2;
  border-color: #77D7F2;
}

/* v3.20.0 — Availability-first Schedule Generator wizard */
body.mfm-enterprise .scheduler-generate-button {
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  height:32px;padding:0 10px;border:1px solid var(--mfm-accent);
  color:var(--mfm-accent);background:var(--mfm-surface-0);border-radius:3px;
  white-space:nowrap;font-size:12px;font-weight:700;
}
body.mfm-enterprise .scheduler-generate-button:hover {background:var(--mfm-surface-hover)}
body.mfm-enterprise .scheduler-generate-button svg{width:15px;height:15px}
.modal-schedule-wizard {width:min(820px,calc(100vw - 22px))}
.modal-schedule-wizard .modal-scroll {max-height:min(66vh,650px)}
.wizard-intro{padding:11px 12px;background:var(--mfm-surface-2,#f4f7f8);border:1px solid var(--mfm-grid-line-soft,#d7e1e7);margin-bottom:12px}
.wizard-intro-title{font-size:14px;font-weight:750;display:flex;gap:8px;align-items:center}
.wizard-intro-title svg{width:17px;height:17px;color:var(--mfm-accent,#078675)}
.wizard-intro p{font-size:12px;line-height:1.5;margin:6px 0 0;color:var(--mfm-text-2,#405263)}
.wizard-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wizard-controls .field{min-width:0}
.wizard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 8px;font-size:13px}
.wizard-section-head small{color:var(--mfm-text-2,#405263);font-size:11px}
.wizard-roles{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;border-top:1px solid var(--mfm-grid-line-soft,#d7e1e7);border-bottom:1px solid var(--mfm-grid-line-soft,#d7e1e7)}
.wizard-role{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:37px;border-bottom:1px solid var(--mfm-grid-line-soft,#d7e1e7);font-size:12px;cursor:default}
.wizard-role-name{overflow-wrap:anywhere}
.wizard-role .wizard-role-count{width:66px;min-height:30px;padding:3px 7px;flex:none;font-variant-numeric:tabular-nums lining-nums}
.wizard-rule,.wizard-hint{font-size:11px;color:var(--mfm-text-2,#405263);line-height:1.5;margin:10px 0}
.wizard-results{min-height:42px;margin-top:12px;border:1px solid var(--mfm-grid-line-soft,#d7e1e7);padding:11px;font-size:12px;background:var(--mfm-surface-0,#fff);color:var(--mfm-text-1,#142534)}
.wizard-summary{display:flex;flex-wrap:wrap;gap:14px;padding-bottom:9px;margin-bottom:7px;border-bottom:1px solid var(--mfm-grid-line-soft,#d7e1e7)}
.wizard-summary strong{font-size:15px;font-variant-numeric:tabular-nums lining-nums}
.wizard-preview-scroll{max-height:280px;overflow:auto}
.wizard-preview-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}
.wizard-preview-table th,.wizard-preview-table td{padding:6px 8px;border-bottom:1px solid var(--mfm-grid-line-soft,#d7e1e7);vertical-align:top}
.wizard-preview-table thead th{position:sticky;top:0;background:var(--mfm-surface-2,#f4f7f8);z-index:1;white-space:nowrap}
.wizard-shortfall{color:var(--mfm-warning-text,#966000);font-weight:750}
.wizard-caution{color:var(--mfm-warning-text,#966000);font-weight:600;font-size:11px;margin:9px 0}
@media(max-width:650px){.wizard-controls,.wizard-roles{grid-template-columns:1fr}.wizard-summary{gap:8px}.wizard-summary span{min-width:42%}.wizard-preview-scroll{max-height:230px}.modal-schedule-wizard .modal-body{padding:12px}.wizard-section-head{align-items:flex-start}.wizard-preview-table{min-width:470px}}

/* v3.20.1 — Make Generate unmistakable in the main scheduler toolbar. */
body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  min-height: 32px;
  min-width: 105px;
  padding: 0 12px;
  border: 1px solid var(--mfm-accent);
  border-radius: 3px;
  background: var(--mfm-surface-0);
  color: var(--mfm-accent);
  -webkit-text-fill-color: var(--mfm-accent);
  font-weight: 700;
  white-space: nowrap;
}
body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button:hover {
  background: var(--mfm-surface-hover);
  border-color: var(--mfm-accent);
}
body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button:focus-visible {
  outline: 2px solid var(--mfm-focus-ring);
  outline-offset: 2px;
}
body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button svg {
  flex: none;
  color: currentColor;
}
@media (max-width: 650px) {
  body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0 7px;
  }
  body.mfm-enterprise .content-scheduler .scheduler-view-switch .scheduler-generate-button .generate-label {
    display: none;
  }
}

/* v3.20.2: new schedule + availability-first generation */
.modal-schedule-wizard{width:min(820px,calc(100vw - 24px));}
.wizard-create-details{margin-bottom:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px}
.wizard-create-details>.field{min-width:0}
.wizard-create-details>.schedule-name-field{grid-column:span 3}
.wizard-create-details>.schedule-type-field{grid-column:span 1}
.wizard-create-details>.schedule-half-field{grid-column:span 2}
.wizard-ministry-list{max-height:270px;overflow:auto;border:1px solid var(--mfm-grid-line-soft,#d7e1e7);background:var(--mfm-surface-0,#fff)}
.wizard-ministry-group+.wizard-ministry-group{border-top:1px solid var(--mfm-grid-line-soft,#d7e1e7)}
.wizard-ministry-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;background:var(--mfm-surface-2,#f4f7f8);font-size:12px}
.wizard-ministry-heading span{font-size:11px;color:var(--mfm-text-2,#405263)}
.wizard-ministry-group .wizard-roles{padding:0 9px;border:0}
.wizard-ministry-group .wizard-role:last-child{border-bottom:0}
@media(max-width:650px){.wizard-ministry-list{max-height:245px}.wizard-ministry-group .wizard-roles{grid-template-columns:1fr}.wizard-create-details{grid-template-columns:minmax(0,1fr)}.wizard-create-details>.field{grid-column:1/-1}}

/* MFM v3.20.4 — Compact, accessible weekly group/person rotation wizard */
.wizard-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:11px}
.wizard-mode-option{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:9px;border:1px solid var(--mfm-grid-line-soft,#cbd5db);background:var(--mfm-surface-0,#fff);cursor:pointer}
.wizard-mode-option:has(input:checked){border-color:var(--mfm-accent,#087c6d);background:var(--mfm-surface-selected,var(--mfm-surface-2,#eff8f4))}
.wizard-mode-option input{accent-color:var(--mfm-accent,#087c6d);flex:none;margin:2px 0 0}
.wizard-mode-option span{display:grid;gap:3px;min-width:0}
.wizard-mode-option strong{font-size:12px;color:var(--mfm-text-1,#132736)}
.wizard-mode-option small{font-size:11px;color:var(--mfm-text-2,#405263);line-height:1.35}
.wizard-rotation-config{padding:10px;border:1px solid var(--mfm-grid-line-soft,#cbd5db);background:var(--mfm-surface-1,var(--mfm-surface-0,#fff));margin-bottom:12px}
.wizard-rotation-config[hidden],.wizard-person-role[hidden]{display:none!important}
.wizard-rotation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:6px}
.wizard-rotation-fields label,.wizard-group-slots label,.wizard-first-label{display:grid;gap:4px;color:var(--mfm-text-1,#132736);font-weight:600;font-size:12px}
.wizard-rotation-config .input{min-height:32px;padding:4px 7px;font-size:12px}
.wizard-group-ministry+.wizard-group-ministry,.wizard-person-role+.wizard-person-role{border-top:1px solid var(--mfm-grid-line-soft,#cbd5db);margin-top:10px;padding-top:10px}
.wizard-group-ministry>strong{display:block;margin:7px 0;font-size:12px}
.wizard-group-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}
.wizard-rotation-row-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:5px 0 7px;font-size:12px}
.wizard-rotation-row-heading small{font-size:11px;color:var(--mfm-text-2,#405263)}
.wizard-person-list{max-height:210px;overflow:auto;border:1px solid var(--mfm-grid-line-soft,#cbd5db);margin-bottom:8px}
.wizard-person-item{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:3px 6px;border-bottom:1px solid var(--mfm-grid-line-soft,#cbd5db)}
.wizard-person-item:last-child{border-bottom:0}
.wizard-person-item>label{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;cursor:pointer}
.wizard-person-item>label span{overflow-wrap:anywhere}
.wizard-person-checkbox{accent-color:var(--mfm-accent,#087c6d)}
.wizard-order-buttons{display:flex;gap:3px;flex:none}
.wizard-order-buttons button{width:27px;height:27px;padding:0;border:1px solid var(--mfm-grid-line-soft,#cbd5db);background:var(--mfm-surface-0,#fff);color:var(--mfm-text-1,#132736);font-size:15px;border-radius:2px}
.wizard-order-buttons button:hover{background:var(--mfm-surface-hover,#eaf0f1)}
.wizard-first-label{max-width:290px}
.wizard-mode-option:focus-within,.wizard-order-buttons button:focus-visible{outline:2px solid var(--mfm-focus-ring,#126cbe);outline-offset:1px}
@media(max-width:650px){.wizard-mode-options{grid-template-columns:1fr}.wizard-group-slots{grid-template-columns:1fr}.wizard-rotation-fields{grid-template-columns:1fr}.wizard-rotation-row-heading{flex-direction:column;gap:2px}}


/* MFM v3.20.5 — Scheduling matrix: structural, data-dense and theme-aware. */
body.mfm-enterprise .sm-panel{overflow:hidden;}
body.mfm-enterprise .sm-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;background:var(--mfm-surface-1);border-bottom:1px solid var(--mfm-grid-line-soft);}
body.mfm-enterprise .sm-toolbar-start,body.mfm-enterprise .sm-toolbar-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
body.mfm-enterprise .sm-range{font-size:12px;font-weight:700;color:var(--mfm-text-1);font-variant-numeric:tabular-nums;}
body.mfm-enterprise .sm-toolbar label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-toolbar select,body.mfm-enterprise .sm-toolbar input[type=date]{height:32px;min-height:32px;max-width:180px;padding:4px 7px;font-size:12px;}
body.mfm-enterprise .sm-toolbar input[type=date]{width:145px;}
body.mfm-enterprise .sm-toolbar select#sm-span{width:61px;}
body.mfm-enterprise .sm-toolbar select#sm-ministry{width:160px;}
body.mfm-enterprise .sm-toolbar .button{min-height:32px;white-space:nowrap;}
body.mfm-enterprise .sm-view-switch{margin-left:2px;}
body.mfm-enterprise .sm-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:8px 12px;background:var(--mfm-surface-0);border-bottom:1px solid var(--mfm-grid-line-soft);color:var(--mfm-text-2);font-size:12px;}
body.mfm-enterprise .sm-summary strong{font-size:13px;color:var(--mfm-text-1);font-variant-numeric:tabular-nums;}
body.mfm-enterprise .sm-summary-tip{margin-left:auto;font-size:11px;}
body.mfm-enterprise .sm-scroll{max-width:100%;max-height:min(68vh,780px);overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;}
body.mfm-enterprise .sm-scroll:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:-2px;}
body.mfm-enterprise .sm-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-size:12px;font-variant-numeric:tabular-nums lining-nums;}
body.mfm-enterprise .sm-table th,body.mfm-enterprise .sm-table td{border-right:1px solid var(--mfm-grid-line-soft);border-bottom:1px solid var(--mfm-grid-line-soft);vertical-align:top;background:var(--mfm-surface-0);}
body.mfm-enterprise .sm-table thead th{position:sticky;top:0;z-index:3;height:50px;background:var(--mfm-surface-2);color:var(--mfm-text-1);text-align:left;padding:7px 8px;white-space:nowrap;font-weight:750;}
body.mfm-enterprise .sm-table thead th.sm-left-first{position:sticky;left:0;z-index:8;width:160px;min-width:160px;max-width:160px;}
body.mfm-enterprise .sm-table thead th.sm-left-second{position:sticky;left:160px;z-index:8;width:175px;min-width:175px;max-width:175px;}
body.mfm-enterprise .sm-table .sm-date{min-width:180px;width:180px;max-width:180px;text-align:center;}
body.mfm-enterprise .sm-date span,body.mfm-enterprise .sm-date strong,body.mfm-enterprise .sm-date small{display:block;line-height:1.4;}
body.mfm-enterprise .sm-date span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-date strong{font-size:13px;}
body.mfm-enterprise .sm-date small{font-size:10px;font-weight:500;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-ministry-row th{position:sticky;left:0;z-index:2;padding:7px 10px;background:var(--mfm-surface-2);color:var(--mfm-text-1);font-weight:750;text-align:left;}
body.mfm-enterprise .sm-ministry-row th span{display:block;}
body.mfm-enterprise .sm-ministry-row th small{font-size:10px;font-weight:500;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-ministry-row .sm-ministry-divider{background:var(--mfm-surface-2);}
body.mfm-enterprise .sm-role-name{position:sticky;left:160px;z-index:2;width:175px;min-width:175px;max-width:175px;padding:10px 8px;background:var(--mfm-surface-0);color:var(--mfm-text-1);font-weight:650;text-align:left;}
body.mfm-enterprise .sm-role-row .sm-ministry-space{position:sticky;left:0;z-index:2;width:160px;min-width:160px;max-width:160px;background:var(--mfm-surface-0);}
body.mfm-enterprise .sm-role-row:hover .sm-role-name,body.mfm-enterprise .sm-role-row:hover .sm-ministry-space{background:var(--mfm-surface-hover);}
body.mfm-enterprise .sm-role-row .sm-unused{text-align:center;padding:11px 6px;background:var(--mfm-surface-1);color:var(--mfm-text-2);}
body.mfm-enterprise .sm-slot-cell{padding:4px 5px;min-width:180px;width:180px;}
body.mfm-enterprise .sm-slot{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%;min-height:31px;padding:5px 24px 5px 7px;border:1px solid var(--mfm-grid-line-soft);border-left:3px solid var(--mfm-accent);border-radius:2px;background:var(--mfm-surface-1);color:var(--mfm-text-1);text-align:left;font-size:11px;cursor:pointer;}
body.mfm-enterprise .sm-slot + .sm-slot{margin-top:4px;}
body.mfm-enterprise .sm-slot-open{border-left-color:var(--mfm-grid-line-strong);border-style:dashed;background:var(--mfm-surface-0);}
body.mfm-enterprise .sm-slot:hover,body.mfm-enterprise .sm-pool-person:hover{background:var(--mfm-surface-hover);border-color:var(--mfm-accent);}
body.mfm-enterprise .sm-slot:focus-visible,body.mfm-enterprise .sm-pool-person:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:1px;}
body.mfm-enterprise .sm-assigned-name{font-weight:650;overflow-wrap:anywhere;}
body.mfm-enterprise .sm-availability-issue span{color:var(--mfm-warning-text,#B66C00);font-weight:850;}
body.mfm-enterprise .sm-slot-count{position:absolute;top:6px;right:5px;font-size:10px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-service-label{font-size:10px;color:var(--mfm-text-2);font-weight:500;}
body.mfm-enterprise .sm-add-label{color:var(--mfm-text-2);font-weight:600;}
body.mfm-enterprise .sm-pool-heading th{position:sticky;left:0;z-index:2;padding:10px;background:var(--mfm-surface-2);text-align:left;font-size:12px;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-pool-heading td{background:var(--mfm-surface-2);}
body.mfm-enterprise .sm-pool-left{position:sticky;left:0;z-index:2;padding:10px;background:var(--mfm-surface-1);color:var(--mfm-text-1);font-size:11px;}
body.mfm-enterprise .sm-pool-left strong,body.mfm-enterprise .sm-pool-left small{display:block;}
body.mfm-enterprise .sm-pool-left small{margin-top:4px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-pool-cell{padding:7px 6px 9px;min-width:180px;width:180px;}
body.mfm-enterprise .sm-pool-list{display:flex;flex-direction:column;gap:3px;max-height:300px;overflow-y:auto;}
body.mfm-enterprise .sm-pool-person{display:block;width:100%;padding:4px 6px;background:var(--mfm-surface-1);border:1px solid var(--mfm-grid-line-soft);border-radius:2px;color:var(--mfm-text-1);text-align:left;font-size:11px;cursor:pointer;overflow-wrap:anywhere;}
body.mfm-enterprise .sm-pool-empty{font-size:11px;color:var(--mfm-text-2);font-style:italic;}
body.mfm-enterprise .sm-pool-total{display:block;margin-top:6px;font-size:10px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-note{padding:9px 12px;font-size:11px;line-height:1.55;color:var(--mfm-text-2);border-top:1px solid var(--mfm-grid-line-soft);background:var(--mfm-surface-1);}
body.mfm-enterprise .sm-empty{padding:24px;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-empty p{margin:8px 0 15px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-empty-row{padding:25px;text-align:center;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-availability-switch{margin-bottom:8px;}
@media(max-width:750px){
  body.mfm-enterprise .sm-toolbar{align-items:stretch;padding:8px;}
  body.mfm-enterprise .sm-toolbar-start{justify-content:space-between;width:100%;}
  body.mfm-enterprise .sm-toolbar-filters{width:100%;gap:5px;}
  body.mfm-enterprise .sm-toolbar label{font-size:10px;}
  body.mfm-enterprise .sm-toolbar select#sm-ministry{width:140px;}
  body.mfm-enterprise .sm-summary-tip{flex-basis:100%;margin-left:0;}
  body.mfm-enterprise .sm-scroll{max-height:65vh;}
  body.mfm-enterprise .sm-table thead th.sm-left-first,body.mfm-enterprise .sm-role-row .sm-ministry-space{left:0;width:100px;min-width:100px;max-width:100px;}
  body.mfm-enterprise .sm-table thead th.sm-left-second,body.mfm-enterprise .sm-role-name{left:100px;width:115px;min-width:115px;max-width:115px;}
  body.mfm-enterprise .sm-table .sm-date,body.mfm-enterprise .sm-slot-cell,body.mfm-enterprise .sm-pool-cell{width:160px;min-width:160px;max-width:160px;}
  body.mfm-enterprise .sm-role-name{white-space:normal;overflow-wrap:anywhere;}
  body.mfm-enterprise .sm-ministry-row th{font-size:11px;}
}
@media print{
  body.mfm-enterprise .sm-toolbar,body.mfm-enterprise .sm-summary-tip,body.mfm-enterprise .sm-note,body.mfm-enterprise .sidebar,body.mfm-enterprise .topbar{display:none!important;}
  body.mfm-enterprise .sm-scroll{overflow:visible;max-height:none;}
  body.mfm-enterprise .sm-panel{border:0;}
  body.mfm-enterprise .sm-table{width:100%;font-size:9px;}
  body.mfm-enterprise .sm-table th,body.mfm-enterprise .sm-table td{position:static!important;}
  body.mfm-enterprise .sm-slot{font-size:9px;break-inside:avoid;}
  @page{size:landscape;margin:10mm;}
}

/* v3.20.6 — roster icon controls and drag/drop, light and dark themes */
body.mfm-enterprise .schedule-card .scheduler-role-actions .role-tool-icon{
  display:inline-grid;place-items:center;flex:0 0 33px;
  width:33px;min-width:33px;height:33px;min-height:33px;padding:0;
  border-radius:3px;line-height:1;
}
body.mfm-enterprise .schedule-card .scheduler-role-actions .role-tool-icon svg{width:16px;height:16px;}
body.mfm-enterprise .schedule-card .scheduler-role-actions .mobile-role-action-list{gap:5px;}
body.mfm-enterprise .sm-pool-person[draggable="true"]{cursor:grab;user-select:none;}
body.mfm-enterprise .sm-pool-person.sm-dragging{opacity:.55;cursor:grabbing;}
body.mfm-enterprise .sm-slot.sm-drop-ready{
  outline:2px solid var(--mfm-accent);outline-offset:-2px;
  border-left-color:var(--mfm-accent);background:var(--mfm-surface-hover);
  box-shadow:inset 0 0 0 1px var(--mfm-accent);
}
body.mfm-enterprise .sm-slot.sm-drop-invalid{
  outline:2px dashed var(--mfm-negative,#B84A58);outline-offset:-2px;
  cursor:not-allowed;
}
@media(max-width:630px){
  body.mfm-enterprise .schedule-card .scheduler-role-actions{min-width:0;}
  body.mfm-enterprise .mobile-role-actions>.mobile-role-toggle{display:none;}
  body.mfm-enterprise .mobile-role-actions:not(.is-open)>.mobile-role-action-list{
    display:flex;position:static;flex-wrap:nowrap;gap:5px;padding:0;
  }
  body.mfm-enterprise .schedule-card .scheduler-role-actions .role-tool-icon{
    width:35px;min-width:35px;height:35px;min-height:35px;
  }
}
@media(max-width:365px){
  body.mfm-enterprise .schedule-card .scheduler-role-actions{grid-column:1/-1;grid-row:3;}
}
@media print{body.mfm-enterprise .sm-drop-ready,body.mfm-enterprise .sm-drop-invalid{outline:0;box-shadow:none;}}


/* MFM v3.20.7 — profile-derived ministry colour system for Scheduling Matrix */
body.mfm-enterprise .sm-ministry-row th{
  background:var(--sm-m-bg);color:var(--sm-m-fg);border-top:1px solid var(--sm-m-edge);
}
body.mfm-enterprise .sm-ministry-row th small{color:var(--sm-m-fg);opacity:.84;}
body.mfm-enterprise .sm-ministry-row .sm-ministry-divider{background:var(--sm-m-bg);border-top:1px solid var(--sm-m-edge);}
body.mfm-enterprise .sm-role-row .sm-role-name,
body.mfm-enterprise .sm-role-row .sm-ministry-space{
  background:color-mix(in srgb,var(--sm-m-bg) 43%,var(--mfm-surface-0));
}
body.mfm-enterprise .sm-role-row .sm-role-name{border-left:3px solid var(--sm-m-edge);color:var(--mfm-text-1);}
body.mfm-enterprise .sm-role-row:hover .sm-role-name,
body.mfm-enterprise .sm-role-row:hover .sm-ministry-space{background:color-mix(in srgb,var(--sm-m-bg) 65%,var(--mfm-surface-0));}
body.mfm-enterprise .sm-slot{border-left-color:var(--sm-m-edge);background:color-mix(in srgb,var(--sm-m-bg) 45%,var(--mfm-surface-0));}
body.mfm-enterprise .sm-slot-open{border-left-color:var(--sm-m-edge);background:color-mix(in srgb,var(--sm-m-bg) 17%,var(--mfm-surface-0));}
body.mfm-enterprise .sm-slot .sm-assigned-name{color:var(--sm-m-fg);}
body.mfm-enterprise .sm-pool-person{border-left:3px solid var(--mfm-grid-line-strong);padding:5px 6px;}
body.mfm-enterprise .sm-pool-person.sm-has-profile[style*="--sm-m-edge"]{border-left-color:var(--sm-m-edge);}
body.mfm-enterprise .sm-pool-person-name{display:block;margin-bottom:3px;font-weight:650;}
body.mfm-enterprise .sm-pool-role-tags{display:flex;flex-wrap:wrap;gap:3px;}
body.mfm-enterprise .sm-profile-role{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 5px;
  border:1px solid var(--sm-m-edge);border-left-width:3px;border-radius:2px;
  background:var(--sm-m-bg);color:var(--sm-m-fg);font-size:10px;line-height:14px;font-weight:700;
}
body.mfm-enterprise .sm-profile-role-count{border-left:1px solid currentColor;padding-left:4px;font-variant-numeric:tabular-nums;opacity:.8;}
html[data-theme="dark"] body.mfm-enterprise .sm-ministry-row th{background:var(--sm-m-dark-bg);color:var(--sm-m-dark-fg);border-top-color:var(--sm-m-dark-edge);}
html[data-theme="dark"] body.mfm-enterprise .sm-ministry-row th small{color:var(--sm-m-dark-fg);}
html[data-theme="dark"] body.mfm-enterprise .sm-ministry-row .sm-ministry-divider{background:var(--sm-m-dark-bg);border-top-color:var(--sm-m-dark-edge);}
html[data-theme="dark"] body.mfm-enterprise .sm-role-row .sm-role-name,
html[data-theme="dark"] body.mfm-enterprise .sm-role-row .sm-ministry-space{
  background:color-mix(in srgb,var(--sm-m-dark-bg) 66%,var(--mfm-surface-0));
}
html[data-theme="dark"] body.mfm-enterprise .sm-role-row .sm-role-name{border-left-color:var(--sm-m-dark-edge);}
html[data-theme="dark"] body.mfm-enterprise .sm-role-row:hover .sm-role-name,
html[data-theme="dark"] body.mfm-enterprise .sm-role-row:hover .sm-ministry-space{background:var(--sm-m-dark-bg);}
html[data-theme="dark"] body.mfm-enterprise .sm-slot{border-left-color:var(--sm-m-dark-edge);background:color-mix(in srgb,var(--sm-m-dark-bg) 56%,var(--mfm-surface-0));}
html[data-theme="dark"] body.mfm-enterprise .sm-slot-open{border-left-color:var(--sm-m-dark-edge);background:var(--mfm-surface-0);}
html[data-theme="dark"] body.mfm-enterprise .sm-slot .sm-assigned-name{color:var(--sm-m-dark-fg);}
html[data-theme="dark"] body.mfm-enterprise .sm-pool-person.sm-has-profile[style*="--sm-m-edge"]{border-left-color:var(--sm-m-dark-edge);}
html[data-theme="dark"] body.mfm-enterprise .sm-profile-role{background:var(--sm-m-dark-bg);color:var(--sm-m-dark-fg);border-color:var(--sm-m-dark-edge);}
@media print{body.mfm-enterprise .sm-profile-role{print-color-adjust:exact;}body.mfm-enterprise .sm-ministry-row{print-color-adjust:exact;}}

/* An exception is not the same as being approved for that ministry. */
body.mfm-enterprise .sm-nonrole-flag{display:inline-block;margin-left:3px;padding:0 4px;border:1px solid #B77B27;background:#FFF2D9;color:#744900;border-radius:2px;font-size:9px;font-weight:750;line-height:15px;white-space:nowrap;}
html[data-theme="dark"] body.mfm-enterprise .sm-nonrole-flag{border-color:#D7A94D;background:#49371C;color:#FFE5AA;}


/* MFM v3.20.8 — Excel-style ministry labels: no vacant heading strips under dates. */
body.mfm-enterprise .sm-role-row .sm-ministry-label{
  position:sticky;left:0;z-index:2;
  width:160px;min-width:160px;max-width:160px;
  padding:10px 9px;vertical-align:top;text-align:left;
  font-size:12px;font-weight:750;
  background:var(--sm-m-bg,var(--mfm-surface-2));
  color:var(--sm-m-fg,var(--mfm-text-1));
  border-left:3px solid var(--sm-m-edge,var(--mfm-accent));
}
body.mfm-enterprise .sm-role-row .sm-ministry-label span,
body.mfm-enterprise .sm-role-row .sm-ministry-label small{display:block;overflow-wrap:anywhere;}
body.mfm-enterprise .sm-role-row .sm-ministry-label small{font-size:10px;line-height:1.4;opacity:.82;font-weight:500;margin-top:3px;}
body.mfm-enterprise .sm-role-row.sm-group-first > th,
body.mfm-enterprise .sm-role-row.sm-group-first > td{border-top:2px solid var(--sm-m-edge,var(--mfm-grid-line-soft));}
html[data-theme="dark"] body.mfm-enterprise .sm-role-row .sm-ministry-label{
  background:var(--sm-m-dark-bg,var(--mfm-surface-2));
  color:var(--sm-m-dark-fg,var(--mfm-text-1));
  border-left-color:var(--sm-m-dark-edge,var(--mfm-accent));
}
html[data-theme="dark"] body.mfm-enterprise .sm-role-row.sm-group-first > th,
html[data-theme="dark"] body.mfm-enterprise .sm-role-row.sm-group-first > td{
  border-top-color:var(--sm-m-dark-edge,var(--mfm-grid-line-soft));
}
@media(max-width:750px){
  body.mfm-enterprise .sm-role-row .sm-ministry-label{left:0;width:100px;min-width:100px;max-width:100px;padding:7px 5px;font-size:11px;}
}
@media print{
  body.mfm-enterprise .sm-role-row .sm-ministry-label{position:static!important;print-color-adjust:exact;}
}


/* MFM v3.20.9 — interactive scheduling matrix */
body.mfm-enterprise .sm-assigned-name[draggable="true"]{
  display:inline-block;cursor:grab;user-select:none;touch-action:auto;
  padding:1px 2px;border-radius:2px;
}
body.mfm-enterprise .sm-assigned-name[draggable="true"]:hover{
  outline:1px dashed var(--mfm-grid-line-strong);
}
body.mfm-enterprise .sm-assigned-name.sm-dragging,
body.mfm-enterprise .sm-pool-person.sm-dragging{opacity:.48;cursor:grabbing;}
body.mfm-enterprise .sm-assigned-name.sm-saving-source,
body.mfm-enterprise .sm-pool-person.sm-saving-source{
  opacity:.42;filter:grayscale(1);pointer-events:none;
}
body.mfm-enterprise .sm-pending-name,
body.mfm-enterprise .sm-pending-pool{
  display:block;padding:4px 6px;color:var(--mfm-text-2)!important;
  background:var(--mfm-surface-2)!important;
  border:1px dashed var(--mfm-grid-line-strong)!important;
  border-left:3px solid var(--mfm-grid-line-strong)!important;
  font-size:11px;font-weight:650;line-height:1.35;
  animation:sm-saving-pulse 1s ease-in-out infinite alternate;
}
body.mfm-enterprise .sm-pending-name{margin:2px 0;}
body.mfm-enterprise .sm-pending-pool{margin-bottom:3px;}
body.mfm-enterprise .sm-save-in-flight{cursor:progress;}
body.mfm-enterprise .sm-pool-cell.sm-drop-ready{
  outline:2px solid var(--mfm-accent);outline-offset:-2px;
  background:var(--mfm-surface-hover);
}
body.mfm-enterprise .sm-pool-cell.sm-drop-invalid{
  outline:2px dashed var(--mfm-negative,#b84a58);outline-offset:-2px;
}
body.mfm-enterprise .sm-confirm-copy{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border:1px solid var(--mfm-grid-line-soft);margin-bottom:12px;}
body.mfm-enterprise .sm-confirm-copy strong{font-size:14px;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-confirm-copy span{font-size:12px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-confirm-issues{padding-left:21px;margin:12px 0 14px;color:var(--mfm-text-1);font-size:13px;line-height:1.55;}
body.mfm-enterprise .sm-confirm-issues li{margin-bottom:8px;}
body.mfm-enterprise dialog.sm-confirm-dialog{width:min(480px,calc(100vw - 24px));border:1px solid var(--mfm-grid-line-strong);border-radius:4px;outline:none;box-shadow:0 12px 26px rgba(0,0,0,.18);}
@keyframes sm-saving-pulse{from{opacity:1}to{opacity:.7}}
@media(prefers-reduced-motion:reduce){body.mfm-enterprise .sm-pending-name,body.mfm-enterprise .sm-pending-pool{animation:none;}}
@media print{body.mfm-enterprise .sm-assigned-name[draggable="true"]{outline:0;cursor:default}}


/* MFM v3.20.10 — ministry collapse controls and live fill-rate snapshots. */
body.mfm-enterprise .sm-ministry-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:5px;
  width:100%;min-height:26px;padding:1px 0;border:0;border-radius:2px;
  text-align:left;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer;
}
body.mfm-enterprise .sm-ministry-toggle-name{min-width:0;overflow-wrap:anywhere;}
body.mfm-enterprise .sm-ministry-chevron{display:inline-grid;place-items:center;flex:none;
  width:20px;height:20px;border:1px solid currentColor;border-radius:2px;
  font-size:13px;line-height:1;transition:transform .12s ease;opacity:.85;
}
body.mfm-enterprise .sm-ministry-chevron.is-collapsed{transform:rotate(-90deg);}
body.mfm-enterprise .sm-ministry-toggle:hover .sm-ministry-chevron{opacity:1;background:color-mix(in srgb,currentColor 9%,transparent);}
body.mfm-enterprise .sm-ministry-toggle:focus-visible,
body.mfm-enterprise .sm-toggle-all:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:2px;}
body.mfm-enterprise .sm-ministry-progress{display:block;margin-top:6px;}
body.mfm-enterprise .sm-ministry-fill-count{display:block;margin-bottom:4px;font-size:10px;line-height:14px;font-weight:650;white-space:normal;font-variant-numeric:tabular-nums;}
body.mfm-enterprise .sm-fill-track{display:block;width:100%;height:5px;overflow:hidden;border-radius:1px;
  background:color-mix(in srgb,var(--mfm-grid-line-strong) 38%,var(--mfm-surface-0));}
body.mfm-enterprise .sm-fill-value{display:block;height:100%;max-width:100%;border-radius:1px;
  background:var(--sm-m-edge,var(--mfm-accent));}
body.mfm-enterprise .sm-collapsed-row > th,
body.mfm-enterprise .sm-collapsed-row > td{border-top:2px solid var(--sm-m-edge,var(--mfm-grid-line-soft));}
body.mfm-enterprise .sm-collapsed-row .sm-ministry-collapsed-label{
  position:sticky;left:0;z-index:2;width:160px;min-width:160px;max-width:160px;
  padding:8px 9px;text-align:left;vertical-align:middle;
  color:var(--sm-m-fg,var(--mfm-text-1));background:var(--sm-m-bg,var(--mfm-surface-2));
  border-left:3px solid var(--sm-m-edge,var(--mfm-accent));
}
body.mfm-enterprise .sm-ministry-meta{display:block;font-size:10px;line-height:1.35;font-weight:500;margin-top:2px;}
body.mfm-enterprise .sm-collapsed-row .sm-collapsed-role-name{
  position:sticky;left:160px;z-index:2;width:175px;min-width:175px;max-width:175px;
  padding:9px 8px;vertical-align:middle;font-size:11px;font-weight:650;
  color:var(--mfm-text-1);background:var(--mfm-surface-1);
}
body.mfm-enterprise .sm-collapsed-role-name small{display:block;margin-top:2px;color:var(--mfm-text-2);font-weight:500;font-size:10px;}
body.mfm-enterprise .sm-collapsed-date{width:180px;min-width:180px;max-width:180px;padding:8px 9px;vertical-align:middle!important;}
body.mfm-enterprise .sm-collapsed-date-content{display:flex;flex-direction:column;justify-content:center;gap:5px;}
body.mfm-enterprise .sm-collapsed-count{display:flex;align-items:center;justify-content:space-between;gap:6px;
  font-size:11px;line-height:14px;font-weight:750;color:var(--mfm-text-1);font-variant-numeric:tabular-nums lining-nums;}
body.mfm-enterprise .sm-collapsed-count small{font-size:10px;font-weight:600;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-collapsed-unused{text-align:center;color:var(--mfm-text-2);background:var(--mfm-surface-1);}
body.mfm-enterprise .sm-toggle-all{min-height:27px;padding:3px 9px;font-size:11px;white-space:nowrap;margin-left:2px;}
html[data-theme="dark"] body.mfm-enterprise .sm-ministry-fill-count{color:var(--sm-m-dark-fg,var(--mfm-text-1));}
html[data-theme="dark"] body.mfm-enterprise .sm-fill-value{background:var(--sm-m-dark-edge,var(--mfm-accent));}
html[data-theme="dark"] body.mfm-enterprise .sm-collapsed-row > th,
html[data-theme="dark"] body.mfm-enterprise .sm-collapsed-row > td{border-top-color:var(--sm-m-dark-edge,var(--mfm-grid-line-soft));}
html[data-theme="dark"] body.mfm-enterprise .sm-collapsed-row .sm-ministry-collapsed-label{
  color:var(--sm-m-dark-fg,var(--mfm-text-1));background:var(--sm-m-dark-bg,var(--mfm-surface-2));
  border-left-color:var(--sm-m-dark-edge,var(--mfm-accent));
}
@media(max-width:750px){
  body.mfm-enterprise .sm-collapsed-row .sm-ministry-collapsed-label{left:0;width:100px;min-width:100px;max-width:100px;padding:6px 5px;}
  body.mfm-enterprise .sm-collapsed-row .sm-collapsed-role-name{left:100px;width:115px;min-width:115px;max-width:115px;padding:6px 5px;}
  body.mfm-enterprise .sm-collapsed-date{width:160px;min-width:160px;max-width:160px;}
  body.mfm-enterprise .sm-ministry-chevron{width:17px;height:17px;font-size:11px;}
  body.mfm-enterprise .sm-summary-tip{margin-left:0;}
  body.mfm-enterprise .sm-toggle-all{margin-left:auto;}
}
@media(prefers-reduced-motion:reduce){body.mfm-enterprise .sm-ministry-chevron{transition:none;}}
@media print{
  body.mfm-enterprise .sm-ministry-toggle{pointer-events:none;}
  body.mfm-enterprise .sm-ministry-chevron,body.mfm-enterprise .sm-toggle-all{display:none!important;}
  body.mfm-enterprise .sm-collapsed-row .sm-ministry-collapsed-label,
  body.mfm-enterprise .sm-collapsed-row .sm-collapsed-role-name{position:static!important;print-color-adjust:exact;}
  body.mfm-enterprise .sm-fill-value{print-color-adjust:exact;}
}

/* MFM v3.20.11 — time-of-day grouping and explicit per-date publishing. */
body.mfm-enterprise .sm-date-head{display:flex;align-items:center;justify-content:center;gap:7px;min-height:31px;}
body.mfm-enterprise .sm-date-title{display:block;min-width:0;}
body.mfm-enterprise .sm-date-title > span,body.mfm-enterprise .sm-date-title > strong{display:block;}
body.mfm-enterprise .sm-date-publish,body.mfm-enterprise .sm-date-done{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:28px;height:28px;padding:0;border:1px solid var(--mfm-accent);
  border-radius:3px;background:var(--mfm-surface-0);color:var(--mfm-accent);
}
body.mfm-enterprise .sm-date-publish{cursor:pointer;}
body.mfm-enterprise .sm-date-publish:hover{background:var(--mfm-accent);color:#fff;}
body.mfm-enterprise .sm-date-publish:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:2px;}
body.mfm-enterprise .sm-date-done{background:var(--mfm-accent);color:#fff;border-color:var(--mfm-accent);opacity:.85;}
body.mfm-enterprise .sm-date-publish svg,body.mfm-enterprise .sm-date-done svg{width:15px;height:15px;}
body.mfm-enterprise .sm-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
body.mfm-enterprise .sm-period-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;
  min-width:24px;padding:1px 4px;border:1px solid transparent;border-radius:2px;
  line-height:15px;font-size:10px;font-weight:750;letter-spacing:.025em;vertical-align:middle;}
body.mfm-enterprise .sm-period-am{background:#e7f3fc;color:#175c89;border-color:#a8cde6;}
body.mfm-enterprise .sm-period-pm{background:#fff1df;color:#835313;border-color:#e4bf86;}
body.mfm-enterprise .sm-service-label{display:flex;align-items:center;gap:4px;flex-wrap:wrap;line-height:16px;}
body.mfm-enterprise .sm-service-time{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;}
body.mfm-enterprise .sm-service-title{overflow-wrap:anywhere;}
body.mfm-enterprise .sm-period-progress{display:flex;flex-direction:column;gap:4px;padding:3px 0;}
body.mfm-enterprise .sm-period-progress+.sm-period-progress{border-top:1px solid var(--mfm-grid-line-soft);padding-top:6px;margin-top:2px;}
body.mfm-enterprise .sm-period-count{display:flex;align-items:center;justify-content:space-between;gap:7px;line-height:15px;}
body.mfm-enterprise .sm-period-count strong{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums lining-nums;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-pool-period+.sm-pool-period{border-top:1px solid var(--mfm-grid-line-soft);margin-top:8px;padding-top:8px;}
body.mfm-enterprise .sm-pool-period-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px;}
body.mfm-enterprise .sm-pool-period-heading small{font-size:10px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-publish-list{list-style:none;margin:12px 0;padding:0;border:1px solid var(--mfm-grid-line-soft);}
body.mfm-enterprise .sm-publish-list li{padding:8px 10px;border-bottom:1px solid var(--mfm-grid-line-soft);font-size:12px;line-height:1.5;}
body.mfm-enterprise .sm-publish-list li:last-child{border-bottom:0;}
html[data-theme="dark"] body.mfm-enterprise .sm-period-am{background:#183449;color:#a7dcff;border-color:#37698a;}
html[data-theme="dark"] body.mfm-enterprise .sm-period-pm{background:#47321b;color:#ffdba5;border-color:#80613c;}
@media print{body.mfm-enterprise .sm-date-publish{display:none!important;}body.mfm-enterprise .sm-date-head{min-height:0;}}

html[data-theme="dark"] body.mfm-enterprise .sm-date-publish:hover,
html[data-theme="dark"] body.mfm-enterprise .sm-date-done{color:#0E141A;}


/* v3.20.12 — compact, text-labelled date publish and full-tile drag handle. */
body.mfm-enterprise .sm-date-head{gap:5px;}
body.mfm-enterprise .sm-date-publish{
  width:auto;min-width:0;height:21px;min-height:21px;
  padding:0 6px;border-radius:2px;font-size:10px;line-height:19px;
  font-weight:700;letter-spacing:0;text-transform:none;white-space:nowrap;
}
body.mfm-enterprise .sm-date-done{width:21px;height:21px;min-height:21px;}
body.mfm-enterprise .sm-date-done svg{width:12px;height:12px;}
body.mfm-enterprise .sm-slot.sm-tile-draggable{cursor:grab;user-select:none;}
body.mfm-enterprise .sm-slot.sm-tile-draggable:hover{
  outline:1px solid var(--mfm-accent);outline-offset:0;
}
body.mfm-enterprise .sm-slot.sm-tile-draggable.sm-dragging{
  cursor:grabbing;opacity:.50;
}
body.mfm-enterprise .sm-slot.sm-tile-draggable.sm-saving-source{
  opacity:.48;filter:grayscale(1);pointer-events:none;
}
/* A multi-person tile keeps a full-width handle for each individual name. */
body.mfm-enterprise .sm-slot:not(.sm-tile-draggable) .sm-assigned-name[draggable="true"]{
  display:block;width:100%;min-height:18px;cursor:grab;
}
@media print{body.mfm-enterprise .sm-slot.sm-tile-draggable{cursor:default;outline:none;}}


/* MFM v3.20.13 — hierarchical matrix collapse, clear chevron controls. */
body.mfm-enterprise .sm-fold-toggle{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;
  min-height:28px;padding:2px 3px 2px 0;border:0;border-radius:3px;
  background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit;
}
body.mfm-enterprise .sm-ministry-toggle{width:100%;}
body.mfm-enterprise .sm-fold-icon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;
  width:24px;height:24px;border-radius:3px;border:1px solid var(--mfm-grid-line-strong);
  background:var(--mfm-surface-0);color:var(--mfm-text-1);
  transition:background-color .12s ease,border-color .12s ease;
}
body.mfm-enterprise .sm-fold-icon svg{width:14px;height:14px;transform:rotate(0deg);transition:transform .14s ease;}
body.mfm-enterprise .sm-fold-icon.is-collapsed svg{transform:rotate(-90deg);}
body.mfm-enterprise .sm-fold-toggle:hover .sm-fold-icon{background:var(--mfm-surface-hover);border-color:var(--mfm-accent);color:var(--mfm-accent);}
body.mfm-enterprise .sm-fold-toggle:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:2px;}
body.mfm-enterprise .sm-role-toggle{max-width:100%;width:100%;font-size:12px;font-weight:650;}
body.mfm-enterprise .sm-role-toggle-name{overflow-wrap:anywhere;line-height:1.2;min-width:0;}
body.mfm-enterprise .sm-role-summary-row .sm-role-name{background:var(--mfm-surface-1);vertical-align:middle;}
body.mfm-enterprise .sm-role-progress{display:block;padding-left:30px;margin:2px 0 3px;}
body.mfm-enterprise .sm-role-tally{display:block;font-size:10px;color:var(--mfm-text-2);font-weight:600;margin-bottom:3px;font-variant-numeric:tabular-nums lining-nums;}
body.mfm-enterprise .sm-role-progress .sm-fill-track{height:4px;}
body.mfm-enterprise .sm-role-summary-cell{width:180px;min-width:180px;max-width:180px;padding:5px 8px!important;vertical-align:middle!important;}
body.mfm-enterprise .sm-role-mini-progress{display:flex;flex-direction:column;gap:5px;min-height:20px;justify-content:center;}
body.mfm-enterprise .sm-role-mini-period{display:flex;align-items:center;gap:7px;min-width:0;}
body.mfm-enterprise .sm-role-mini-label{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:10px;font-weight:650;min-width:61px;font-variant-numeric:tabular-nums lining-nums;}
body.mfm-enterprise .sm-role-mini-period .sm-fill-track{height:5px;min-width:25px;flex:1;}
body.mfm-enterprise .sm-collapse-controls{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto;}
body.mfm-enterprise .sm-toggle-all{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:2px 8px;margin-left:0;border-radius:3px;}
body.mfm-enterprise .sm-toggle-all .sm-fold-icon{width:18px;height:18px;flex-basis:18px;border:0;background:transparent;}
body.mfm-enterprise .sm-toggle-all .sm-fold-icon svg{width:13px;height:13px;}
html[data-theme="dark"] body.mfm-enterprise .sm-fold-icon{background:var(--mfm-surface-1);}
html[data-theme="dark"] body.mfm-enterprise .sm-fold-toggle:hover .sm-fold-icon{background:var(--mfm-surface-hover);}
@media(max-width:750px){
  body.mfm-enterprise .sm-fold-icon{flex-basis:21px;width:21px;height:21px;}
  body.mfm-enterprise .sm-role-summary-cell{width:160px;min-width:160px;max-width:160px;padding:4px 5px!important;}
  body.mfm-enterprise .sm-role-progress{padding-left:25px;}
  body.mfm-enterprise .sm-collapse-controls{width:100%;justify-content:flex-end;}
}
@media(prefers-reduced-motion:reduce){body.mfm-enterprise .sm-fold-icon svg{transition:none;}}
@media print{
  body.mfm-enterprise .sm-collapse-controls{display:none!important;}
  body.mfm-enterprise .sm-role-summary-row .sm-role-mini-progress,body.mfm-enterprise .sm-role-progress{print-color-adjust:exact;}
}


/* MFM v3.20.15 — Scheduling Matrix visual density, ~88% desktop footprint.
   Dimension changes, not transform/zoom: drag offsets, sticky columns and
   browser pointer coordinates remain accurate. Only the Scheduling Matrix
   is affected; other MFM screens retain their normal sizing. */
body.mfm-enterprise .sm-panel .sm-toolbar{
  gap:7px;padding:7px 10px;
}
body.mfm-enterprise .sm-panel .sm-toolbar-start,
body.mfm-enterprise .sm-panel .sm-toolbar-filters{gap:6px;}
body.mfm-enterprise .sm-panel .sm-toolbar select,
body.mfm-enterprise .sm-panel .sm-toolbar input[type=date]{height:29px;min-height:29px;padding:3px 6px;font-size:11px;}
body.mfm-enterprise .sm-panel .sm-toolbar .button{min-height:29px;}
body.mfm-enterprise .sm-panel .sm-summary{gap:6px 15px;padding:6px 9px;font-size:11px;}
body.mfm-enterprise .sm-panel .sm-summary strong{font-size:12px;}
body.mfm-enterprise .sm-panel .sm-summary-tip{font-size:10px;}
body.mfm-enterprise .sm-panel .sm-table{font-size:11px;line-height:1.25;}
body.mfm-enterprise .sm-panel .sm-table thead th{height:44px;padding:5px 6px;}
body.mfm-enterprise .sm-panel .sm-table thead th.sm-left-first{left:0;width:140px;min-width:140px;max-width:140px;}
body.mfm-enterprise .sm-panel .sm-table thead th.sm-left-second{left:140px;width:154px;min-width:154px;max-width:154px;}
body.mfm-enterprise .sm-panel .sm-table .sm-date{width:160px;min-width:160px;max-width:160px;}
body.mfm-enterprise .sm-panel .sm-date strong{font-size:12px;}
body.mfm-enterprise .sm-panel .sm-date span,
body.mfm-enterprise .sm-panel .sm-date small{font-size:9px;line-height:1.25;}
body.mfm-enterprise .sm-panel .sm-date-head{gap:4px;min-height:27px;}
body.mfm-enterprise .sm-panel .sm-role-name{left:140px;width:154px;min-width:154px;max-width:154px;padding:6px 6px;}
body.mfm-enterprise .sm-panel .sm-role-row .sm-ministry-space{left:0;width:140px;min-width:140px;max-width:140px;}
body.mfm-enterprise .sm-panel .sm-role-row .sm-ministry-label{left:0;width:140px;min-width:140px;max-width:140px;padding:7px 6px;font-size:11px;}
body.mfm-enterprise .sm-panel .sm-role-row .sm-ministry-label small{font-size:9px;margin-top:2px;}
body.mfm-enterprise .sm-panel .sm-slot-cell{width:160px;min-width:160px;max-width:160px;padding:3px 4px;}
body.mfm-enterprise .sm-panel .sm-slot{gap:2px;min-height:27px;padding:4px 22px 4px 5px;font-size:10px;line-height:1.25;}
body.mfm-enterprise .sm-panel .sm-slot + .sm-slot{margin-top:3px;}
body.mfm-enterprise .sm-panel .sm-slot-count{top:4px;right:4px;font-size:9px;}
body.mfm-enterprise .sm-panel .sm-service-label{font-size:9px;line-height:13px;gap:3px;}
body.mfm-enterprise .sm-panel .sm-period-badge{font-size:9px;}
body.mfm-enterprise .sm-panel .sm-period-progress{gap:3px;padding:2px 0;}
body.mfm-enterprise .sm-panel .sm-period-progress + .sm-period-progress{padding-top:4px;margin-top:1px;}
body.mfm-enterprise .sm-panel .sm-period-count{gap:4px;line-height:13px;}
body.mfm-enterprise .sm-panel .sm-period-count strong{font-size:10px;}
body.mfm-enterprise .sm-panel .sm-collapsed-row .sm-ministry-collapsed-label{left:0;width:140px;min-width:140px;max-width:140px;padding:6px;}
body.mfm-enterprise .sm-panel .sm-collapsed-row .sm-collapsed-role-name{left:140px;width:154px;min-width:154px;max-width:154px;padding:6px;font-size:10px;}
body.mfm-enterprise .sm-panel .sm-collapsed-date{width:160px;min-width:160px;max-width:160px;padding:5px 6px;}
body.mfm-enterprise .sm-panel .sm-collapsed-date-content{gap:4px;}
body.mfm-enterprise .sm-panel .sm-collapsed-count{font-size:10px;line-height:12px;}
body.mfm-enterprise .sm-panel .sm-collapsed-count small{font-size:9px;}
body.mfm-enterprise .sm-panel .sm-role-toggle{font-size:11px;}
body.mfm-enterprise .sm-panel .sm-role-summary-cell{width:160px;min-width:160px;max-width:160px;padding:4px 6px!important;}
body.mfm-enterprise .sm-panel .sm-role-mini-progress{gap:4px;}
body.mfm-enterprise .sm-panel .sm-role-mini-period{gap:5px;}
body.mfm-enterprise .sm-panel .sm-role-mini-label{font-size:9px;min-width:54px;}
body.mfm-enterprise .sm-panel .sm-role-progress{padding-left:27px;}
body.mfm-enterprise .sm-panel .sm-role-tally{font-size:9px;}
body.mfm-enterprise .sm-panel .sm-fold-toggle{gap:4px;min-height:25px;}
body.mfm-enterprise .sm-panel .sm-fold-icon{width:21px;height:21px;flex-basis:21px;}
body.mfm-enterprise .sm-panel .sm-fold-icon svg{width:13px;height:13px;}
body.mfm-enterprise .sm-panel .sm-pool-heading th{padding:7px 8px;font-size:11px;}
body.mfm-enterprise .sm-panel .sm-pool-left{padding:7px 8px;font-size:10px;}
body.mfm-enterprise .sm-panel .sm-pool-cell{width:160px;min-width:160px;max-width:160px;padding:6px 5px 8px;}
body.mfm-enterprise .sm-panel .sm-pool-period + .sm-pool-period{margin-top:6px;padding-top:6px;}
body.mfm-enterprise .sm-panel .sm-pool-period-heading{margin-bottom:4px;}
/* Two more volunteer rows can remain visible before an inner scrollbar is used.
   Keep an empty drop area even where no volunteer has submitted availability. */
body.mfm-enterprise .sm-panel .sm-pool-list{min-height:76px;max-height:376px;gap:3px;}
body.mfm-enterprise .sm-panel .sm-pool-person{padding:4px 5px;font-size:10px;}
body.mfm-enterprise .sm-panel .sm-pool-person-name{margin-bottom:2px;}
body.mfm-enterprise .sm-panel .sm-pool-empty{font-size:10px;}
body.mfm-enterprise .sm-panel .sm-note{padding:6px 9px;font-size:10px;line-height:1.45;}
@media(max-width:750px){
  /* Mobile stays readable and still retains the sticky two-column hierarchy. */
  body.mfm-enterprise .sm-panel .sm-table thead th.sm-left-first{left:0;width:96px;min-width:96px;max-width:96px;}
  body.mfm-enterprise .sm-panel .sm-table thead th.sm-left-second{left:96px;width:108px;min-width:108px;max-width:108px;}
  body.mfm-enterprise .sm-panel .sm-role-name{left:96px;width:108px;min-width:108px;max-width:108px;}
  body.mfm-enterprise .sm-panel .sm-role-row .sm-ministry-label,
  body.mfm-enterprise .sm-panel .sm-role-row .sm-ministry-space,
  body.mfm-enterprise .sm-panel .sm-collapsed-row .sm-ministry-collapsed-label{left:0;width:96px;min-width:96px;max-width:96px;padding:5px 4px;}
  body.mfm-enterprise .sm-panel .sm-collapsed-row .sm-collapsed-role-name{left:96px;width:108px;min-width:108px;max-width:108px;padding:5px 4px;}
  body.mfm-enterprise .sm-panel .sm-table .sm-date,
  body.mfm-enterprise .sm-panel .sm-slot-cell,
  body.mfm-enterprise .sm-panel .sm-collapsed-date,
  body.mfm-enterprise .sm-panel .sm-role-summary-cell,
  body.mfm-enterprise .sm-panel .sm-pool-cell{width:148px;min-width:148px;max-width:148px;}
  body.mfm-enterprise .sm-panel .sm-toolbar{padding:7px;}
  body.mfm-enterprise .sm-panel .sm-pool-list{min-height:72px;max-height:300px;}
}
@media print{
  body.mfm-enterprise .sm-panel .sm-pool-list{max-height:none;min-height:0;overflow:visible;}
  body.mfm-enterprise .sm-panel .sm-table thead th{height:auto;}
}


/* MFM v3.20.16 — Compact scheduling matrix filters. */
body.mfm-enterprise .sm-panel .sm-toolbar{position:relative;z-index:10;}
body.mfm-enterprise .sm-filter-anchor{position:relative;display:inline-flex;flex:0 0 auto;z-index:7;}
body.mfm-enterprise .sm-filter-button{display:inline-flex;align-items:center;gap:5px;height:29px;min-height:29px;border-radius:3px;padding:3px 9px;white-space:nowrap;color:var(--mfm-text-1);background:var(--mfm-surface-0);border:1px solid var(--mfm-grid-line-strong);}
body.mfm-enterprise .sm-filter-button svg{flex:none;stroke:currentColor;}
body.mfm-enterprise .sm-filter-button.sm-filter-active{color:var(--mfm-accent);border-color:var(--mfm-accent);background:var(--mfm-surface-selected,var(--mfm-surface-0));}
body.mfm-enterprise .sm-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 3px;border-radius:2px;background:var(--mfm-accent);color:var(--mfm-canvas);font-size:10px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;}
body.mfm-enterprise .sm-filter-popover{position:absolute;right:0;top:calc(100% + 5px);width:260px;max-width:calc(100vw - 20px);display:grid;gap:10px;z-index:35;padding:13px;border:1px solid var(--mfm-grid-line-strong);border-radius:3px;background:var(--mfm-surface-0);color:var(--mfm-text-1);box-shadow:0 8px 18px rgba(0,0,0,.16);}
body.mfm-enterprise .sm-filter-popover[hidden]{display:none!important;}
body.mfm-enterprise .sm-filter-heading{display:grid;gap:3px;border-bottom:1px solid var(--mfm-grid-line-soft);padding-bottom:8px;}
body.mfm-enterprise .sm-filter-heading strong{font-size:13px;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-filter-heading span{font-size:11px;color:var(--mfm-text-2);}
body.mfm-enterprise .sm-filter-popover label{display:grid;align-items:start;gap:4px;font-size:11px;font-weight:700;color:var(--mfm-text-1);}
body.mfm-enterprise .sm-filter-popover select.input{width:100%;max-width:none;height:32px;min-height:32px;font-size:12px;color:var(--mfm-text-1);background:var(--mfm-surface-0);border-color:var(--mfm-grid-line-strong);}
body.mfm-enterprise .sm-filter-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--mfm-grid-line-soft);}
body.mfm-enterprise .sm-filter-actions .button{min-height:30px;height:30px;font-size:11px;border-radius:3px;}
body.mfm-enterprise .sm-filter-apply{background:var(--mfm-accent);border-color:var(--mfm-accent);color:white;-webkit-text-fill-color:white;}
body.mfm-enterprise .sm-filter-apply:hover{filter:brightness(.9);background:var(--mfm-accent);}
html[data-theme=dark] body.mfm-enterprise .sm-filter-apply{color:#07241f;-webkit-text-fill-color:#07241f;}
body.mfm-enterprise .sm-filter-summary{font-size:10px;color:var(--mfm-accent);font-weight:700;white-space:nowrap;}
body.mfm-enterprise .sm-panel:has(.sm-filter-popover:not([hidden])){overflow:visible;}
@media(max-width:750px){body.mfm-enterprise .sm-filter-anchor{flex:0 0 auto;}body.mfm-enterprise .sm-filter-popover{right:0;left:auto;width:min(260px,calc(100vw - 26px));}body.mfm-enterprise .sm-filter-button{min-height:34px;height:34px;}}
@media print{body.mfm-enterprise .sm-filter-popover{display:none!important;}}


/* v3.20.17 — Focus / Summary scheduling and correct Previous arrow. */
body.mfm-enterprise .sm-prev-arrow{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transform:rotate(180deg)}
body.mfm-enterprise .sm-prev-arrow svg{width:13px;height:13px}
body.mfm-enterprise .sm-display-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:6px 10px;background:var(--mfm-surface-0);border-bottom:1px solid var(--mfm-grid-line-soft);min-height:43px}
body.mfm-enterprise .sm-display-switch{flex:0 0 auto;display:inline-flex;border:1px solid var(--mfm-grid-line-strong);border-radius:3px;padding:2px;background:var(--mfm-surface-1);gap:2px}
body.mfm-enterprise .sm-display-switch button{font-size:11px;line-height:1.2;font-weight:700;padding:5px 12px;border:0;border-radius:2px;cursor:pointer;color:var(--mfm-text-2);background:transparent}
body.mfm-enterprise .sm-display-switch button.active{background:var(--mfm-surface-0);box-shadow:0 0 0 1px var(--mfm-grid-line-soft);color:var(--mfm-text-1)}
body.mfm-enterprise .sm-display-switch button:hover:not(.active){background:var(--mfm-surface-hover);color:var(--mfm-text-1)}
body.mfm-enterprise .sm-focus-service-label{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:11px;font-weight:700;color:var(--mfm-text-2)}
body.mfm-enterprise .sm-focus-service-label select{width:clamp(155px,20vw,280px);height:29px;min-height:29px;padding:2px 6px;font-size:11px;font-weight:600;background:var(--mfm-surface-0);color:var(--mfm-text-1);border:1px solid var(--mfm-grid-line-strong);border-radius:3px}
body.mfm-enterprise .sm-display-help{margin-left:auto;color:var(--mfm-text-2);font-size:10px;line-height:1.4}
body.mfm-enterprise .sm-pool-toggle{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--mfm-text-1);font-size:11px;font-weight:750;text-align:left;cursor:pointer;padding:4px 3px}
body.mfm-enterprise .sm-pool-toggle .sm-fold-icon{width:19px;height:19px;flex-basis:19px}
body.mfm-enterprise .sm-pool-toggle-meta{font-weight:500;color:var(--mfm-text-2);font-size:10px}
body.mfm-enterprise .sm-pool-closed th{padding:3px 8px!important;text-align:left;background:var(--mfm-surface-2)}
body.mfm-enterprise .sm-summary-ministry-row .sm-summary-ministry{position:sticky;left:0;z-index:2;min-width:294px;width:294px;max-width:294px;padding:7px 10px;background:var(--mfm-surface-2);text-align:left;border-left:3px solid var(--sm-m-edge)}
body.mfm-enterprise .sm-summary-toggle{display:flex;align-items:center;gap:7px;width:100%;padding:2px;border:0;background:transparent;color:var(--mfm-text-1);font-size:12px;font-weight:750;cursor:pointer;text-align:left}
body.mfm-enterprise .sm-summary-toggle .sm-fold-icon{width:20px;height:20px;flex-basis:20px}
body.mfm-enterprise .sm-summary-toggle small{color:var(--mfm-text-2);font-size:10px;font-weight:500}
body.mfm-enterprise .sm-summary-toggle strong{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums}
body.mfm-enterprise .sm-summary-ministry > .sm-fill-track{margin-top:4px;display:block;max-width:none}
body.mfm-enterprise .sm-summary-date-cell{padding:5px 8px!important;vertical-align:middle!important;min-width:160px;width:160px;max-width:160px;background:var(--mfm-surface-0)}
body.mfm-enterprise .sm-summary-ministry-row .sm-summary-date-cell{background:var(--mfm-surface-1)}
body.mfm-enterprise .sm-summary-coverage{display:flex;flex-direction:column;gap:4px;min-width:0}
body.mfm-enterprise .sm-summary-coverage-period{display:grid;grid-template-columns:26px 32px minmax(20px,1fr);gap:6px;align-items:center;color:var(--mfm-text-1)}
body.mfm-enterprise .sm-summary-coverage-period b{font-size:10px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
body.mfm-enterprise .sm-summary-coverage-period .sm-fill-track{width:100%;margin:0}
body.mfm-enterprise .sm-summary-empty{font-size:11px;color:var(--mfm-text-2)}
body.mfm-enterprise .sm-summary-role-row .sm-summary-ministry-space{position:sticky;left:0;z-index:2;width:140px;min-width:140px;max-width:140px;background:var(--mfm-surface-1)}
body.mfm-enterprise .sm-summary-role-name{position:sticky;left:140px;z-index:2;width:154px;min-width:154px;max-width:154px;padding:6px 8px;background:var(--mfm-surface-0);color:var(--mfm-text-1);font-weight:700;font-size:11px}
body.mfm-enterprise .sm-summary-role-name small{display:block;font-size:9px;color:var(--mfm-text-2);font-weight:500;margin-top:3px}
body.mfm-enterprise .sm-summary-jump{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 3px;width:100%;background:transparent;border:1px solid transparent;border-radius:2px;color:var(--mfm-text-1);cursor:pointer;text-align:left}
body.mfm-enterprise .sm-summary-jump:hover{border-color:var(--mfm-accent);background:var(--mfm-surface-hover)}
body.mfm-enterprise .sm-summary-jump:focus-visible,body.mfm-enterprise .sm-summary-toggle:focus-visible,body.mfm-enterprise .sm-display-switch button:focus-visible,body.mfm-enterprise .sm-pool-toggle:focus-visible{outline:2px solid var(--mfm-focus-ring);outline-offset:2px}
body.mfm-enterprise .sm-summary-jump .sm-summary-coverage{flex:1}
body.mfm-enterprise .sm-summary-open{font-size:13px;color:var(--mfm-accent);opacity:.65}
body.mfm-enterprise .sm-summary-jump:hover .sm-summary-open{opacity:1}
@media(max-width:760px){
 body.mfm-enterprise .sm-display-controls{gap:6px;padding:7px}
 body.mfm-enterprise .sm-display-help{width:100%;margin-left:0}
 body.mfm-enterprise .sm-focus-service-label{flex:1;min-width:120px}
 body.mfm-enterprise .sm-focus-service-label select{width:100%;min-width:0}
 body.mfm-enterprise .sm-summary-ministry-row .sm-summary-ministry{width:204px;min-width:204px;max-width:204px;padding:5px}
 body.mfm-enterprise .sm-summary-role-row .sm-summary-ministry-space{width:96px;min-width:96px;max-width:96px}
 body.mfm-enterprise .sm-summary-role-name{left:96px;width:108px;min-width:108px;max-width:108px}
 body.mfm-enterprise .sm-summary-date-cell{width:148px;min-width:148px;max-width:148px}
}
@media print{
 body.mfm-enterprise .sm-display-controls{display:none!important}
 body.mfm-enterprise .sm-summary-ministry-row .sm-summary-ministry,body.mfm-enterprise .sm-summary-role-name{position:static!important}
}

body.mfm-enterprise .sm-summary-role-name{text-align:left!important}

/* MFM v3.20.18 · Overview: assigned (amber) with accepted overlay (green).
   The role-level figures are also written as text for non-colour users. */
body.mfm-enterprise .mfm-overview-coverage{min-width:0;margin-top:5px;}
body.mfm-enterprise .mfm-coverage-track{position:relative;width:100%;height:7px;border:0;background:#E5ECF0;overflow:hidden;border-radius:2px;}
body.mfm-enterprise .mfm-coverage-assigned,
body.mfm-enterprise .mfm-coverage-accepted{position:absolute;left:0;display:block;max-width:100%;transition:width .16s ease-out;}
body.mfm-enterprise .mfm-coverage-assigned{top:0;height:100%;background:#C58430;}
body.mfm-enterprise .mfm-coverage-accepted{top:1px;height:5px;background:#0B8965;}
body.mfm-enterprise .mfm-overview-coverage-info{display:flex;align-items:center;justify-content:space-between;gap:4px 8px;flex-wrap:wrap;margin-top:4px;font-size:10px;line-height:1.45;color:var(--mfm-text-2);}
body.mfm-enterprise .mfm-coverage-counts{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;font-variant-numeric:tabular-nums lining-nums;}
body.mfm-enterprise .mfm-coverage-counts strong{font-weight:700;color:var(--mfm-text-1);}
body.mfm-enterprise .mfm-coverage-separator{color:var(--mfm-text-2);margin:0 2px;}
body.mfm-enterprise .mfm-coverage-accepted-dot,
body.mfm-enterprise .mfm-coverage-assigned-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:1px;margin-right:2px;}
body.mfm-enterprise .mfm-coverage-accepted-dot{background:#0B8965;}
body.mfm-enterprise .mfm-coverage-assigned-dot{background:#C58430;}
body.mfm-enterprise .mfm-coverage-extra{color:var(--mfm-text-2);font-weight:600;}
body.mfm-enterprise .mfm-coverage-state{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:2px;line-height:1.4;font-size:10px;font-weight:650;border:1px solid transparent;white-space:nowrap;}
body.mfm-enterprise .mfm-coverage-state-covered{color:#096346;background:#E4F6ED;border-color:#A9DCC5;}
body.mfm-enterprise .mfm-coverage-state-waiting{color:#795115;background:#FFF3DC;border-color:#E9C890;}
body.mfm-enterprise .mfm-coverage-state-staffing{color:#8B3131;background:#FCECEC;border-color:#F0B6B6;}
body.mfm-enterprise .mfm-coverage-state-draft,body.mfm-enterprise .mfm-coverage-state-none{color:#465969;background:#EFF3F6;border-color:#CCD6DD;}
body.mfm-enterprise .mfm-coverage-aside{font-variant-numeric:tabular-nums lining-nums;color:var(--mfm-text-2);font-size:11px;}
body.mfm-enterprise .coverage-line .row{margin-bottom:4px;}
body.mfm-enterprise .coverage-line .mfm-overview-coverage{margin-top:0;}
body.mfm-enterprise .coverage-line{margin-bottom:12px;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-track{background:#314554;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-assigned,html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-assigned-dot{background:#D99C47;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-accepted,html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-accepted-dot{background:#39C497;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-state-covered{background:#153D32;color:#9BF3C8;border-color:#3D8A69;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-state-waiting{background:#41331E;color:#F6D491;border-color:#947245;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-state-staffing{background:#48292C;color:#FFBDBD;border-color:#8D5052;}
html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-state-draft,html[data-theme="dark"] body.mfm-enterprise .mfm-coverage-state-none{background:#253441;color:#DFE8EF;border-color:#617584;}
@media(prefers-reduced-motion:reduce){body.mfm-enterprise .mfm-coverage-assigned,body.mfm-enterprise .mfm-coverage-accepted{transition:none;}}

/* MFM 3.20.19: read-only, published-only roster in the Volunteer Portal. */
.vpr-panel{border:1px solid var(--mfm-grid-line-soft);background:var(--mfm-surface-0);border-radius:4px;overflow:hidden;color:var(--mfm-text-1)}
.vpr-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid var(--mfm-grid-line-soft);background:var(--mfm-surface-1)}
.vpr-toolbar label{font-size:11px;font-weight:700;color:var(--mfm-text-2);display:flex;flex-direction:column;gap:4px}
.vpr-toolbar .input{font-size:12px;height:34px;min-height:34px;padding:5px 9px;width:100%;min-width:0;background:var(--mfm-surface-0);color:var(--mfm-text-1);border:1px solid var(--mfm-grid-line-strong);border-radius:3px}
.vpr-toolbar #vpr-from{width:150px}.vpr-toolbar #vpr-weeks{width:82px}.vpr-toolbar #vpr-ministry{min-width:165px;max-width:235px}
.vpr-view-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--mfm-grid-line-soft);border-radius:4px;background:var(--mfm-surface-2);height:34px}
.vpr-view-switch button{font-size:12px;font-weight:650;line-height:1;background:transparent;border:0;color:var(--mfm-text-2);padding:7px 11px;height:28px;border-radius:3px}
.vpr-view-switch button.active{background:var(--mfm-surface-0);color:var(--mfm-text-1);border:1px solid var(--mfm-grid-line-strong)}
.vpr-toolbar .button{height:34px;min-height:34px;padding:5px 10px;border-radius:3px}
.vpr-summary{display:flex;gap:18px;padding:9px 13px;font-size:12px;color:var(--mfm-text-2);background:var(--mfm-surface-0);border-bottom:1px solid var(--mfm-grid-line-soft);font-variant-numeric:tabular-nums lining-nums}
.vpr-summary span+span{padding-left:16px;border-left:1px solid var(--mfm-grid-line-soft)}
.vpr-dates{background:var(--mfm-surface-1);padding:8px;display:grid;gap:8px}
.vpr-day{background:var(--mfm-surface-0);border:1px solid var(--mfm-grid-line-soft);border-radius:3px;min-width:0}
.vpr-day>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:39px;padding:8px 12px}
.vpr-day>summary::-webkit-details-marker{display:none}
.vpr-day>summary:hover{background:var(--mfm-surface-hover)}
.vpr-day-date{font-size:13px;font-weight:750;color:var(--mfm-text-1)}
.vpr-day-summary{font-size:11px;color:var(--mfm-text-2);font-variant-numeric:tabular-nums lining-nums;margin-left:auto}
.vpr-day-chevron svg{height:14px;width:14px;transform:rotate(90deg);transition:transform .15s;color:var(--mfm-text-2)}
.vpr-day[open] .vpr-day-chevron svg{transform:rotate(-90deg)}
.vpr-day-services{border-top:1px solid var(--mfm-grid-line-soft);display:grid;gap:1px;background:var(--mfm-grid-line-soft)}
.vpr-service{background:var(--mfm-surface-0);padding:10px 12px;min-width:0}
.vpr-service-head{display:flex;align-items:center;gap:10px;padding:0 0 9px}
.vpr-service-time{background:var(--mfm-surface-2);border:1px solid var(--mfm-grid-line-soft);border-radius:3px;padding:4px 6px;font-size:11px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.vpr-service-desc{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vpr-service-desc strong{font-size:13px}.vpr-service-desc small{font-size:11px;color:var(--mfm-text-2)}
.vpr-published-tag{font-size:10px;font-weight:750;letter-spacing:.02em;color:var(--mfm-positive-text);background:var(--mfm-positive-bg);border:1px solid var(--mfm-positive-border);padding:2px 5px;border-radius:3px}
.vpr-role-row{display:grid;grid-template-columns:minmax(125px,210px) minmax(0,1fr);gap:12px;padding:6px 8px;border-top:1px solid var(--mfm-grid-line-soft);border-left:3px solid var(--sm-m-edge)}
.vpr-role-label{display:flex;flex-direction:column;justify-content:center;gap:2px}
.vpr-role-label strong{font-size:12px;color:var(--mfm-text-1)}.vpr-role-label small{font-size:10px;color:var(--mfm-text-2);font-variant-numeric:tabular-nums}
.vpr-role-people{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}
.vpr-volunteer{display:inline-flex;align-items:center;gap:6px;border-radius:3px;padding:4px 6px;border:1px solid var(--mfm-grid-line-soft);background:var(--mfm-surface-1);color:var(--mfm-text-1);font-size:11px;min-height:27px}
.vpr-volunteer.accepted{background:var(--mfm-positive-bg);border-color:var(--mfm-positive-border);color:var(--mfm-positive-text)}
.vpr-volunteer.is-self{outline:1px solid var(--mfm-accent);outline-offset:1px}
.vpr-volunteer-name small{opacity:.85}.vpr-volunteer-status{font-weight:800;display:inline-flex;align-items:center;color:inherit}
.vpr-volunteer-status svg{width:12px;height:12px}.vpr-role-empty,.vpr-no-roles{font-size:11px;color:var(--mfm-text-2);font-style:italic}
.vpr-no-roles{padding:10px 4px}.vpr-loading,.vpr-empty{padding:24px;text-align:center;font-size:13px;color:var(--mfm-text-2)}.vpr-empty svg{color:var(--mfm-text-2);display:block;margin:0 auto 12px}.vpr-empty h2{font-size:15px;color:var(--mfm-text-1);margin-bottom:6px}
.vpr-privacy{margin:0;padding:10px 13px;border-top:1px solid var(--mfm-grid-line-soft);font-size:11px;color:var(--mfm-text-2);line-height:1.5}
.vpr-matrix-scroll{max-width:100%;overflow:auto;max-height:68vh;scrollbar-gutter:stable;background:var(--mfm-surface-0)}
.vpr-matrix{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%;width:max-content}
.vpr-matrix th,.vpr-matrix td{border-right:1px solid var(--mfm-grid-line-soft);border-bottom:1px solid var(--mfm-grid-line-soft);padding:8px;vertical-align:top;min-width:130px;max-width:220px}
.vpr-matrix thead th{position:sticky;top:0;z-index:3;background:var(--mfm-surface-2);text-align:left;font-size:12px}
.vpr-matrix tbody th{position:sticky;left:0;z-index:2;min-width:185px;max-width:185px;text-align:left;font-size:12px;white-space:normal;background:var(--mfm-surface-0)}
.vpr-matrix thead th:first-child{left:0;z-index:4;min-width:185px}
.vpr-matrix-shift{padding:5px 7px;margin:2px 0;background:var(--sm-m-bg);border-left:3px solid var(--sm-m-edge);border-radius:2px;display:grid;gap:2px;color:var(--sm-m-fg)}
.vpr-matrix-shift strong{font-size:11px}.vpr-matrix-shift small{font-size:10px;white-space:normal;line-height:1.4}.vpr-matrix-shift span{font-size:10px;font-weight:700}
.vpr-matrix-none{color:var(--mfm-text-2)}.vpr-you{font-size:10px;color:var(--mfm-accent)}
[data-theme="dark"] .vpr-matrix-shift{background:var(--sm-m-dark-bg);border-color:var(--sm-m-dark-edge);color:var(--sm-m-dark-fg)}
[data-theme="dark"] .vpr-matrix-shift small{color:inherit}
@media(max-width:650px){
  .vpr-toolbar{gap:8px;padding:10px}.vpr-toolbar label{flex:1 1 120px}.vpr-toolbar #vpr-from,.vpr-toolbar #vpr-weeks,.vpr-toolbar #vpr-ministry{min-width:0;max-width:none;width:100%}
  .vpr-view-switch{flex:1 1 auto}.vpr-view-switch button{flex:1}.vpr-refresh-text{display:none}
  .vpr-summary{flex-wrap:wrap;gap:8px}.vpr-summary span+span{padding-left:8px}
  .vpr-day>summary{flex-wrap:wrap}.vpr-day-summary{margin-left:0;font-size:10px}.vpr-day-chevron{margin-left:auto}
  .vpr-service-head{flex-wrap:wrap;gap:7px}.vpr-role-row{grid-template-columns:1fr;gap:6px}
}
@media print{.vpr-toolbar,.vpr-privacy{display:none}.vpr-matrix-scroll{overflow:visible;max-height:none}.vpr-day{break-inside:avoid}.vpr-dates{display:block}}

/* 3.20.19 polish: unambiguous visible status and uncluttered mobile controls. */
.vpr-volunteer-status{font-size:10px;letter-spacing:.01em;white-space:nowrap;border-left:1px solid currentColor;padding-left:5px;opacity:.9}
@media(max-width:650px){
  .vpr-toolbar label:has(#vpr-ministry){flex:1 1 100%}
  .vpr-view-switch button{white-space:nowrap;padding:6px 8px}
  .vpr-day>summary{display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-areas:"date arrow" "meta arrow";gap:3px 8px;align-items:center}
  .vpr-day-date{grid-area:date}
  .vpr-day-summary{grid-area:meta;white-space:normal}
  .vpr-day-chevron{grid-area:arrow;justify-self:end}
}

/* MFM v3.20.20 — legible published-date indicator and scoped unpublish control. */
body.mfm-enterprise .sm-panel .sm-date-head{
  flex-wrap:wrap;column-gap:5px;row-gap:3px;align-content:center;
}
body.mfm-enterprise .sm-panel .sm-date-actions{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px;max-width:100%;line-height:1.2;
}
body.mfm-enterprise .sm-panel .sm-date-done{
  display:inline-flex!important;align-items:center;gap:3px;
  width:auto!important;min-width:0;height:21px;min-height:21px;
  padding:0 5px;opacity:1!important;border-radius:2px;
  border:1px solid #7acaaa;background:#e2f5e9;color:#126343!important;
  font-size:10px;line-height:19px;text-transform:none;white-space:nowrap;
}
body.mfm-enterprise .sm-panel .sm-date-done-mark{
  display:inline-block!important;flex:none;
  width:12px;height:12px;line-height:12px;text-align:center;
  border-radius:2px;background:#137b59;color:#fff!important;
  font-size:10px;font-weight:900;letter-spacing:0!important;
}
body.mfm-enterprise .sm-panel .sm-date-done-label{
  display:inline-block!important;font-size:10px;font-weight:750;
  color:#126343!important;text-transform:none;letter-spacing:0!important;
}
body.mfm-enterprise .sm-panel .sm-date-unpublish{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:0;height:21px;min-height:21px;padding:0 5px;
  border:1px solid var(--mfm-grid-line-strong,#8293A1);
  border-radius:2px;background:var(--mfm-surface-0,#fff);
  color:var(--mfm-text-1,#142534);font:inherit;font-size:10px;
  font-weight:700;line-height:19px;cursor:pointer;
}
body.mfm-enterprise .sm-panel .sm-date-unpublish:hover{
  background:var(--mfm-surface-hover,#edf3f5);border-color:var(--mfm-accent,#0A7263);
}
body.mfm-enterprise .sm-panel .sm-date-unpublish:focus-visible{
  outline:2px solid var(--mfm-focus-ring,#126CBE);outline-offset:2px;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-date-done{
  border-color:#49ad8b;background:#193a30;color:#b8f1d1!important;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-date-done-mark{
  background:#62d5ab;color:#092b20!important;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-date-done-label{color:#b8f1d1!important;}
@media print{
  body.mfm-enterprise .sm-date-unpublish{display:none!important;}
  body.mfm-enterprise .sm-date-done{print-color-adjust:exact;}
}


/* MFM v3.20.21: inspectable partial-publication status by service/date. */
body.mfm-enterprise .sm-panel .sm-date-status-button{
  appearance:none;font:inherit;font-size:10px;font-weight:700;cursor:pointer;
  box-shadow:none;line-height:19px;gap:3px;vertical-align:middle;
}
body.mfm-enterprise .sm-panel .sm-date-status-button:hover{
  border-color:#177c60;background:#d6efe3;
}
body.mfm-enterprise .sm-panel .sm-date-status-button:focus-visible{
  outline:2px solid var(--mfm-focus-ring,#126cbe);outline-offset:2px;
}
body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial{
  background:#fff4de;border-color:#d6a65a;color:#6e480b!important;
}
body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial .sm-date-done-mark{
  background:#ad7518;color:#fff!important;
}
body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial .sm-date-done-label{
  color:#6e480b!important;
}
body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial:hover{
  background:#fde9c1;border-color:#b77713;
}
body.mfm-enterprise .sm-date-status-chevron{font-size:12px;line-height:1;opacity:.9;}
body.mfm-enterprise .sm-date-focus-state{
  display:block;font-size:9px;line-height:1.25;white-space:nowrap;font-weight:650;
}
body.mfm-enterprise .sm-date-focus-state.is-published{color:#137b59;}
body.mfm-enterprise .sm-date-focus-state.is-draft{color:#9b630e;}
body.mfm-enterprise .sm-pub-detail-summary{display:flex;align-items:center;gap:9px;margin:0 0 12px;}
body.mfm-enterprise .sm-pub-detail-hint{margin:0 0 14px;line-height:1.5;}
body.mfm-enterprise .sm-pub-detail-list{padding:0;margin:0 0 15px;list-style:none;border:1px solid var(--mfm-grid-line,#d5dfe4);border-radius:4px;overflow:hidden;}
body.mfm-enterprise .sm-pub-detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid var(--mfm-grid-line,#d5dfe4);}
body.mfm-enterprise .sm-pub-detail-row:last-child{border-bottom:0;}
body.mfm-enterprise .sm-pub-detail-info{display:flex;flex-direction:column;gap:3px;min-width:0;}
body.mfm-enterprise .sm-pub-detail-info strong{font-size:13px;line-height:1.35;}
body.mfm-enterprise .sm-pub-detail-info span{font-size:11px;line-height:1.4;color:var(--mfm-text-2,#526475);}
body.mfm-enterprise .sm-pub-detail-badge{flex-shrink:0;border:1px solid transparent;border-radius:2px;padding:3px 7px;font-size:11px;font-weight:700;}
body.mfm-enterprise .sm-pub-detail-badge.is-published{background:#e2f5e9;border-color:#7acaaa;color:#126343;}
body.mfm-enterprise .sm-pub-detail-badge.is-draft{background:#fff4de;border-color:#d6a65a;color:#6e480b;}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial{background:#4b371e;border-color:#ae7b33;color:#ffe4ad!important;}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-date-status-button.sm-date-partial .sm-date-done-label{color:#ffe4ad!important;}
html[data-theme="dark"] body.mfm-enterprise .sm-date-focus-state.is-published{color:#8de0bd;}
html[data-theme="dark"] body.mfm-enterprise .sm-date-focus-state.is-draft{color:#ffd28a;}
html[data-theme="dark"] body.mfm-enterprise .sm-pub-detail-badge.is-published{background:#193a30;border-color:#49ad8b;color:#b8f1d1;}
html[data-theme="dark"] body.mfm-enterprise .sm-pub-detail-badge.is-draft{background:#4b371e;border-color:#ae7b33;color:#ffe4ad;}
@media print{body.mfm-enterprise .sm-date-status-chevron{display:none!important;}}

/* MFM v3.20.23 — compact single-line date and consolidated publication menu. */
body.mfm-enterprise .sm-panel .sm-table thead th.sm-date{height:69px;}
body.mfm-enterprise .sm-panel .sm-date-head{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  flex-wrap:nowrap;gap:5px;min-height:0;
}
body.mfm-enterprise .sm-panel .sm-date-title{
  display:inline-flex;align-items:baseline;justify-content:center;gap:4px;
  white-space:nowrap;line-height:1.2;min-width:0;
}
body.mfm-enterprise .sm-panel .sm-date-title > span,
body.mfm-enterprise .sm-panel .sm-date-title > strong{
  display:inline;white-space:nowrap;font-size:11px;line-height:1.2;
}
body.mfm-enterprise .sm-panel .sm-date-title .sm-date-divider{
  color:var(--mfm-text-2,#637480);font-weight:450;
}
body.mfm-enterprise .sm-panel .sm-publication-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  max-width:calc(100% - 8px);height:24px;min-height:24px;padding:2px 7px;
  border:1px solid var(--mfm-grid-line-strong,#8b9ca7);border-radius:2px;
  background:var(--mfm-surface-0,#fff);color:var(--mfm-text-1,#142534);
  font:inherit;font-size:10px;font-weight:750;line-height:1.1;white-space:nowrap;
  cursor:pointer;opacity:1;letter-spacing:0;
}
body.mfm-enterprise .sm-panel .sm-publication-toggle.is-draft{
  background:var(--mfm-surface-0,#fff);border-color:var(--mfm-grid-line-strong,#94a1ac);
  color:var(--mfm-text-2,#465767);
}
body.mfm-enterprise .sm-panel .sm-publication-toggle.is-partial{
  background:#fff4de;border-color:#d6a65a;color:#82520c;
}
body.mfm-enterprise .sm-panel .sm-publication-toggle.is-published{
  background:#e2f5e9;border-color:#7acaaa;color:#126343;
}
body.mfm-enterprise .sm-panel .sm-publication-toggle:hover{
  filter:brightness(.96);border-color:var(--mfm-accent,#0a7263);
}
body.mfm-enterprise .sm-panel .sm-publication-toggle:focus-visible{
  outline:2px solid var(--mfm-focus-ring,#126cbe);outline-offset:2px;
}
body.mfm-enterprise .sm-publication-symbol{font-size:12px!important;line-height:1!important;font-weight:900;}
body.mfm-enterprise .sm-date .sm-publication-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 12px;width:12px;height:16px;margin:0;line-height:1!important;align-self:center;}
body.mfm-enterprise .sm-publication-arrow svg{display:block;flex:none;width:11px;height:11px;vertical-align:middle;}
/* Popover is in the browser's top layer, outside any matrix overflow clipping. */
body.mfm-enterprise .sm-publication-menu,
.sm-publication-menu{
  position:fixed;inset:auto;margin:0;box-sizing:border-box;
  width:min(320px,calc(100vw - 16px));max-height:min(460px,calc(100vh - 22px));
  overflow:auto;overscroll-behavior:contain;z-index:9999;
  border:1px solid var(--mfm-grid-line-strong,#a7b5bd);border-radius:3px;
  background:var(--mfm-surface-0,#fff);color:var(--mfm-text-1,#132c38);
  box-shadow:0 14px 40px #0f253638;padding:0;font-family:inherit;font-size:12px;
}
.sm-publication-menu .sm-pub-menu-head{display:flex;flex-direction:column;gap:3px;padding:13px 13px 10px;border-bottom:1px solid var(--mfm-grid-line,#d5dfe4);}
.sm-publication-menu .sm-pub-menu-head strong{font-size:13px;}
.sm-publication-menu .sm-pub-menu-head span{font-size:11px;color:var(--mfm-text-2,#526475);}
.sm-publication-menu .sm-pub-menu-services{max-height:260px;overflow-y:auto;}
.sm-publication-menu .sm-pub-menu-service{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--mfm-grid-line,#d5dfe4);}
.sm-publication-menu .sm-pub-menu-service-info{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere;}
.sm-publication-menu .sm-pub-menu-service-info strong{font-size:12px;line-height:1.3;}
.sm-publication-menu .sm-pub-menu-service-info small{font-size:10px;color:var(--mfm-text-2,#526475);line-height:1.4;}
.sm-publication-menu .sm-pub-menu-service-tools{display:flex;flex:none;flex-direction:column;gap:4px;align-items:flex-end;}
.sm-publication-menu .sm-pub-menu-badge{font-size:10px;font-weight:700;border-radius:2px;padding:2px 5px;}
.sm-publication-menu .sm-pub-menu-badge.is-published{background:#e2f5e9;color:#126343;}
.sm-publication-menu .sm-pub-menu-badge.is-draft{background:#f5edda;color:#75520d;}
.sm-publication-menu .sm-pub-menu-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;background:var(--mfm-surface-1,#f2f6f8);}
.sm-publication-menu .sm-pub-menu-action{border:1px solid var(--mfm-grid-line-strong,#9aafb7);border-radius:2px;background:var(--mfm-surface-0,#fff);color:var(--mfm-text-1,#132c38);padding:4px 7px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;}
.sm-publication-menu .sm-pub-menu-action.is-publish{border-color:#218762;color:#137148;}
.sm-publication-menu .sm-pub-menu-action:hover{background:var(--mfm-surface-hover,#eaf4f1);}
.sm-publication-menu .sm-pub-menu-action:focus-visible{outline:2px solid var(--mfm-focus-ring,#126cbe);outline-offset:1px;}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-publication-toggle.is-partial{background:#4b371e;border-color:#ae7b33;color:#ffe4ad;}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-publication-toggle.is-published{background:#193a30;border-color:#49ad8b;color:#b8f1d1;}
html[data-theme="dark"] .sm-publication-menu .sm-pub-menu-badge.is-published{background:#193a30;color:#b8f1d1;}
html[data-theme="dark"] .sm-publication-menu .sm-pub-menu-badge.is-draft{background:#4b371e;color:#ffe4ad;}
html[data-theme="dark"] .sm-publication-menu .sm-pub-menu-action.is-publish{color:#95e0b9;}
@media print{
  body.mfm-enterprise .sm-panel .sm-publication-toggle{border:0;background:transparent!important;padding:0;color:inherit!important;}
  body.mfm-enterprise .sm-panel .sm-publication-arrow{display:none!important;}
  .sm-publication-menu{display:none!important;}
}

/* v3.20.29: understated, patterned matrix draft markers.
   Original positions = muted grey hatch + struck-through name.
   New positions = subtle AM blue / PM sand stripes, no oversized labels. */
.sm-draft-toolbar{position:sticky;top:0;z-index:18;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:9px 13px;background:#f4f7f9;border-top:1px solid #cfdce3;border-bottom:1px solid #cfdce3;color:#284455}
.sm-draft-message{display:flex;flex-direction:column;gap:2px;font-size:12px}
.sm-draft-message strong{font-size:13px}
.sm-draft-actions{display:flex;gap:8px;align-items:center}
.sm-draft-actions .button{border-radius:2px!important;white-space:nowrap}
.sm-save-button{background:#087e68!important;color:#fff!important;border:1px solid #087e68!important;display:inline-flex;align-items:center;gap:6px}
.sm-save-button svg{width:14px;height:14px}
.sm-discard-button{background:#fff!important;color:#455b67!important;border:1px solid #c3d0d8!important}

/* Restrict the stripe fill to newly staged slots, not unaffected volunteers. */
body.mfm-enterprise .sm-panel .sm-slot.sm-staged-only.sm-staged-am,
body.mfm-enterprise .sm-panel .sm-slot.sm-staged-only.sm-staged-pm{
  --sm-stage-bg:#edf6fc;--sm-stage-stripe:rgba(70,145,190,.105);
  background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,var(--sm-stage-stripe) 8px,var(--sm-stage-stripe) 9px),var(--sm-stage-bg);
}
body.mfm-enterprise .sm-panel .sm-slot.sm-staged-only.sm-staged-pm{
  --sm-stage-bg:#fff4e7;--sm-stage-stripe:rgba(191,129,47,.12);
}
body.mfm-enterprise .sm-panel .sm-slot .sm-assigned-name.sm-staged-name{
  display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;
  padding:1px 3px;margin-left:-3px;border-radius:1px;
  background:repeating-linear-gradient(135deg,transparent 0,transparent 7px,rgba(66,137,180,.13) 7px,rgba(66,137,180,.13) 8px),#e7f3fc;
  color:#175c89!important;
}
body.mfm-enterprise .sm-panel .sm-slot.sm-staged-pm .sm-assigned-name.sm-staged-name{
  background:repeating-linear-gradient(135deg,transparent 0,transparent 7px,rgba(180,116,37,.14) 7px,rgba(180,116,37,.14) 8px),#fff0dc;
  color:#835313!important;
}
/* A move/removal remains visible at its saved source until Save / Discard. */
body.mfm-enterprise .sm-panel .sm-slot.sm-staged-source-empty:not(.sm-staged-add){
  border-color:#c7d1d8;border-left-color:#9aa9b5;
  background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(119,133,146,.11) 8px,rgba(119,133,146,.11) 9px),#f0f3f5;
}
body.mfm-enterprise .sm-panel .sm-slot .sm-staged-original{
  display:inline-block;align-self:flex-start;max-width:100%;
  padding:1px 3px;margin-left:-3px;opacity:.85;
  color:#657582!important;text-decoration:line-through;
  background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(125,142,156,.12) 8px,rgba(125,142,156,.12) 9px),#eef1f3;
  font-weight:600;overflow-wrap:anywhere;
}
html[data-theme="dark"] .sm-draft-toolbar{background:#263541;color:#d3e3ee;border-color:#49616f}
html[data-theme="dark"] .sm-discard-button{background:#263541!important;color:#d3e3ee!important;border-color:#647786!important}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot.sm-staged-only.sm-staged-am{
  --sm-stage-bg:#1b364a;--sm-stage-stripe:rgba(120,191,227,.14);
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot.sm-staged-only.sm-staged-pm{
  --sm-stage-bg:#44331f;--sm-stage-stripe:rgba(233,182,108,.14);
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot .sm-assigned-name.sm-staged-name{
  background:repeating-linear-gradient(135deg,transparent 0,transparent 7px,rgba(131,199,240,.17) 7px,rgba(131,199,240,.17) 8px),#20435c;
  color:#b4e4ff!important;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot.sm-staged-pm .sm-assigned-name.sm-staged-name{
  background:repeating-linear-gradient(135deg,transparent 0,transparent 7px,rgba(230,174,96,.16) 7px,rgba(230,174,96,.16) 8px),#49351f;
  color:#ffe0ad!important;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot.sm-staged-source-empty:not(.sm-staged-add){
  background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(173,188,199,.12) 8px,rgba(173,188,199,.12) 9px),#27323a;
  border-color:#4e6170;border-left-color:#8798a4;
}
html[data-theme="dark"] body.mfm-enterprise .sm-panel .sm-slot .sm-staged-original{
  background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(186,201,211,.12) 8px,rgba(186,201,211,.12) 9px),#313f4a;
  color:#becbd4!important;
}
@media(max-width:640px){.sm-draft-toolbar{position:relative;padding:10px}.sm-draft-actions{width:100%;justify-content:flex-end}}
@media print{.sm-draft-toolbar{display:none!important}}
