/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.menu .app-brand.demo {
  height: 64px;
  margin-top: 12px;
}

.app-brand-logo.demo svg {
  width: 22px;
  height: 38px;
}

.app-brand-text.demo {
  font-size: 1.75rem;
  letter-spacing: -0.5px;
  /* text-transform: lowercase; */
}

/* Collapsible sidebar - when collapsed, layout-page takes full width */
@media (min-width: 1200px) {
  html.layout-menu-collapsed .layout-menu,
  .layout-menu-collapsed .layout-menu {
    width: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    margin-left: 0 !important;
  }
  html.layout-menu-collapsed .layout-page,
  .layout-menu-collapsed .layout-page {
    flex: 1 1 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html.layout-menu-collapsed .layout-navbar.navbar-detached,
  .layout-menu-collapsed .layout-navbar.navbar-detached {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }
  /* Wider content area when collapsed - same gap (1.625rem) as navbar */
  html.layout-menu-collapsed .content-wrapper .container-xxl,
  html.layout-menu-collapsed .content-footer .container-xxl,
  .layout-menu-collapsed .content-wrapper .container-xxl,
  .layout-menu-collapsed .content-footer .container-xxl {
    max-width: 100% !important;
    padding-left: 1.625rem !important;
    padding-right: 1.625rem !important;
  }
  html.layout-menu-collapsed .layout-navbar.container-xxl,
  html.layout-menu-collapsed .layout-navbar .container-xxl,
  .layout-menu-collapsed .layout-navbar.container-xxl,
  .layout-menu-collapsed .layout-navbar .container-xxl {
    max-width: 100% !important;
    padding-left: 1.625rem !important;
    padding-right: 1.625rem !important;
  }
}

/* Sidebar hover trigger - thin strip on left edge when collapsed */
.sidebar-hover-trigger {
  display: none;
}
@media (min-width: 1200px) {
  html.layout-menu-collapsed .sidebar-hover-trigger {
    display: block !important;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    z-index: 1061;
    cursor: pointer;
  }
}

/* Sidebar hover peek - when collapsed, hover shows sidebar (layout shifts, hamburger stays clickable) */
@media (min-width: 1200px) {
  html.layout-menu-collapsed .layout-menu,
  .layout-menu-collapsed .layout-menu {
    transition: width 0.3s ease, min-width 0.3s ease;
  }
  html.layout-menu-collapsed .layout-page,
  .layout-menu-collapsed .layout-page {
    transition: padding-left 0.3s ease;
  }
  html.layout-menu-collapsed .sidebar-hover-trigger {
    transition: width 0.3s ease;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu {
    width: 16.25rem !important;
    min-width: 16.25rem !important;
    overflow: visible !important;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .sidebar-hover-trigger {
    width: 16.25rem !important;
    pointer-events: none !important;
    z-index: 1;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu {
    z-index: 1062 !important;
  }
  /* Show JD Bus text and blue arrow when sidebar peeks - override template collapse styles */
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand {
    width: 100% !important;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-link,
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-logo,
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-text,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-link,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-logo,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-text {
    margin: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-logo ~ .app-brand-text,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand-logo ~ .app-brand-text {
    overflow: visible !important;
    text-overflow: clip !important;
  }
  /* Chevron (blue arrow) - must override template's display:none */
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand .layout-menu-toggle,
  html.layout-menu-collapsed.layout-menu-hover .layout-menu .app-brand .layout-menu-toggle,
  .layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand .layout-menu-toggle,
  .layout-menu-collapsed.layout-menu-hover .layout-menu .app-brand .layout-menu-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-menu .app-brand .layout-menu-toggle i,
  html.layout-menu-collapsed.layout-menu-hover .layout-menu .app-brand .layout-menu-toggle i {
    display: inline-block !important;
    visibility: visible !important;
  }
  /* Push content right when sidebar peeks */
  html.layout-menu-collapsed.sidebar-hover-visible .layout-page,
  .layout-menu-collapsed.sidebar-hover-visible .layout-page {
    padding-left: 16.25rem !important;
  }
  html.layout-menu-collapsed.sidebar-hover-visible .layout-navbar.navbar-detached,
  .layout-menu-collapsed.sidebar-hover-visible .layout-navbar.navbar-detached {
    width: calc(100% - (1.625rem * 2)) !important;
  }
}

/* Sidebar collapse button - ensure always clickable */
#sidebar-collapse-btn,
#layout-menu .app-brand .layout-menu-toggle {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
/* Detached navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 76px !important;
}

/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/* Navbar breadcrumb - chevron separator (boxicons) */
.breadcrumb-style1 .breadcrumb-item + .breadcrumb-item::before {
  content: "\ecb3";
  font-family: "boxicons";
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  padding: 0 0.35rem;
}

/*
* Content
******************************************************************************/

.demo-blocks>* {
  display: block !important;
}

.demo-inline-spacing>* {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing>* {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.demo-vertical-spacing.demo-only-element> :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg>* {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}

.demo-vertical-spacing-lg.demo-only-element> :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl>* {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}

.demo-vertical-spacing-xl.demo-only-element> :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}

.layout-demo-placeholder img {
  width: 900px;
}

.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}

#toast-container>div {
  opacity: 1 !important;
}

.spinner-2 {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  backdrop-filter: blur(4px);
  background-color: hsl(0deg 11.49% 90.11% / 70%);
  z-index: 9999999999;
}

.spinner-2 span {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -30px 0 0 -30px;
  width: 50px;
  aspect-ratio: 1;
  display: grid;
  border-radius: 50%;
  background:
    linear-gradient(0deg, rgb(0 0 0/50%) 30%, #0000 0 70%, rgb(0 0 0/100%) 0) 50%/8% 100%,
    linear-gradient(90deg, rgb(0 0 0/25%) 30%, #0000 0 70%, rgb(0 0 0/75%) 0) 50%/100% 8%;
  background-repeat: no-repeat;
  animation: l23 1s infinite steps(12);
}

.spinner-2 span::before,
.spinner-2 span::after {
  content: "";
  grid-area: 1/1;
  border-radius: 50%;
  background: inherit;
  opacity: 0.915;
  transform: rotate(30deg);
}

.spinner-2 span::after {
  opacity: 0.83;
  transform: rotate(60deg);
}

@keyframes l23 {
  100% {
    transform: rotate(1turn)
  }
}

.cus-row>* {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

.cus-filter {
  width: 150px;
}

.mr30 {
  margin-right: 30px;
}

.ctime {
  font-size: 12px;
  margin-left: 10px;
  margin-top: 3px;
}

.cpagination {
  padding: 0px 15px 15px 15px;
}

.csearch {
  padding: 15px 15px 0px 15px;
}

.cadd {
  padding-right: 15px;
}

.tdbreak {
  max-width: 400px;
  white-space: normal;
  word-break: break-word;
}