/* V18.9 production finish: restrained motion, clearer focus, and consistent depth. */
:root {
  --dd-shadow-sm: 0 2px 8px rgba(16, 12, 0, .06);
  --dd-shadow-md: 0 12px 28px rgba(16, 12, 0, .10);
  --dd-focus: rgba(225, 173, 1, .28);
}

.card,
.filter-box,
.settings-section,
.data-table-wrap,
.v17-card {
  box-shadow: var(--dd-shadow-sm);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

/* V18.10.15 — centralized professional PDF template studio. */
.pdf-template-settings{position:relative;overflow:hidden;border:1px solid #e3dccb;background:linear-gradient(145deg,#fff 0%,#fffdf7 100%)}
.pdf-template-settings::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#111 0 24%,#e1ad01 24% 72%,#f4d979 72%);pointer-events:none}
.settings-kicker{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a17b00;margin-bottom:.28rem}
.pdf-template-access-note{display:flex;align-items:center;gap:.65rem;border-radius:10px;padding:.62rem .78rem;margin-bottom:1rem;font-size:.78rem}
.pdf-template-access-note.is-authorized{background:#edf8f3;color:#116744;border:1px solid #ccebdd}.pdf-template-access-note.is-readonly{background:#f5f5f5;color:#5e6268;border:1px solid #e1e2e4}
.pdf-template-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.7rem}
.pdf-template-option{display:grid;grid-template-columns:auto 88px minmax(0,1fr);align-items:center;gap:.7rem;border:1px solid #dadde2;border-radius:12px;padding:.72rem;background:#fff;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.pdf-template-option:hover{transform:translateY(-1px);border-color:#c9a333}.pdf-template-option.is-selected{border-color:#e1ad01;box-shadow:0 0 0 3px rgba(225,173,1,.15)}.pdf-template-option:has(input:disabled){cursor:default;transform:none}
.pdf-template-option>span:last-child{min-width:0}.pdf-template-option strong{display:block;font-size:.84rem}.pdf-template-option small{display:block;color:#71767d;font-size:.68rem;line-height:1.25;margin-top:.18rem}
.pdf-template-swatch{position:relative;display:block;width:88px;height:52px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;overflow:hidden;box-shadow:0 3px 8px rgba(0,0,0,.06)}
.pdf-template-swatch i,.pdf-template-swatch b,.pdf-template-swatch em{position:absolute;display:block}.pdf-template-swatch i{inset:0 0 auto;height:16px;background:#111}.pdf-template-swatch b{left:8px;right:8px;top:25px;height:3px;background:#e1ad01}.pdf-template-swatch em{left:8px;right:22px;top:35px;height:2px;background:#ddd;box-shadow:0 5px #e9e9e9}
.pdf-template-swatch-classic i{height:5px;background:#b88900}.pdf-template-swatch-classic b{top:19px;background:#222;height:2px;box-shadow:0 5px #b88900}.pdf-template-swatch-minimal i{left:8px;top:9px;bottom:9px;width:4px;height:auto;background:#e1ad01}.pdf-template-swatch-minimal b{left:19px;top:15px;right:16px;height:3px;background:#222}
.pdf-template-fields{border:1px solid #e2e3e6;border-radius:12px;background:#fff;padding:1rem;height:100%}.pdf-template-fields .form-label{font-size:.74rem;font-weight:700;margin-bottom:.3rem}
.pdf-template-switches{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;padding-top:.2rem}.pdf-template-switches .form-check{margin:0;font-size:.76rem}
.pdf-preview-label{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:.67rem;font-weight:800;letter-spacing:.1em;color:#6f6a60;margin:0 0 .45rem}.pdf-preview-label small{font-size:.62rem;font-weight:600;letter-spacing:0;text-transform:none;color:#999}
.pdf-template-preview{--pdf-accent:#e1ad01;--pdf-header:#111;--pdf-header-text:#fff;--pdf-footer:#f7f4eb;--pdf-footer-text:#5f5a4f;border:1px solid #d9d4ca;border-radius:12px;background:#e9e7e1;padding:.8rem;min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pdf-preview-sheet{width:100%;max-width:520px;aspect-ratio:1.414/1;background:#fff;border-radius:4px;box-shadow:0 12px 30px rgba(20,18,13,.17);overflow:hidden;display:flex;flex-direction:column;font-size:6px;color:#1a1a1a}
.pdf-preview-top{height:22%;padding:4.8% 5%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--pdf-header);color:var(--pdf-header-text);border-top:6px solid var(--pdf-accent)}
.pdf-preview-brand{display:flex;align-items:center;gap:7px;min-width:0}.pdf-preview-brand img{width:30px;height:30px;object-fit:contain}.pdf-preview-brand span{min-width:0}.pdf-preview-brand b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-preview-brand small{display:block;opacity:.72;margin-top:2px}.pdf-preview-top>strong{text-align:right;text-transform:uppercase;letter-spacing:.07em;max-width:36%}
.pdf-preview-filter{padding:3% 5% 1%;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:2% 5%}.pdf-preview-cards span{background:#fbfaf5;border:1px solid #e5e0d4;border-radius:3px;padding:6px}.pdf-preview-cards small,.pdf-preview-cards b{display:block}.pdf-preview-cards b{font-size:9px;margin-top:2px}
.pdf-preview-table{display:grid;grid-template-columns:1.3fr 1fr .8fr;margin:1% 5%;border:1px solid #ddd}.pdf-preview-table>*{padding:5px;border-bottom:1px solid #e5e5e5}.pdf-preview-table b{background:#171717;color:#fff;border-bottom-color:var(--pdf-accent)}.pdf-preview-table>*:nth-child(3n){text-align:right}
.pdf-preview-footer{margin-top:auto;min-height:16%;display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:5px;padding:3% 5%;background:var(--pdf-footer);color:var(--pdf-footer-text);border-top:2px solid var(--pdf-accent)}.pdf-preview-footer b{text-align:center}.pdf-preview-footer em{text-align:right;font-style:normal}
.pdf-template-preview[data-template="classic"] .pdf-preview-top{border-top:0;border-bottom:4px double var(--pdf-accent)}.pdf-template-preview[data-template="minimal"] .pdf-preview-top{height:18%;border-top:0;border-left:7px solid var(--pdf-accent)}
.pdf-template-guarantee{display:flex;align-items:center;gap:.55rem;margin-top:1rem;padding:.68rem .8rem;border-radius:10px;background:#fff8dc;border:1px solid #f0dc8b;color:#5e4a00;font-size:.74rem}.pdf-template-guarantee i{color:#b18400}
@media(max-width:1000px){.pdf-template-option-grid{grid-template-columns:1fr}.pdf-template-option{grid-template-columns:auto 78px minmax(0,1fr)}.pdf-template-preview{min-height:300px}}
@media(max-width:575.98px){.pdf-template-settings{padding:.85rem}.pdf-template-option{grid-template-columns:auto 64px minmax(0,1fr);padding:.6rem}.pdf-template-swatch{width:64px;height:44px}.pdf-template-fields{padding:.75rem}.pdf-template-preview{padding:.45rem;min-height:230px}.pdf-template-switches{display:grid;grid-template-columns:1fr 1fr}.pdf-preview-footer{grid-template-columns:1fr auto}.pdf-preview-footer b{grid-column:1/-1;grid-row:2}.pdf-preview-footer em{grid-column:2;grid-row:1}}

.card:hover,
.v17-card:hover {
  box-shadow: var(--dd-shadow-md);
}

.btn,
.form-control,
.form-select,
.nav-link,
[role="button"] {
  transition: color .15s ease, background-color .15s ease, border-color .15s ease,
    box-shadow .15s ease, transform .15s ease;
}

.btn:not(:disabled):active { transform: translateY(1px); }
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
[role="button"]:focus-visible,
a:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 .22rem var(--dd-focus) !important;
}

.table > tbody > tr { transition: background-color .14s ease; }
.table > tbody > tr:hover > * { background-color: #fffdf4; }
.badge { letter-spacing: .01em; }

.v18-live-pill i,
.dd-live-dot,
.employee-live-dot {
  animation: dd-live-pulse 1.8s ease-in-out infinite;
}

@keyframes dd-live-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(25, 135, 84, .28); }
  50% { box-shadow: 0 0 0 6px rgba(25, 135, 84, 0); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* V18.9.3: location menus must paint above following KPI/table cards. */
.filter-box.dd-location-layer-open,
.filter-box:has(details.dd-actual-loc-details[open]),
.filter-box:has(details.dd-actual-multi-details[open]) {
  position: relative !important;
  z-index: 1200 !important;
  overflow: visible !important;
  isolation: auto !important;
}
.filter-box.dd-location-layer-open form,
.filter-box.dd-location-layer-open [class*="col-"]:has(details[open]),
.filter-box details.dd-actual-loc-details[open],
.filter-box details.dd-actual-multi-details[open] {
  position: relative !important;
  z-index: 1210 !important;
  overflow: visible !important;
}
.filter-box .dd-actual-menu {
  z-index: 1220 !important;
  max-width: min(440px, calc(100vw - 24px)) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .22) !important;
}
.filter-box.dd-location-layer-open + #pageSummary,
.filter-box.dd-location-layer-open ~ #pageSummary,
.filter-box.dd-location-layer-open ~ .row,
#pageSummary { position: relative; z-index: 1; }

/* Toast-inspired compact date-range selector shared by all reporting pages. */
.filter-box.dd-range-layer-open,
.filter-box:has(.dd-toast-range.is-open) {
  position: relative !important;
  z-index: 1180 !important;
  overflow: visible !important;
}
.dd-toast-range {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(180px, 1fr) 38px;
  width: 100%;
  min-width: 0;
}
.dd-toast-range-step {
  width: 38px;
  min-width: 38px;
  padding: 0;
  border-radius: 0;
}
.dd-toast-range-step:first-child { border-radius: 9px 0 0 9px; }
.dd-toast-range-step:nth-of-type(3) { border-radius: 0 9px 9px 0; }
.dd-toast-range-trigger {
  min-width: 0;
  min-height: 42px;
  border: 1px solid #adb5bd;
  border-left: 0;
  border-right: 0;
  background: #fff;
  color: #171717;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .3rem .7rem;
  text-align: left;
}
.dd-toast-range-trigger > .fa-calendar { color: #5d6570; font-size: 1rem; }
.dd-toast-range-copy { min-width: 0; flex: 1; display: grid; line-height: 1.15; }
.dd-toast-range-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.dd-toast-range-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #6b7280; font-size: .68rem; margin-top: .16rem; }
.dd-toast-range-caret { color: #6b7280; font-size: .72rem; transition: transform .15s ease; }
.dd-toast-range.is-open .dd-toast-range-caret { transform: rotate(180deg); }
.dd-toast-range-trigger:focus-visible { position: relative; z-index: 2; outline: 0; box-shadow: 0 0 0 .22rem var(--dd-focus); }
.dd-toast-range-popover {
  position: absolute;
  top: calc(100% + 7px);
  right: 38px;
  width: min(650px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: 175px minmax(330px, 1fr);
  background: #fff;
  border: 1px solid #d8dadd;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .22);
  overflow: hidden;
  z-index: 1195;
}
.dd-toast-range-popover[hidden] { display: none !important; }
.dd-toast-range-presets {
  background: #fafafa;
  border-right: 1px solid #e2e3e5;
  padding: .45rem 0;
  max-height: 340px;
  overflow-y: auto;
}
.dd-toast-range-presets button {
  width: 100%;
  border: 0;
  background: transparent;
  color: #292d32;
  text-align: left;
  padding: .48rem .85rem;
  font-size: .84rem;
}
.dd-toast-range-presets button:hover { background: #f1f3f5; }
.dd-toast-range-presets button.active { background: #fff4c2; color: #4b3900; font-weight: 800; box-shadow: inset 3px 0 0 var(--mustard); }
.dd-toast-range-panel { min-width: 0; padding: .8rem; display: flex; flex-direction: column; gap: .8rem; }
.dd-toast-range-heading { display: flex; align-items: center; justify-content: space-between; font-size: .95rem; font-weight: 800; }
.dd-toast-range-heading > button { border: 0; background: transparent; color: #6b7280; width: 30px; height: 30px; border-radius: 7px; }
.dd-toast-range-heading > button:hover { background: #f3f4f6; color: #111; }
.dd-toast-range-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.dd-toast-range-fields label { font-size: .76rem; font-weight: 800; color: #454b52; }
.dd-toast-range-fields input { margin-top: .3rem; min-height: 38px; font-size: .88rem; }
.dd-toast-range-preview { min-height: 38px; border-radius: 8px; background: #f7f7f5; color: #5f6368; padding: .62rem .7rem; font-size: .8rem; }
.dd-toast-range-actions { margin-top: auto; display: flex; justify-content: flex-end; gap: .5rem; }
.dd-toast-range-actions .btn { min-width: 84px; }

/* One compact, accessible download menu for PDF, CSV and Excel. */
.dd-export-dropdown { position: relative; }
.dd-export-menu {
  left: auto;
  right: 0;
  padding: .38rem !important;
  width: 270px;
  min-width: 270px !important;
  background: #fff;
  border: 1px solid #dedede;
}
.dd-export-menu > button {
  width: 100%;
  border: 0;
  background: transparent;
  color: #202124;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: .55rem;
  align-items: center;
  text-align: left;
  border-radius: 8px;
  padding: .55rem .65rem;
}
.dd-export-menu > button:hover,
.dd-export-menu > button:focus-visible { background: #fff5c7; outline: 0; }
.dd-export-menu > button > i { color: #6a5700; text-align: center; font-size: 1rem; }
.dd-export-menu > button span { display: grid; line-height: 1.2; }
.dd-export-menu > button strong { font-size: .88rem; }
.dd-export-menu > button small { color: #6b7280; font-size: .7rem; margin-top: .12rem; }

/* Slightly denser controls without reducing touch targets below 36px. */
.action-bar { gap: 6px; }
.action-bar .btn-sm,
.action-bar .form-select-sm { min-height: 36px; }
.filter-box { padding: 12px; }
.filter-box .form-label { font-size: .78rem; font-weight: 700; }
.filter-box .form-control,
.filter-box .form-select { min-height: 38px; font-size: .92rem; }

@media (max-width: 767.98px) {
  .dd-toast-range { grid-template-columns: 36px minmax(0, 1fr) 36px; }
  .dd-toast-range-popover {
    position: fixed;
    inset: auto 10px 12px 10px;
    width: auto;
    max-height: min(76vh, 520px);
    grid-template-columns: 132px minmax(0, 1fr);
    z-index: 2147483000;
  }
  .dd-toast-range-presets { max-height: inherit; }
  .dd-toast-range-fields { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .dd-toast-range-popover { grid-template-columns: 1fr; overflow-y: auto; }
  .dd-toast-range-presets { display: grid; grid-template-columns: 1fr 1fr; max-height: 145px; border-right: 0; border-bottom: 1px solid #e2e3e5; }
  .dd-toast-range-presets button { padding: .4rem .65rem; }
}

/* =====================================================================
   V18.9.4 compact command center
   One dependable toolbar, one date control and progressive filters.
   ===================================================================== */
.dd-command-bar {
  flex: 1 1 620px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  z-index: 80;
}
.dd-command-context,
.dd-command-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.dd-command-context { margin-left: auto; }
.dd-command-context .view-select { width: 150px; max-width: 150px; }
.dd-command-context .group-by-select { width: 145px; max-width: 145px; }
.dd-command-bar .btn,
.dd-command-bar .form-select { min-height: 34px !important; font-size: .82rem !important; }
.dd-icon-label-btn { display: inline-flex; align-items: center; gap: 6px; }

.dd-command-menu { position: relative; }
.dd-command-trigger {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}
.dd-command-trigger[aria-expanded="true"] .fa-chevron-down { transform: rotate(180deg); }
.dd-command-menu-panel {
  display: none;
  position: fixed;
  inset: auto;
  margin: 0;
  z-index: 2147483200;
  width: 230px;
  padding: 6px;
  border: 1px solid #dadde2;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .18);
}
.dd-command-menu-panel:popover-open,
.dd-command-menu-panel.dd-command-fallback-open { display: block !important; }
.dd-command-menu-panel::backdrop { background: transparent; }
.dd-native-download .dd-export-menu { width: 270px; min-width: 270px !important; max-height: none !important; overflow: visible !important; }
.dd-command-item {
  width: 100%;
  min-height: 36px;
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: #202124;
  text-align: left;
  font-size: .82rem;
}
.dd-command-item:not(:disabled):hover { background: #fff5c7; }
.dd-command-item:disabled { color: #a0a4aa; cursor: not-allowed; }

.filter-box { padding: 10px 12px !important; }
.filter-box-header { min-height: 32px; margin-bottom: 7px; }
.filter-box-header .filter-collapse-toggle { min-width: 64px; min-height: 30px; padding: .2rem .55rem; font-size: .75rem; }
.dd-compact-filter-form,
.dd-analysis-filter-row,
.dd-matrix-filter-form { min-width: 0; }
.dd-filter-primary,
.dd-analysis-filter-row,
.dd-matrix-primary {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  min-width: 0;
}
.dd-filter-field { min-width: 0; }
.dd-filter-search { flex: 1.1 1 220px; }
.dd-filter-location { flex: 1 1 220px; }
.dd-filter-date { flex: 1.35 1 300px; }
.dd-filter-status { flex: .55 1 130px; }
.dd-filter-view { flex: .8 1 185px; }
.dd-filter-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.dd-filter-actions .btn { min-height: 38px; }
.dd-filter-actions .btn-outline-secondary { width: 38px; padding-left: 0; padding-right: 0; }

.dd-filter-advanced,
.dd-matrix-section {
  margin-top: 8px;
  border-top: 1px solid #ecece7;
}
.dd-filter-advanced > summary,
.dd-matrix-section > summary {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  cursor: pointer;
  color: #5a5f66;
  font-size: .78rem;
  font-weight: 750;
}
.dd-filter-advanced > summary::-webkit-details-marker,
.dd-matrix-section > summary::-webkit-details-marker { display: none; }
.dd-filter-advanced > summary::after,
.dd-matrix-section > summary::after { content: '\f107'; font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-left: auto; }
.dd-filter-advanced[open] > summary::after,
.dd-matrix-section[open] > summary::after { transform: rotate(180deg); }
.dd-filter-advanced-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  padding: 4px 0 2px;
}
.dd-filter-checks {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  min-height: 34px;
  font-size: .78rem;
}
.dd-filter-checks label { display: inline-flex; align-items: center; gap: 6px; }

.dd-toast-range { grid-template-columns: 36px minmax(0, 1fr) 36px; }
.dd-toast-range-step { width: 36px; min-width: 36px; }
.dd-toast-range-trigger { min-height: 38px; padding: .22rem .55rem; }
.dd-toast-range-copy strong { font-size: .82rem; }
.dd-toast-range-copy small { font-size: .64rem; }
.dd-toast-range-popover { left: 0; right: auto; width: min(590px, calc(100vw - 40px)); grid-template-columns: 155px minmax(300px, 1fr); }

.matrix-filter-collapsible > summary { min-height: 34px; padding: 0 !important; }
.matrix-filter-collapsible > summary .small { font-size: .7rem; }
.dd-matrix-filter-form { padding-top: 2px; }
.dd-matrix-primary .dd-matrix-load { flex: 0 0 auto; min-height: 38px; }
.dd-matrix-options-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid #ecece7;
}
.dd-matrix-switches { display: flex; flex-wrap: wrap; gap: 5px 14px; font-size: .78rem; }
.dd-matrix-switches .form-check { margin: 0; min-height: 28px; display: inline-flex; align-items: center; gap: 5px; }
.dd-matrix-section > summary small { margin-left: 6px; font-weight: 500; color: #8a8e94; }
.dd-matrix-section .matrix-category-grid { padding: 4px 0; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 6px; }
.dd-matrix-section .matrix-chip { min-height: 36px; padding: 7px 9px; font-size: .78rem; }
.dd-matrix-salary-types { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 5px 0; font-size: .78rem; }
.dd-matrix-salary-types label { display: inline-flex; align-items: center; gap: 5px; }

/* Location menus stay above results but remain compact and self-scrolling. */
.filter-box .dd-actual-menu,
.matrix-filter-collapsible .dd-actual-menu {
  width: min(370px, calc(100vw - 28px)) !important;
  max-width: min(370px, calc(100vw - 28px)) !important;
  max-height: 310px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
.filter-box .dd-actual-options,
.matrix-filter-collapsible .dd-actual-options { max-height: 220px !important; overflow-y: auto !important; }
.filter-box .dd-actual-search-row,
.matrix-filter-collapsible .dd-actual-search-row { padding: 6px; }
.filter-box .dd-actual-search,
.matrix-filter-collapsible .dd-actual-search { min-height: 34px; padding: 5px 8px; border-width: 1px; font-size: .82rem; }
.filter-box .dd-actual-option,
.filter-box .dd-actual-check,
.matrix-filter-collapsible .dd-actual-option,
.matrix-filter-collapsible .dd-actual-check { padding: 7px 9px; font-size: .8rem; }
.filter-box .dd-actual-tags,
.matrix-filter-collapsible .dd-actual-tags { margin-top: 3px; }
.filter-box .dd-actual-tags span,
.matrix-filter-collapsible .dd-actual-tags span { padding: 1px 6px; font-size: .62rem; }
.filter-box .dd-actual-actions,
.matrix-filter-collapsible .dd-actual-actions { padding: 6px; }

@media (max-width: 1199.98px) {
  .dd-command-bar { flex-basis: 100%; justify-content: space-between; }
  .dd-command-context { margin-left: 0; }
  .dd-filter-date { flex-basis: 270px; }
}

@media (max-width: 767.98px) {
  .dd-command-bar { align-items: flex-start; }
  .dd-command-context { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .dd-command-actions { width: 100%; }
  .dd-command-actions .btn,
  .dd-command-trigger { flex: 1 1 auto; }
  .dd-icon-label-btn span { display: none; }
  .dd-filter-search,
  .dd-filter-location,
  .dd-filter-date,
  .dd-filter-status,
  .dd-filter-view { flex: 1 1 100%; }
  .dd-filter-actions { width: 100%; }
  .dd-filter-actions .btn-mustard { flex: 1; }
  .dd-toast-range-popover { position: fixed; inset: auto 10px 12px 10px; width: auto; }
  .dd-matrix-primary .dd-matrix-load { width: 100%; }
  .dd-matrix-options-bar { align-items: flex-start; }
  .matrix-filter-collapsible > summary .small { display: none; }
  .dd-command-menu-panel { position: fixed; left: 10px !important; right: 10px !important; top: auto !important; bottom: 12px !important; width: auto; }
  .dd-native-download .dd-export-menu { width: auto; min-width: 0 !important; }
}
/* V18.10.14 shared account scopes */
.dd-account-scope-field {
  padding: .85rem;
  border: 1px solid #e2ded3;
  border-radius: .75rem;
  background: #fffdf7;
}
.dd-account-scope-field select[multiple] {
  min-height: 8.25rem;
}
#accountTxLocations {
  min-height: 6.25rem;
}
@media (max-width: 767.98px) {
  .dd-account-scope-field { padding: .7rem; }
  #accountTxFilterForm > [class*="col-"] { width: 100%; }
  #accountTxLocations { min-height: 7rem; }
}


/* =====================================================================
   V18.10.22 mobile date-range safety patch
   The later compact desktop rule intentionally uses a 155px + 300px grid.
   On narrow phones that rule used to override the earlier mobile layout,
   forcing the Apply button and date fields off the right edge. Keep the
   picker fully inside the visual viewport and make it a single-column
   bottom sheet on phones.
   ===================================================================== */
@media (max-width: 767.98px) {
  .dd-toast-range-popover {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    inset-inline: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(82dvh, 620px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }
  .dd-toast-range-presets {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2px !important;
    width: 100% !important;
    max-height: 150px !important;
    overflow-y: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e2e3e5 !important;
    padding: 6px !important;
  }
  .dd-toast-range-presets button {
    min-width: 0 !important;
    padding: 8px 9px !important;
    border-radius: 7px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .dd-toast-range-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 12px !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .dd-toast-range-fields {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
  }
  .dd-toast-range-fields label,
  .dd-toast-range-fields input,
  .dd-toast-range-preview,
  .dd-toast-range-actions {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .dd-toast-range-fields input {
    min-height: 46px !important;
    font-size: 16px !important; /* prevents iOS focus zoom */
  }
  .dd-toast-range-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 4px;
  }
  .dd-toast-range-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
  }
}

@media (max-width: 390px) {
  .dd-toast-range-presets { grid-template-columns: 1fr 1fr !important; max-height: 132px !important; }
  .dd-toast-range-popover { left: 6px !important; right: 6px !important; inset-inline: 6px !important; }
}

/* =====================================================================
   V18.10.23 iOS/mobile date-range portal
   The trigger could enter the open state while the picker itself remained
   inside a clipped/stacking ancestor. Portaled pickers live directly under
   <body>, so the visible sheet is not affected by filter/tab layout contexts.
   ===================================================================== */
.dd-toast-range-popover.dd-toast-range-portaled {
  position: fixed !important;
  z-index: 2147483646 !important;
}
@media (max-width: 767.98px), (pointer: coarse) {
  .dd-toast-range-popover.dd-toast-range-portaled {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(82dvh, 620px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .dd-toast-range-popover.dd-toast-range-portaled .dd-toast-range-presets {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: 150px !important;
    overflow-y: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e2e3e5 !important;
  }
  .dd-toast-range-popover.dd-toast-range-portaled .dd-toast-range-panel {
    min-width: 0 !important;
    width: 100% !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .dd-toast-range-popover.dd-toast-range-portaled .dd-toast-range-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .dd-toast-range-popover.dd-toast-range-portaled input[type="date"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    font-size: 16px !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
  }
  .dd-toast-range-popover.dd-toast-range-portaled .dd-toast-range-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .dd-toast-range-popover.dd-toast-range-portaled .dd-toast-range-actions .btn {
    min-height: 46px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* V18.10.24: global PDF footer branding preview. */
.pdf-preview-footer b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}
.pdf-preview-footer b img{display:block;max-width:78px;max-height:14px;width:auto;height:auto;object-fit:contain}
.pdf-preview-footer b span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
