/* MARK AS DONE — shared management UI
   Keep management-page layout and component styling here so every page stays uniform. */

html.mortx-auth-pending body {
  visibility: hidden;
}

:root {
  --mg-bg: #f4f7fb;
  --mg-surface: #ffffff;
  --mg-border: #dce4ed;
  --mg-border-soft: #e9eef4;
  --mg-text: #20252b;
  --mg-muted: #64748b;
  --mg-primary: #2563eb;
  --mg-danger: #b42318;
  --mg-success: #15803d;
  --mg-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
  --mg-container: 1320px;
}

body[data-management-page] {
  background: var(--mg-bg);
}

.mg-app {
  width: 100%;
  max-width: var(--mg-container);
  margin: 0 auto;
  padding: 28px;
}

.mg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 18px 22px;
  background: var(--mg-surface);
  border: 1px solid var(--mg-border);
  border-top: 1px solid var(--mg-border);
  box-shadow: var(--mg-shadow);
}

.mg-brand {
  display: flex;
  flex-direction: column;
  color: var(--mg-text);
  text-decoration: none;
  line-height: 1.1;
}

.mg-brand:hover { color: var(--mg-text); }
.mg-brand strong { font-size: 25px; font-weight: 900; letter-spacing: -0.02em; }
.mg-brand span { margin-top: 4px; font-size: 12px; color: var(--mg-muted); }

.mg-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mg-back,
.mg-account-toggle {
  min-height: 42px;
  border: 1px solid var(--mg-border);
  background: var(--mg-surface);
  color: #182230;
  padding: 9px 12px;
  text-decoration: none;
  font-weight: 700;
}

.mg-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mg-back:hover,
.mg-account-toggle:hover {
  background: #f8fafc;
  color: #0f172a;
}

.mg-account { position: relative; }
.mg-account-toggle { display: flex; align-items: center; gap: 8px; }
.mg-avatar {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  background: var(--mg-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.mg-account-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  width: 260px;
  overflow: hidden;
  background: var(--mg-surface);
  border: 1px solid var(--mg-border);
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.17);
  z-index: 9999;
}

.mg-account-menu a,
.mg-account-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 0;
  border-bottom: 1px solid var(--mg-border-soft);
  background: var(--mg-surface);
  color: #172033;
  text-decoration: none;
  text-align: left;
  font-weight: 650;
}

.mg-account-menu a:hover,
.mg-account-menu button:hover { background: #f8fafc; }
.mg-account-menu .danger { color: var(--mg-danger); background: #fff6f5; }

.mg-page-head,
.mg-card,
.inventory-shell,
.file-directory-shell,
.backup-card {
  background: var(--mg-surface) !important;
  border: 1px solid var(--mg-border) !important;
  border-radius: 0 !important;
  box-shadow: var(--mg-shadow) !important;
}

.mg-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  margin-bottom: 14px;
}

.mg-page-head.compact {
  padding: 0 0 14px;
  margin: 0 0 14px;
  border: 0 !important;
  border-bottom: 1px solid var(--mg-border-soft) !important;
  box-shadow: none !important;
}

.mg-page-head h1,
.mg-page-head h2,
.inventory-header h2,
.file-directory-header h2,
.backup-card-head h2 {
  margin: 0;
  color: var(--mg-text);
  font-weight: 850;
  letter-spacing: -0.02em;
}

.mg-page-head h1 { font-size: 24px; }
.mg-page-head h2,
.inventory-header h2,
.file-directory-header h2,
.backup-card-head h2 { font-size: 20px; }

.mg-page-head p,
.inventory-header p,
.file-directory-header p,
.backup-card-head p {
  margin: 5px 0 0;
  color: var(--mg-muted);
  font-size: 14px;
}

.mg-card { padding: 18px; margin-bottom: 14px; }

/* Existing Inventory / Files / Backups shells use the same spacing as mg-card. */
.inventory-shell,
.file-directory-shell,
.backup-card {
  margin-bottom: 14px;
  padding: 18px !important;
}

.inventory-header,
.file-directory-header,
.backup-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--mg-border-soft);
}

.inventory-header.compact { margin-bottom: 14px; }
.inventory-header-actions,
.backup-card-head-row { display: flex; align-items: center; gap: 8px; }

.mg-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.mg-inline-form,
.mg-toolbar-left,
.mg-import-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.mg-inline-form input,
.mg-inline-form select,
.mg-import-grid select {
  min-height: 38px;
  border: 1px solid #cfd9e5;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: var(--mg-text);
}

/* One button language across management pages. */
body[data-management-page] .btn {
  border-radius: 8px !important;
  font-weight: 700;
}

body[data-management-page] .btn.primary {
  background: var(--mg-primary);
  border-color: var(--mg-primary);
  color: #fff;
}

body[data-management-page] .btn.light {
  background: #fff;
  border-color: var(--mg-border);
  color: #253247;
}

body[data-management-page] .btn.success {
  background: var(--mg-success);
  border-color: var(--mg-success);
  color: #fff;
}

.mg-table-wrap,
.inventory-table-wrap,
.file-directory-table-wrap,
.backup-table-wrap {
  width: 100%;
  overflow: auto;
}

.mg-table { min-width: 850px; }

/* Match native and DataTables tables on every management page. */
body[data-management-page] table.dataTable,
body[data-management-page] .mg-table,
body[data-management-page] .inventory-table,
body[data-management-page] .backup-project-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

body[data-management-page] table.dataTable thead th,
body[data-management-page] .mg-table thead th,
body[data-management-page] .inventory-table thead th,
body[data-management-page] .backup-project-table thead th {
  background: #f2f5f9 !important;
  color: #536176 !important;
  border-bottom: 1px solid var(--mg-border) !important;
  text-transform: uppercase;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

body[data-management-page] table.dataTable tbody td,
body[data-management-page] .mg-table tbody td,
body[data-management-page] .inventory-table tbody td,
body[data-management-page] .backup-project-table tbody td {
  vertical-align: middle;
  border-bottom-color: var(--mg-border-soft) !important;
}

.mg-actions { display: flex; gap: 6px; white-space: nowrap; }
.mg-toggle { width: 18px; height: 18px; }

.mg-info {
  margin-top: 12px;
  padding: 11px 13px;
  background: #eff6ff;
  border: 1px solid #bfd8ff;
  color: #234c83;
}

.mg-import-grid {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto;
  gap: 15px;
  align-items: end;
}

.mg-import-grid label > span {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.mg-import-grid select { width: 100%; }

.mg-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 420px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--mg-border);
  border-left: 4px solid #ef4444;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
  z-index: 10000;
}

