/* BadgersClaw Mobile Readability + Sidebar Size Boost v1.0.4
   Mobile-only override. Does not alter desktop layout. */
@media screen and (max-width: 820px) {
  html {
    -webkit-text-size-adjust: 135% !important;
    text-size-adjust: 135% !important;
    font-size: 18px !important;
  }

  body {
    font-size: 18px !important;
    line-height: 1.55 !important;
    overflow-x: hidden !important;
  }

  /* Prevent hidden zoom/desktop-width behavior from making everything tiny */
  .page, .page-wrapper, .page-body, .page-main, .content, .container, .container-xl,
  .container-fluid, .nxt-shell, .nxt-dashboard, .dashboard, .dashboard-wrap,
  .hud-dashboard, main, #app, #page, #dashboard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    transform: none !important;
    zoom: 1 !important;
  }

  /* Dashboard grid should stack and breathe on phone */
  .row, .grid, .dashboard-grid, .hud-grid, .nxt-grid,
  [class*="dashboard-grid"], [class*="DashboardGrid"],
  [class*="widget-grid"], [class*="WidgetGrid"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  [class*="col-"], .col, .col-md-6, .col-lg-6, .col-xl-6,
  .col-md-8, .col-lg-8, .col-xl-8,
  .col-md-4, .col-lg-4, .col-xl-4 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Larger widgets/cards */
  .card, .hud-card, .nxt-card, .widget, .hud-widget, .dashboard-card,
  .stat-card, .panel-card, .quick-card, .module-card,
  [class*="widget"], [class*="Widget"], [class*="card"], [class*="Card"] {
    font-size: 18px !important;
    line-height: 1.5 !important;
    padding: 20px !important;
    margin-bottom: 18px !important;
    border-radius: 20px !important;
  }

  .card-body, .widget-body, .hud-widget-body, .nxt-widget-body,
  .card-content, .widget-content {
    padding: 18px !important;
    font-size: 18px !important;
  }

  /* Typography boost */
  h1, .h1, .page-title, .dashboard-title { font-size: 32px !important; line-height: 1.15 !important; }
  h2, .h2, .section-title { font-size: 26px !important; line-height: 1.2 !important; }
  h3, .h3, .card-title, .widget-title, .hud-title { font-size: 22px !important; line-height: 1.25 !important; }
  h4, .h4 { font-size: 20px !important; }
  p, span, small, label, td, th, li, .text-muted, .subtext, .description,
  .card-subtitle, .widget-subtitle, .hud-subtitle {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }
  small, .small { font-size: 15.5px !important; }

  /* Badges/buttons/forms large enough for thumbs */
  .badge, .status-badge, .pill { font-size: 15px !important; padding: 7px 11px !important; border-radius: 999px !important; }
  .btn, button, input[type="button"], input[type="submit"], .button {
    min-height: 52px !important;
    font-size: 17px !important;
    padding: 13px 18px !important;
    border-radius: 14px !important;
  }
  input, select, textarea, .form-control, .form-select {
    min-height: 54px !important;
    font-size: 17px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
  }

  /* Stats: full width and readable */
  .stats-grid, .dashboard-stats, .nxt-stats, .hud-stats,
  [class*="stats"], [class*="Stats"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .stat-card, .dashboard-stat, [class*="stat-card"], [class*="StatCard"] {
    min-height: 112px !important;
    padding: 20px !important;
  }
  .stat-card .value, .stat-value, .counter, .metric-value,
  [class*="metric-value"], [class*="counter"] {
    font-size: 38px !important;
    line-height: 1.05 !important;
  }

  /* Tables: readable with horizontal scroll, not squeezed microscopic */
  table { font-size: 16.5px !important; min-width: 820px !important; }
  th, td { padding: 13px 12px !important; }
  .table-responsive, .module-table-scroll, .health-table-scroll, .nxt-table-scroll,
  .visitor-log-scroll, .login-watch-scroll {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Top mobile bar */
  .navbar, .topbar, .mobile-topbar, .hud-topbar, .nxt-topbar {
    min-height: 68px !important;
    padding: 10px 14px !important;
  }
  .navbar .navbar-brand, .mobile-title, .topbar-title, .brand-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .hamburger, .menu-toggle, .sidebar-toggle, [data-sidebar-toggle], .navbar-toggler,
  .mobile-menu-button {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    font-size: 28px !important;
    border-radius: 16px !important;
  }

  /* Sidebar drawer: wider and much larger text/tap targets */
  .sidebar, .app-sidebar, .nxt-sidebar, .hud-sidebar, #sidebar, #appSidebar,
  .sidebar-mobile, .mobile-sidebar, .drawer, .app-drawer {
    width: 92vw !important;
    max-width: 390px !important;
    min-width: 340px !important;
    font-size: 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .sidebar a, .app-sidebar a, .nxt-sidebar a, .hud-sidebar a,
  #sidebar a, #appSidebar a,
  .sidebar .nav-link, .app-sidebar .nav-link, .nxt-sidebar .nav-link,
  .hud-sidebar .nav-link, .drawer .nav-link, .app-drawer .nav-link {
    min-height: 64px !important;
    padding: 17px 20px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .sidebar .nav-link span, .app-sidebar .nav-link span, .nxt-sidebar .nav-link span,
  .hud-sidebar .nav-link span, #sidebar .nav-link span, #appSidebar .nav-link span,
  .drawer .nav-link span, .app-drawer .nav-link span {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .sidebar .icon, .app-sidebar .icon, .nxt-sidebar .icon, .hud-sidebar .icon,
  .drawer .icon, .app-drawer .icon,
  .sidebar i, .app-sidebar i, .nxt-sidebar i, .hud-sidebar i,
  #sidebar i, #appSidebar i {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 26px !important;
  }

  .sidebar .nav-section, .sidebar .section-title, .app-sidebar .nav-section,
  .nxt-sidebar .nav-section, .hud-sidebar .nav-section,
  #sidebar .nav-section, #appSidebar .nav-section,
  .drawer .nav-section, .app-drawer .nav-section {
    font-size: 15px !important;
    letter-spacing: .08em !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    padding-left: 20px !important;
  }

  .sidebar .brand, .app-sidebar .brand, .nxt-sidebar .brand, .hud-sidebar .brand,
  #sidebar .brand, #appSidebar .brand, .drawer .brand, .app-drawer .brand {
    min-height: 78px !important;
    padding: 18px 20px !important;
    font-size: 20px !important;
  }

  .sidebar .close, .sidebar-close, .app-sidebar .close, .nxt-sidebar .close,
  .hud-sidebar .close, #sidebar .close, #appSidebar .close {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    font-size: 28px !important;
    border-radius: 15px !important;
  }

  /* Admin dropdown on mobile */
  .dropdown-menu, .admin-menu, .user-menu {
    min-width: 310px !important;
    font-size: 18px !important;
    border-radius: 18px !important;
  }
  .dropdown-menu a, .admin-menu a, .user-menu a,
  .dropdown-item {
    min-height: 58px !important;
    font-size: 18px !important;
    padding: 16px 20px !important;
  }

  /* Login screen mobile readability */
  .login-card, .auth-card, .login-box, .auth-box,
  form[action*="login"], .login-wrapper .card, .auth-wrapper .card {
    width: calc(100vw - 32px) !important;
    max-width: 470px !important;
    padding: 30px !important;
    border-radius: 22px !important;
    font-size: 18px !important;
  }
  .login-card label, .auth-card label, .login-box label, .auth-box label { font-size: 17px !important; }
  .login-card input, .auth-card input, .login-box input, .auth-box input {
    min-height: 56px !important;
    font-size: 18px !important;
  }
  .login-card button, .auth-card button, .login-box button, .auth-box button {
    min-height: 58px !important;
    font-size: 18px !important;
  }
  .login-brand-logo, .auth-logo, .login-logo {
    max-width: 260px !important;
    height: auto !important;
  }
}

@media screen and (max-width: 430px) {
  html { font-size: 19px !important; }
  body { font-size: 19px !important; }

  .page, .page-wrapper, .page-body, .page-main, .content, .container, .container-xl,
  .container-fluid, .nxt-shell, .nxt-dashboard, .dashboard, .dashboard-wrap,
  .hud-dashboard, main, #app, #page, #dashboard {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .card, .hud-card, .nxt-card, .widget, .hud-widget, .dashboard-card,
  .stat-card, .panel-card, .quick-card, .module-card,
  [class*="widget"], [class*="Widget"], [class*="card"], [class*="Card"] {
    font-size: 19px !important;
    padding: 22px !important;
    margin-bottom: 20px !important;
  }

  h1, .h1, .page-title, .dashboard-title { font-size: 34px !important; }
  h2, .h2, .section-title { font-size: 28px !important; }
  h3, .h3, .card-title, .widget-title, .hud-title { font-size: 23px !important; }
  p, span, small, label, td, th, li, .text-muted, .subtext, .description,
  .card-subtitle, .widget-subtitle, .hud-subtitle {
    font-size: 17.5px !important;
  }

  .sidebar, .app-sidebar, .nxt-sidebar, .hud-sidebar, #sidebar, #appSidebar,
  .sidebar-mobile, .mobile-sidebar, .drawer, .app-drawer {
    width: 94vw !important;
    min-width: 355px !important;
    max-width: 410px !important;
  }

  .sidebar a, .app-sidebar a, .nxt-sidebar a, .hud-sidebar a,
  #sidebar a, #appSidebar a,
  .sidebar .nav-link, .app-sidebar .nav-link, .nxt-sidebar .nav-link,
  .hud-sidebar .nav-link, .drawer .nav-link, .app-drawer .nav-link {
    min-height: 68px !important;
    font-size: 19px !important;
  }
}
/* BadgersClaw mobile reference scale v1.0.5 */
@import url('nxt-mobile-reference-scale-1-0-5.css?v=1.0.5');
