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

body {
  overflow-x: hidden;
}

img,
video,
canvas,
svg {
  max-width: 100%;
  height: auto;
}

pre,
code {
  white-space: pre-wrap;
  word-break: break-word;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-dialog {
  max-width: calc(100vw - 1.25rem);
}

@media (max-width: 1024px) {
  .navbar-custom {
    padding: 1rem 1.25rem !important;
  }
}

@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }

  .navbar-custom {
    padding: var(--panel-navbar-py, 0.85rem) var(--panel-navbar-px, 1rem) !important;
  }

  .navbar-custom .navbar-brand {
    font-size: var(--panel-brand-font, 1.05rem) !important;
    white-space: normal;
  }

  .navbar-custom .navbar-nav {
    gap: 0.4rem !important;
  }

  .navbar-custom .nav-link {
    padding: var(--panel-navlink-py, 0.6rem) var(--panel-navlink-px, 0.9rem) !important;
  }

  .nav-pills {
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
  }

  .nav-pills .nav-link {
    width: 100%;
    text-align: left;
  }

  h1 {
    font-size: clamp(28px, 9vw, 46px) !important;
    line-height: 1.05 !important;
  }

  .subtitle {
    font-size: clamp(14px, 4.2vw, 20px) !important;
    letter-spacing: 2px !important;
    margin-bottom: 34px !important;
  }

  .stats {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .stat-item {
    padding: 18px !important;
  }

  .stat-value {
    font-size: 34px !important;
  }

  .btn-admin {
    width: 100% !important;
    max-width: 520px;
  }

  .login-card,
  .glass-card,
  .cardx,
  .glass {
    border-radius: 18px !important;
  }

  .shell {
    padding: 18px 14px !important;
  }

  .container.mt-5 {
    margin-top: 1.25rem !important;
  }

  .hdr {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .hdr .d-flex {
    flex-wrap: wrap !important;
  }

  .btn,
  button,
  input,
  select,
  textarea {
    max-width: 100%;
  }

  .ip-blur {
    filter: none !important;
  }

  .glass-card:hover {
    transform: none !important;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 14px !important;
  }

  h1 {
    font-size: var(--landing-h1-mobile, clamp(26px, 8.5vw, 38px)) !important;
  }

  .subtitle {
    font-size: var(--landing-subtitle-mobile, clamp(13px, 3.8vw, 18px)) !important;
    letter-spacing: 1.5px !important;
    margin-bottom: var(--landing-subtitle-mb, 22px) !important;
  }

  .logo-icon {
    width: var(--landing-logo-mobile-px, 92px) !important;
    height: var(--landing-logo-mobile-px, 92px) !important;
    border-radius: 22px !important;
    margin-bottom: 18px !important;
  }

  .logo-icon i {
    font-size: 44px !important;
  }

  .status-indicator {
    padding: var(--landing-status-py, 14px) var(--landing-status-px, 18px) !important;
    font-size: var(--landing-status-font, 16px) !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }

  .stats {
    margin: 22px 0 !important;
    gap: var(--landing-stats-gap, 14px) !important;
  }

  .stat-item {
    padding: var(--landing-stat-pad, 16px) !important;
  }

  .stat-value {
    font-size: var(--landing-stat-value, 30px) !important;
  }

  .btn-neon,
  .btn-admin {
    padding: 14px 18px !important;
  }
}

@media (max-width: 360px) {
  .subtitle {
    letter-spacing: 1px !important;
  }
}
