/*
 * Daily Go back-office design foundation.
 * It is loaded by navbar.php after each legacy page stylesheet so that old
 * screens keep their layout while sharing one colour, control and focus system.
 */
:root {
  --app-bg: #f4f7fb;
  --app-surface: #ffffff;
  --app-surface-soft: #f8fbff;
  --app-line: #d7e1ec;
  --app-text: #16263a;
  --app-muted: #607286;
  --app-brand: #2463a6;
  --app-brand-strong: #1b4f87;
  --app-brand-soft: #eaf3ff;
  --app-success: #17745a;
  --app-warning: #9a6500;
  --app-danger: #b43a4b;
  --app-radius: 9px;
  --app-shadow: 0 3px 12px rgba(22, 38, 58, .07);
  --app-control-height: 36px;
  --app-control-height-sm: 32px;
  --app-page-gap: 10px;
  --app-z-page-loader: 19000;
  --app-z-modal-backdrop: 19990;
  --app-z-modal: 20000;
  --app-z-floating: 30010;
  --app-z-toast: 31020;
  --app-z-task-loader: 31040;

  /* Legacy page aliases. Kept here so existing page CSS needs no rewrites. */
  --bg: var(--app-bg);
  --card: var(--app-surface);
  --line: var(--app-line);
  --txt: var(--app-text);
  --text: var(--app-text);
  --muted: var(--app-muted);
  --shadow: var(--app-shadow);
  --radius: var(--app-radius);
  --brand: var(--app-brand);
  --brand-2: var(--app-brand-strong);
  --acl-bg: var(--app-bg);
  --acl-card: var(--app-surface);
  --acl-line: var(--app-line);
  --acl-text: var(--app-text);
  --acl-muted: var(--app-muted);
  --acl-blue: var(--app-brand);
  --acl-green: var(--app-success);
  --acl-warm: var(--app-warning);
  --acl-red: var(--app-danger);
  --acl-shadow: var(--app-shadow);
}

html { color-scheme: light; }

body {
  background: var(--app-bg);
  color: var(--app-text);
  text-rendering: optimizeLegibility;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
}

body :where(button, a, input, select, textarea) { -webkit-tap-highlight-color: transparent; }

body .page-wrap,
body .page-shell,
body .main-wrap,
body .acl-page,
body .tx-wrap,
body .bl-wrap,
body .mobile-page-wrap,
body > main,
body > .container,
body > .container-fluid {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body .page-wrap,
body .page-shell,
body .main-wrap,
body .acl-page,
body .tx-wrap,
body .bl-wrap,
body .mobile-page-wrap {
  padding-inline: var(--app-page-gap);
}

/* Barcha boshqaruv sahifalari uchun bir xil, ixcham qurilish bloklari. */
body .dg-page-head,
body .page-head-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 46px;
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  box-shadow: var(--app-shadow);
}

body .dg-page-title,
body .page-title-compact {
  margin: 0;
  color: var(--app-text);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 800;
  line-height: 1.2;
}

body .dg-toolbar,
body .toolbar-compact,
body .order-actions {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  padding: 2px 0;
  scrollbar-width: thin;
}

body .dg-toolbar > *,
body .toolbar-compact > *,
body .order-actions > * {
  flex: 0 0 auto;
}

body .dg-table-shell,
body .table-shell-compact {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  box-shadow: var(--app-shadow);
}

