/**
 * VigilSentinel.Vigil - Enterprise Security Monitoring Platform
 * Copyright (c) 2026 Vigil Cyber. All Rights Reserved.
 * PROPRIETARY AND CONFIDENTIAL - See LICENSE file for details.
 */
/* static/css/responsive.css */
/* Mobile First Responsive Design */

/* Base mobile (320+) */
@media (min-width: 320px) {
  body {
      font-size: 16px;
      line-height: 1.5;
  }

  .btn,
  button,
  input[type="button"],
  input[type="submit"],
  a.header-btn {
      min-height: 44px;
  }
}

/* Mobile large (480+) */
@media (min-width: 480px) {
  .content-area {
      padding-left: clamp(0.9rem, 3vw, 1.25rem);
      padding-right: clamp(0.9rem, 3vw, 1.25rem);
  }
}

/* Tablet (768+) */
@media (min-width: 768px) {
  .stats-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Desktop (1024+) */
@media (min-width: 1024px) {
  .stats-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Wide desktop (1440+) */
@media (min-width: 1440px) {
  .stats-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Tablets — sidebar width / content offset are set in app-shell.css */
@media (max-width: 1024px) {
  .stats-grid {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

/* Large tablets / small laptops — layout handled in app-shell.css */
@media (max-width: 768px) {
  .VigilSentinel-header,
  .app-header {
      padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
      padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  }
  
  .company-name {
      font-size: 1.2rem;
  }
  
  .stats-grid {
      grid-template-columns: 1fr;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .VigilSentinel-header {
      flex-direction: column;
      gap: 1rem;
      padding: 1rem;
  }
  
  .logo-container {
      justify-content: center;
  }
  
  .nav-links {
      justify-content: center;
      flex-wrap: wrap;
  }
  
  .content-area {
      padding: 1rem;
  }
  
  .card-body {
      padding: 1rem;
  }
  
  .data-table {
      font-size: 0.8rem;
  }
  
  .data-table th,
  .data-table td {
      padding: 0.5rem;
  }

  /* Keep table content from overlapping on small screens */
  .table-container {
      -webkit-overflow-scrolling: touch;
  }
  .data-table.fixed-layout td,
  .data-table.fixed-layout th {
      word-wrap: break-word;
      overflow-wrap: break-word;
  }
  
  .btn {
      padding: 0.5rem 1rem;
      font-size: 0.8rem;
  }
}

/* Print Styles */
@media print {
  .sidebar, .VigilSentinel-header, .app-header, .VigilSentinel-footer,
  .app-shell-backdrop {
      display: none !important;
  }
  
  .content-area {
      margin-left: 0;
      padding: 0;
  }
  
  .card {
      box-shadow: none;
      border: 1px solid #ddd;
  }

  /* Report and table print: no overflow, clear columns */
  .table-container {
      overflow: visible;
  }
  .data-table {
      page-break-inside: avoid;
  }
  .data-table th,
  .data-table td {
      word-wrap: break-word;
      overflow-wrap: break-word;
  }
}