/*
 * Taiga mobile overlay — only affects viewports <= 768px.
 * Injected by taiga-gateway; desktop layout is unchanged.
 */

@media screen and (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
    max-width: 100vw;
    -webkit-text-size-adjust: 100%;
  }

  .master,
  .wrapper,
  .dashboard-container,
  .discover-results-inner,
  .discover-header-inner {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Navigation */
  .navbar {
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.5rem;
    min-height: auto;
  }

  .navbar > * {
    flex-shrink: 1;
    min-width: 0;
  }

  .main-nav {
    flex-wrap: wrap;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dropdown-user-navbar,
  .dropdown-project-list {
    max-width: calc(100vw - 1rem);
  }

  /* Project filters / toolbar */
  .filters-bar,
  .filters-cats,
  .filters-applied,
  .kanban-header,
  .kanban-filter {
    flex-wrap: wrap;
    gap: 0.5rem;
    overflow-x: visible;
  }

  .filters-bar {
    padding: 0.5rem;
  }

  .filters-title {
    width: 100%;
  }

  /* Detail pages: stack sidebar under main content */
  .detail-content,
  .detail-header-container,
  .detail-project,
  .history-container {
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .sidebar,
  .profile-sidebar {
    flex-basis: auto !important;
    flex-shrink: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    margin-top: 1rem;
    box-sizing: border-box;
  }

  .detail-header,
  .detail-title-wrapper,
  .detail-subject,
  .detail-nav {
    max-width: 100%;
    word-break: break-word;
  }

  .detail-title-text {
    font-size: 1.25rem;
    line-height: 1.35;
  }

  .card-detail-actions {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* Kanban: horizontal scroll instead of squashed columns */
  .kanban,
  .kanban-manager,
  .kanban-table,
  .kanban-table-inner {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .kanban-table-body,
  .kanban-table-header {
    display: flex;
    flex-wrap: nowrap;
    min-width: min-content;
  }

  .kanban-table-body > *,
  .kanban-table-header > *,
  .kanban-table-swimlane,
  .kanban-swimlane {
    flex: 0 0 280px;
    min-width: 280px;
    max-width: 280px;
  }

  .kanban-swimlane-title {
    white-space: normal;
    word-break: break-word;
  }

  /* Backlog / list tables */
  .userstory-row,
  .issue-row,
  .task-row,
  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Discover / login */
  .discover-header,
  .discover-search,
  .discover-results-header {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .discover-search-filter,
  .discover-search-subfilter {
    flex-direction: column;
    align-items: stretch;
  }

  .login-form-container,
  .login-form {
    width: 100%;
    max-width: 100%;
    padding: 1rem;
    box-sizing: border-box;
  }

  .featured-projects-inner,
  .highlighted-projects-container {
    flex-direction: column;
  }

  .featured-project,
  .highlighted-project,
  .entry-project {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Modals / lightboxes */
  .lightbox,
  .lightbox-create-edit,
  .lightbox-generic-form,
  .lightbox-search,
  .lightbox-feedback {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    margin: 0 auto;
    box-sizing: border-box;
    max-height: calc(100vh - 1rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lightbox .options,
  .lightbox-create-edit .options {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* Tap targets and form usability */
  button,
  .btn,
  .btn-small,
  .btn-link,
  a.button-green,
  .create-project-btn,
  .assign-issue-button {
    min-height: 44px;
    min-width: 44px;
  }

  input,
  select,
  textarea,
  .login-text,
  .login-password {
    font-size: 16px !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  select,
  textarea {
    width: 100%;
  }

  /* Admin / settings forms */
  .create-project-selector-wrapper,
  .create-project-type,
  .custom-filters-add-form,
  .filters-advanced-form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Reduce fixed board zoom controls crowding */
  .board-zoom {
    position: relative;
    margin: 0.5rem 0;
  }
}
