/* Tablet and below (< 1024px) */
@media (max-width: 1024px) {
  :root {
    --column-width: 260px;
  }

  .header {
    padding: 0 var(--spacing-4);
  }

  .main-content {
    padding: var(--spacing-4);
  }

  .modal-body {
    grid-template-columns: 1fr;
  }

  .modal-sidebar {
    order: -1;
  }

  .add-column-btn {
    bottom: var(--spacing-4);
    right: var(--spacing-4);
  }
}

/* Mobile (< 768px) */
@media (max-width: 768px) {
  :root {
    --column-width: 280px;
    --header-height: 56px;
  }

  .header {
    padding: 0 var(--spacing-3);
    flex-wrap: wrap;
    height: auto;
    min-height: var(--header-height);
  }

  .header-left {
    flex: 1;
    min-width: 0;
  }

  .board-title {
    font-size: var(--font-size-md);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .header-center {
    order: 3;
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: var(--spacing-2);
    padding-bottom: var(--spacing-2);
  }

  .header-right {
    flex: 0;
  }

  .header-user-name {
    display: none;
  }

  .header-user-indicator {
    padding: 3px;
  }

  .main-content {
    padding: var(--spacing-3);
    margin-top: calc(var(--header-height) + 48px);
  }

  .kanban-board {
    gap: var(--spacing-3);
    padding-bottom: 80px;
  }

  .kanban-column {
    width: calc(100vw - var(--spacing-6));
    max-width: var(--column-width);
  }

  .column-header {
    padding: var(--spacing-3);
  }

  .column-title {
    font-size: var(--font-size-sm);
  }

  /* Modal for mobile */
  .modal-overlay {
    padding: 0;
    align-items: flex-end;
  }

  .modal-container {
    width: 100%;
    max-width: 100%;
    max-height: 95vh;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .modal-body {
    padding: var(--spacing-4);
    gap: var(--spacing-4);
  }

  .card-title-edit {
    font-size: var(--font-size-lg);
  }

  .card-cover {
    height: 150px;
  }

  /* Touch-friendly targets */
  .btn-icon,
  .column-btn {
    min-width: 44px;
    min-height: 44px;
  }

  .add-column-btn {
    bottom: var(--spacing-3);
    right: var(--spacing-3);
    padding: var(--spacing-3) var(--spacing-4);
  }

  .add-column-btn span {
    display: none;
  }

  /* Toast */
  .toast {
    bottom: var(--spacing-3);
    left: var(--spacing-3);
    right: var(--spacing-3);
    transform: translateX(0) translateY(100px);
  }

  .toast.show {
    transform: translateX(0) translateY(0);
  }
}

/* Small mobile (< 480px) */
@media (max-width: 480px) {
  :root {
    --column-width: calc(100vw - var(--spacing-6));
  }

  .header {
    padding: 0 var(--spacing-2);
  }

  .board-icon {
    width: 20px;
    height: 20px;
  }

  .board-icon svg {
    width: 18px;
    height: 18px;
  }

  .main-content {
    padding: var(--spacing-2);
  }

  .kanban-board {
    gap: var(--spacing-2);
  }

  .column-content {
    padding: var(--spacing-2);
  }

  .modal-body {
    padding: var(--spacing-3);
  }

  .property-list {
    gap: var(--spacing-2);
  }
}

/* Large desktop (> 1536px) */
@media (min-width: 1536px) {
  :root {
    --column-width: 320px;
  }

  .main-content {
    padding: var(--spacing-8);
  }

  .kanban-board {
    gap: var(--spacing-4);
  }
}

/* Print styles */
@media print {
  .header-right,
  .add-column-btn,
  .column-actions,
  .modal-overlay,
  .toast {
    display: none !important;
  }

  .main-content {
    margin-top: 0;
  }

  .kanban-board {
    display: block;
  }

  .kanban-column {
    page-break-inside: avoid;
    margin-bottom: var(--spacing-6);
  }

  .kanban-card {
    box-shadow: none;
    border: 1px solid var(--color-border);
    page-break-inside: avoid;
  }
}

/* Landscape mobile */
@media (max-height: 600px) and (orientation: landscape) {
  .modal-container {
    max-height: 100vh;
  }

  .card-cover {
    height: 120px;
  }
}

/* High contrast mode */
@media (prefers-contrast: high) {
  :root {
    --color-border: #000000;
    --color-text-secondary: #000000;
    --color-text-tertiary: #333333;
  }

  .kanban-card {
    border-width: 2px;
  }

  .btn,
  .btn-icon {
    border-width: 2px;
  }
}

/* Dark mode support (future) */
@media (prefers-color-scheme: dark) {
  /* This can be expanded when dark mode is requested */
}