body .dg-table-scroll,
body .table-responsive {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

body .card,
body .cardx,
body .glass-card,
body .acl-card,
body .acl-top,
body .acl-stat,
body .acl-role-card,
body .acl-module,
body .acl-user-card,
body .acl-selected-user,
body .acl-catalog-row {
  border-color: var(--app-line);
  border-radius: var(--app-radius);
  box-shadow: var(--app-shadow);
}

body .hero {
  background: linear-gradient(135deg, #223b5d, var(--app-brand));
  box-shadow: 0 18px 40px rgba(36, 99, 166, .18);
}

body .btn {
  min-height: var(--app-control-height);
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.15;
  padding: .4rem .68rem;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}

body .btn-sm {
  min-height: var(--app-control-height-sm);
  padding: .3rem .55rem;
  border-radius: 7px;
  font-size: .82rem;
}

body .btn:hover:not(:disabled) { transform: translateY(-1px); }
body .btn:active:not(:disabled) { transform: translateY(0); }

body .btn-primary,
body .btn-acl {
  background: var(--app-brand);
  border-color: var(--app-brand);
}

body .btn-primary:hover,
body .btn-acl:hover {
  background: var(--app-brand-strong);
  border-color: var(--app-brand-strong);
}

body .btn-outline-primary {
  color: var(--app-brand);
  border-color: color-mix(in srgb, var(--app-brand) 45%, white);
}

body .btn-outline-primary:hover {
  background: var(--app-brand);
  border-color: var(--app-brand);
}

body .form-control,
body .form-select {
  min-height: var(--app-control-height);
  border-color: var(--app-line);
  border-radius: 8px;
  background-color: var(--app-surface);
  color: var(--app-text);
}

body .form-control::placeholder { color: #7c8da0; opacity: 1; }

body .form-control:focus,
body .form-select:focus,
body .form-check-input:focus {
  border-color: var(--app-brand);
  box-shadow: 0 0 0 .2rem rgba(36, 99, 166, .16);
}

body .form-check-input:checked {
  background-color: var(--app-brand);
  border-color: var(--app-brand);
}

body :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(36, 99, 166, .30);
  outline-offset: 2px;
}

body .table > :not(caption) > * > * {
  padding: .5rem .58rem;
  border-color: #e7eef5;
  vertical-align: middle;
}
body .table thead th { background: #f1f6fb; color: #40536a; }
body .table tbody tr:hover > * { background: #f8fbff; }

body .modal-content {
  border-color: var(--app-line);
  border-radius: 14px;
  background: var(--app-surface);
  box-shadow: 0 22px 56px rgba(22, 38, 58, .22);
}

body .modal-header,
body .modal-footer {
  gap: 8px;
  border-color: var(--app-line);
  background: var(--app-surface);
}

body .modal-header {
  align-items: flex-start;
}

body .modal-title {
  color: var(--app-text);
  font-weight: 800;
  line-height: 1.25;
}

body .modal-footer {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

body .modal:where(:not(#notificationModal)) .modal-dialog {
  --bs-modal-width: 1040px;
}

body .modal:where(:not(#notificationModal)) .modal-dialog.modal-sm {
  --bs-modal-width: 760px;
}

body .modal:where(:not(#notificationModal)) .modal-dialog.modal-lg {
  --bs-modal-width: 1240px;
}

body .modal:where(:not(#notificationModal)) .modal-dialog.modal-xl {
  --bs-modal-width: 1580px;
}

body .modal:where(:not(#notificationModal)) .modal-dialog.modal-xxl {
  --bs-modal-width: 1760px;
}

body .modal:where(:not(#notificationModal)) .modal-dialog:not([class*="modal-fullscreen"]) {
  width: min(var(--bs-modal-width, 1040px), calc(100vw - 40px));
  max-width: min(var(--bs-modal-width, 1040px), calc(100vw - 40px));
}

body .modal:where(:not(#notificationModal)) .modal-content {
  max-height: min(96dvh, 980px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body .modal:where(:not(#notificationModal)) .modal-body {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}

body .modal:where(:not(#notificationModal)) :where(form, .row, [class*="col-"], .input-group, .table-responsive) {
  min-width: 0;
}

body .modal:where(:not(#notificationModal)) :where(.form-control, .form-select, textarea) {
  max-width: 100%;
}

/* Filter dialogs share one predictable shell and action order.  The class is
   applied to explicit filter modals by accessibility_enhancer.js. */
body .dg-filter-modal .modal-dialog {
  width: min(1280px, calc(100vw - 40px));
  max-width: min(1280px, calc(100vw - 40px));
}

body .dg-filter-modal .modal-content {
  max-height: min(96dvh, 980px);
  overflow: hidden;
}

body .dg-filter-modal .modal-body {
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--app-surface-soft);
}

body .dg-filter-modal .modal-footer :where(.btn-primary, [data-filter-apply], [data-dg-filter-apply]) {
  order: 20;
}

body .dg-filter-modal .modal-footer :where(.btn-outline-secondary, [data-filter-reset], [data-dg-filter-reset]) {
  order: 10;
  margin-right: auto;
}

/* Loading is informative but must not cover navigation or turn the complete
   screen into a dark backdrop. Legacy page overlays keep their own show/hide
   logic; their card is always centred and pointer input remains available. */
body :where(#appLoading, #globalLoading, #globalLoader, #global-loader, #fullScreenLoading, .app-loading, .global-loader, .loading-overlay, .loader-overlay) {
  z-index: var(--app-z-page-loader) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(22, 38, 58, .055) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}

body :where(#appLoading, #globalLoading, #globalLoader, #global-loader, #fullScreenLoading, .app-loading, .global-loader, .loading-overlay, .loader-overlay)
  > :where(.box, .loader-box, .loader-card, .global-loader-inner) {
  border: 1px solid var(--app-line) !important;
  border-radius: 12px !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  box-shadow: 0 14px 36px rgba(22, 38, 58, .16) !important;
}

body :where(.dataTables_wrapper .dataTables_processing, .dt-container .dt-processing, div.dataTables_processing) {
  z-index: var(--app-z-floating) !important;
  padding: 10px 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .985) !important;
  color: var(--app-text) !important;
  box-shadow: 0 14px 36px rgba(22, 38, 58, .16) !important;
}

/* Shared async/export status. It is deliberately a small viewport-centred
   status card, not a blocking overlay. JS exposes it as DailyGoExportUX. */
body .dg-task-loader {
  position: fixed;
  inset: 0;
  z-index: var(--app-z-task-loader);
  display: grid;
  place-items: center;
  padding: max(72px, env(safe-area-inset-top, 0px)) 14px max(18px, env(safe-area-inset-bottom, 0px));
  background: transparent;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .14s ease, visibility .14s ease;
}

body .dg-task-loader.is-visible {
  opacity: 1;
  visibility: visible;
}

body .dg-task-loader-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 4px 10px;
  width: min(340px, calc(100vw - 28px));
  min-height: 66px;
  padding: 11px 13px 10px;
  border: 1px solid #cbdbea;
  border-radius: 12px;
  background: rgba(255, 255, 255, .985);
  color: var(--app-text);
  box-shadow: 0 16px 42px rgba(22, 38, 58, .20);
}

body .dg-task-loader-spinner {
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  border: 3px solid #dce9f6;
  border-top-color: var(--app-brand);
  border-radius: 50%;
  animation: dg-task-spin .72s linear infinite;
}

body .dg-task-loader-title {
  min-width: 0;
  color: var(--app-text);
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body .dg-task-loader-phase {
  min-width: 0;
  color: var(--app-muted);
  font-size: .74rem;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body .dg-task-loader-track {
  grid-column: 1 / -1;
  height: 3px;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eef6;
}

body .dg-task-loader-track > span {
  display: block;
  width: 38%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--app-brand), var(--app-success));
  animation: dg-task-progress 1.05s ease-in-out infinite;
}

body .dg-task-loader[data-progress="known"] .dg-task-loader-track > span {
  width: var(--dg-task-progress, 0%);
  animation: none;
  transition: width .18s ease;
}

body .dg-task-loader[data-state="success"] .dg-task-loader-spinner {
  border-color: var(--app-success);
  animation: none;
}

body .dg-task-loader[data-state="error"] .dg-task-loader-spinner {
  border-color: var(--app-danger);
  animation: none;
}

body :where(button, a, [role="button"])[data-dg-export-busy="1"] {
  cursor: progress !important;
  pointer-events: none !important;
  opacity: .78;
}

body :where(.dg-export-dropdown, .export-menu) > .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 112px;
  white-space: nowrap;
}

body :where(.dg-export-menu, .export-menu > .dropdown-menu) {
  min-width: 190px;
  padding: 6px;
  border: 1px solid var(--app-line);
  border-radius: 11px;
  background: var(--app-surface);
  box-shadow: 0 18px 38px rgba(22, 38, 58, .18);
}

body :where(.dg-export-menu, .export-menu > .dropdown-menu) .dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: .48rem .62rem;
  border-radius: 8px;
  font-size: .84rem;
  font-weight: 700;
  white-space: normal;
}

body .dg-export-cap {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  margin-left: 4px;
  padding: 0 6px;
  border: 1px solid #b8d8c7;
  border-radius: 999px;
  background: #edf9f2;
  color: var(--app-success);
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

body .dg-filter-quickbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 7px;
  border: 1px solid var(--app-line);
  border-radius: 10px;
  background: var(--app-surface);
}

body .dg-filter-quickbar-label {
  margin-right: 2px;
  color: var(--app-muted);
  font-size: .76rem;
  font-weight: 800;
}

body .dg-filter-quickbar .btn {
  min-height: 30px;
  padding: .24rem .5rem;
  font-size: .76rem;
}

body .dg-filter-count {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--app-brand);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1;
}

body :where(#toast-container, .toast-container, .toastx, .toast-wrap, .toast-zone, .acl-toast, .tx-toast-wrap) {
  z-index: var(--app-z-toast) !important;
}

@keyframes dg-task-spin { to { transform: rotate(360deg); } }
@keyframes dg-task-progress {
  0% { transform: translateX(-115%); }
  50% { transform: translateX(95%); }
  100% { transform: translateX(270%); }
}

body .btn[aria-busy="true"],
body .btn[data-busy="1"] {
  cursor: wait !important;
  pointer-events: none !important;
  opacity: .82;
}

/* Floating layer contract: export/action dropdowns must never be clipped by
   card/table overflow or fall behind Bootstrap/DataTables modals. Runtime JS
   in accessibility_enhancer.js positions open menus against the viewport; this
   CSS keeps the stacking order predictable when legacy pages add inline styles. */
body :where(.dropdown, .btn-group, .dropup, .dropend, .dropstart, .dt-buttons) {
  overflow: visible;
}

body :where(.dropdown-menu.show, .dt-button-collection, div.dt-button-collection) {
  z-index: var(--app-z-floating) !important;
  max-height: min(420px, calc(100dvh - 24px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

body :where(.select2-container--open, .select2-dropdown, .filter-picker.open .filter-picker-panel,
  .smart-multi-menu:not(.d-none), .pick-panel:not(.hidden), .custom-select-dropdown) {
  z-index: var(--app-z-floating) !important;
}

body.dg-modal-active :where(.dg-toolbar, .toolbar, .toolbar-compact, .page-actions, .hero-actions,
  .order-actions, .filters, .filter-row, .filter-card, .filters-card, .dataTables_filter,
  .dataTables_length, .dataTables_paginate, .dt-buttons, .dropdown, .btn-group, .dropup,
  .dropend, .dropstart, .dropdown-menu, .filter-picker-panel, .smart-multi-menu, .pick-panel,
  .custom-select-dropdown, .table-card, .table-wrap, .table-shell, .panel):not(.modal):not(.modal *) {
  z-index: 0 !important;
}

body :where(.modal:not(#notificationModal)) {
  z-index: var(--app-z-modal);
}

body :where(.modal-backdrop:not(.notification-backdrop)) {
  z-index: var(--app-z-modal-backdrop);
}

body :where(.modal:not(#notificationModal) .modal-content:has(.dropdown-menu.show),
  .modal:not(#notificationModal) .modal-header:has(.dropdown-menu.show),
  .modal:not(#notificationModal) .modal-footer:has(.dropdown-menu.show)) {
  overflow: visible !important;
}

body :where(.table-card, .table-wrap, .table-shell, .card, .cardx, .panel, .toolbar, .page-actions, .hero-actions):has(.dropdown-menu.show) {
  overflow: visible !important;
}

body .range-chip.active,
body .acl-chip.active,
body .acl-tabs .nav-link.active {
  background: var(--app-brand);
  border-color: var(--app-brand);
  color: #fff;
}

/* Wide data grids must scroll horizontally on phones instead of squeezing
   action buttons and labels into unreadable vertical columns. */
body .dg-table-scroll-host {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

body .acl-help,
body .acl-title-icon,
body .acl-module-icon,
body .acl-badge.blue {
  border-color: #bdd4e9;
  background: var(--app-brand-soft);
  color: var(--app-brand);
}

body .acl-role-card.active,
body .acl-user-card.active {
  border-color: #9cc0df;
  background: var(--app-surface-soft);
  box-shadow: 0 0 0 3px rgba(36, 99, 166, .10);
}

@media (max-width: 767.98px) {
  body .page-wrap,
  body .page-shell,
  body .main-wrap,
  body .acl-page,
  body .tx-wrap,
  body .bl-wrap,
  body .mobile-page-wrap {
    max-width: none;
    padding-inline: 8px;
  }
  body .btn { min-height: 42px; }
  body .btn-sm { min-height: 38px; }
  body .dg-page-head,
  body .page-head-compact { padding: 7px 8px; }

  body table.dg-wide-table {
    width: 100% !important;
    min-width: var(--dg-wide-table-min, 760px) !important;
    table-layout: auto !important;
  }

  body table.dg-wide-table :where(th, td) {
    min-width: 76px;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  body table.dg-wide-table :where(.btn, button, [role="button"]) {
    min-width: 34px;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
    word-break: keep-all !important;
  }

  body .modal:where(:not(#notificationModal)) .modal-dialog:not([class*="modal-fullscreen"]) {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    margin: 4px auto;
  }

  body .modal:where(:not(#notificationModal)) .modal-content {
    max-height: calc(100dvh - 8px);
  }

  body .dg-filter-modal .modal-dialog {
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    margin: 0;
  }

  body .dg-filter-modal .modal-content {
    min-height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  body .dg-filter-modal .modal-footer .btn {
    flex: 1 1 140px;
  }

  body .dg-filter-modal :where(.form-control, .form-select, .btn) {
    min-height: 44px;
  }

  body .dg-task-loader-card {
    width: min(320px, calc(100vw - 24px));
  }

  body .dg-filter-quickbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .dg-filter-quickbar-label {
    grid-column: 1 / -1;
  }

  body .dg-filter-quickbar .btn {
    width: 100%;
    min-height: 40px;
  }
}

/* Spacious modal pass: keep legacy dialogs readable after compact UI layers. */
body .modal:where(:not(#notificationModal)) .modal-dialog:not([class*="modal-fullscreen"]) {
  width: min(var(--bs-modal-width, 1040px), calc(100vw - 40px)) !important;
  max-width: min(var(--bs-modal-width, 1040px), calc(100vw - 40px)) !important;
}

body .modal:where(:not(#notificationModal)):is([id*="filter" i], [id*="filters" i], [id*="filtr" i], .dg-filter-modal) .modal-dialog:not([class*="modal-fullscreen"]) {
  --bs-modal-width: 1280px;
  width: min(1280px, calc(100vw - 40px)) !important;
  max-width: min(1280px, calc(100vw - 40px)) !important;
}

body .modal:where(:not(#notificationModal)):is([id*="view" i], [id*="detail" i], [id*="readers" i], [id*="audit" i], [id*="history" i], [id*="log" i]) .modal-dialog:not([class*="modal-fullscreen"]) {
  --bs-modal-width: 1600px;
  width: min(1600px, calc(100vw - 40px)) !important;
  max-width: min(1600px, calc(100vw - 40px)) !important;
}

body .modal:where(:not(#notificationModal)):is([id*="confirm" i], [id*="delete" i], [id*="cancel" i], [id*="reject" i]) .modal-dialog:not([class*="modal-fullscreen"]) {
  --bs-modal-width: 820px;
  width: min(820px, calc(100vw - 40px)) !important;
  max-width: min(820px, calc(100vw - 40px)) !important;
}

body .modal:where(:not(#notificationModal)) .modal-content {
  max-height: min(96dvh, 980px) !important;
}

body .modal:where(:not(#notificationModal)) .modal-header {
  padding: 1rem 1.25rem !important;
}

body .modal:where(:not(#notificationModal)) .modal-body {
  padding: 1.15rem 1.25rem !important;
  max-height: calc(96dvh - 148px) !important;
}

body .modal:where(:not(#notificationModal)) .modal-body.p-0 {
  padding: 0 !important;
}

body .modal:where(:not(#notificationModal)) .modal-footer {
  padding: .95rem 1.25rem !important;
}

body #notificationModal .modal-dialog:not([class*="modal-fullscreen"]) {
  width: min(1280px, calc(100vw - 40px)) !important;
  max-width: min(1280px, calc(100vw - 40px)) !important;
}

body #notificationModal .modal-content {
  max-height: min(96dvh, 980px) !important;
}

body #notificationModal .modal-header {
  padding: 1rem 1.25rem !important;
}

body #notificationModal .modal-body {
  padding: 1.15rem 1.25rem !important;
  max-height: calc(96dvh - 148px) !important;
  overflow: auto !important;
}

body #notificationModal .modal-footer {
  padding: .95rem 1.25rem !important;
}

@media (max-width: 767.98px) {
  body .modal:where(:not(#notificationModal)) .modal-dialog:not([class*="modal-fullscreen"]),
  body .modal:where(:not(#notificationModal)):is([id*="filter" i], [id*="filters" i], [id*="filtr" i], [id*="view" i], [id*="detail" i], [id*="readers" i], [id*="audit" i], [id*="history" i], [id*="log" i]) .modal-dialog:not([class*="modal-fullscreen"]) {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    margin: 4px auto !important;
  }

  body .modal:where(:not(#notificationModal)) .modal-content {
    max-height: calc(100dvh - 8px) !important;
  }

  body .modal:where(:not(#notificationModal)) .modal-body {
    max-height: calc(100dvh - 124px) !important;
  }

  body #notificationModal .modal-dialog:not([class*="modal-fullscreen"]) {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    margin: 4px auto !important;
  }

  body #notificationModal .modal-content {
    max-height: calc(100dvh - 8px) !important;
  }
}

@media print {
  body .dg-task-loader,
  body :where(#appLoading, #globalLoading, #globalLoader, #global-loader, #fullScreenLoading, .app-loading, .global-loader, .loading-overlay, .loader-overlay) {
    display: none !important;
  }
}

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