.mg-toast.ok { border-left-color: #16a34a; }
.mortx-shared-management-header { width: 100%; box-sizing: border-box; }

/* DataTables controls use the same form language. */
body[data-management-page] div.dt-container .dt-input,
body[data-management-page] div.dt-container select.dt-input {
  border: 1px solid #cfd9e5;
  border-radius: 0;
  background: #fff;
}

body[data-management-page] div.dt-container .dt-paging .dt-paging-button {
  border-radius: 0 !important;
}



/* V8 — use the same 1320px management width as Import Tasks, including Bootstrap/app legacy pages. */
body[data-management-page] .mg-app,
body[data-management-page] main.mg-app,
body[data-management-page] .app.container-fluid.mg-app,
body[data-management-page] .backup-page.container-fluid.mg-app {
  width: calc(100% - 32px) !important;
  max-width: var(--mg-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}




/* V9 — one shared visual language for every management page.
   Inventory, Files, and Backups now consume the same card/header/table rules
   as Projects, Import Tasks, Emails, Teams, Recurring Tasks and Logs. */
body[data-management-page] .mg-card,
body[data-management-page] .inventory-shell,
body[data-management-page] .file-directory-shell,
body[data-management-page] .backup-card {
  margin: 0 0 14px !important;
  padding: 18px !important;
  background: var(--mg-surface) !important;
  border: 1px solid var(--mg-border) !important;
  border-radius: 0 !important;
  box-shadow: var(--mg-shadow) !important;
  overflow: visible;
}

body[data-management-page] .mg-card > .mg-page-head.compact,
body[data-management-page] .inventory-header.mg-page-head.compact,
body[data-management-page] .file-directory-header.mg-page-head.compact,
body[data-management-page] .backup-card-head.mg-page-head.compact {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px !important;
  padding: 0 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mg-border-soft) !important;
  box-shadow: none !important;
}

body[data-management-page] .mg-page-head h1,
body[data-management-page] .mg-page-head h2,
body[data-management-page] .inventory-header h2,
body[data-management-page] .file-directory-header h2,
body[data-management-page] .backup-card-head h2 {
  margin: 0 !important;
  color: var(--mg-text) !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
}

body[data-management-page] .mg-page-head p,
body[data-management-page] .inventory-header p,
body[data-management-page] .file-directory-header p,
body[data-management-page] .backup-card-head p {
  margin: 5px 0 0 !important;
  color: var(--mg-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Keep page-specific data widgets, but make their outer spacing line up with the shared cards. */

body[data-management-page="inventory"] .inventory-table-wrap,
body[data-management-page="files"] .file-directory-table-wrap,
body[data-management-page="backups"] .backup-table-wrap {
  padding: 18px 0 0 !important;
}

/* Same DataTables controls, row treatment and pagination everywhere. */
body[data-management-page] div.dt-container {
  color: var(--mg-text);
  font-size: 13px;
}
body[data-management-page] div.dt-container .dt-layout-row {
  margin: 0 0 12px;
}
body[data-management-page] div.dt-container .dt-layout-row:last-child {
  margin: 12px 0 0;
}
body[data-management-page] div.dt-container .dt-input,
body[data-management-page] div.dt-container select.dt-input,
body[data-management-page] div.dt-container .dt-search input {
  min-height: 36px;
  border: 1px solid #cfd9e5 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--mg-text) !important;
}
body[data-management-page] table.dataTable > tbody > tr > * {
  background: var(--mg-surface);
}
body[data-management-page] table.dataTable > tbody > tr:hover > * {
  background: #f8fafc !important;
}
body[data-management-page] div.dt-container .dt-paging .dt-paging-button.current,
body[data-management-page] div.dt-container .dt-paging .dt-paging-button.current:hover {
  background: #fff !important;
  border: 1px solid #cfd9e5 !important;
  border-radius: 0 !important;
}

/* Backup no longer has a separate visual stylesheet. Functional-only helpers live here. */
body[data-management-page="backups"] .backup-row-btn { white-space: nowrap; }
body[data-management-page="backups"] .backup-toast-host {
  position: fixed; right: 18px; bottom: 18px; z-index: 2147483647; display: grid; gap: 8px;
}
body[data-management-page="backups"] .backup-toast {
  min-width: 280px; max-width: 440px; background: #fff; border: 1px solid var(--mg-border);
  border-left: 4px solid var(--mg-success); padding: 12px 14px; box-shadow: var(--mg-shadow);
}
body[data-management-page="backups"] .backup-toast.error { border-left-color: #dc2626; }



/* Shared management add/edit modal */
.mg-toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.mg-modal {
  width: min(560px, calc(100vw - 32px));
  max-width: 560px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--mg-text);
}

.mg-modal::backdrop {
  background: rgba(15, 23, 42, 0.46);
}

.mg-modal-panel {
  background: var(--mg-surface);
  border: 1px solid var(--mg-border);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.mg-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--mg-border-soft);
}

.mg-modal-head h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -0.02em;
}

.mg-modal-head p {
  margin: 5px 0 0;
  color: var(--mg-muted);
  font-size: 13px;
}

.mg-modal-close {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  border: 1px solid var(--mg-border);
  background: #fff;
  color: #334155;
  cursor: pointer;
}

.mg-modal-close:hover { background: #f8fafc; }

.mg-modal-form {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.mg-modal-form label {
  display: grid;
  gap: 7px;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.mg-modal-form input,
.mg-modal-form select,
.mg-modal-form textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfd9e5;
  border-radius: 8px;
  padding: 0 11px;
  background: #fff;
  color: var(--mg-text);
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  outline: 0;
}

.mg-modal-form input[type="color"] {
  padding: 4px;
  min-height: 44px;
}

.mg-modal-form input:focus,
.mg-modal-form select:focus,
.mg-modal-form textarea:focus {
  border-color: var(--mg-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.mg-modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}



/* V14: Files page is the canonical management-page layout. */
.mg-page-shell {
  padding: 18px !important;
}

.mg-page-shell > .mg-page-head.compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
  padding: 0 0 16px;
  border: 0 !important;
  border-bottom: 1px solid var(--mg-border-soft) !important;
  box-shadow: none !important;
  background: transparent !important;
}

.mg-page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.mg-page-shell > .mg-table-wrap,
.mg-page-shell > .file-directory-table-wrap,
.mg-page-shell > .inventory-table-wrap,
.mg-page-shell > .backup-table-wrap,
.mg-filter-toolbar{
  margin-top: 0;
}

.mg-section-divider {
  height: 1px;
  margin: 18px 0;
  background: var(--mg-border-soft);
}

.mg-preview-toolbar {
  margin-bottom: 12px;
}

.inventory-history-shell {
  margin-top: 14px;
}



/* V15: Manage Emails access controls live in a dedicated modal. */

.mg-access-list {
  display: grid;
  gap: 0;
  border: 1px solid var(--mg-border-soft);
  background: #fff;
}
.mg-access-option {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px !important;
  padding: 14px 15px;
  border-bottom: 1px solid var(--mg-border-soft);
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer;
}
.mg-access-option:last-child { border-bottom: 0; }
.mg-access-option > span { display: grid; gap: 3px; }
.mg-access-option strong { color: var(--mg-text); font-size: 13px; }
.mg-access-option small { color: var(--mg-muted); font-size: 11px; font-weight: 500; line-height: 1.45; }
.mg-access-option .mg-toggle { flex: 0 0 auto; width: 20px; height: 20px; }
.mg-access-option:has(.mg-toggle:disabled) { cursor: default; opacity: .72; }
.mg-access-readonly {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #f0d58a;
  background: #fff8dd;
  color: #7c5b00;
  font-size: 12px;
  line-height: 1.45;
}
.mg-access-summary { display: flex; flex-wrap: wrap; gap: 5px; }
.mg-access-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid #d8e0ea;
  background: #f8fafc;
  color: #475569;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

/* V18: detailed per-page access matrix. */
.mg-access-modal-panel {
  max-width: 640px;
  max-width: 760px;
}
.mg-access-matrix { display: grid; gap: 10px; max-height: 52vh; overflow: auto; padding-right: 3px; }
.mg-access-page { border: 1px solid var(--mg-border-soft); background: #fff; }
.mg-access-page-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; background: #f8fafc; border-bottom: 1px solid var(--mg-border-soft); }
.mg-access-page-head > div { display: flex; align-items: center; gap: 8px; color: var(--mg-text); }
.mg-access-page-head i { width: 16px; color: #64748b; text-align: center; }
.mg-access-page-head strong { font-size: 13px; }
.mg-access-view-all { display: inline-flex !important; align-items: center; gap: 6px !important; margin: 0; color: var(--mg-muted); font-size: 10px !important; font-weight: 700; text-transform: uppercase !important; letter-spacing: .04em !important; }
.mg-access-actions { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.mg-access-action { display: flex !important; align-items: center; justify-content: space-between; gap: 8px !important; min-height: 48px; margin: 0 !important; padding: 10px 12px; border-right: 1px solid var(--mg-border-soft); text-transform: none !important; letter-spacing: normal !important; cursor: pointer; }
.mg-access-action:last-child { border-right: 0; }
.mg-access-action span { color: var(--mg-text); font-size: 12px; font-weight: 700; }
.mg-access-action .mg-toggle { width: 18px; height: 18px; }
.mg-access-action:has(.mg-toggle:disabled), .mg-access-view-all:has(input:disabled) { cursor: default; opacity: .65; }



/* V21 — canonical management page geometry.
   Every management page uses the exact same <main class="mg-app"> wrapper.
   No Bootstrap .container-fluid, .app or page-specific wrapper may control width. */
body[data-management-page] > main.mg-app {
  box-sizing: border-box !important;
  width: min(1320px, calc(100% - 32px)) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 28px 0 !important;
}
body[data-management-page] > main.mg-app > .mg-header,
body[data-management-page] > main.mg-app > .mg-page-shell,
body[data-management-page] > main.mg-app > .mg-card {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}



/* God Mode access editor */
.mg-godmode-control{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--mg-border,#dfe6ef);background:#f8fafc}
.mg-godmode-control span{display:flex;flex-direction:column;gap:3px}
.mg-godmode-control small{font-size:12px;font-weight:400;color:#64748b;line-height:1.4}
.mg-godmode-control input{width:18px;height:18px;flex:0 0 auto}
.mg-godmode-chip{font-weight:700}

/* V26: compact icon-only actions inside data tables */
.mg-table .mg-actions .mg-icon-btn,.mg-table .mg-icon-btn{width:34px;height:34px;min-width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0}.mg-table .mg-icon-btn i{margin:0}

/* V27: DataTable action cells use icon-only controls. These selectors also
   collapse labels emitted by older cached management scripts. */
.mg-table .mg-actions > button,
.mg-table button[data-open-project],
.mg-table button[data-copy-project],
.mg-table button[data-access-project],
.mg-table button[data-rename-project],
.mg-table button[data-delete-project],
.mg-table button[data-rename-team],
.mg-table button[data-delete-team],
.mg-table button[data-manage-email-access],
.mg-table button[data-remove-email],
.mg-table button[data-delete-rec],
.mg-table button[data-remove-project-access],
.mg-table button[data-action="edit"],
.mg-table button[data-action="delete"],
.mg-table button[data-action="in"],
.mg-table button[data-action="out"] {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
  line-height: 1;
}
.mg-table .mg-actions > button i,
.mg-table button[data-open-project] i,
.mg-table button[data-copy-project] i,
.mg-table button[data-access-project] i,
.mg-table button[data-rename-project] i,
.mg-table button[data-delete-project] i,
.mg-table button[data-rename-team] i,
.mg-table button[data-delete-team] i,
.mg-table button[data-manage-email-access] i,
.mg-table button[data-remove-email] i,
.mg-table button[data-delete-rec] i,
.mg-table button[data-remove-project-access] i,
.mg-table button[data-action="edit"] i,
.mg-table button[data-action="delete"] i,
.mg-table button[data-action="in"] i,
.mg-table button[data-action="out"] i {
  font-size: 13px !important;
  line-height: 1;
}
.mg-table .mg-actions {
  gap:6px;flex-wrap:nowrap;
  gap: 5px; flex-wrap: nowrap;
}

/* Confirmation Logs: one column per scheduled popup */
.mg-log-slot{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:120px}
.mg-log-slot small{font-size:11px;color:#64748b;line-height:1.2}
.mg-log-status{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:11px;font-weight:700;text-transform:capitalize}
.mg-log-status.is-confirmed{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.mg-log-status.is-late{background:#fef3c7;border-color:#fde68a;color:#92400e}
.mg-log-status.is-missed{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.mg-log-status.is-pending{background:#e2e8f0;border-color:#cbd5e1;color:#475569}
.mg-log-empty{font-size:11px;color:#94a3b8}

/* Confirmation Logs: each slot shows only the click time. Color communicates status. */
.mg-log-time{display:inline-block;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;text-transform:none}
.mg-log-time.is-confirmed{color:#15803d}
.mg-log-time.is-late{color:#d97706}
.mg-log-time.is-missed{color:#dc2626}

.mg-log-time.is-pending{color:#94a3b8;font-weight:600;}

/* Confirmation Logs date navigation */
.mg-date-nav{align-items:center;gap:8px;flex-wrap:wrap}.mg-date-nav #logDate{min-width:150px}.mg-date-nav .mg-icon-btn{width:38px;min-width:38px;padding-left:0;padding-right:0}

/* Confirmation Logs: keep exactly one search control in the standard table-control position. */
body[data-management-page="logs"] .mg-log-search-row{display:flex;justify-content:flex-end;align-items:center;margin:18px 0 10px;}
body[data-management-page="logs"] .mg-log-search-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#1f2937;font-weight:400;}
body[data-management-page="logs"] .mg-log-search-label input{width:180px;height:34px;border:1px solid #cbd5e1;background:#fff;padding:6px 9px;font:inherit;color:#111827;outline:none;border-radius:0;}
body[data-management-page="logs"] .mg-log-search-label input:focus{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb;}

/* V43: Confirmation Logs uses the shared/global DataTables controls again. */
body[data-management-page="logs"] .mg-date-display{
  min-width:220px;
  justify-content:flex-start;
  gap:9px;
  font-variant-numeric:tabular-nums;
}
body[data-management-page="logs"] .mg-date-picker-proxy{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0;
  pointer-events:none;
}

/* V49: Manage Projects uses the same Project Access presentation as Task Manager. */
/* The <dialog> itself was still capped at 560px by the global management modal rule,
   which clipped the Task Manager parity table. Override the dialog AND its panel. */
.mg-modal.project-access-management-modal {
  width: min(1120px, calc(100vw - 48px));
  max-width: 1120px;
}
.project-access-management-modal .project-access-management-panel {
  width: min(1120px, calc(100vw - 48px));
  max-width: 1120px;
  padding: 0;
  overflow: hidden;
}
.project-access-management-modal .mg-modal-head {
  padding: 18px 20px;
  margin: 0;
  border-bottom: 1px solid #e2e8f0;
}
.project-access-management-modal .project-access-modal-invite {
  margin: 14px;
}
.project-access-invite-form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.project-access-invite-form input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
  border: 1px solid #cbd5e1;
  padding: 9px 12px;
  background: #fff;
}
.project-access-management-modal .project-access-popup-list {
  padding: 0 14px;
  max-height: min(58vh, 620px);
  overflow: auto;
}
.project-access-management-modal .project-access-modal-footer {
  padding: 14px;
  margin-top: 14px;
  border-top: 1px solid #e2e8f0;
}
.project-access-management-modal .project-access-email strong,
.project-access-management-modal .project-access-email span {
  display: block;
}
.project-access-management-modal .project-access-action {
  white-space: nowrap;
}


/* V51 Inventory usability polish */

body[data-management-page="inventory"] .inventory-stats {
  margin: 0 -18px;
  border-top: 0;
  border-bottom: 1px solid var(--mg-border-soft);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #f8fafc;
}
body[data-management-page="inventory"] .inventory-stat {
  appearance: none;
  border: 0;
  border-right: 1px solid var(--mg-border-soft);
  background: transparent;
  color: var(--mg-text);
  padding: 18px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
body[data-management-page="inventory"] .inventory-stat:last-child { border-right: 0; }
body[data-management-page="inventory"] .inventory-stat:hover { background: #fff; box-shadow: inset 0 -2px 0 #2563eb; }
body[data-management-page="inventory"] .inventory-stat:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; }
body[data-management-page="inventory"] .inventory-stat-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f0fe;
  color: #1d4ed8;
  border: 1px solid #d7e3f7;
}
body[data-management-page="inventory"] .inventory-stat.warning .inventory-stat-icon { background: #fff7e6; color: #b45309; border-color: #fde2ae; }
body[data-management-page="inventory"] .inventory-stat.danger .inventory-stat-icon { background: #fff0f0; color: #b91c1c; border-color: #fecaca; }
body[data-management-page="inventory"] .inventory-stat-copy { min-width: 0; display: grid; gap: 1px; }
body[data-management-page="inventory"] .inventory-stat-copy small {
  color: var(--mg-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body[data-management-page="inventory"] .inventory-stat-copy strong {
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.03em;
}
body[data-management-page="inventory"] .inventory-stat-copy em {
  color: #7c8da5;
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-management-page="inventory"] .inventory-filter-label {
  margin-right: 4px;
  color: var(--mg-muted);
  font-size: 12px;
  font-weight: 700;
}

body[data-management-page="inventory"] .inventory-filter:hover { background: #f8fafc; }

body[data-management-page="inventory"] .inventory-qty { font-size: 14px; }
body[data-management-page="inventory"] .inventory-stock-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
body[data-management-page="inventory"] .inventory-stock-status.ok { color: #067647; background: #dcfae6; }
body[data-management-page="inventory"] .inventory-stock-status.low { color: #92400e; background: #fef3c7; }
body[data-management-page="inventory"] .inventory-stock-status.out { color: #b42318; background: #fee4e2; }

body[data-management-page="inventory"] #inventoryTable td:nth-child(2) strong { font-weight: 800; }
body[data-management-page="inventory"] .inventory-item-note { display:block; margin-top:3px; color:#8492a6; font-size:11px; font-weight:500; }





/* Inventory v52 deep fix */
body[data-management-page="inventory"] .inventory-history-shell .inventory-history-toggle {
  min-width: 84px; justify-content: center; gap: 7px;
}
body[data-management-page="inventory"] .inventory-history-shell.is-collapsed .mg-page-head {
  border-bottom: 0;
}
body[data-management-page="inventory"] .inventory-history-body[hidden] { display: none !important; }
body[data-management-page="inventory"] .inventory-history-body { padding-top: 12px; }
body[data-management-page="inventory"] .inventory-actions {
  display:flex; align-items:center; gap:5px; flex-wrap:nowrap;
  display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
}
body[data-management-page="inventory"] .inventory-actions .btn {
  min-width: 34px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center;
}
body[data-management-page="inventory"] button:disabled { opacity: .55; cursor: wait; }


/* Inventory v53 — collapse parity with Task Details */
body[data-management-page="inventory"] .inventory-details-collapse{
  margin-top:12px; padding:0 !important; overflow:hidden; border:1px solid #dbe3ef !important; box-shadow:0 5px 14px rgba(15,23,42,.045) !important; background:#fff;
}
body[data-management-page="inventory"] .inventory-details-summary{
  list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:14px 16px; cursor:pointer; user-select:none; background:#f8fafc; border-bottom:0;
}
body[data-management-page="inventory"] .inventory-details-summary::-webkit-details-marker{display:none}
body[data-management-page="inventory"] .inventory-details-summary:hover{background:#f4f7fb}
body[data-management-page="inventory"] .inventory-details-summary:focus-visible{outline:2px solid #1570ef; outline-offset:-2px}
body[data-management-page="inventory"] .inventory-details-title{display:flex; flex-direction:column; gap:3px; min-width:0}
body[data-management-page="inventory"] .inventory-details-title>span{font-size:17px; line-height:1.2; font-weight:800; color:#172033}
body[data-management-page="inventory"] .inventory-details-title>small{font-size:12px; line-height:1.35; color:#64748b; font-weight:500}
body[data-management-page="inventory"] .inventory-details-controls{display:flex; align-items:center; gap:9px; flex:0 0 auto}
body[data-management-page="inventory"] .inventory-details-count{display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border:1px solid #dbe3ef; background:#edf2f8; color:#52657e; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.03em}
body[data-management-page="inventory"] .inventory-details-chevron{width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #dbe3ef; background:#fff; color:#52657e; transition:transform .16s ease,background .16s ease}
body[data-management-page="inventory"] .inventory-details-collapse[open]>.inventory-details-summary{border-bottom:1px solid #dbe3ef; background:#f8fafc}
body[data-management-page="inventory"] .inventory-details-collapse[open] .inventory-details-chevron{transform:rotate(180deg)}
body[data-management-page="inventory"] .inventory-details-body{padding:14px 16px 16px !important; background:#fff}
body[data-management-page="inventory"] .inventory-details-collapse:not([open])>.inventory-details-body{display:none !important}


/* Inventory v54 — exact Task Details collapse visual parity */

body[data-management-page="inventory"] .inventory-details-collapse > summary.details-collapsible-summary{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:58px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:0 !important;
  background:#f8fafc !important;
  box-sizing:border-box !important;
  list-style:none !important;
  cursor:pointer !important;
  user-select:none !important;
}
body[data-management-page="inventory"] .inventory-details-collapse > summary.details-collapsible-summary::-webkit-details-marker{display:none !important}
body[data-management-page="inventory"] .inventory-details-collapse .details-section-title{
  min-width:0 !important;
  color:#172033 !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  overflow-wrap:anywhere !important;
}
body[data-management-page="inventory"] .inventory-details-collapse .details-section-controls{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  min-width:30px !important;
}
body[data-management-page="inventory"] .inventory-details-collapse .details-section-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:22px !important;
  margin:0 !important;
  padding:3px 8px !important;
  border:0 !important;
  background:#e2e8f0 !important;
  color:#475569 !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
body[data-management-page="inventory"] .inventory-details-collapse .details-section-controls > i{
  display:inline-grid !important;
  place-items:center !important;
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  color:#475569 !important;
  font-size:12px !important;
  transition:transform .18s ease,border-color .16s ease,color .16s ease !important;
}
body[data-management-page="inventory"] .inventory-details-collapse[open]{
  border-color:#bfdbfe !important;
  box-shadow:0 4px 14px rgba(37,99,235,.07) !important;
}
body[data-management-page="inventory"] .inventory-details-collapse[open] > summary.details-collapsible-summary{
  background:#eff6ff !important;
  border-bottom:1px solid #bfdbfe !important;
}
body[data-management-page="inventory"] .inventory-details-collapse[open] .details-section-title{color:#1d4ed8 !important}
body[data-management-page="inventory"] .inventory-details-collapse[open] .details-section-controls > i{
  transform:rotate(180deg) !important;
  border-color:#93c5fd !important;
  color:#1d4ed8 !important;
}
body[data-management-page="inventory"] .inventory-details-collapse > .details-collapsible-body{
  display:block;
  padding:12px !important;
  background:#fff !important;
  border:0 !important;
}
body[data-management-page="inventory"] .inventory-details-collapse:not([open]) > .details-collapsible-body{display:none !important}

/* Global management refresh state */
.mg-page-actions .btn[aria-busy="true"],
.mg-page-actions .btn:disabled {
  cursor: wait;
  opacity: .72;
}

/* V56: static management table shell shown before JS/DataTables finishes loading. */
body[data-management-page] .mg-static-loading-row td {
  text-align: center;
  padding: 28px 16px !important;
  color: #64748b;
  background: #fff;
}
body[data-management-page] .mg-static-loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 13px;
}

/* V57: complete DataTables shell is visible before API data arrives. */
body[data-management-page] table.dataTable tbody td.dt-empty {
  height: 92px;
  vertical-align: middle;
  text-align: center !important;
  color: #64748b;
  background: #fff !important;
  border-bottom: 1px solid var(--mg-border-soft);
}
body[data-management-page] .mg-dt-loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
}
body[data-management-page] .mg-dt-loading i {
  color: #2563eb;
}

/* Keep the complete table footprint calm while its first request is pending. */
body[data-management-page] div.dt-container:has(.mg-dt-loading) .dt-info,
body[data-management-page] div.dt-container:has(.mg-dt-loading) .dt-paging {
  min-height: 32px;
}

/* Import preview idle state: this table has nothing to load until the user selects a file. */
#mgTable .mg-static-empty-row td {
  text-align: center;
  padding: 24px 16px;
  color: #8290a5;
  background: #fff;
}
#mgTable .mg-static-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  font-weight: 500;
}


/* Import preview: editable review before committing tasks. */


.import-row-editor{padding:16px 18px;overflow:auto;background:#f8fafc;display:grid;gap:14px}
.import-editor-section{border:1px solid #dbe3ee;background:#fff}
.import-editor-section-title{padding:11px 13px;border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f8fafc}
.import-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
.import-editor-grid label,.import-level-grid label{display:grid;gap:6px;min-width:0}
.import-editor-grid label>span,.import-level-grid label>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.import-editor-grid .wide,.import-level-grid .wide{grid-column:1/-1}
.import-editor-grid input,.import-editor-grid select,.import-editor-grid textarea,.import-level-grid input,.import-level-grid select,.import-level-grid textarea{width:100%;border:1px solid #cbd5e1;background:#fff;padding:9px 10px;font:inherit;color:#0f172a;border-radius:0;min-height:38px}
.import-editor-grid textarea,.import-level-grid textarea{resize:vertical}





.import-preview-input,.import-preview-select{width:100%;min-width:110px;border:1px solid transparent;background:transparent;padding:5px 6px;font:inherit;color:inherit}
.import-preview-input:focus,.import-preview-select:focus{outline:none;border-color:#93c5fd;background:#fff;box-shadow:0 0 0 2px rgba(37,99,235,.10)}
.import-preview-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
.import-preview-workflow-summary{color:#475569;font-size:12px;line-height:1.35}


.mg-row-error{margin-top:4px;font-size:10px;font-weight:700;color:#b91c1c}
.import-preview-invalid td{background:#fff7f7}

/* V61 Import task editor — visual parity with the Task Manager Add Task form. */
.import-row-modal{
  width:min(1180px,calc(100vw - 32px));max-width:1180px;
  width:min(1220px,calc(100vw - 32px));max-width:1220px
}
.import-row-modal .import-row-modal-panel{
  width:100%;max-width:none;max-height:min(88vh,920px);display:flex;flex-direction:column;
  width:100%;max-width:none;max-height:min(92vh,960px);display:flex;flex-direction:column
}
.import-row-modal .mg-modal-head{padding:18px 20px;border-bottom:1px solid #dbe3ee;background:#fff}
.import-row-modal .mg-modal-head h2{margin:0;font-size:20px;font-weight:800;color:#202936}
.import-row-modal .mg-modal-head p{margin:5px 0 0;color:#64748b;font-size:12px}
.import-row-editor.import-task-form{padding:18px 20px 20px;overflow:auto;background:#fff;display:grid;gap:16px}
.import-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.import-task-grid .field{display:grid;gap:6px;min-width:0;margin:0}
.import-task-grid .field.full{grid-column:1/-1}
.import-task-grid .field>span,
.import-level-grid label>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.import-task-grid input,
.import-task-grid select,
.import-task-grid textarea,
.import-level-grid input,
.import-level-grid select,
.import-level-grid textarea{width:100%;border:1px solid #cbd5e1;background:#fff;padding:9px 10px;font:inherit;color:#0f172a;border-radius:0;min-height:40px;box-shadow:none}
.import-task-grid input[readonly]{background:#f8fafc;color:#475569}
.import-task-grid textarea,.import-level-grid textarea{resize:vertical}
.import-task-grid input:focus,.import-task-grid select:focus,.import-task-grid textarea:focus,
.import-level-grid input:focus,.import-level-grid select:focus,.import-level-grid textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(37,99,235,.10)}
.import-collab-box{border:1px solid #dbe3ee;background:#fff;padding:0}
.import-collab-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dbe3ee;background:#f8fafc}
.import-collab-head>div{display:grid;gap:3px}
.import-collab-head strong{font-size:13px;color:#273142}
.import-collab-head small{font-size:11px;color:#64748b}
.import-workflow-editors{
  display:grid;gap:10px;padding:12px;
  display:grid;gap:10px;padding:12px
}
.import-level-card{
  border:1px solid #dbe3ee;background:#fff;
  border:1px solid #dbe3ee;background:#fff
}
.import-level-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:#f8fafc;border-bottom:1px solid #e2e8f0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0
}
.import-level-head strong{
  font-size:13px;
  font-size:13px;color:#273142
}.import-level-head span{
  font-size:11px;color:#64748b;
  font-size:11px;color:#64748b
}

.import-level-grid label{display:grid;gap:6px;min-width:0;margin:0}
.import-level-grid .wide{grid-column:1/-1}
.import-row-modal .mg-modal-actions{border-top:1px solid #dbe3ee;background:#fff;padding:12px 20px;position:sticky;bottom:0;z-index:2}


/* V64: Import Preview workflow summary is display-only; Edit action owns editing. */
.import-preview-workflow-summary,
.import-preview-workflow-summary:hover,
.import-preview-workflow-summary:focus {
  color: #475569 !important;
  text-decoration: none !important;
  cursor: default !important;
}


/* V65 Import editor grid alignment — fixed 12-column layout. */
.import-level-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px 12px;
  align-items:start;
  padding:12px;
}
.import-level-grid > label{min-width:0;margin:0;align-self:start}
.import-level-grid .level-team,
.import-level-grid .level-assignee,
.import-level-grid .level-output-type,
.import-level-grid .level-status,
.import-level-grid .level-reviewer,
.import-level-grid .level-approval{grid-column:span 3}
.import-level-grid .level-description,
.import-level-grid .level-options,
.import-level-grid .level-output{grid-column:1 / -1}
.import-level-grid input,
.import-level-grid select{height:40px;min-height:40px}
.import-level-grid textarea{min-height:64px}
.import-level-grid .import-output-options-field[hidden]{display:none !important}




#importRowModal.import-row-modal{
  width:min(1280px,calc(100vw - 40px));
  max-width:1280px;
}
#importWorkflowEditors .import-level-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:start !important;
  padding:12px !important;
}
#importWorkflowEditors .import-level-grid > label{
  display:grid !important;
  grid-column:auto !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
#importWorkflowEditors .import-level-grid > .level-description,
#importWorkflowEditors .import-level-grid > .level-options,
#importWorkflowEditors .import-level-grid > .level-output{
  grid-column:1 / -1 !important;
}
#importWorkflowEditors .import-level-grid input,
#importWorkflowEditors .import-level-grid select,
#importWorkflowEditors .import-level-grid textarea{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
#importWorkflowEditors .import-level-grid input,
#importWorkflowEditors .import-level-grid select{
  height:40px !important;
  min-height:40px !important;
}
#importWorkflowEditors .import-level-grid textarea{
  min-height:68px !important;
}
#importWorkflowEditors .import-output-options-field[hidden]{
  display:none !important;
}




/* V68 — Import editor reuses the Add/Edit Task form language from app.css. */
.task-import-modal-panel{
  width:min(1180px,calc(100vw - 48px));
  max-width:1180px;
}
.import-task-modal-body{
  padding:18px;
}
.import-task-main-grid{
  margin:0;
}
.import-task-collab-section{
  margin-top:16px;
}
.import-task-collab-section > span{
  display:block;
  font-weight:700;
  margin-bottom:10px;
}
.import-prereq-level-controls .prereq-level-grid{
  display:grid;
  gap:12px;
}
.import-collab-level-card.import-level-unused{
  opacity:.72;
}
.import-level-status-field{
  grid-column:span 1;
}





/* V69 — Add Task parity and data-driven import editor fields. */
.import-level-unused .collab-level-card-head{background:var(--panel-soft,#f8fafc);}
.import-level-unused .collab-level-pill{opacity:.72;}
.import-level-dependent.hidden,
.import-reviewer-field.hidden,
.import-reviewer-order.hidden,
.import-level-output-field.hidden,
.import-output-options-field.hidden{display:none !important;}
.import-reviewer-field .collab-reviewer-picker{width:100%;}
.import-reviewer-field .collab-reviewer-picker summary{min-height:36px;}
.import-level-output-field{
  grid-column:1 / -1;
  grid-column:1 / -1;
}
.import-level-output-field textarea{
  width:100%;
  min-height:72px;
  width:100%;min-height:72px;
}


/* V73 Import Tasks only — mirror the Task Manager Add/Edit Task modal. */
body[data-management-page="import"] .import-task-exact-panel{
  width:min(1200px,calc(100vw - 44px));
  max-width:1200px;
  padding:0;
  background:#fff;
}



body[data-management-page="import"] #importRowModal .modal-body{overflow:auto;}

body[data-management-page="import"] #importRowModal .form-template-bar button:disabled{opacity:.45;cursor:not-allowed;}


/* V75 — Import Tasks modal spacing parity with #taskModal. Scoped only to manage-import.html. */
body[data-management-page="import"] #importRowModal .import-task-exact-panel{
  width:min(1180px,calc(100vw - 56px)) !important;
  max-width:1180px !important;
  max-height:calc(100vh - 56px) !important;
  padding:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}

body[data-management-page="import"] #importRowModal .modal-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid #e5e7eb;background:#fff;
  padding:14px 18px !important;
  min-height:56px !important;
  align-items:center !important;
  border-bottom:1px solid #d8e2ef !important;
}

body[data-management-page="import"] #importRowModal .modal-header h2{
  margin:0;font-size:22px;
  margin:0 !important;
  font-size:22px !important;
  line-height:1.15 !important;
}

body[data-management-page="import"] #importRowModal #importRowModalMeta{
  margin:3px 0 0 !important;
  color:#64748b !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

body[data-management-page="import"] #importRowModal form{
  display:flex;flex-direction:column;max-height:calc(92vh - 4px);
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 112px) !important;
}

body[data-management-page="import"] #importRowModal .modal-body.task-modal-body,
body[data-management-page="import"] #importRowModal .modal-body{
  padding:14px 18px !important;
  overflow:auto !important;
}

body[data-management-page="import"] #importRowModal .modal-footer{
  border-top:1px solid #e5e7eb;background:#fff;
  padding:10px 18px !important;
  gap:8px !important;
  border-top:1px solid #d8e2ef !important;
  background:#fff !important;
}

body[data-management-page="import"] #importRowModal .modal-footer .btn{
  min-height:34px !important;
  padding:7px 12px !important;
  font-size:12px !important;
}

/* Form template row */
body[data-management-page="import"] #importRowModal .form-template-bar{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto auto !important;
  gap:8px !important;
  align-items:end !important;
  margin:0 0 12px !important;
  padding:8px !important;
  border:1px solid #d8e2ef !important;
  background:#f8fbff !important;
}

body[data-management-page="import"] #importRowModal .form-template-bar .field{
  margin:0 !important;
}

body[data-management-page="import"] #importRowModal .form-template-bar .btn{
  min-height:34px !important;
  height:34px !important;
  padding:7px 10px !important;
  white-space:nowrap !important;
}

/* Main task fields */
body[data-management-page="import"] #importRowModal .grid.row.g-3,
body[data-management-page="import"] #importRowModal .grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px 18px !important;
  margin:0 !important;
  --bs-gutter-x:0 !important;
  --bs-gutter-y:0 !important;
}

body[data-management-page="import"] #importRowModal .field,
body[data-management-page="import"] #importRowModal label.field{
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  gap:4px !important;
  min-width:0 !important;
}

body[data-management-page="import"] #importRowModal .field.full,
body[data-management-page="import"] #importRowModal .task-form-output-field,
body[data-management-page="import"] #importRowModal .task-collab-work-section{
  grid-column:1 / -1 !important;
}

body[data-management-page="import"] #importRowModal .field > span,
body[data-management-page="import"] #importRowModal .form-template-bar .field > span{
  display:block !important;
  margin:0 !important;
  min-height:0 !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}

body[data-management-page="import"] #importRowModal input,
body[data-management-page="import"] #importRowModal select,
body[data-management-page="import"] #importRowModal textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:34px !important;
  height:auto !important;
  padding:7px 10px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  box-sizing:border-box !important;
}

body[data-management-page="import"] #importRowModal textarea,
body[data-management-page="import"] #importRowModal #importEditNotes{
  min-height:86px !important;
  resize:vertical !important;
}

body[data-management-page="import"] #importRowModal #importFirstLevelOutputControl textarea{
  min-height:58px !important;
}

body[data-management-page="import"] #importRowModal .field-hint,
body[data-management-page="import"] #importRowModal .field-help,
body[data-management-page="import"] #importRowModal small{
  font-size:11px !important;
  line-height:1.25 !important;
  margin-top:2px !important;
}

/* Collaborative section */
body[data-management-page="import"] #importRowModal .task-collab-work-section,
body[data-management-page="import"] #importRowModal .collaborative-work-box{
  margin-top:12px !important;
  padding:12px !important;
}

body[data-management-page="import"] #importRowModal .task-collab-work-section > span{
  display:block !important;
  margin:0 0 10px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-level-grid{
  display:grid !important;
  gap:10px !important;
}

body[data-management-page="import"] #importWorkflowEditors .collaborative-level-card{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:0 !important;
  border:1px solid #cfe3d6 !important;
  background:#f8fffa !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

body[data-management-page="import"] #importWorkflowEditors .collab-level-card-head{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:end !important;
  gap:10px !important;
  width:100% !important;
  padding:10px !important;
  border-bottom:1px solid #d9e8de !important;
  box-sizing:border-box !important;
}

body[data-management-page="import"] #importWorkflowEditors .collab-level-identity{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:34px !important;
}

body[data-management-page="import"] #importWorkflowEditors .collab-level-primary-fields{
  display:grid !important;
  grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr) !important;
  gap:8px !important;
  min-width:0 !important;
}

body[data-management-page="import"] #importWorkflowEditors .collab-level-card-body{
  display:grid !important;
  grid-template-columns:minmax(150px,.7fr) minmax(250px,1.4fr) minmax(210px,1fr) minmax(170px,.8fr) !important;
  gap:8px !important;
  align-items:end !important;
  width:100% !important;
  padding:10px !important;
  box-sizing:border-box !important;
}

body[data-management-page="import"] #importWorkflowEditors .collab-output-options-field:not(.hidden){
  grid-column:1 / -1 !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-level-field{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-level-field > span{
  display:block !important;
  min-height:12px !important;
  color:#566273 !important;
  font-size:8px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-level-field select,
body[data-management-page="import"] #importWorkflowEditors .prereq-level-field input,
body[data-management-page="import"] #importWorkflowEditors .collab-reviewer-picker > summary{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:7px 10px !important;
  box-sizing:border-box !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-remove-btn{
  align-self:end !important;
  min-height:34px !important;
  white-space:nowrap !important;
}

body[data-management-page="import"] #importWorkflowEditors .prereq-add-btn{
  margin-top:10px !important;
}




/* V76 — Long Text task outputs use a comfortable 10-row editor. */
body[data-management-page="import"] #importRowModal #importFirstLevelOutputControl textarea[rows="10"]{
  min-height:210px !important;
  height:auto !important;
}


/* V78 — simplified Import Preview. */

body[data-management-page="import"] #mgTable td:nth-child(2){
  white-space:nowrap;
}
body[data-management-page="import"] #mgTable th:last-child,
body[data-management-page="import"] #mgTable td:last-child{
  width:88px;
  text-align:right;
}


/* V79 — editable weekday date and persisted import draft controls. */
body[data-management-page="import"] .import-preview-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}






/* V80 — direct date edit + draft hardening. */

body[data-management-page="import"] #mgTable .import-preview-date{
  display:block;
  white-space:nowrap;
  font-weight:700;
  color:#263244;
  white-space:nowrap;
  font-weight:700;
  color:#263244;
  flex:0 0 auto;
  min-width:178px;
}



/* V82 — one compact due-date control: weekday prefix + editable date. */

body[data-management-page="import"] #mgTable .import-preview-weekday{
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  padding:0 10px !important;
  border-right:1px solid #d7e0eb !important;
  background:#f7f9fc !important;
  font-weight:700 !important;
  color:#334155 !important;
  white-space:nowrap !important;
}

body[data-management-page="import"] #mgTable .import-preview-date-input:focus{
  outline:2px solid #9ec5ff !important;
  outline-offset:-2px !important;
}


/* V84 — Due Date cell shows one date only: weekday label + editable native date. */
body[data-management-page="import"] #mgTable .import-preview-date-editor{
  display:grid;
  grid-template-columns:minmax(170px,auto) 145px;
  align-items:center;
  gap:8px;
  
  
  
  flex-wrap:nowrap !important;
  
  grid-template-columns:auto minmax(135px,1fr) !important;
  
  
  
  
  
  
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:0 !important;
  border:0 !important;
  background:transparent !important;
}
body[data-management-page="import"] #mgTable .import-preview-weekday-only{
  display:inline-block !important;
  min-width:78px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#334155 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
body[data-management-page="import"] #mgTable .import-preview-date-input{
  
  
  flex:0 0 150px;
  
  
  
  
  
  box-shadow:none !important;
  
  width:150px !important;
  min-width:150px !important;
  height:34px !important;
  border:1px solid #d7e0eb !important;
  background:#fff !important;
}


/* V87 — Inventory dashboard aligned to the canonical management UI.
   Scoped to inventory.html only. */
body[data-management-page="inventory"] .inventory-shell{
  padding:18px !important;
}
body[data-management-page="inventory"] .inventory-header{
  margin-bottom:0 !important;
}
body[data-management-page="inventory"] .inventory-header-actions{
  gap: 8px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body[data-management-page="inventory"] .inventory-header-actions .btn{
  min-height:36px;
  padding:7px 12px;
  font-size:12px;
  font-weight:750;
}
body[data-management-page="inventory"] .inventory-in{
  background:#fff !important;
  color:#067647 !important;
  border:1px solid #b7dfc9 !important;
}
body[data-management-page="inventory"] .inventory-out{
  background:#fff !important;
  color:#b42318 !important;
  border:1px solid #f0c1bd !important;
}
body[data-management-page="inventory"] .inventory-in:hover{background:#ecfdf3 !important}
body[data-management-page="inventory"] .inventory-out:hover{background:#fff1f0 !important}

body[data-management-page="inventory"] .inventory-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  background:#fff;
  border:1px solid var(--mg-border-soft);
  border-top:0;
}
body[data-management-page="inventory"] .inventory-summary-item{
  appearance:none;
  min-width:0;
  padding:14px 16px;
  border:0;
  border-right:1px solid var(--mg-border-soft);
  background:#fff;
  color:var(--mg-text);
  text-align:left;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"label value" "meta value";
  align-items:center;
  column-gap:14px;
  row-gap:3px;
}
body[data-management-page="inventory"] .inventory-summary-item:last-child{border-right:0}
body[data-management-page="inventory"] .inventory-summary-item:hover{background:#f8fafc}
body[data-management-page="inventory"] .inventory-summary-item:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
body[data-management-page="inventory"] .inventory-summary-label{
  grid-area:label;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#52657e;
  font-size:11px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body[data-management-page="inventory"] .inventory-summary-label i{
  width:15px;
  color:#64748b;
  text-align:center;
}
body[data-management-page="inventory"] .inventory-summary-item strong{
  grid-area:value;
  color:#172033;
  font-size:24px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.03em;
}
body[data-management-page="inventory"] .inventory-summary-item small{
  grid-area:meta;
  color:#8492a6;
  font-size:10px;
  font-weight:600;
}
body[data-management-page="inventory"] .inventory-summary-item[data-stock-filter="low"] .inventory-summary-label i{color:#b45309}
body[data-management-page="inventory"] .inventory-summary-item[data-stock-filter="out"] .inventory-summary-label i{color:#b42318}

body[data-management-page="inventory"] .inventory-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  padding:12px 0;
  border-top:1px solid var(--mg-border-soft);
  border-bottom:1px solid var(--mg-border-soft);
}
body[data-management-page="inventory"] .inventory-toolbar-title{
  display:flex;
  flex-direction:column;
  gap:2px;
}
body[data-management-page="inventory"] .inventory-toolbar-title strong{
  color:var(--mg-text);
  font-size:13px;
  font-weight:800;
}
body[data-management-page="inventory"] .inventory-toolbar-title small{
  color:var(--mg-muted);
  font-size:11px;
}
body[data-management-page="inventory"] .inventory-filterbar{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 0 0;
  flex-wrap: wrap;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  padding:0;
  flex-wrap:wrap;
}
body[data-management-page="inventory"] .inventory-filter{
  border: 1px solid #d5dee9;
  background: #fff;
  color: #475569;
  min-height: 32px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  min-height:30px;
  padding:5px 9px;
  border:1px solid var(--mg-border);
  background:#fff;
  color:#52657e;
  font-size:11px;
  font-weight:750;
}
body[data-management-page="inventory"] .inventory-filter.active{
  border-color: #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
  border-color:#2563eb;
  background:#eff6ff;
  color:#1d4ed8;
}
body[data-management-page="inventory"] .inventory-table-wrap{
  padding-top:14px !important;
}
body[data-management-page="inventory"] #inventoryTable{
  border:1px solid var(--mg-border-soft);
}
body[data-management-page="inventory"] #inventoryTable thead th{
  background:#f5f7fa !important;
}
body[data-management-page="inventory"] #inventoryTable tbody td{
  vertical-align:middle;
}
body[data-management-page="inventory"] .inventory-history-shell{
  margin-top: 2px;
  margin-top:0 !important;
}
body[data-management-page="inventory"] .inventory-details-collapse.detail-section.details-collapsible{
  display:block !important;
  width:100% !important;
  margin-top:12px !important;
  padding:0 !important;
  border:1px solid #dbe3ef !important;
  background:#fff !important;
  overflow:hidden !important;
  
  box-sizing:border-box !important;
  box-shadow:var(--mg-shadow) !important;
}







/* V96 — Confirmation Logs inline date-range + user filter */
body[data-management-page="logs"] .confirmation-range-toolbar{
  align-items:flex-end;
}
body[data-management-page="logs"] .confirmation-range-controls{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body[data-management-page="logs"] .confirmation-range-field,
body[data-management-page="logs"] .confirmation-user-filter{
  display:grid;
  gap:5px;
}
body[data-management-page="logs"] .confirmation-range-field>span,
body[data-management-page="logs"] .confirmation-user-filter>span{
  color:#64748b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
body[data-management-page="logs"] .confirmation-range-field input{
  min-width:160px;
  height:36px;
}
body[data-management-page="logs"] .confirmation-user-filter select{
  min-width:260px;
  height:36px;
}
body[data-management-page="logs"] #mgTable td:first-child{
  white-space:nowrap;
  font-weight:700;
  color:#475569;
}



/* V98 — Confirmation Logs copy-as-image action */
body[data-management-page="logs"] #copyConfirmationTableImage{
  min-width:112px;
}
body[data-management-page="logs"] #copyConfirmationTableImage:disabled{
  cursor:wait;
  opacity:.72;
}

/* V157 Backup / Restore actions */
.backup-row-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.backup-row-actions .mg-icon-btn{width:34px;min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.backup-card .mg-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* V159 Restore Project modal */
.restore-project-modal{position:fixed;inset:0;z-index:2147483000;background:rgba(15,23,42,.42);padding:20px;overflow:auto}
.restore-project-modal.hidden{display:none!important}
.restore-project-modal.show{display:flex!important;align-items:center;justify-content:center}
.restore-project-modal .modal-dialog{width:min(620px,calc(100vw - 40px));margin:auto}
.restore-project-modal .modal-content{background:#fff;border:1px solid #dbe3ee;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.restore-project-modal .modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e5e7eb}
.restore-project-modal .modal-header h2{margin:0;font-size:18px;font-weight:900}
.restore-project-modal .modal-header p{margin:4px 0 0;color:#64748b;font-size:13px}
.restore-project-modal .modal-body{display:grid;gap:16px;padding:20px}
.restore-project-modal .field{display:grid;gap:7px}
.restore-project-modal .field>span{font-size:12px;font-weight:800;color:#334155}
.restore-project-modal input[type="text"],.restore-project-modal input[type="file"]{width:100%;min-height:40px;border:1px solid #cbd5e1;background:#fff;padding:9px 11px}
.restore-project-modal .restore-file-field small{color:#64748b;line-height:1.4}
.restore-project-modal .restore-file-field small.is-ready{color:#15803d}
.restore-project-modal .restore-file-field small.is-error{color:#b91c1c}
.restore-project-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #e5e7eb}
body.modal-open{overflow:hidden}


/* Leave management */
.leave-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-status{display:inline-flex;align-items:center;border:1px solid #dfe5ef;padding:4px 8px;font-size:12px;font-weight:800;background:#f8fafc}.leave-status.is-pending{color:#8a5a00;background:#fff8e6;border-color:#f1d79c}.leave-status.is-approved{color:#0b6b3a;background:#eaf8f0;border-color:#bce6cc}.leave-status.is-rejected{color:#9b1c2c;background:#fff0f2;border-color:#f1c2c9}.leave-status.is-cancelled{color:#5f6878;background:#f3f5f8}.leave-user-cell{display:flex;flex-direction:column;gap:2px}.leave-user-cell small,.leave-decision-note{color:#69778e;font-size:12px}.leave-reason{max-width:360px;white-space:normal;line-height:1.35}.leave-manager-warning{color:#8a5a00}.leave-manager-ok{color:#0b6b3a}

/* DataTables current-view export controls */
.dt-container .dt-layout-row:has(.mortx-export-button){align-items:center!important;gap:8px!important;}
.dt-container .dt-buttons{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}
.dt-container .dt-button.mortx-export-button{min-height:32px!important;height:32px!important;padding:0 11px!important;border:1px solid #cbd5e1!important;border-radius:0!important;background:#fff!important;color:#334155!important;font:800 11px/1 inherit!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;}
.dt-container .dt-button.mortx-export-button:hover,.dt-container .dt-button.mortx-export-button:focus{background:#f8fafc!important;border-color:#94a3b8!important;color:#0f172a!important;}

/* DataTable custom page actions: existing page actions live with export controls. */
.mortx-page-actions-mounted { display: none !important; }
.dt-buttons .mortx-datatable-custom-action {
  margin: 0;
  text-decoration: none;
}

/* Keep management DataTables toolbar controls aligned with the shared 36px system size. */
.dt-container .dt-buttons > .dt-button,
.dt-container .dt-buttons > .mortx-datatable-custom-action {
  box-sizing: border-box !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-width: 1px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* v23 — unified application shell for management pages */
body.mg-unified-shell{--mg-sidebar-w:236px;padding-left:var(--mg-sidebar-w);min-height:100vh;background:#f6f8fb;}
.mg-sidebar{position:fixed;inset:0 auto 0 0;width:var(--mg-sidebar-w);z-index:1000;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e4e7ec;overflow-y:auto;}
.mg-sidebar-brand{min-height:76px;display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eef1f5;color:#1d2939;text-decoration:none;}
.mg-sidebar-brand:hover{color:#1d2939;}.mg-sidebar-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:8px;background:#2563eb;color:#fff;font-weight:900;}
.mg-sidebar-brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.1}.mg-sidebar-brand-copy strong{font-size:13px;font-weight:850;letter-spacing:.01em}.mg-sidebar-brand-copy small{margin-top:4px;color:#98a2b3;font-size:10px;font-weight:600;}
.mg-sidebar-nav{padding:14px 10px 22px}.mg-sidebar-group+.mg-sidebar-group{margin-top:18px}.mg-sidebar-label{padding:0 10px 7px;color:#98a2b3;font-size:10px;font-weight:700;line-height:1;letter-spacing:.09em;}
.mg-sidebar-link{min-height:40px;display:flex;align-items:center;gap:10px;padding:7px 10px;margin:2px 0;border-radius:7px;color:#475467;text-decoration:none;font-size:12px;font-weight:650;transition:background .15s ease,color .15s ease;}
.mg-sidebar-link>span{width:22px;display:grid;place-items:center;color:#667085}.mg-sidebar-link b{font-weight:650}.mg-sidebar-link:hover{background:#f2f4f7;color:#1d2939}.mg-sidebar-link.active{background:#eef4ff;color:#175cd3}.mg-sidebar-link.active>span{color:#175cd3}.mg-sidebar-link[hidden]{display:none!important;}
body.mg-unified-shell .mg-app{max-width:none;margin:0;padding:20px 24px 28px;}
body.mg-unified-shell .mg-header{min-height:58px;margin:-20px -24px 18px;padding:10px 24px;border-width:0 0 1px;box-shadow:none;justify-content:flex-end;}
body.mg-unified-shell .mg-header .mg-brand,body.mg-unified-shell .mg-header .mg-back{display:none!important;}
body.mg-unified-shell .mg-account-menu a{display:none!important;}body.mg-unified-shell .mg-account-menu button{border-bottom:0;}
body.mg-unified-shell .mg-page-shell{max-width:100%;}


/* v24 — management pages embedded inside the main application shell. */
html.mortx-management-embedded,html.mortx-management-embedded body{background:#f8fafc!important;}
html.mortx-management-embedded .mg-app{max-width:none!important;margin:0!important;padding:12px 16px 24px!important;}
html.mortx-management-embedded .mg-header{display:none!important;}
html.mortx-management-embedded .mg-page-shell{margin:0!important;box-shadow:none!important;}

/* v29 — embedded management views use the main List-view visual rhythm. */
html.mortx-management-embedded .mg-app{padding:0!important;background:transparent!important;}
html.mortx-management-embedded .mg-page-shell{border:1px solid #dfe5ee!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;}
html.mortx-management-embedded .mg-page-head{padding:12px 14px!important;border-bottom:1px solid #e3e8ef!important;}
html.mortx-management-embedded .mg-page-head h2{font-size:16px!important;margin:0!important;}
html.mortx-management-embedded .mg-page-head p{font-size:11px!important;margin-top:2px!important;}
html.mortx-management-embedded .mg-table-wrap{padding:10px 12px 14px!important;}

/* V30 — embedded admin modules are content-only views inside the main Task Manager shell. */
html.mortx-management-embedded body[data-management-page]{margin:0!important;padding:0!important;background:transparent!important;min-height:0!important;}
html.mortx-management-embedded body[data-management-page] > .mg-sidebar,
html.mortx-management-embedded body[data-management-page] > .mg-header,
html.mortx-management-embedded body[data-management-page] .mg-header,
html.mortx-management-embedded body[data-management-page] #mgSidebar{display:none!important;}
html.mortx-management-embedded body[data-management-page] > main.mg-app{margin:0!important;max-width:none!important;width:100%!important;padding:0!important;min-height:0!important;background:transparent!important;}
html.mortx-management-embedded body[data-management-page] > main.mg-app > .mg-page-shell,
html.mortx-management-embedded body[data-management-page] > main.mg-app > .mg-card{margin:0!important;width:100%!important;max-width:none!important;border:1px solid #dfe5ee!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;}

/* v31: management modules mounted inside Task Manager are content-only. */
html.mortx-management-embedded body.mg-unified-shell{padding-left:0!important;}
html.mortx-management-embedded .mg-sidebar,html.mortx-management-embedded #mgSidebar{display:none!important;}


/* v35 — embedded management content must always consume the iframe viewport. */
html.mortx-management-embedded,
html.mortx-management-embedded body,
html.mortx-management-embedded body[data-management-page],
html.mortx-management-embedded body[data-management-page]>main.mg-app{
  width:100%!important; min-width:0!important; max-width:none!important; box-sizing:border-box!important;
}
html.mortx-management-embedded body[data-management-page]>main.mg-app>.mg-page-shell,
html.mortx-management-embedded body[data-management-page]>main.mg-app>.mg-card{
  width:100%!important; min-width:0!important; max-width:none!important; box-sizing:border-box!important;
}

/* v39 — one canonical embedded view header, matching workspace List exactly. */
html.mortx-management-embedded .mg-page-shell > .mg-page-head.compact.view-header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  width:100%!important;min-height:0!important;margin:0 0 16px!important;padding:0 0 16px!important;
  background:transparent!important;border:0!important;border-bottom:1px solid #e9eef4!important;border-radius:0!important;box-shadow:none!important;
}
html.mortx-management-embedded .mg-page-shell{
  padding:18px!important;
}
html.mortx-management-embedded .mg-page-head.view-header > .view-header-main{
  display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;margin:0!important;padding:0!important;
}
html.mortx-management-embedded .mg-page-head.view-header .view-header-title{
  display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;
  color:#20252b!important;font-size:20px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:-.02em!important;white-space:nowrap!important;
}
html.mortx-management-embedded .mg-page-head.view-header .view-header-title i{width:20px!important;color:inherit!important;font-size:18px!important;text-align:center!important;}
html.mortx-management-embedded .mg-page-head.view-header .view-header-desc{
  display:block!important;max-width:100%!important;margin:4px 0 0!important;padding:0!important;color:#64748b!important;
  font-size:12px!important;font-weight:400!important;line-height:1.35!important;letter-spacing:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html.mortx-management-embedded .mg-page-head.view-header > .view-header-controls{flex:0 0 auto!important;align-self:center!important;}


/* V62: Canonical management DataTables toolbar placement.
   Every management table uses one full-width, left-aligned buttons row so
   export controls and mounted page actions keep the same position on every page. */
body[data-management-page] .dt-container .dt-layout-row:has(.dt-buttons) {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin: 0 0 12px !important;
}
body[data-management-page] .dt-container .dt-layout-row:has(.dt-buttons) > .dt-layout-cell,
body[data-management-page] .dt-container .dt-layout-row:has(.dt-buttons) .dt-layout-cell {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
body[data-management-page] .dt-container .dt-buttons {
  width: 100% !important;
  max-width: none !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}


/* v1.0.8 — Working Hours confirmation columns */
.mortx-confirm-time{display:block;margin-top:3px;font-size:11px;color:var(--mg-muted,#718096);white-space:nowrap}

/* Working Hours confirmation range summary */

.mortx-confirm-summary{border:0;background:transparent;padding:0;color:#2563eb;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.mortx-confirm-summary:hover{color:#1d4ed8}
.mortx-confirm-summary-modal{width:min(720px,calc(100vw - 32px));max-width:720px;border-radius:14px}
.mortx-confirm-summary-modal::backdrop{background:rgba(15,23,42,.56);backdrop-filter:blur(2px)}
.mortx-confirm-summary-modal .mg-modal-panel{width:100%;max-height:min(760px,calc(100vh - 48px));overflow:hidden;border-radius:14px;background:var(--mg-surface);border:1px solid var(--mg-border);box-shadow:0 28px 80px rgba(15,23,42,.28)}
.mortx-confirm-summary-modal .mg-modal-head{padding:20px 22px;background:var(--mg-surface);border-bottom:1px solid var(--mg-border-soft);align-items:center}
.mortx-confirm-summary-modal .mg-modal-head h2{font-size:20px;line-height:1.25;color:var(--mg-text)}
.mortx-confirm-summary-modal .mg-modal-head p{margin-top:6px;color:var(--mg-muted)}
.mortx-confirm-summary-modal .mg-modal-close{border-radius:9px;background:var(--mg-surface);color:var(--mg-text);transition:background .15s ease,border-color .15s ease}
.mortx-confirm-summary-modal .mg-modal-close:hover{background:var(--mg-surface-soft,#f8fafc);border-color:#cbd5e1}
.mortx-confirm-summary-content{padding:18px 22px 8px;background:var(--mg-surface)}
.mortx-confirm-summary-wrap{max-height:480px;overflow:auto;border:1px solid var(--mg-border);border-radius:10px;background:var(--mg-surface)}
.mortx-confirm-summary-wrap .mg-table{width:100%;margin:0!important;border-collapse:separate;border-spacing:0}
.mortx-confirm-summary-wrap .mg-table thead th{position:sticky;top:0;z-index:1;padding:11px 14px;background:var(--mg-surface-soft,#f8fafc);color:var(--mg-muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--mg-border)}
.mortx-confirm-summary-wrap .mg-table tbody td{padding:13px 14px;vertical-align:middle;border-bottom:1px solid var(--mg-border-soft);color:var(--mg-text)}
.mortx-confirm-summary-wrap .mg-table tbody tr:last-child td{border-bottom:0}
.mortx-confirm-summary-wrap .mg-table tbody tr:hover td{background:rgba(148,163,184,.07)}
.mortx-confirm-date{font-weight:750;white-space:nowrap;color:var(--mg-text)}
.mortx-confirm-status{display:inline-flex;align-items:center;gap:9px;min-width:118px;color:var(--mg-text)}
.mortx-confirm-status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#94a3b8}
.mortx-confirm-status strong{display:block;font-size:12px;line-height:1.2;font-weight:750}
.mortx-confirm-status small{display:block;margin-top:3px;color:var(--mg-muted);font-size:11px;line-height:1.2}
.mortx-confirm-status.confirmed .mortx-confirm-status-dot{background:#22c55e}
.mortx-confirm-status.missed .mortx-confirm-status-dot{background:#ef4444}
.mortx-confirm-status.pending .mortx-confirm-status-dot{background:#f59e0b}
.mortx-confirm-status.na{color:var(--mg-muted)}
.mortx-confirm-summary-actions{justify-content:flex-end;padding:12px 22px 18px;border-top:0;background:var(--mg-surface)}
.mortx-confirm-summary-actions .btn{min-width:92px}


/* v1.0.98 — device access controls */
.mg-device-access{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border,#d9dee7);border-radius:12px;background:var(--surface-soft,rgba(127,127,127,.04))}.mg-device-access-copy{display:grid;gap:2px}.mg-device-access-copy small{opacity:.68}.mg-device-access-options{display:flex;flex-wrap:wrap;gap:8px 18px}.mg-device-access-options label{display:flex;align-items:center;gap:7px;margin:0;font-weight:600}.mg-device-access-options input{margin:0}

/* v1.0.116 — recurring achievement report */
.mg-report-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--mg-border,#e5e7eb);background:var(--mg-soft,#f8fafc)}
.mg-report-filters label{display:grid;gap:6px;min-width:170px;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.mg-report-filters input,.mg-report-filters select{height:38px;border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:0 10px;color:#172033;font-size:13px;font-weight:650;text-transform:none;letter-spacing:0}
.mg-cell-subtle{margin-top:3px;color:#64748b;font-size:11px;text-transform:capitalize}
.mg-modal-panel-wide{width:min(920px,calc(100vw - 40px))!important;max-width:920px!important}
.mg-modal-body{padding:16px 18px 20px}
.mg-report-detail-table{width:100%;border-collapse:collapse}
.mg-report-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#f1f5f9;color:#475569}
.mg-report-status.on-time{background:#ecfdf5;color:#047857}.mg-report-status.late{background:#fff7ed;color:#c2410c}.mg-report-status.missed{background:#fef2f2;color:#b91c1c}.mg-report-status.pending{background:#eff6ff;color:#1d4ed8}

/* v1.0.116 — Recurring Tasks report detail modal: use the available desktop canvas. */
#recurringReportModal{
  width:min(1200px,calc(100vw - 48px));
  max-width:1200px;
}
#recurringReportModal .mg-modal-panel-wide{
  width:100%!important;
  max-width:none!important;
  max-height:calc(100vh - 48px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#recurringReportModal .mg-modal-body{
  min-height:0;
  overflow:auto;
}
#recurringReportModal .mg-report-detail-table{
  min-width:820px;
}

/* Recurring report detail table actions use the same table export affordance. */
#recurringReportModal .mg-report-detail-actions{display:flex;align-items:center;gap:8px;margin:0 0 12px;}

/* v1.0.133 — management component foundation.
   One geometry contract for buttons, fields, DataTable controls and status chips. */
body[data-management-page]{--mg-control-height:38px;--mg-control-radius:8px;--mg-compact-radius:6px;}
body[data-management-page] .btn,
body[data-management-page] .mg-back,
body[data-management-page] .mg-account-toggle,
body[data-management-page] .mg-modal-close,
body[data-management-page] div.dt-container .dt-button{border-radius:var(--mg-control-radius)!important;}
body[data-management-page] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body[data-management-page] select,
body[data-management-page] textarea,
body[data-management-page] .form-control,
body[data-management-page] .form-select,
body[data-management-page] div.dt-container .dt-input,
body[data-management-page] div.dt-container .dt-search input{border-radius:var(--mg-control-radius)!important;}
body[data-management-page] input:focus,
body[data-management-page] select:focus,
body[data-management-page] textarea:focus,
body[data-management-page] button:focus-visible,
body[data-management-page] .btn:focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;}
body[data-management-page] .mg-report-status,
body[data-management-page] [class*="-badge"],
body[data-management-page] [class*="-chip"]{border-radius:var(--mg-compact-radius)!important;}



/* v1.0.133 — management modal/DataTable/form authority.
   Feature rules may size layouts; shared primitives own interactive geometry. */
body[data-management-page]{--mg-modal-radius:12px;}
body[data-management-page] .mg-modal-panel,
body[data-management-page] .modal-content,
body[data-management-page] .restore-project-modal .modal-content{border-radius:var(--mg-modal-radius)!important;overflow:hidden;}
body[data-management-page] .mg-modal-head,
body[data-management-page] .mg-modal-actions,
body[data-management-page] .modal-header,
body[data-management-page] .modal-footer{border-radius:0!important;}
body[data-management-page] .mg-modal-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body[data-management-page] .mg-modal-form select,
body[data-management-page] .mg-modal-form textarea,
body[data-management-page] .restore-project-modal input[type="text"],
body[data-management-page] .restore-project-modal input[type="file"]{border-radius:var(--mg-control-radius)!important;}
body[data-management-page] .mg-modal-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body[data-management-page] .mg-modal-form select{min-height:var(--mg-control-height)!important;}
body[data-management-page] .dt-container .dt-buttons > .dt-button,
body[data-management-page] .dt-container .dt-buttons > .mortx-datatable-custom-action,
body[data-management-page] .dt-container .dt-button.mortx-export-button{height:36px!important;min-height:36px!important;border-radius:var(--mg-control-radius)!important;}
body[data-management-page] .dt-container .dt-search input,
body[data-management-page] .dt-container .dt-length select,
body[data-management-page] .dt-container .dt-input{min-height:36px!important;height:36px!important;border-radius:var(--mg-control-radius)!important;}

/* v1.0.133 — canonical embedded management surfaces.
   Embedded pages keep the shared shell layout; component surfaces own their radius. */
html.mortx-management-embedded body[data-management-page]{--mg-surface-radius:6px;--mg-section-radius:5px;}
html.mortx-management-embedded body[data-management-page] > main.mg-app > .mg-page-shell,
html.mortx-management-embedded body[data-management-page] > main.mg-app > .mg-card{
  border-radius:var(--mg-surface-radius)!important;
  overflow:hidden!important;
}
html.mortx-management-embedded .mg-table-wrap,
html.mortx-management-embedded .file-directory-table-wrap,
html.mortx-management-embedded .inventory-table-wrap,
html.mortx-management-embedded .backup-table-wrap,
html.mortx-management-embedded .mg-toolbar,
html.mortx-management-embedded .mg-filter-toolbar{
  border-radius:var(--mg-section-radius)!important;
}
html.mortx-management-embedded .confirmation-range-field,
html.mortx-management-embedded .confirmation-user-filter{
  border-radius:var(--mg-control-radius)!important;
}
/* Header is an internal divider, not a standalone card. */
html.mortx-management-embedded .mg-page-shell > .mg-page-head.compact.view-header{border-radius:0!important;}


/* v1.0.133 — canonical page architecture.
   Every embedded Admin/Report/feature page follows:
   page -> surface -> header (heading + actions) -> toolbar -> content.
   Feature CSS may arrange feature content, but must not redefine generic component geometry. */
body[data-management-page]{
  --mortx-page-bg:#f4f7fb;
  --mortx-page-surface:#fff;
  --mortx-page-border:#dce4ed;
  --mortx-page-border-soft:#e9eef4;
  --mortx-page-radius:6px;
  --mortx-section-radius:5px;
  --mortx-control-radius:5px;
  --mortx-control-height:36px;
  --mortx-page-gap:14px;
  --mg-bg:var(--mortx-page-bg);
  --mg-surface:var(--mortx-page-surface);
  --mg-border:var(--mortx-page-border);
  --mg-border-soft:var(--mortx-page-border-soft);
  --mg-surface-radius:var(--mortx-page-radius);
  --mg-section-radius:var(--mortx-section-radius);
  --mg-control-radius:var(--mortx-control-radius);
  --mg-control-height:var(--mortx-control-height);
}
body[data-management-page] .mortx-page{width:100%;}
body[data-management-page] .mortx-page-surface,
body[data-management-page] .mg-page-shell{
  background:var(--mortx-page-surface)!important;
  border:1px solid var(--mortx-page-border)!important;
  border-radius:var(--mortx-page-radius)!important;
  overflow:hidden!important;
}
body[data-management-page] .mortx-page-header,
body[data-management-page] .mg-page-shell > .mg-page-head.compact.view-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:0 0 14px!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--mortx-page-border-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body[data-management-page] .mortx-page-heading{min-width:0;flex:1 1 auto;}
body[data-management-page] .mortx-page-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px;}
body[data-management-page] .mortx-page-toolbar,
body[data-management-page] .mg-filter-toolbar{
  border-radius:var(--mortx-section-radius)!important;
}
body[data-management-page] .mortx-page-content,
body[data-management-page] .mg-table-wrap,
body[data-management-page] .file-directory-table-wrap,
body[data-management-page] .inventory-table-wrap,
body[data-management-page] .backup-table-wrap{
  border-radius:var(--mortx-section-radius)!important;
  overflow:hidden;
}
/* Generic component geometry has one owner. Semantic feature classes may change color only. */
body[data-management-page] .btn,
body[data-management-page] button:not(.mg-modal-close):not(.dt-paging-button),
body[data-management-page] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body[data-management-page] select,
body[data-management-page] textarea{
  border-radius:var(--mortx-control-radius)!important;
}


/* v1.0.133 — restrained management/report surfaces. */
body[data-management-page]{--mortx-page-radius:6px;--mortx-section-radius:5px;--mortx-control-radius:5px;--mortx-control-height:36px;--mortx-page-gap:12px;}
body[data-management-page] .mortx-page-surface,
body[data-management-page] .mg-page-shell,
body[data-management-page] .mg-card,
body[data-management-page] .mg-table-wrap,
body[data-management-page] .mg-toolbar,
body[data-management-page] .mg-filter-toolbar{box-shadow:none!important;}
body[data-management-page] .mg-modal-panel{border-radius:6px!important;box-shadow:0 12px 32px rgba(15,23,42,.14)!important;}
body[data-management-page] .btn{font-weight:700!important;}

/* EOD Reports — uses the shared management page/card/table system. */
body[data-management-page="eod-reports"] .eod-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--mg-border,#e5e7eb);background:var(--mg-surface,#fff)}
body[data-management-page="eod-reports"] .eod-report-summary>div{display:grid;gap:4px;padding:14px 18px;border-right:1px solid var(--mg-border-soft,#edf0f3)}
body[data-management-page="eod-reports"] .eod-report-summary>div:last-child{border-right:0}
body[data-management-page="eod-reports"] .eod-report-summary span{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-report-summary strong{font-size:22px;line-height:1.15;color:var(--mg-text,#172033)}
@media(max-width:720px){body[data-management-page="eod-reports"] .eod-report-summary{grid-template-columns:1fr}body[data-management-page="eod-reports"] .eod-report-summary>div{border-right:0;border-bottom:1px solid var(--mg-border-soft,#edf0f3)}body[data-management-page="eod-reports"] .eod-report-summary>div:last-child{border-bottom:0}}


/* v1.0.141 — standardized report filter bar. EOD Reports is the canonical layout. */
.mg-report-filter-actions{display:flex;align-items:end;gap:8px;min-height:38px}
.mg-report-filter-actions .btn{height:38px;min-height:38px;margin:0;white-space:nowrap}
.mg-report-filter-actions .btn.icon-only{width:38px;min-width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){.mg-report-filters{align-items:stretch}.mg-report-filters label{min-width:min(100%,170px);flex:1 1 170px}.mg-report-filter-actions{align-self:end}}


/* v1.0.169 — EOD visual output analysis. */
body[data-management-page="eod-reports"] .eod-analysis-modal{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:18px;border:0;background:rgba(15,23,42,.38)}
body[data-management-page="eod-reports"] .eod-analysis-modal::backdrop{background:rgba(15,23,42,.38)}
body[data-management-page="eod-reports"] .eod-analysis-panel{width:100%;height:100%;max-width:none;display:flex;flex-direction:column;overflow:hidden;background:var(--mg-surface,#fff)}
body[data-management-page="eod-reports"] .eod-analysis-panel>.mg-modal-head{flex:0 0 auto;padding:18px 22px;border-bottom:1px solid var(--mg-border,#e5e7eb)}
body[data-management-page="eod-reports"] .eod-analysis-panel>.mg-modal-head h2{margin:0 0 4px;font-size:20px}
body[data-management-page="eod-reports"] .eod-analysis-panel>.mg-modal-head p{margin:0;color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-analysis-body{flex:1 1 auto;overflow:auto;padding:20px 22px 28px;background:var(--mortx-page-bg,#f4f7fb)}
body[data-management-page="eod-reports"] .eod-analysis-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
body[data-management-page="eod-reports"] .eod-analysis-kpis>div,body[data-management-page="eod-reports"] .eod-analysis-section{background:var(--mg-surface,#fff);border:1px solid var(--mg-border,#dce4ed);border-radius:6px;padding:16px}
body[data-management-page="eod-reports"] .eod-analysis-kpis span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-analysis-kpis strong{display:block;margin:5px 0 2px;font-size:24px;line-height:1.1;color:var(--mg-text,#172033)}
body[data-management-page="eod-reports"] .eod-analysis-kpis small{color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-analysis-section{margin-bottom:14px}
body[data-management-page="eod-reports"] .eod-analysis-section h3{margin:0 0 4px;font-size:14px}
body[data-management-page="eod-reports"] .eod-analysis-section-head p{margin:0 0 14px;color:var(--mg-muted,#64748b);font-size:12px}
body[data-management-page="eod-reports"] .eod-analysis-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
body[data-management-page="eod-reports"] .eod-analysis-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-management-page="eod-reports"] .eod-analysis-insights article{display:flex;gap:10px;padding:12px;border:1px solid var(--mg-border-soft,#e9eef4);border-radius:5px;background:var(--mortx-page-bg,#f8fafc)}
body[data-management-page="eod-reports"] .eod-analysis-insights article i{margin-top:2px;color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-analysis-insights strong{font-size:12px}
body[data-management-page="eod-reports"] .eod-analysis-insights p{margin:3px 0 0;font-size:12px;line-height:1.45;color:var(--mg-muted,#64748b)}
body[data-management-page="eod-reports"] .eod-analysis-chart{display:grid;gap:12px;margin-top:14px}
body[data-management-page="eod-reports"] .eod-analysis-bar-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:11px}
body[data-management-page="eod-reports"] .eod-analysis-bar-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-management-page="eod-reports"] .eod-analysis-bar-label strong{flex:0 0 auto}
body[data-management-page="eod-reports"] .eod-analysis-bar-track{height:8px;overflow:hidden;border-radius:4px;background:var(--mg-border-soft,#e9eef4)}
body[data-management-page="eod-reports"] .eod-analysis-bar-track>span{display:block;height:100%;border-radius:inherit;background:currentColor;color:#5b7cfa}
body[data-management-page="eod-reports"] .eod-analysis-empty{padding:22px;text-align:center;color:var(--mg-muted,#64748b);border:1px dashed var(--mg-border,#dce4ed);border-radius:5px}
@media(max-width:1000px){body[data-management-page="eod-reports"] .eod-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-management-page="eod-reports"] .eod-analysis-grid,body[data-management-page="eod-reports"] .eod-analysis-insights{grid-template-columns:1fr}}
/* v1.0.191 Employee Full Evaluation — scoped report components, built on the shared management shell. */
body[data-management-page="employee-evaluation"] .eval-filters{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr)) auto}
body[data-management-page="employee-evaluation"] .eval-loading{padding:28px;color:var(--mg-muted,#64748b);text-align:center}
body[data-management-page="employee-evaluation"] #evalContent{padding:18px;background:var(--mortx-page-bg,#f4f7fb)}
body[data-management-page="employee-evaluation"] .eval-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px;margin-bottom:14px;border:1px solid var(--mg-border,#dce4ed);border-radius:8px;background:var(--mg-surface,#fff)}
body[data-management-page="employee-evaluation"] .eval-eyebrow{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--mg-muted,#64748b)}
body[data-management-page="employee-evaluation"] .eval-hero h3{margin:5px 0 3px;font-size:24px;color:var(--mg-text,#172033)}body[data-management-page="employee-evaluation"] .eval-hero p{margin:0;color:var(--mg-muted,#64748b)}
body[data-management-page="employee-evaluation"] .eval-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}body[data-management-page="employee-evaluation"] .eval-hero-meta span{padding:6px 9px;border:1px solid var(--mg-border,#dce4ed);border-radius:5px;font-size:11px;color:var(--mg-muted,#64748b)}
body[data-management-page="employee-evaluation"] .eval-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
body[data-management-page="employee-evaluation"] .eval-kpi-grid>.eval-metric,body[data-management-page="employee-evaluation"] .eval-panel{border:1px solid var(--mg-border,#dce4ed);border-radius:8px;background:var(--mg-surface,#fff)}
body[data-management-page="employee-evaluation"] .eval-kpi-grid>.eval-metric{padding:14px}
body[data-management-page="employee-evaluation"] .eval-grid{display:grid;gap:14px;margin-bottom:14px}body[data-management-page="employee-evaluation"] .eval-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-management-page="employee-evaluation"] .eval-panel{padding:16px;margin-bottom:14px}body[data-management-page="employee-evaluation"] .eval-grid .eval-panel{margin-bottom:0}
body[data-management-page="employee-evaluation"] .eval-panel-head{margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--mg-border-soft,#edf0f3)}body[data-management-page="employee-evaluation"] .eval-panel-head h3{margin:0 0 3px;font-size:14px;color:var(--mg-text,#172033)}body[data-management-page="employee-evaluation"] .eval-panel-head p{margin:0;font-size:11px;color:var(--mg-muted,#64748b)}
body[data-management-page="employee-evaluation"] .eval-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}body[data-management-page="employee-evaluation"] .eval-metric{min-width:0}body[data-management-page="employee-evaluation"] .eval-metric span{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mg-muted,#64748b)}body[data-management-page="employee-evaluation"] .eval-metric strong{display:block;margin-top:5px;font-size:20px;color:var(--mg-text,#172033)}body[data-management-page="employee-evaluation"] .eval-metric small{display:block;margin-top:3px;font-size:10px;color:var(--mg-muted,#64748b)}
body[data-management-page="employee-evaluation"] .eval-trend{display:grid;gap:8px;max-height:320px;overflow:auto}body[data-management-page="employee-evaluation"] .eval-bar>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:11px}body[data-management-page="employee-evaluation"] .eval-bar i{display:block;height:7px;border-radius:4px;background:var(--mg-border-soft,#e9eef4);overflow:hidden}body[data-management-page="employee-evaluation"] .eval-bar b{display:block;height:100%;border-radius:inherit;background:currentColor;color:#5b7cfa}
body[data-management-page="employee-evaluation"] .eval-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body[data-management-page="employee-evaluation"] .eval-insights article{display:flex;gap:10px;padding:12px;border:1px solid var(--mg-border-soft,#edf0f3);border-radius:6px;background:var(--mortx-page-bg,#f8fafc)}body[data-management-page="employee-evaluation"] .eval-insights i{margin-top:2px;color:var(--mg-muted,#64748b)}body[data-management-page="employee-evaluation"] .eval-insights strong{font-size:12px}body[data-management-page="employee-evaluation"] .eval-insights p{margin:3px 0 0;font-size:11px;line-height:1.45;color:var(--mg-muted,#64748b)}
@media(max-width:1100px){body[data-management-page="employee-evaluation"] .eval-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-management-page="employee-evaluation"] .eval-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body[data-management-page="employee-evaluation"] .eval-filters,body[data-management-page="employee-evaluation"] .eval-grid.two{grid-template-columns:1fr}body[data-management-page="employee-evaluation"] .eval-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-management-page="employee-evaluation"] .eval-hero{align-items:flex-start;flex-direction:column}body[data-management-page="employee-evaluation"] .eval-hero-meta{justify-content:flex-start}body[data-management-page="employee-evaluation"] .eval-insights{grid-template-columns:1fr}}

/* v1.0.191 — Employee Evaluation reusable chart surfaces. */
body[data-management-page="employee-evaluation"] .eval-chart-wrap{position:relative;height:280px;min-width:0}
body[data-management-page="employee-evaluation"] .eval-chart-wide{height:320px}
body[data-management-page="employee-evaluation"] .eval-chart-grid .eval-panel{min-width:0}
@media(max-width:760px){body[data-management-page="employee-evaluation"] .eval-chart-wrap,body[data-management-page="employee-evaluation"] .eval-chart-wide{height:250px}}

/* Canonical report filter toolbar: Working Hours, Deliverables, Recurring Tasks. */
.mortx-standard-report-filters{display:grid;grid-template-columns:144px 144px max-content 164px 144px 144px;align-items:end;justify-content:start;gap:10px;padding:14px 16px;background:#f8fbff;border-bottom:1px solid var(--mg-border,#e5e7eb)}
.mortx-standard-report-filters label{display:grid;min-width:0;gap:6px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.mortx-standard-report-filters input,.mortx-standard-report-filters select{box-sizing:border-box;width:100%;height:34px;border:1px solid #d4dce8;border-radius:6px;background:#fff;color:#283341;font-size:12px;font-weight:650;letter-spacing:normal;text-transform:none;padding:0 10px}
.mortx-standard-report-filters .mg-report-filter-actions{display:flex;gap:8px;align-items:end;min-height:34px;align-self:end}
.mortx-standard-report-filters .mg-report-filter-actions .btn{height:34px;min-height:34px;border-radius:6px;font-size:12px;padding:0 10px}
.mortx-standard-report-filters .mg-report-filter-actions .btn.icon-only{width:34px;min-width:34px;padding:0}
@media(max-width:1050px){.mortx-standard-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.mortx-standard-report-filters .mg-report-filter-actions{justify-content:start}}
@media(max-width:650px){.mortx-standard-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.mortx-standard-report-filters .mg-report-filter-actions{grid-column:1/-1}}


\n/* Recurring popup: compact management action, same design tokens as header controls. */\n.recurring-manage-foot{display:flex;justify-content:flex-end;padding:6px 12px!important}\n.recurring-manage-foot #recurringManageOpenBtn{width:auto;min-width:0;height:30px;display:inline-flex;gap:6px;padding:0 9px;font-size:11px;font-weight:650;border-radius:6px}\n
/* Recurring editor: use the same modal, field and button primitives as task forms. */
#mortxRecurringEditor.mortx-recurring-editor{position:fixed;inset:0;z-index:100001;background:rgba(15,23,42,.45);overflow-y:auto}
#mortxRecurringEditor.mortx-recurring-editor.hidden{display:none!important}
#mortxRecurringEditor .modal-dialog{margin:1.75rem auto;max-width:min(650px,calc(100% - 32px));min-height:calc(100% - 3.5rem);display:flex;align-items:center;pointer-events:none}
#mortxRecurringEditor .modal-content{width:100%;max-height:calc(100vh - 56px);overflow:auto;pointer-events:auto}
#mortxRecurringEditor .modal-body{padding:20px 24px}
#mortxRecurringEditor .mortx-recurring-editor-form{display:grid;gap:14px}
#mortxRecurringEditor .mortx-recurring-editor-form .field{display:grid;gap:6px;margin:0}
#mortxRecurringEditor .mortx-recurring-editor-form input,#mortxRecurringEditor .mortx-recurring-editor-form select{width:100%;box-sizing:border-box}
#mortxRecurringEditor .mortx-recurring-editor-actions{display:flex;justify-content:flex-end;margin-top:4px}
#mortxRecurringEditor .mortx-recurring-editor-section{border-top:1px solid var(--border,#e2e8f0);margin-top:20px;padding-top:16px}
#mortxRecurringEditor .mortx-recurring-editor-section h3{font-size:15px;font-weight:700;margin:0 0 12px}
@media(max-width:640px){#mortxRecurringEditor .modal-dialog{margin:12px auto;min-height:calc(100% - 24px)}#mortxRecurringEditor .modal-body{padding:16px}}
