/*
 * DentalGenius final UI guard
 * Last loaded stylesheet for the native DentalGenius shell.
 * Scope: icon masks, sidebar chevrons, footer mobile alignment and pagination safety.
 */

/* 1) Iconify/Tabler guard: prevent any icon mask from inheriting an abnormal font-size
   and rendering as a huge black shape inside DataView cards or page content. */
.layout-wrapper.layout-content-navbar .ti,
.layout-wrapper.layout-content-navbar .icon-base.ti,
.layout-wrapper.layout-content-navbar i[class*='tabler-'] {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: min(1em, 1.45rem) !important;
  min-width: min(1em, 1.45rem) !important;
  max-width: 1.45rem !important;
  height: min(1em, 1.45rem) !important;
  min-height: min(1em, 1.45rem) !important;
  max-height: 1.45rem !important;
  font-size: min(1em, 1.45rem) !important;
  line-height: 1 !important;
  vertical-align: -0.12em !important;
  color: currentColor !important;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: 100% 100% !important;
  mask-size: 100% 100% !important;
  transform: none !important;
}

.layout-wrapper.layout-content-navbar .dg-tw-hero__icon .ti,
.layout-wrapper.layout-content-navbar .dg-tw-stat__icon .ti,
.layout-wrapper.layout-content-navbar .dg-tw-module__icon .ti,
.layout-wrapper.layout-content-navbar .dg-tw-panel__icon .ti,
.layout-wrapper.layout-content-navbar .dg-data-view__icon .ti,
.layout-wrapper.layout-content-navbar .dg-data-view__empty-icon .ti,
.layout-wrapper.layout-content-navbar .dg-tw-modal__icon .ti {
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  height: 1em !important;
  min-height: 1em !important;
  max-height: 1em !important;
  font-size: 1.45rem !important;
}

.layout-wrapper.layout-content-navbar .menu-link > .ti,
.layout-wrapper.layout-content-navbar .menu-link > .icon-base.ti,
.layout-wrapper.layout-content-navbar .dg-action-menu__toggle .ti,
.layout-wrapper.layout-content-navbar .dg-action-menu__item .ti,
.layout-wrapper.layout-content-navbar .dg-pagination__link .ti {
  width: 1.15rem !important;
  min-width: 1.15rem !important;
  max-width: 1.15rem !important;
  height: 1.15rem !important;
  min-height: 1.15rem !important;
  max-height: 1.15rem !important;
  font-size: 1.15rem !important;
}

/* 2) Sidebar chevrons: replace every legacy border/text arrow with a small SVG chip.
   This avoids the oversized black diagonal arrows produced by stale template rules. */
.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle {
  position: relative !important;
  padding-inline-end: .85rem !important;
}

.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle::before,
.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-item.open > .menu-link.menu-toggle::before,
.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-item.active.open > .menu-link.menu-toggle::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle::after {
  content: '' !important;
  position: static !important;
  inset: auto !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 1.55rem !important;
  inline-size: 1.55rem !important;
  block-size: 1.55rem !important;
  min-inline-size: 1.55rem !important;
  min-block-size: 1.55rem !important;
  max-inline-size: 1.55rem !important;
  max-block-size: 1.55rem !important;
  margin-inline-start: auto !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, .10) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c8fbff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: .82rem .82rem !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: rotate(0deg) !important;
  transform-origin: center !important;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease !important;
}

.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-item.open > .menu-link.menu-toggle::after,
.layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-item.active.open > .menu-link.menu-toggle::after {
  transform: rotate(90deg) !important;
  border-color: rgba(200, 251, 255, .34) !important;
  background-color: rgba(255, 255, 255, .16) !important;
}

@media (min-width: 1200px) {
  html.layout-menu-collapsed:not(.layout-menu-hover) .layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle::after,
  body.layout-menu-collapsed:not(.layout-menu-hover) .layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle::after,
  .layout-menu-collapsed:not(.layout-menu-hover) .layout-wrapper.layout-content-navbar #layout-menu.dg-app-sidebar .menu-link.menu-toggle::after {
    content: none !important;
    display: none !important;
    inline-size: 0 !important;
    block-size: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

/* 3) Native pagination guard: keep Laravel/DataView controls in a row instead of
   falling back to naked consecutive numbers after template CSS removal. */
.layout-wrapper.layout-content-navbar nav[aria-label='Pagination Navigation'],
.layout-wrapper.layout-content-navbar .pagination,
.layout-wrapper.layout-content-navbar .dg-pagination,
.layout-wrapper.layout-content-navbar .dg-pagination__numbers {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .45rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.layout-wrapper.layout-content-navbar .pagination::before,
.layout-wrapper.layout-content-navbar .pagination::after,
.layout-wrapper.layout-content-navbar .dg-pagination::before,
.layout-wrapper.layout-content-navbar .dg-pagination::after {
  content: none !important;
  display: none !important;
}

.layout-wrapper.layout-content-navbar .page-link,
.layout-wrapper.layout-content-navbar .pagination a,
.layout-wrapper.layout-content-navbar .pagination span:not(.sr-only),
.layout-wrapper.layout-content-navbar .dg-pagination__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.35rem !important;
  min-height: 2.35rem !important;
  padding: .45rem .72rem !important;
  border: 1px solid rgba(15, 36, 72, .07) !important;
  border-radius: .9rem !important;
  background: rgba(248, 251, 255, .86) !important;
  color: #53637d !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* 4) Footer: mobile must be centered, desktop keeps the shell lane from dg-native-shell. */
@media (max-width: 1199.98px) {
  .layout-wrapper.layout-content-navbar .dg-app-footer {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.2rem auto max(1.4rem, calc(env(safe-area-inset-bottom) + 1rem)) !important;
    padding: 0 1rem !important;
    text-align: center !important;
    pointer-events: auto !important;
  }

  .layout-wrapper.layout-content-navbar .dg-app-footer > .container,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-sm,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-md,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-lg,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-xl,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-xxl,
  .layout-wrapper.layout-content-navbar .dg-app-footer > .container-fluid,
  .layout-wrapper.layout-content-navbar .dg-app-footer > [class*='container-'] {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .layout-wrapper.layout-content-navbar .dg-app-footer__inner,
  .layout-wrapper.layout-content-navbar .dg-app-footer__copy,
  .layout-wrapper.layout-content-navbar .dg-app-footer__links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .layout-wrapper.layout-content-navbar .dg-app-footer__inner {
    width: 100% !important;
    flex-direction: column !important;
    gap: .35rem !important;
  }

  .layout-wrapper.layout-content-navbar .dg-app-footer__copy,
  .layout-wrapper.layout-content-navbar .dg-app-footer__links {
    width: 100% !important;
    flex-wrap: wrap !important;
  }
}
