/* ── BLOCK 10: Maintenance module (w67a) ─────────────────────────────────────
   Leans on the design system in block02-base.css (:root tokens; dark theme is
   the inline adeThemeCss override layer — everything here uses var() tokens
   with light fallbacks so both themes hold). */

#module-maintenance .mx-tab, #mxSetModal .mx-tab { padding:7px 14px;
  border:none; background:none;
  font:inherit; font-size:13px; color:var(--muted,#6b6b70); cursor:pointer;
  border-bottom:2px solid transparent; }
#module-maintenance .mx-tab.active, #mxSetModal .mx-tab.active {
  color:var(--green,#399845); font-weight:700;
  border-bottom-color:var(--green,#399845); }

.mx-loading { padding:40px; text-align:center; color:var(--muted,#6b6b70); }
.mx-empty { padding:60px 24px; text-align:center; color:var(--muted,#6b6b70); }
.mx-empty i { font-size:40px; }
.mx-empty h3 { margin:10px 0 6px; color:var(--text,#222); }
.mx-empty p { font-size:13px; margin:0 0 16px; }

.mx-kpi-red .stat-val { color:#c0392b; }

.mx-dash-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px;
  padding:0 18px 18px; overflow:auto; }
@media (max-width: 900px) { .mx-dash-cols { grid-template-columns:1fr; } }

.mx-card { background:var(--surface,#fff); border:1px solid var(--gray-m,#e2e2e5);
  border-radius:10px; padding:12px 14px; min-width:0; }
.mx-card-head { font-size:12.5px; font-weight:700; display:flex; gap:7px;
  align-items:center; margin-bottom:8px; }
.mx-card-sub { font-weight:400; font-size:11px; color:var(--muted,#6b6b70); margin-left:auto; }
.mx-card-empty { font-size:12px; color:var(--muted,#6b6b70); padding:8px 0; }

.mx-row { display:flex; align-items:center; gap:10px; padding:7px 6px;
  border-radius:7px; cursor:pointer; }
.mx-row:hover { background:var(--gray-l,#f4f4f5); }
.mx-row-main { flex:1; min-width:0; }
.mx-row-title { font-size:12.5px; font-weight:600; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.mx-row-sub { font-size:11px; color:var(--muted,#6b6b70); }

.mx-bar-row { display:flex; align-items:center; gap:8px; padding:5px 4px;
  cursor:pointer; border-radius:6px; }
.mx-bar-row:hover { background:var(--gray-l,#f4f4f5); }
.mx-bar-label { font-size:12px; width:140px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.mx-bar-track { flex:1; height:8px; background:var(--gray-l,#f0f0f2);
  border-radius:4px; overflow:hidden; }
.mx-bar-fill { display:block; height:100%; border-radius:4px; }
.mx-bar-n { font-size:12px; font-weight:700; width:28px; text-align:right; }

.mx-chip { display:inline-block; padding:2px 9px; border-radius:20px;
  font-size:11px; font-weight:700; white-space:nowrap; }
.mx-st-scheduled     { background:rgba(24,101,176,.12); color:#1865b0; }
.mx-st-in_progress   { background:rgba(194,124,14,.14); color:#a36a08; }
.mx-st-pending_review{ background:rgba(124,92,214,.14); color:#6a4fc4; }
.mx-st-completed     { background:rgba(57,152,69,.14); color:#2c7d38; }
.mx-st-cancelled     { background:rgba(110,110,115,.14); color:#6b6b70; }
.mx-st-overdue       { background:rgba(192,57,43,.14); color:#c0392b; }
.mx-pri-low      { background:rgba(110,110,115,.12); color:#6b6b70; }
.mx-pri-medium   { background:rgba(24,101,176,.12); color:#1865b0; }
.mx-pri-high     { background:rgba(194,124,14,.14); color:#a36a08; }
.mx-pri-critical { background:rgba(192,57,43,.14); color:#c0392b; }

.mx-catdot { display:inline-block; width:9px; height:9px; border-radius:50%;
  margin-right:5px; vertical-align:baseline; }

.mx-taskrow { cursor:pointer; }
.mx-overdue-row td:first-child { box-shadow:inset 3px 0 0 #c0392b; }

.mx-pager { display:flex; align-items:center; justify-content:flex-end;
  gap:8px; padding:8px 16px; border-top:1px solid var(--gray-m,#e2e2e5);
  font-size:12px; color:var(--muted,#6b6b70); background:var(--surface,#fff); }
.mx-pager .btn[disabled] { opacity:.4; pointer-events:none; }

.mx-togglechip.active { background:var(--green-l,#e7f4e9);
  border-color:var(--green,#399845); color:var(--green,#399845); font-weight:700; }

/* Drawer / form */
.mx-drawer-head { display:flex; align-items:center; gap:10px;
  padding:14px 18px; border-bottom:1px solid var(--gray-m,#e2e2e5); }
.mx-drawer-title { font-size:15px; font-weight:800; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.mx-drawer-sub { margin-top:5px; display:flex; gap:6px; flex-wrap:wrap; }
.mx-drawer-body { padding:14px 18px; overflow:auto; }

.mx-fgrid { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
@media (max-width: 700px) { .mx-fgrid { grid-template-columns:1fr; } }
.mx-f-l { font-size:10.5px; font-weight:700; color:var(--muted,#6b6b70);
  text-transform:uppercase; margin-bottom:2px; }
.mx-f-v { font-size:12.5px; }
.mx-desc { margin-top:12px; font-size:12.5px; line-height:1.55;
  white-space:pre-wrap; background:var(--gray-l,#f7f7f8); border-radius:8px;
  padding:10px 12px; }
.mx-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }

.mx-eqchip { display:inline-flex; align-items:center; gap:5px; padding:3px 10px;
  border:1px solid var(--gray-m,#e2e2e5); border-radius:16px; font-size:11.5px;
  background:var(--gray-l,#f7f7f8); margin:2px 2px 2px 0; }
.mx-eqchip i { cursor:pointer; font-size:12px; color:var(--muted,#6b6b70); }
.mx-eqchip i:hover { color:#c0392b; }

.mx-comment { padding:8px 0; border-bottom:1px solid var(--gray-l,#f0f0f2);
  font-size:12.5px; }
.mx-comment-head { font-weight:700; font-size:11.5px; margin-bottom:2px; }
.mx-comment-head span { font-weight:400; color:var(--muted,#6b6b70); margin-left:6px; }
.mx-comment-add { display:flex; gap:8px; margin-top:10px; }
.mx-comment-add .filter-input { flex:1; }
.mx-hist { font-size:11.5px; color:var(--muted,#6b6b70); padding:3px 0; }
.mx-hist span { font-weight:600; margin-right:6px; }

.mx-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
@media (max-width: 700px) { .mx-form-grid { grid-template-columns:1fr; } }
.mx-lbl { display:flex; flex-direction:column; gap:4px; font-size:11px;
  font-weight:700; color:var(--muted,#6b6b70); }
.mx-lbl .filter-input { font-weight:400; }

.mx-picklist { min-height:20px; }
.mx-pickresults { max-height:180px; overflow:auto; margin-top:4px; }
.mx-pickrow { display:flex; align-items:center; gap:7px; padding:6px 8px;
  font-size:12.5px; border-radius:6px; cursor:pointer; }
.mx-pickrow:hover { background:var(--gray-l,#f4f4f5); }
.mx-pickrow span { margin-left:auto; font-size:11px; }

.mx-catrow { display:flex; align-items:center; gap:8px; padding:7px 4px;
  border-bottom:1px solid var(--gray-l,#f0f0f2); font-size:12.5px; }
.mx-cat-off { opacity:.6; }

.mx-comment-del { cursor:pointer; font-size:12px; color:var(--muted,#6b6b70);
  margin-left:8px; }
.mx-comment-del:hover { color:#c0392b; }

/* w67d — Recurring tab */
.mx-freq{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;
  padding:2px 9px;border-radius:999px;background:var(--gray-l,#f0f0f2);
  color:var(--ink,#2b2b2e);white-space:nowrap}
.mx-recur-inactive td{opacity:.55}
#mxRecur table td{vertical-align:middle}

/* w68a — Schedule views: switcher, calendar, board */
.mx-viewseg { display:inline-flex; border:1px solid var(--gray-m,#e2e2e5);
  border-radius:8px; overflow:hidden; background:var(--surface,#fff); }
.mx-viewbtn { padding:6px 12px; border:none; background:none; font:inherit;
  font-size:12px; color:var(--muted,#6b6b70); cursor:pointer; white-space:nowrap; }
.mx-viewbtn + .mx-viewbtn { border-left:1px solid var(--gray-m,#e2e2e5); }
.mx-viewbtn.active { background:var(--green-l,#eaf4eb); color:var(--green,#399845); font-weight:700; }
#mxFilStatus:disabled { opacity:.5; cursor:not-allowed; }

/* calendar */
#mxCalWrap, #mxKanWrap { flex-direction:column; min-height:0; }
.mx-cal-bar { display:flex; align-items:center; gap:8px; padding:8px 16px;
  border-bottom:1px solid var(--gray-m,#e2e2e5); background:var(--surface,#fff); flex-wrap:wrap; }
.mx-cal-title { font-size:14px; font-weight:800; margin-left:6px; flex:1; min-width:120px; }
.mx-cal-badge { border:none; cursor:pointer; font:inherit; font-size:11px; font-weight:700;
  display:inline-flex; align-items:center; gap:4px; }
.mx-cal-grid { flex:1; min-height:0; overflow:auto; display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr)); grid-template-rows:auto;
  grid-auto-rows:minmax(96px, auto);
  background:var(--gray-m,#e2e2e5); gap:1px; border-bottom:1px solid var(--gray-m,#e2e2e5); }
.mx-cal-grid.mx-cal-week { grid-auto-rows:minmax(0,1fr); }
.mx-cal-dow { position:sticky; top:0; z-index:1; background:var(--gray-l,#f4f4f5);
  font-size:10.5px; font-weight:700; text-transform:uppercase; color:var(--muted,#6b6b70);
  padding:5px 8px; grid-row:auto; min-height:0; }
.mx-cal-cell { background:var(--surface,#fff); padding:4px 6px; min-width:0; display:flex;
  flex-direction:column; gap:3px; }
.mx-cal-out { background:var(--gray-l,#f7f7f8); }
.mx-cal-out .mx-cal-daynum { opacity:.45; }
.mx-cal-today .mx-cal-daynum span:first-child { background:var(--green,#399845); color:#fff;
  border-radius:50%; width:22px; height:22px; display:inline-flex; align-items:center;
  justify-content:center; }
.mx-cal-daynum { display:flex; align-items:center; justify-content:space-between;
  font-size:12px; font-weight:700; }
.mx-cal-count { font-size:10px; font-weight:600; color:var(--muted,#6b6b70); }
.mx-cal-evs { display:flex; flex-direction:column; gap:2px; min-width:0; }
.mx-cal-ev { font-size:11px; line-height:1.3; padding:2px 6px; border-radius:5px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer;
  border-left:3px solid #1865b0; background:rgba(24,101,176,.10); color:var(--text,#2c2c2e); }
.mx-cal-ev-in_progress { border-left-color:#a36a08; background:rgba(194,124,14,.12); }
.mx-cal-ev-pending_review { border-left-color:#6a4fc4; background:rgba(124,92,214,.12); }
.mx-cal-ev-completed { border-left-color:#2c7d38; background:rgba(57,152,69,.10); opacity:.7;
  text-decoration:line-through; }
.mx-cal-ev-cancelled { border-left-color:#6b6b70; background:rgba(110,110,115,.10); opacity:.6; }
.mx-cal-ev-overdue { border-left-color:#c0392b; background:rgba(192,57,43,.12); }
.mx-cal-ev-critical { font-weight:700; }
.mx-cal-ev-high { font-weight:600; }
.mx-cal-ev[draggable="true"] { cursor:grab; }
.mx-cal-more { font-size:10.5px; color:var(--blue,#1865b0); cursor:pointer; padding:1px 6px; }
.mx-cal-foot { font-size:11.5px; color:var(--muted,#6b6b70); padding:6px 16px;
  background:var(--surface,#fff); }
.mx-dragging { opacity:.4; }
.mx-drop-ok { outline:2px dashed var(--green,#399845); outline-offset:-2px;
  background:var(--green-l,#eaf4eb) !important; }

/* board */
.mx-kan-bar { display:flex; align-items:center; gap:10px; padding:8px 16px;
  border-bottom:1px solid var(--gray-m,#e2e2e5); background:var(--surface,#fff); }
.mx-kan-toggle { margin-left:auto; display:flex; gap:6px; align-items:center;
  font-size:12px; white-space:nowrap; cursor:pointer; }
.mx-kan-cols { flex:1; min-height:0; display:flex; gap:12px; padding:12px 16px;
  overflow:auto; align-items:stretch; }
.mx-kan-col { flex:1 0 240px; max-width:340px; min-width:220px; display:flex;
  flex-direction:column; background:var(--gray-l,#f4f4f5); border-radius:10px;
  border:1px solid var(--gray-m,#e2e2e5); min-height:0; }
.mx-kan-head { display:flex; align-items:center; gap:8px; padding:8px 10px;
  border-bottom:1px solid var(--gray-m,#e2e2e5); }
.mx-kan-n { margin-left:auto; font-size:11.5px; font-weight:700; color:var(--muted,#6b6b70); }
.mx-kan-list { flex:1; min-height:60px; overflow:auto; padding:8px; display:flex;
  flex-direction:column; gap:8px; }
.mx-kan-card { background:var(--surface,#fff); border:1px solid var(--gray-m,#e2e2e5);
  border-radius:8px; padding:8px 10px; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.mx-kan-card[draggable="true"] { cursor:grab; }
.mx-kan-card:hover { border-color:var(--blue,#1865b0); }
.mx-kan-overdue { box-shadow:inset 3px 0 0 #c0392b; }
.mx-kan-title { font-size:12.5px; font-weight:600; line-height:1.3; }
.mx-kan-meta { font-size:11px; color:var(--muted,#6b6b70); margin-top:3px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.mx-kan-foot { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:6px;
  font-size:11px; }
.mx-kan-due { display:inline-flex; align-items:center; gap:3px; color:var(--muted,#6b6b70); }
.mx-kan-due-over { color:#c0392b; font-weight:700; }
.mx-kan-who { margin-left:auto; color:var(--muted,#6b6b70); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.mx-kan-empty { font-size:11.5px; color:var(--muted,#6b6b70); padding:6px 4px; }

/* ── w68c: the equipment profile's live Maintenance section ─────────────── */
.mx-eq-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 0 4px}
.mx-eq-summary{font-size:12px;color:var(--gray);flex:1;min-width:120px}
.mx-eq-new{margin-left:auto}
.mx-eq-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--gray-m);border-radius:8px;margin:4px 0;cursor:pointer;background:var(--white,#fff);transition:background .12s,border-color .12s}
.mx-eq-row:hover{background:var(--gray-l,#f4f4f5);border-color:var(--blue-l,#c8d6e6)}
.mx-eq-row.mx-overdue-row{border-left:3px solid #c0392b}
.mx-eq-row.mx-eq-series{background:var(--surface,#fbfaff);border-style:dashed}
.mx-eq-main{flex:1;min-width:0}
.mx-eq-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-eq-sub{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px;color:var(--gray);margin-top:3px}
.mx-eq-when{white-space:nowrap}
.mx-eq-who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.mx-eq-rep{font-size:12px;color:#7c5cd6;vertical-align:-1px}
.mx-eq-btns{display:flex;gap:4px;flex-shrink:0}
.mx-eq-btns .um-mini{padding:3px 8px;font-size:11px}
.mx-eq-done{border-color:var(--green);color:var(--green)}
.mx-eq-note{font-size:11px;color:var(--muted);font-style:italic}
.mx-eq-err{font-size:12px;color:#c0392b;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}
.mx-eq-histhd{cursor:pointer;user-select:none;display:flex;align-items:center;gap:5px}
.mx-eq-histhd:hover{color:var(--blue)}
.mx-eq-legacy{margin-top:12px;border-top:1px dashed var(--gray-m);padding-top:8px}
.mx-eq-legacy-hd{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;user-select:none}
.mx-eq-legacy-hd:hover{color:var(--blue)}
.mx-eq-legacy-body{margin-top:6px;opacity:.9}
