/* ============================================================
   SCOUBIDOU — responsive.css
   Desktop-first
   Breakpoints : tablette ≤ 1024px · mobile ≤ 640px
   ============================================================ */

/* ══════════════════════════════════════
   TABLETTE (≤ 1024px)
══════════════════════════════════════ */
@media (max-width: 1024px) {

  /* Layout */
  .app-layout {
    grid-template-columns: 1fr;
    grid-template-rows: var(--header-h) 1fr;
    grid-template-areas:
      "header"
      "main";
  }

  /* Sidebar cachée par défaut, affichée via .is-open */
  .app-sidebar {
    position: fixed;
    top: 0; left: 0;
    height: 100vh;
    z-index: 200;
    transform: translateX(-100%);
    transition: transform .3s ease;
    width: var(--sidebar-w);
  }
  .app-sidebar.is-open { transform: translateX(0); }

  /* Overlay derrière la sidebar */
  .sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.4);
    z-index: 199;
  }
  .sidebar-overlay.is-open { display: block; }

  /* Header */
  .app-header { padding: 0 var(--space-md); }
  .burger { display: flex; }

  /* Main */
  .app-main { padding: var(--space-md); }

  /* Fiche */
  .fiche-grid { grid-template-columns: 1fr; }

  /* Formulaire */
  .form-card { padding: var(--space-lg); }
  .form-grid { grid-template-columns: 1fr 1fr; }

  /* Login */
  .login-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    overflow: auto;
  }
  .login-panel {
    padding: 2rem 2rem 1.8rem;
    min-height: auto;
  }
  .panel-headline { font-size: 1.6rem; }
  .panel-sub      { display: none; }
  .modules        { margin-top: 1.2rem; }
  .geo-ring, .geo-ring2 { display: none; }
  .login-form-side { padding: 2.5rem 2rem; }
}

/* ══════════════════════════════════════
   MOBILE (≤ 640px)
══════════════════════════════════════ */
@media (max-width: 640px) {

  /* Toolbar */
  .page-toolbar { flex-direction: column; align-items: flex-start; }
  .page-toolbar__right { width: 100%; }
  .page-toolbar__right .btn { width: 100%; justify-content: center; }

  /* Filtres */
  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-bar__search { min-width: 0; }
  .filter-bar__tabs { justify-content: center; }

  /* Tableau : masquer colonnes secondaires */
  .data-table .col-hide-mobile { display: none; }
  .data-table th, .data-table td { padding: 10px 12px; }

  /* Formulaire */
  .form-grid,
  .form-grid--3 { grid-template-columns: 1fr; }
  .form-card { padding: var(--space-md); }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .btn { width: 100%; justify-content: center; }

  /* Fiche */
  .info-list { grid-template-columns: 1fr; gap: 4px; }
  .info-list dt { color: var(--gray-400); font-size: .75rem; margin-top: 8px; }
  .info-list dt:first-child { margin-top: 0; }

  /* Login */
  .login-panel {
    padding: 1.5rem 1.25rem 1.2rem;
    align-items: center;
    text-align: center;
  }
  .brand-logo   { justify-content: center; }
  .panel-headline { font-size: 1.35rem; }
  .modules      { justify-content: center; }
  .login-form-side { padding: 2rem 1.25rem; }
  .login-form-side::before { height: 3px; }
  .form-title   { font-size: 1.4rem; }

  /* Header user info */
  .app-header__structure { display: none; }
}

/* Dashboard */
@media (max-width: 640px) {
  .dashboard-grid { grid-template-columns: 1fr; }
}