html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body.dt-touch-ready {
  min-width: 0;
  overflow-x: hidden;
  touch-action: manipulation;
}

body.dt-touch-ready *,
body.dt-touch-ready *::before,
body.dt-touch-ready *::after {
  box-sizing: border-box;
}

body.dt-touch-ready img,
body.dt-touch-ready svg,
body.dt-touch-ready video,
body.dt-touch-ready canvas,
body.dt-touch-ready iframe {
  max-width: 100%;
}

body.dt-touch-ready img,
body.dt-touch-ready video {
  height: auto;
}

body.dt-touch-ready a,
body.dt-touch-ready button,
body.dt-touch-ready .btn,
body.dt-touch-ready [role="button"],
body.dt-touch-ready input[type="button"],
body.dt-touch-ready input[type="submit"],
body.dt-touch-ready input[type="reset"] {
  -webkit-tap-highlight-color: rgba(255, 214, 0, .24);
  touch-action: manipulation;
}

body.dt-touch-ready button,
body.dt-touch-ready .btn,
body.dt-touch-ready [role="button"],
body.dt-touch-ready input[type="button"],
body.dt-touch-ready input[type="submit"],
body.dt-touch-ready input[type="reset"] {
  min-height: 44px;
  min-width: 44px;
}

body.dt-touch-ready input,
body.dt-touch-ready select,
body.dt-touch-ready textarea {
  max-width: 100%;
  min-height: 44px;
  font-size: 16px;
}

body.dt-touch-ready textarea {
  min-height: 110px;
}

body.dt-touch-ready label {
  display: inline-block;
  margin-bottom: 6px;
}

body.dt-touch-ready table,
body.dt-touch-ready .table {
  width: 100%;
}

body.dt-touch-ready .table-responsive,
body.dt-touch-ready .dt-swipe-scroll,
body.dt-touch-ready .dt-mobile-scroll {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

body.dt-touch-ready .dt-swipe-scroll {
  cursor: grab;
  scroll-snap-type: x proximity;
}

body.dt-touch-ready .dt-swipe-scroll.dt-dragging {
  cursor: grabbing;
  user-select: none;
}

body.dt-touch-ready .dt-swipe-scroll > * {
  scroll-snap-align: start;
}

body.dt-touch-ready .dt-touch-pressed {
  filter: brightness(1.08);
  transform: translateY(1px);
}

body.dt-touch-ready .container,
body.dt-touch-ready .container-fluid,
body.dt-touch-ready main,
body.dt-touch-ready section,
body.dt-touch-ready form {
  min-width: 0;
}

body.dt-touch-ready .card,
body.dt-touch-ready .panel,
body.dt-touch-ready .box,
body.dt-touch-ready .dashboard-card,
body.dt-touch-ready .metric-card {
  min-width: 0;
}

body.dt-touch-ready .dt-sticky-action-bar {
  position: sticky;
  bottom: 0;
  z-index: 50;
  display: flex;
  gap: 10px;
  padding: 10px;
  background: rgba(7, 9, 13, .92);
  border-top: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(14px);
}

@media (hover: none) and (pointer: coarse) {
  body.dt-touch-ready a:hover,
  body.dt-touch-ready button:hover,
  body.dt-touch-ready .btn:hover {
    text-decoration: none;
  }
}

@media (max-width: 900px) {
  body.dt-touch-ready {
    font-size: 16px;
    line-height: 1.5;
  }

  body.dt-touch-ready h1 {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.05 !important;
  }

  body.dt-touch-ready h2 {
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.12 !important;
  }

  body.dt-touch-ready h3 {
    font-size: clamp(20px, 5.8vw, 28px) !important;
    line-height: 1.18 !important;
  }

  body.dt-touch-ready .container,
  body.dt-touch-ready .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }

  body.dt-touch-ready header,
  body.dt-touch-ready nav,
  body.dt-touch-ready .navbar,
  body.dt-touch-ready .nav,
  body.dt-touch-ready .header,
  body.dt-touch-ready .top-nav {
    max-width: 100%;
  }

  body.dt-touch-ready .row,
  body.dt-touch-ready .grid,
  body.dt-touch-ready .cards,
  body.dt-touch-ready .card-grid,
  body.dt-touch-ready .dashboard-grid,
  body.dt-touch-ready .metrics-grid {
    grid-template-columns: 1fr !important;
  }

  body.dt-touch-ready form,
  body.dt-touch-ready fieldset {
    width: 100%;
  }

  body.dt-touch-ready input,
  body.dt-touch-ready select,
  body.dt-touch-ready textarea {
    width: 100%;
  }

  body.dt-touch-ready .button-row,
  body.dt-touch-ready .actions,
  body.dt-touch-ready .form-actions,
  body.dt-touch-ready .cta-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.dt-touch-ready .button-row > *,
  body.dt-touch-ready .actions > *,
  body.dt-touch-ready .form-actions > *,
  body.dt-touch-ready .cta-row > * {
    width: 100%;
  }

  body.dt-touch-ready table {
    min-width: 680px;
  }
}

@media (max-width: 520px) {
  body.dt-touch-ready {
    padding-bottom: env(safe-area-inset-bottom);
  }

  body.dt-touch-ready .welcome-container {
    width: auto !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.dt-touch-ready .login-container {
    text-align: center !important;
    margin: 16px !important;
  }

  body.dt-touch-ready .btn,
  body.dt-touch-ready button,
  body.dt-touch-ready input[type="submit"] {
    width: 100%;
    white-space: normal;
  }
}
