@media (max-width:780px) {
  html,body { width:100%; max-width:100%; overflow-x:hidden; }
  *,*::before,*::after { min-width:0; }
  img,svg,video,canvas { max-width:100%; height:auto; }
  form,.form-row,.inline-form,.inline-group,.form-actions,.filters,.split { max-width:100%; }
  input,textarea,select,button,.button { max-width:100%; }
  table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .portal-layout,.portal-workspace,.portal-main,.cabinet-page,.profile-page,.admin-companies { min-width:0; }
  .portal-topbar { gap:10px; }
  .portal-search { min-width:0; flex:1 1 auto; }
  .portal-search span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .portal-visual .grid,.portal-visual .metric-grid,.portal-visual .catalog-grid,.portal-visual .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-visual .table-wrapper { max-width:100%; overflow-x:auto; }
  .portal-visual .create-form,.portal-visual .custom-period-fields { grid-template-columns:1fr; }
  .portal-visual .form-row,.portal-visual .inline-group { flex-direction:column; align-items:stretch; }
  .portal-visual .form-row > *,.portal-visual .inline-group > * { width:100%; }
  .admin-companies .form-row,.admin-companies .stats-grid { grid-template-columns:1fr !important; }
  .admin-companies .admin-table { display:block; overflow-x:auto; }
}
@media (max-width:510px) {
  .portal-topbar { padding-left:14px; padding-right:14px; }
  .portal-search { width:auto; }
  .portal-visual .grid,.portal-visual .metric-grid,.portal-visual .catalog-grid,.portal-visual .kpi-grid,.portal-visual .stats-grid { grid-template-columns:1fr; }
  .portal-visual .portal-main { padding-left:14px; padding-right:14px; }
  .portal-visual .card { padding:14px; }
  .portal-visual .portal-nav { scrollbar-width:none; }
  .portal-visual .portal-nav::-webkit-scrollbar { display:none; }
}
