@media (max-width: 1100px) {
  .kpi-grid { grid-template-columns:repeat(3,1fr); }
  .filters { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 760px) {
  :root { --sidebar: 0px; }
  .sidebar { display:none; }
  .main { margin-left:0; padding:0 12px 92px; }
  .module-sticky { padding-top:14px; }
  .module-head { align-items:center; }
  .module-head h1 { font-size:1.22rem; }
  .module-head p { display:none; }
  .filters { grid-template-columns:1fr 1fr; padding:10px; }
  .filters .wide-mobile { grid-column:1 / -1; }
  .kpi-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .kpi { min-height:105px; padding:12px; }
  .kpi .value { font-size:1.08rem; }
  .grid-2 { grid-template-columns:1fr; }
  .mobile-bar {
    position:fixed;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    inset:auto 0 0 0;
    z-index:60;
    padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);
    border-top:1px solid var(--border);
    backdrop-filter:blur(12px);
  }
  .mobile-bar button {
    border:0; background:transparent; color:var(--muted);
    display:grid; gap:3px; place-items:center; font-size:.63rem;
  }
  .mobile-bar button.active { color:var(--alansa-900); font-weight:800; }
  .mobile-bar .plus {
    width:46px; height:46px; border-radius:50%;
    background:var(--alansa-900); color:white; font-size:1.4rem;
    margin-top:-24px; box-shadow:var(--shadow);
  }
  .table-scroll { max-height:58vh; }
}
@media (max-width: 430px) {
  .filters { grid-template-columns:1fr; }
  .kpi-grid { grid-template-columns:1fr 1fr; }
}
